T2 : Programming with Views and Collaborations in ObjectTeams/Java

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.

Abstract

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 www.ObjectTeams.org.

Biographies

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.