Aspect-orientation provides a new way of modularization by clearly separating crosscutting concerns from non-crosscutting ones. While aspect-orientation originally has emerged at the programming level, it now stretches also over other development phases. There are, for example, already several proposals to Aspect-Oriented Modeling (AOM), most of them pursuing distinguished goals, providing different concepts as well as notations, and showing various levels of maturity. Consequently, there is an urgent need for both, academia and practice, to provide an in-depth survey, clearly identifying commonalities and differences between current AOM approaches. Existing surveys in this area focus more on comprehensibility with respect to development phases or evaluated approaches rather than on comparability at a fine-grained level.
This survey on Aspect-Oriented Modeling approaches written by A. Schauerhuber, W. Schwinger, E. Kapsammer, W. Retschitzegger, M. Wimmer and G. Kappel tries to fill this gap. As a prerequisite for an in-depth evaluation, a conceptual reference model is presented, capturing the basic concepts of AOM and their interrelationships in terms of a UML class diagram. Based on this conceptual reference model, an evaluation framework has been designed by deriving a detailed and well-defined catalogue of evaluation criteria. The actual evaluation by means of this criteria catalogue and by employing a running example is done on the basis of a carefully selected set of eight AOM approaches, each of them having already reached a certain level of maturity. This per approach evaluation is complemented with an extensive report on lessons learned, summarizing the approaches’ strengths and shortcomings.