Design dimensions of aspect -oriented systems

Stefan Hanenberg · DuEPublico (University of Duisburg-Essen) · 2006

Aspect-oriented software development is a promising approach that addresses the problem of modularizing crosscutting concerns -concerns whose implementation cannot be modularized due to the set of abstractions provided by the underlying programming language as well as due to the set of decomposition criteria applied to the underlying problem.Thereto, aspect-oriented systems provide additional abstractions in order to increase the modularity of software systems and consequently to increase the system's readability, understandability, maintainability and reusability.Nowadays, there are already a number of so-called aspect-oriented systems available that supply a set of new constructs to address the given problem.However, it is not clear what the criteria for a system are in order to be called aspect-oriented and what commonalities and differences exist among different aspect-oriented systems.This also implies that for a given crosscutting concern it cannot be determined on an abstract level what system is able to modularize such a concern in an appropriate way.This thesis describes the characteristics of aspect-oriented systems by so-called design dimensions -orthogonal, conceptual views on the core ingredients of aspectoriented systems that determine the underlying implementation.It is shown that by means of such abstract design dimensions it is possible to estimate the appropriateness of a system with respect to modularize a given crosscutting concern. ACKNOWLEDGEMENTThis thesis would have never been written without the continuous support of many colleagues and friends.I am grateful to Professor Dr. Rainer Unland for his supervision, for the environment he provided, and especially for his support in those situations, where I was no longer sure about how to go on with the thesis.Dominik Stein spent with me countless hours, days and month of discussion.I owe him much for the enumerable and valuable comments he gave that helped me improving (and finishing) the thesis.It is a great joy to work with him.I would like to thank Robert Hirschfeld for many, many discussions on aspectorientation and for his patience when I tried to understand the implementation details of AspectS.The work with him influenced many of my views on software construction.The close collaboration with Arno Schmidmeier helped me a lot when trying to figure out what the core ingredients of aspect-orientation are.He never hesitated to share his detailed knowledge of aspect-orientation and to share his experience from industrial projects.

Read the paper · More papers on PaperTik