program       registration       lodging       call for contributions       organization       [aosd home]

overview       technical papers       practitioner reports       workshops       tutorials       demos       exhibits      
Go back to Tutorials Home

T6: Identifying and Modeling Aspects Using Domain Analysis Techniques

  - Mehmet Aksit, University of Twente
  - Lodewijk Bergmans, University of Twente

Date: Tuesday, March 18, morning (half day)

Level:  Advanced

Attendees should have knowledge of object-oriented software development, be familiar with the principles of distributed systems, and have basic knowledge of current aspect-oriented approaches.


Although object-oriented design methods and programming languages offer several advantages, experience has shown that effective composition of software remains a difficult task. This is especially true if the software system is large and employs complex crosscutting behavior. Aspect-oriented techniques can help to manage such complexity, and ``best practices'' are beginning to emerge for applying these techniques to both new and existing software.

This tutorial consists of two parts: (1) guidelines for identifying aspects and (2) approaches to modeling and implementing aspects with current AOSD technologies.

The first part of the tutorial provides a set of guidelines to identify the obstacles that software engineers may encounter in designing large systems using object technology. To this aim, first, we will discuss general aspects that are common to many software domains. Second, we will consider the special characteristics and challenges of several specific kinds of software: application generators, concurrent systems, constraint systems, control systems, distributed systems, and real-time systems. This detailed analysis will help software engineers to identify the possible obstacles arising from crosscutting behavior in each of these areas.

In the second part of the tutorial, we will further describe the current aspect-oriented design methods and languages in solving the identified obstacles. The tutorial will conclude with advantages and limitations of current aspect technologies, and give references to the relevant research activities.


Mehmet Aksit and Lodewijk Bergmans have both been working on software composition for over a decade. Their work has included the analysis of inheritance anomalies 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 tutorials at the ECOOP '91, OOPSLA '92, ECOOP '95, ICECCS '95, ECOOP '98, ECOOP '99, OOPSLA '99, SPLC1 '00, ECOOP '00, ECOOP '01, ECOOP '02, and AOSD '02 conferences.


For additional information, clarifications, questions, or special requirements, please contact the AOSD 2003 Tutorial Chair: Eric Eide (

 Send comments to: