AOMD 2007

The Third Workshop on Aspect-Oriented and
Model-Driven Software Development

June 12, 2007 - Haifa, Israel

Call for Papers
Program Committee
Important Dates
Workshop Program
Workshop Papers
Related Links

In conjunction with the 2007 European Conference on Model Driven Architecture (ECMDA)


A fundamental principle in software development that is the driver and trigger of different software development paradigms is the separation of concerns principle. This principle states that a given problem involves different kinds of concerns, which should be identified and separated to cope with complexity, and to achieve the required engineering quality factors such as robustness, adaptability, maintainability, and reusability.

The last years the software engineering community is facing two important approaches that apply the separation of concerns principle: model-driven software development (MDSD) and aspect-oriented software development (AOSD).

MDSD aims to tackle the problem of the loose, informal link between the developed models and the executable code. Hereby, models do not constitute merely documentation but are considered as executable specifications. MDSD aims to utilize domain-specific languages to create models that express application structure and behavior in a more efficient way. The models are then (semi)automatically transformed into executable code by model transformations. MDSD defines models and model transformations as first-class abstractions. There are many variants of MDSD approaches including   OMG MDA™, Microsoft Software factories, Model Integrating Computing (MIC), Language-Oriented Programming, Generative Programming, etc. All the variants have common focus on techniques for explicitly defining models (and metamodels) and (semi-)automatic transformations to enhance quality factors such as reuse, portability and interoperability.

AOSD aims to tackle the problem of concerns that cannot be easily captured in single modules but tend to crosscut several modules. AOSD provides first class abstractions for these crosscutting concerns, called aspects and composition techniques (weaving) for composing aspects in base modules. Several aspect-oriented approaches have been proposed to specify aspects at different phases in the software life cycle. At the programming level it appears that almost for every popular programming language there is now an aspect-oriented version in which crosscutting concerns are represented using dedicated language constructs. Aspect-oriented modeling has proposed several design notations for representing aspects using for example, UML-based approaches. Early aspects domain has focused on defining approaches for modeling aspects at level of requirements engineering and architecture design.

 It appears that MDSD and AOSD seem to be complementary and competing solutions for the problem of separation and combination of concerns in the area of software development and maintenance. All these areas are in the scope of the present workshop. The identification of these areas of competition and cooperation has currently also raised the interest of researchers and practitioners in both fields.




This website is maintained by: Bedir Tekinerdogan


Call for Papers • Topics • Program Committee • Organisers • Submission • Important Dates • Workshop Program • Workshop Papers • Related Links