Tutorial T16


Tutorials  T1  T2  T3  T4  T5  T6  T7  T8  T9  T10  T11  T12  T13  T14  T15  T16  T17  T18  T19  T20  T21 

Advanced Software Composition: Obstacles & Approaches


Presenter: Lodewijk Bergmans, Mehmet Aksit
Level: Intermediate/Advanced
Day: Tuesday (June 19) p.m.


[sentences in square brackets can be removed to reduce size] The object-oriented paradigm has been succesful because of its good modularity characteristics, which supports the separation of concerns from analysis to implementation phases. Composability problems may be experienced when constructing new objects from existing ones, for example when objects need to evolve due to new or changing requirements. This experience has triggered researchers in the past years to come up with enhancements of the OO model in an attempt to solve the composability problems. The most well-known examples in this area are: AOP/AspectJ, Subject-Oriented Programming & HyperJ, Adaptive Programming and Composition Filters. [ECOOP has featured many workshops where the issues involved and solution proposals were discussed (ranging from the "Composability in OO" workshop in 1996 to the "Aspects and Dimensions of Concerns" workshop in 2000). Workshop participation in ECOOP/ICSE/OOPSLA workshop in 2000 illustrates the growing interest in this area.] This tutorial tries to explain this area starting from the problems of the OO model and design patterns. It presents an analysis of the so-called composition anomaly. It discusses the important issues that must be addressed during the design of objects/concerns so that they are composable at all. Then an overview of the current state-of-the-art is given, based upon a description of the design space for advanced composition approaches. n

Audience:
This tutorial is intended for software professionals and researchers who want to gain an understanding of the origins, issues and approaches for advanced software composition models. The tutorial focuses on understanding the real issues involved and comparing the state-of-the art based on this understanding, rather than explaining the specifics of the various approaches.

Required experience:
Extensive experience with OO modeling, design and programming is required, common design patterns (Gamma et.al.) should have no secrets.

Presenter's profile:
Lodewijk Bergmans and Mehmet Aksit have both been working on software composition for over a decade. Their work has included the analysis of inheritance anomaly for synchronization and real-time specifications (composability problems) and the composition filters approach to solve such issues. They have been involved in the organization of most workshops in this area. Both are experienced teachers who have together given over 100 professional (open/international/in-company) courses. Mehmet Aksit has given several tutorials during ECOOP and OOPSLA in the past.