Mapping Aspect-Oriented Models to Aspect-Oriented Code

  • Max E. Kramer
  • Jörg Kienzle
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6627)


When aspect-oriented modeling techniques are used in the context of Model-Driven Engineering, a possible way of obtaining an executable from an aspect-oriented model is to map it to code written in an aspect-oriented programming language. This paper outlines the most important challenges that arise when defining such a mapping: mapping structure and behavior of a single aspect, mapping instantiation of structure and behavior in target models, mapping conflict resolution between aspects, and mapping aspect dependencies and variability. To explain these mapping issues, our paper presents details on how to map Reusable Aspect Models (RAM) to AspectJ source code. The ideas are illustrated by presenting example models and corresponding mapped code from the AspectOptima case study.


Aspect Model Complete Class Abstract Aspect Child Context Java Annotation 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Al Abed, W., Kienzle, J.: Aspect-Oriented Modeling and Information Hiding. In: 14th Aspect-Oriented Modeling Workshop, Denver, CO, USA, pp. 1–6 (October 4, 2009)Google Scholar
  2. 2.
    Baniassad, E., Clarke, S.: Theme: An approach for aspect-oriented analysis and design. In: ICSE 2004, pp. 158–167. IEEE Computer Society, Washington, DC (2004)Google Scholar
  3. 3.
    Bencomo, N., Blair, G., France, R.: Proceedings of the International Workshops on models@run.time, 2006-2010.Google Scholar
  4. 4.
    Clarke, S., Baniassad, E.: Aspect-Oriented Analysis and Design. Addison-Wesley Professional, Reading (2005)Google Scholar
  5. 5.
    Clarke, S., Walker, R.J.: Towards a standard design language for aosd. In: AOSD 2002, pp. 113–119. ACM, New York (2002)Google Scholar
  6. 6.
    Gosling, J., Joy, B., Steele, G.L.: The Java Language Specification. The Java Series. Addison Wesley, Reading (1996)zbMATHGoogle Scholar
  7. 7.
    Groher, I., Schulze, S.: Generating aspect code from uml models. In: Workshop on Aspect-Oriented Modeling with UML @ AOSD (2003)Google Scholar
  8. 8.
    Hovsepyan, A., Scandariato, R., Van Baelen, S., Berbers, Y., Joosen, W.: From aspect-oriented models to aspect-oriented code?: the maintenance perspective. In: AOSD 2010, pp. 85–96. ACM, New York (2010)Google Scholar
  9. 9.
    Jackson, A., Casey, N., Clarke, S.: Mapping design to implementation. AOSD-Europe-TCD-D111,
  10. 10.
    Kiczales, G., Hilsdale, E., Hugunin, J., Kersen, M., Palm, J., Griswold, W.G.: An Overview of AspectJ. In: Lee, S.H. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 327–357. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  11. 11.
    Kienzle, J., Al Abed, W., Fleurey, F., Jézéquel, J.-M., Klein, J.: Aspect-Oriented Design with Reusable Aspect Models. Transactions on Aspect-Oriented Software Development 7, 279–327 (2010)Google Scholar
  12. 12.
    Kienzle, J., Al Abed, W., Klein, J.: Aspect-Oriented Multi-View Modeling. In: AOSD 2009, pp. 87–98. ACM Press, New York (2009)Google Scholar
  13. 13.
    Klein, J., Kienzle, J.: Reusable Aspect Models. In: 11th Aspect-Oriented Modeling Workshop, Nashville, TN, USA (September 30, 2007)Google Scholar
  14. 14.
    Kulesza, U., Garcia, A., Lucena, C.: Generating aspect-oriented agent architectures. In: Workshop on Early Aspects: Aspect-Oriented Requirements Engineering and Architecture Design (2004)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Max E. Kramer
    • 1
  • Jörg Kienzle
    • 2
  1. 1.Karlsruhe Institute of TechnologyKarlsruheGermany
  2. 2.McGill UniversityMontréalCanada

Personalised recommendations