Advertisement

Aspect-Oriented Design with Reusable Aspect Models

  • Jörg Kienzle
  • Wisam Al Abed
  • Franck Fleurey
  • Jean-Marc Jézéquel
  • Jacques Klein
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6210)

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.

Keywords

Class Diagram Sequence Diagram State View Aspect Model Structural View 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Klein, J., Kienzle, J.: Reusable Aspect Models. In: 11th Aspect-Oriented Modeling Workshop, Nashville, TN, USA, September 30 (2007)Google Scholar
  2. 2.
    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)CrossRefGoogle Scholar
  3. 3.
    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)Google Scholar
  4. 4.
    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)CrossRefGoogle Scholar
  5. 5.
    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)Google Scholar
  6. 6.
    Bölükbaşi, G.: Aspectual Decomposition of Transactions. Master’s thesis, School of Computer Science, McGill University, Montreal, Canada (June 2007)Google Scholar
  7. 7.
    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)Google Scholar
  8. 8.
    Kienzle, J.: Reusable Aspect Models of the Crisis Management System (2009), http://www.cs.mcgill.ca/~joerg/SEL/RAM_Case_Study.html
  9. 9.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns. Addison Wesley, Reading (1995)Google Scholar
  10. 10.
    Riehle, D., Siberski, W., Bäumer, D., Megert, D., Zülighoven, H.: Serializer, pp. 293–312 (1997)Google Scholar
  11. 11.
    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)CrossRefGoogle Scholar
  12. 12.
    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)Google Scholar
  13. 13.
    Rashid, A.: Aspect-Oriented Database Systems. Springer, Heidelberg (2004)zbMATHGoogle Scholar
  14. 14.
    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)CrossRefGoogle Scholar
  15. 15.
    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/
  16. 16.
    Stein, D., Hanenberg, S., Unland, R.: A UML-based aspect-oriented design notation for aspectJ. In: AOSD, pp. 106–112 (2002)Google Scholar
  17. 17.
    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)CrossRefGoogle Scholar
  18. 18.
    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)CrossRefGoogle Scholar
  19. 19.
    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)Google Scholar
  20. 20.
    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)Google Scholar
  21. 21.
    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)Google Scholar
  22. 22.
    Jacobson, I., Ng, P.W.: Aspect-Oriented Software Development with Use Cases. Addison-Wesley, Reading (2004)Google Scholar
  23. 23.
    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)Google Scholar
  24. 24.
    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)Google Scholar
  25. 25.
    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)CrossRefGoogle Scholar
  26. 26.
    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)Google Scholar
  27. 27.
    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)Google Scholar
  28. 28.
    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)Google Scholar
  29. 29.
    Clarke, S., Baniassad, E.: Aspect-Oriented Analysis and Design: The Theme Approach. Addison Wesley, Reading (2005) ISBN: 0-321-24674-8Google Scholar
  30. 30.
    France, R., Ray, I., Georg, G., Ghosh, S.: Aspect-oriented approach to early design modelling. IEE Proceedings Software, 173–185 (August 2004)Google Scholar
  31. 31.
    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)CrossRefGoogle Scholar
  32. 32.
    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)Google Scholar
  33. 33.
    OMG: Uml superstructure, v2.1.1 (OMG Document number formal/07-02-05)Google Scholar
  34. 34.
    Whittle, J., Araújo, J.: Scenario modelling with aspects. IEE Proceedings - Software 151(4), 157–172 (2004)CrossRefGoogle Scholar
  35. 35.
    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)Google Scholar
  36. 36.
    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))Google Scholar
  37. 37.
    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)CrossRefGoogle Scholar
  38. 38.
    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)Google Scholar
  39. 39.
    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)Google Scholar
  40. 40.
    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)Google Scholar
  41. 41.
    Parnas, D.L.: On the criteria to be used in decomposing systems into modules. Communications of the ACM 15(12), 1053–1058 (1972)CrossRefGoogle Scholar
  42. 42.
    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)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Jörg Kienzle
    • 1
  • Wisam Al Abed
    • 1
  • Franck Fleurey
    • 2
  • Jean-Marc Jézéquel
    • 3
  • Jacques Klein
    • 4
  1. 1.School of Computer ScienceMcGill UniversityCanada
  2. 2.SINTEF IKTOsloNorway
  3. 3.INRIA, Centre Rennes - Bretagne AtlantiqueRennesFrance
  4. 4.CRP Gabriel Lippmann and University of LuxembourgLuxembourg

Personalised recommendations