Model Compiler Construction Based on Aspect-Oriented Mechanisms

  • Naoyasu Ubayashi
  • Tetsuo Tamai
  • Shinji Sano
  • Yusaku Maeno
  • Satoshi Murakami
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3676)


Model-driven architecture (MDA) aims at automating software design processes. Design models are divided into platform-indepen- dent models (PIMs) and platform-specific models (PSMs). A model compiler transforms the former models into the latter automatically. We can regard PIMs as a new kind of reusable software component because they can be reused even if a platform is changed. However, a generated PSM is useless if it does not satisfy system limitations such as memory usage and real-time constraints. It is necessary to allow a modeler to customize transformation rules because model modifications for dealing with these limitations may be specific to an application. However, current model compilers do not provide the modeler sufficient customization methods. In order to tackle this problem, we propose a method for constructing an extensible model compiler based on aspect orientation, a mechanism that modularizes crosscutting concerns. Aspect orientation is useful for platform descriptions because it crosscuts many model elements. A modeler can extend model transformation rules by defining new aspects in the process of modeling. In this paper, an aspect-oriented modeling language called AspectM (Aspect for Modeling) for supporting modeling-level aspects is introduced. Using AspectM, a modeler can describe not only crosscutting concerns related to platforms but also other kinds of crosscutting concerns. We believe that MDA is one of the applications of aspect-oriented mechanisms. The contribution of this paper is to show that a model compiler can actually be constructed based on aspect-oriented mechanisms.


Model Transformation Aspect Orientation Bulletin Board System Inheritance Relation Reusable Software Component 
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.
    Aßmann, U., Ludwig, A.: Aspect Weaving as Graph Rewriting. In: Czarnecki, K., Eisenecker, U.W. (eds.) GCSE 1999. LNCS, vol. 1799, pp. 24–36. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  2. 2.
  3. 3.
    Barra, E., Genova, G., Llorens, J.: An approach to Aspect Modeling with UML 2.0. In: The 5th Aspect-Oriented Modeling Workshop (2004)Google Scholar
  4. 4.
    Concern Manipulation Environment (CME): A Flexible, Extensible, Interoperable Environment for AOSD,
  5. 5.
    Czarnecki, K., Eisenecker, U.W.: Generative Programming: Methods, Tools and Applications. Addison-Wesley, Reading (2000)Google Scholar
  6. 6.
  7. 7.
    Eichberg, M., Mezini, M., Ostermann, K.: Pointcuts as Functional Queries. In: Chin, W.-N. (ed.) APLAS 2004. LNCS, vol. 3302, pp. 366–382. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  8. 8.
    Gray, J.: Aspect-Oriented Domain-Specific Modeling: A Generative Approach Using a Meta-weaver Framework Ph.D. Dissertation, Department of Electrical Engineering and Computer Science, Vanderbilt University (2002)Google Scholar
  9. 9.
    Gray, J., Bapty, T., Neema, S., Schmidt, D., Gokhale, A., Natarajan, B.: An Approach for Supporting Aspect-Oriented Domain Modeling. In: Pfenning, F., Smaragdakis, Y. (eds.) GPCE 2003. LNCS, vol. 2830, pp. 151–168. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  10. 10.
    Gray, J., Roychoudhury, S.: A Technique for Constructing Aspect Weavers Using a Program Transformation Engine. In: Proceedings of International Conference on Aspect-Oriented Software Development (AOSD 2004), pp. 36–45 (2004)Google Scholar
  11. 11.
    Han, Y., Kniesel, G., Cremers, A.B.: A Meta Model and Modeling Notation for AspectJ. In: The 5th Aspect-Oriented Modeling Workshop (2004)Google Scholar
  12. 12.
    Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J., Irwin, J.: Aspect-Oriented Programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  13. 13.
    Kiczales, G., Hilsdale, E., Hugunin, J., et al.: An Overview of AspectJ. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 327–353. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  14. 14.
    Masuhara, H., Kiczales, G.: Modeling Crosscutting in Aspect-Oriented Mechanisms. In: Cardelli, L. (ed.) ECOOP 2003. LNCS, vol. 2743, pp. 2–28. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  15. 15.
  16. 16.
    Neighbors, J.: The Draco Approach to Construction Software from Reusable Components. IEEE Transactions on Software Engineering SE-10(5), 564–573 (1984)CrossRefGoogle Scholar
  17. 17.
  18. 18.
    Rashid, A., Chitchyan, R.: Persistence as an Aspect. In: Proceedings of International Conference on Aspect-Oriented Software Development (AOSD 2003), pp.120–129 (2003)Google Scholar
  19. 19.
    Shonle, M., Lieberherr, K., Shah, A.: XAspects: An Extensible System for Domain-specific Aspect Languages. In: Proceedings of Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 2003), Domain-Driven Development papers, pp. 28–37 (2003)Google Scholar
  20. 20.
    Sillito, J., Dutchyn, C., Eisenberg, A.D., Volder, K.D.: Use Case Level Pointcuts. In: Proceedings of European Conference on Object-Oriented Programming (ECOOP 2004), pp. 244–266 (2004)Google Scholar
  21. 21.
    Stein, D., Hanenberg, S., Unland, R.: A UML-based aspect-oriented design notation for AspectJ. In: Proceedings of International Conference on Aspect-Oriented Software Development (AOSD 2002), pp.106–112 (2002)Google Scholar
  22. 22.
  23. 23.
    Warmer, J., Kleppe, A.: The Object Constraint Language Second Edition —Getting Your Models Ready for MDA. Addison-Wesley, Reading (2003)Google Scholar
  24. 24.

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Naoyasu Ubayashi
    • 1
  • Tetsuo Tamai
    • 2
  • Shinji Sano
    • 1
  • Yusaku Maeno
    • 1
  • Satoshi Murakami
    • 1
  1. 1.Kyushu Institute of TechnologyJapan
  2. 2.University of TokyoJapan

Personalised recommendations