Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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)
Aspectwerkz, http://aspectwerkz.codehaus.org/
Barra, E., Genova, G., Llorens, J.: An approach to Aspect Modeling with UML 2.0. In: The 5th Aspect-Oriented Modeling Workshop (2004)
Concern Manipulation Environment (CME): A Flexible, Extensible, Interoperable Environment for AOSD, http://www.research.ibm.com/cme/
Czarnecki, K., Eisenecker, U.W.: Generative Programming: Methods, Tools and Applications. Addison-Wesley, Reading (2000)
Early Aspects, http://early-aspects.net/
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)
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)
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)
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)
Han, Y., Kniesel, G., Cremers, A.B.: A Meta Model and Modeling Notation for AspectJ. In: The 5th Aspect-Oriented Modeling Workshop (2004)
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)
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)
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)
Neighbors, J.: The Draco Approach to Construction Software from Reusable Components. IEEE Transactions on Software Engineering SE-10(5), 564–573 (1984)
QVT: http://qvtp.org/
Rashid, A., Chitchyan, R.: Persistence as an Aspect. In: Proceedings of International Conference on Aspect-Oriented Software Development (AOSD 2003), pp.120–129 (2003)
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)
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)
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)
Struts, http://struts.apache.org/
Warmer, J., Kleppe, A.: The Object Constraint Language Second Edition —Getting Your Models Ready for MDA. Addison-Wesley, Reading (2003)
XQuery, http://www.w3.org/TR/xquery/
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ubayashi, N., Tamai, T., Sano, S., Maeno, Y., Murakami, S. (2005). Model Compiler Construction Based on Aspect-Oriented Mechanisms. In: Glück, R., Lowry, M. (eds) Generative Programming and Component Engineering. GPCE 2005. Lecture Notes in Computer Science, vol 3676. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11561347_9
Download citation
DOI: https://doi.org/10.1007/11561347_9
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-29138-1
Online ISBN: 978-3-540-31977-1
eBook Packages: Computer ScienceComputer Science (R0)