Abstract
The idea behind Aspect-Oriented Modeling (AOM) is to apply aspect-oriented techniques to (software) models with the aim of modularizing crosscutting concerns. This can be done within different modeling notations, at different levels of abstraction, and at different moments during the software development process. This paper demonstrates the applicability of AOM during the software design phase by presenting parts of an aspect-oriented design of a crisis management system. The design solution proposed in this paper is based on the Reusable Aspect Models (RAM) approach, which allows a modeler to express the structure and behavior of a complex system using class, state and sequence diagrams encapsulated in several aspect models. The paper describes how the model of the “create mission” functionality of the server backend can be decomposed into 23 inter-dependent aspect models. The presentation of the design is followed by a discussion on the lessons learned from the case study. Next, RAM is compared to 8 other AOM approaches according to 6 criteria: language, concern composition, asymmetric and symmetric composition, maturity, and tool support. To conclude the paper, a discussion section points out the features of RAM that specifically support reuse.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Klein, J., Kienzle, J.: Reusable Aspect Models. In: 11th Aspect-Oriented Modeling Workshop, Nashville, TN, USA, September 30 (2007)
Kienzle, J., Abed, W.A., Klein, J.: Aspect-Oriented Multi-View Modeling. In: Proceedings of the 8th International Conference on Aspect-Oriented Software Development - AOSD 2009, March 1-6, pp. 87–98. ACM Press, New York (2009)
Abed, W.A., Kienzle, J.: Aspect-Oriented Modeling and Information Hiding. In: 14th Aspect-Oriented Modeling Workshop, Denver, CO, USA, October 4, pp. 1–6 (2009)
Kienzle, J., Gélineau, S.: AO Challenge: Implementing the ACID Properties for Transactional Objects. In: AOSD 2006, pp. 202–213. ACM Press, New York (2006)
Kienzle, J., Bölükbaşi, G.: AspectOPTIMA: An Aspect-Oriented Framework for the Generation of Transaction Middleware. Technical Report SOCS-TR-2008.4, McGill University, Montreal, Canada (2008)
Bölükbaşi, G.: Aspectual Decomposition of Transactions. Master’s thesis, School of Computer Science, McGill University, Montreal, Canada (June 2007)
Kienzle, J., Guelfi, N., Mustafiz, S.: Crisis Management Systems: A Case Study for Aspect-Oriented Modeling. Transactions on Aspect-Oriented Software Development 7, 1–22 (2010)
Kienzle, J.: Reusable Aspect Models of the Crisis Management System (2009), http://www.cs.mcgill.ca/~joerg/SEL/RAM_Case_Study.html
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns. Addison Wesley, Reading (1995)
Riehle, D., Siberski, W., Bäumer, D., Megert, D., Zülighoven, H.: Serializer, pp. 293–312 (1997)
Chitchyan, R., Fabry, J., Katz, S., Rensink, A.: Special Section on Dependencies and Interactions with Aspects. Transactions on Aspect-Oriented Software Development 5, 133–134 (2009)
Kienzle, J., Guelfi, N., Mustafiz, S.: Crisis Management Systems – A Case Study for Aspect-Oriented Modeling. Technical Report SOCS-TR-2009.3, McGill University, Montreal, Canada (2009)
Rashid, A.: Aspect-Oriented Database Systems. Springer, Heidelberg (2004)
Kienzle, J., Duala-Ekoko, E., Gélineau, S.: AspectOPTIMA: A Case Study on Aspect Dependencies and Interactions. Transactions on Aspect-Oriented Software Development 5, 187–234 (2009)
Schauerhuber, A., Schwinger, W., Kapsammer, E., Retschitzegger, W., Wimmer, M., Kappel, G.: A survey on aspect-oriented modeling approaches. Technical report, Business Informatics Group, Vienna University of Technology (2006), http://www.wit.at/people/schauerhuber/publications/aomSurvey/
Stein, D., Hanenberg, S., Unland, R.: A UML-based aspect-oriented design notation for aspectJ. In: AOSD, pp. 106–112 (2002)
Stein, D., Hanenberg, S., Unland, R.: Expressing different conceptual models of join point selections in aspect-oriented design. In: AOSD 2006: Proceedings of the 5th international conference on Aspect-Oriented Software Development, pp. 15–26. ACM Press, New York (2006)
Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: An overview of aspectj. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 327–353. Springer, Heidelberg (2001)
Hanenberg, S., Stein, D., Unland, R.: From aspect-oriented design to aspect-oriented programs: tool-supported translation of jpdds into code. In: AOSD 2007 (2007)
Pawlak, R., Duchien, L., Florin, G., Legond-Aubry, F., Seinturier, L., Martelli, L.: A uml notation for aspect-oriented software design. In: First Workshop on Aspect-Oriented Modeling with UML, AOSD 2002 (2002)
Pawlak, R., Seinturier, L., Duchien, L., Martelli, L., Legond-Aubry, F., Florin, G.: Aspect-oriented software development with java aspect components. aspect-oriented software development. In: Filman, R.E., Elrad, T., Clarke, S., Aksit, M. (eds.), ch. 16, pp. 343–369 (2005)
Jacobson, I., Ng, P.W.: Aspect-Oriented Software Development with Use Cases. Addison-Wesley, Reading (2004)
Klein, J., Hélouet, L., Jézéquel, J.M.: Semantic-based weaving of scenarios. In: AOSD 2006: Proceedings of the 5th international conference on Aspect-Oriented Software Development, Bonn, Germany, ACM, New York (2006)
Klein, J., Fleurey, F., Jézéquel, J.M.: Weaving multiple aspects in sequence diagrams. Transactions on Aspect-Oriented Software Development (TAOSD) III, 167–199 (2007)
Cottenier, T., van den Berg, A., Elrad, T.: Joinpoint inference from behavioral specification to implementation. In: Ernst, E. (ed.) ECOOP 2007. LNCS, vol. 4609, pp. 476–500. Springer, Heidelberg (2007)
Cottenier, T., Berg, A.V.D., Elrad, T.: The motoroal weavr: Model weaving in a large industrial context. In: Industry Track of the 5th International Conference on Aspect-Oriented Software Development (AOSD 2006), Bonn, Germany, ACM, New York (2006)
Aldawud, O., Elrad, T., Bader, A.: Uml profile for aspect-oriented software development. In: 3rd International Workshop on Aspect Oriented Modeling, In conjonction of AOSD 2003, Boston, Massachusetts (March 2003)
Elrad, T., Aldawud, O., Bader, A.: Expressing aspects using uml behavioral and structural diagrams. In: Filman, R.E., Elrad, T., Clarke, S., Aksit, M. (eds.) Aspect-oriented software development (2005)
Clarke, S., Baniassad, E.: Aspect-Oriented Analysis and Design: The Theme Approach. Addison Wesley, Reading (2005) ISBN: 0-321-24674-8
France, R., Ray, I., Georg, G., Ghosh, S.: Aspect-oriented approach to early design modelling. IEE Proceedings Software, 173–185 (August 2004)
Reddy, R., Ghosh, S., France, R.B., Straw, G., Bieman, J.M., Song, E., Georg, G.: Directives for composing aspect-oriented design class models. Transactions on Aspect-Oriented Software Development (TAOSD) I, 75–105 (2006)
Fleurey, F., Baudry, B., France, R., Ghosh, S.: A generic approach for automatic model composition. In: 11th Workshop on Aspect-Oriented Modeling, AOM at Models 2007 (2007)
OMG: Uml superstructure, v2.1.1 (OMG Document number formal/07-02-05)
Whittle, J., Araújo, J.: Scenario modelling with aspects. IEE Proceedings - Software 151(4), 157–172 (2004)
Whittle, J., Jayaraman, P.: Mata: A tool for aspect-oriented modeling based on graph transformation. In: 11th Workshop on Aspect-Oriented Modeling, AOM at Models 2007 (2007)
Morin, B., Klein, J., Kienzle, J., Barais, O., Jézéquel, J.M.: Geko: A generic aspect model weaver. Transactions on Aspect Oriented Software Development, TAOSD (2010) (Under Submission (major changes))
Klein, J., Kienzle, J., Morin, B., Jézéquel, J.M.: Aspect model unweaving. In: Schürr, A., Selic, B. (eds.) MODELS 2009. LNCS, vol. 5795, pp. 514–530. Springer, Heidelberg (2009)
Morin, B., Klein, J., Barais, O., Jezequel, J.-M.: A generic weaver for supporting product lines. In: Early Aspects Workshop at ICSE, Germany, ACM, New York (2008)
Harrison, W.H., Ossher, H.L., Tarr, P.L., Harrison, W.: Asymmetrically vs. symmetrically organized paradigms for software composition. Technical report, Research Report RC22685, IBM Thomas J. Watson Research (2002)
Muller, P.-A., Fleurey, F., Jézéquel, J.-M.: Weaving executability into object-oriented meta-languages. In: MODELS/UML 2005. LNCS, Springer, Heidelberg (2005)
Parnas, D.L.: On the criteria to be used in decomposing systems into modules. Communications of the ACM 15(12), 1053–1058 (1972)
France, R., Fleurey, F., Reddy, R., Baudry, B., Ghosh, S.: Providing Support for Model Composition in Metamodels. In: Entreprise Distributed Object Computing Conference, EDOC 2007, Annapolis, MD, USA (2007)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Kienzle, J., Al Abed, W., Fleurey, F., Jézéquel, JM., Klein, J. (2010). Aspect-Oriented Design with Reusable Aspect Models. In: Katz, S., Mezini, M., Kienzle, J. (eds) Transactions on Aspect-Oriented Software Development VII. Lecture Notes in Computer Science, vol 6210. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-16086-8_8
Download citation
DOI: https://doi.org/10.1007/978-3-642-16086-8_8
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-16085-1
Online ISBN: 978-3-642-16086-8
eBook Packages: Computer ScienceComputer Science (R0)