T5: Applying Aspectual Components to Eclipse with ObjectTeams/ Java and OSGi

Date: Tuesday, April 1, 2008 (afternoon)

Stephan Herrmann, Technische Universität Berlin
Marco Mosconi, Technische Universität Berlin

Level: Intermediate

Prerequisites: To follow the hands-on examples (optional), a computer with Java 5 or higher is required. The Object Teams Development Tooling (OTDT) can be pre-loaded from www.objectteams.org but will also be handed out on CD.


OSGi and its Eclipse implementation Equinox are increasingly popular in different fields like server-side, RCP, mobile and IDEs. Eclipse plugins support anticipated variations through extension points, but not all desired extensions can be known in advance. As a result, extending existing plugins often requires manual intervention and copy&paste reuse. Thus reuse, modularity, flexibility and maintainability cannot be fully reconciled using existing technologies in isolation.

OT/Equinox integrates the aspect-oriented and role-based language ObjectTeams/Java (OT/J) with OSGi and the Eclipse Plugin environment. With OT/Equinox it is possible to implement Aspectual Components that non-invasively adapt other plugins while preserving a component-based architecture. This tutorial is split into two parts, the first part presenting concepts and technology and the second part focusing on methodology and application.

The first half of the tutorial introduces ObjectTeams/Java as a mature aspect-oriented, role-based extension of Java as well as OSGi and Equinox. Furthermore OT/Equinox is presented, which integrates the language OT/J with the component framework Equinox in order to support well structured architectures following the idea of Aspectual Components.

The second half showcases the self-application of OT/J and OT/Equinox in the development of the Eclipse-based Object Teams Development Tooling (OTDT), which is used as a real-world example throughout this tutorial. Typical solutions in the development of Eclipse-based tooling are presented, ranging from adaptations of the JDT compiler and UI to modeling frameworks like GMF. We present the corresponding extension and integration architectures as well as their realization with OT/Equinox for selected components.


Dr. Stephan Herrmann is an Assistant Professor at the Technische Universität Berlin. In 2001 he initiated the development of ObjectTeams/Java. Between 2003 and 2006 he was the leader of 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. In 2006/07 Stephan Herrmann developed the integration of OT/J with the Equinox component framework, and applied this technology for improving the OTDT itself in terms of completeness and maintainability. He has been teaching ObjectTeams/Java in several classes since 2003 and in tutorials at Net.ObjectDays'05 and AOSD'06.

Marco Mosconi received his diploma in 2003. Since then he is a PhD student working as research and teaching assistant at Technische Universität Berlin. His research includes the combination of model-driven and aspect-oriented software development approaches. He also has a strong focus on component-oriented target platforms and did already work on the integration of aspect-oriented concepts and component models as part of his diploma thesis. Marco Mosconi has been involved in teaching several software engineering courses and projects since 2003 on a regular basis.


Instant Feedback