AOSD Conference
›› Program Overview
›› Research Track
›› Industry Track
›› Keynotes
›› Workshops
›› Tutorials
›› Demonstrations
›› Panel
›› BOFs
Back to list of tutorials

T2 : Programming with Views and Collaborations in ObjectTeams/Java

Date Monday, March 20, 2006 afternoon (half day)
Presenters Stephan Herrmann, Technische Universität Berlin
Christine Hundt, Technische Universität Berlin
Level Intermediate: Level Intermediate: Attendees should have basic knowledge of Java and a good knowledge of object-oriented programming and modeling. Basic understanding of AOSD is helpful.


Aspect-oriented programming promises to significantly improve modularity for a specific class of aspects, that cut across the system structure as defined by classes and packages. The TOPPrax project systematically investigates the practical applicability of new programming languages and assesses the benefits for commercial software development.

This tutorial applies the second generation aspect language ObjectTeams/Java. By the collaborationbased approach of ObjectTeams/Java it is possible to structure the design and even the implementation according to the use-cases of an application. This greatly improves the tracebility from requirements down to code and significantly reduces the efforts needed for software maintenance and evolution.

In this tutorial participants will learn how to develop reusable collaboration modules in the vein of collaboration-based design methods. The powerful integration mechanisms of ObjectTeams/Java will be used to demonstrate a-posteriori integration of modules cleanly separating functionality from integration. This is the basis for fundamentally improved modularity yielding easily adaptable architectures and facilitating future evolution.

Participants will also learn, how framework technology can be taken one step further by applying inheritance to a whole collaboration module. They will furthermore learn how to use collaboration instances to dynamically activate/deactivate aspects at runtime, yielding a more dynamic structure of the application including client-specific contexts and software modes. Various examples demonstrate, how aspects can be generalized to views, yielding an improved module structure for a wide range of typical situations in software.

This tutorial has been successfully taught at our industrial partners and at Net.ObjectDays 2005. Practical examples will be shown using the comprehensive, Eclipse based IDE for ObjectTeams/Java, which is freely available at our web site. Participants are expected to have good knowledge of object oriented programming and Java in particular, and should be interested in high-quality software designs. For further information see


Dr. Stephan Herrmann is an Assistant Professor at the Technische Universität Berlin. He received his PhD in 2002, the title of his thesis being Views and Concerns and Interrelationships – Lessons Learned from Developing the Multi–View Software Engineering Environment PIROL. Also in 2002 he made the first international publication on the AOP language ObjectTeams/ Java. Since 2003 Dr. Herrmann leads the joint research project TOPPrax (3 research institutes 2 companies), a publicly funded project for the evaluation of aspect oriented software development in practical application.

Teaching experience: Starting in 1997, Dr. Herrmann has continuously taught various classes on software engineering with special focus on object oriented software development. One particular class has been developed by him in 1999. Already in the first edition of this class he gave an outlook to ongoing research in the fields of AOP and SOP. Ever since he has continued to closely link his research and teaching activities. The language ObjectTeams/Java is part of this class since 2003, meaning that one out of about four practical assignments has to be programmed in Object- Teams/Java.

Christine Hundt finished her studies in early 2003. In her master’s work she developed the runtime environment for ObjectTeams/Java, which she is still maintaining. Since fall 2003, she has worked as a research associate for the TOPPrax project. Within this project she participated in the design of tutorials at our industrial partner, some lessons of which she taught in person. She is also responsible for extending the runtime environment from her master’s work towards true runtime weaving. In this field she is currently supervising three students for their master’s work.

Edited by the AOSD Conference Committee.  Send comments to: