MATA: A Unified Approach for Composing UML Aspect Models Based on Graph Transformation

  • Jon Whittle
  • Praveen Jayaraman
  • Ahmed Elkhodary
  • Ana Moreira
  • João Araújo
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5560)

Abstract

This paper describes MATA (Modeling Aspects Using a Transformation Approach), a UML aspect-oriented modeling (AOM) technique that uses graph transformations to specify and compose aspects. Graph transformations provide a unified approach for aspect modeling in that the methods presented here can be applied to any modeling language with a well-defined metamodel. This paper, however, focuses on UML class diagrams, sequence diagrams and state diagrams. MATA takes a different approach to AOM since there are no explicit joinpoints. Rather, any model element can be a joinpoint, and composition is a special case of model transformation. The graph transformation execution engine, AGG, is used in MATA to execute model compositions, and critical pair analysis is used to automatically detect structural interactions between different aspect models. MATA has been applied to a number of realistic case studies and is supported by a tool built on top of IBM Rational Software Modeler.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Whittle, J., Moreira, A., Araújo, J., Rabbi, R., Jayaraman, P., Elkhodary, A.: An Expressive Aspect Composition Language for UML State Diagrams. In: Engels, G., Opdyke, B., Schmidt, D.C., Weil, F. (eds.) MODELS 2007. LNCS, vol. 4735, pp. 514–528. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  2. 2.
    Whittle, J., Jayaraman, P.: MATA: A Tool for Aspect-Oriented Modeling based on Graph Transformation. In: Workshop on Aspect Oriented Modeling at the International MODELS Conference, Nashville, TN (2007)Google Scholar
  3. 3.
    Clarke, S., Baniassad, E.: Aspect-Oriented Analysis and Design: The Theme Approach. Addison Wesley, Reading (2005)Google Scholar
  4. 4.
    France, R., Ray, I., Georg, G., Ghosh, S.: Aspect-oriented approach to early design modeling. In: IEE Proceedings - Software, vol. 151, pp. 173–186 (2004)Google Scholar
  5. 5.
    Cottenier, T., van den Berg, A., Elrad, T.: Motorola WEAVR: Model Weav-ing in a Large Industrial Context. In: Aspect-Oriented Software Development (AOSD), Vancouver, Canada (2007)Google Scholar
  6. 6.
    Jacobson, I., Ng, P.-W.: Aspect Oriented Software Development with Use Cases. Addison-Wesley Professional, Reading (2004)Google Scholar
  7. 7.
    Reddy, Y.R., Ghosh, S., France, R., Straw, G., Bieman, J., McEachen, N., Song, E., Georg, G.: Directives for Composing Aspect-Oriented Design Class Models. In: Rashid, A., Aksit, M. (eds.) Transactions on Aspect-Oriented Software Development I. LNCS, vol. 3880, pp. 75–105. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  8. 8.
    Fleury, F., Baudry, B., France, R., Ghosh, S.: A Generic Approach for Automatic Model Composition. In: Workshop on Aspect Oriented Modeling at MODELS 2007 (2007)Google Scholar
  9. 9.
    Zhang, G., Hölzl, M., Knapp, A.: Enhancing UML State Machines with Aspects. In: Engels, G., Opdyke, B., Schmidt, D.C., Weil, F. (eds.) MODELS 2007. LNCS, vol. 4735, pp. 529–543. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  10. 10.
    Lopez-Herrejon, R., Batory, D.: Modeling Features in Aspect-Based Product Lines with Use Case Slices: An Exploratory Case Study. In: Kühne, T. (ed.) MoDELS 2006. LNCS, vol. 4364, pp. 6–16. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  11. 11.
    Rashid, A.: Views, Aspects and Roles: Symphony or Random Noise? In: Panel Statement at Views, Aspects and Roles Workshop associated with ECOOP 2005 (2005)Google Scholar
  12. 12.
    Douence, R., Fritz, T., Loriant, N., Menaud, J.-M., Segura-Devillechaise, M., Sudholt, M.: An Expressive Aspect Language for System Applications with Arachne. In: Aspect-Oriented Software Development (AOSD), Chicago, Illinois, pp. 27–38 (2005)Google Scholar
  13. 13.
    Stein, D., Hanenberg, S., Unland, R.: Expressing Different Conceptual Models of Join Point Selections in Aspect-Oriented Design. In: Aspect-Oriented Software Development (AOSD), Bonn, Germany, pp. 15–26 (2006)Google Scholar
  14. 14.
    Markovic, S., Baar, T.: Refactoring OCL Annotated UML Class Diagrams. In: Briand, L.C., Williams, C. (eds.) MoDELS 2005. LNCS, vol. 3713, pp. 280–294. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  15. 15.
    de Micheaux, N.L., Rambaud, C.: Confluence for Graph Transformations. Theoretical Computer Science 154, 329–348 (1996)MATHCrossRefMathSciNetGoogle Scholar
  16. 16.
    Wagner, R.: Developing Model Transformations with Fujaba. In: International Fujaba Days, Bayreuth, Germany, pp. 79–82 (2006)Google Scholar
  17. 17.
    Balogh, A., Varro, D.: Advanced Model Transformation Language Constructs in the VIATRA2 Framework. In: ACM Symposium on Applied Computing (Model Transformation Track), Dijon, France, pp. 1280–1287 (2006)Google Scholar
  18. 18.
    Boner, J., Vasseur, A.: Tutorial on AspectWerkz for Dynamic Aspect-Oriented Programming. In: Aspect Oriented Software Development (2004)Google Scholar
  19. 19.
    Moreira, A., Rashid, A., Araújo, J.: A Multi-Dimensional Separation of Concerns in Requirements Engineering. In: International Conference on Requirements Engineering (RE), Paris, France, pp. 285–296 (2005)Google Scholar
  20. 20.
    Rudolf, M.: Utilizing Constraint Satisfaction Techniques for Efficient Graph Pattern Matching. In: Ehrig, H., Engels, G., Kreowski, H.-J., Rozenberg, G. (eds.) TAGT 1998. LNCS, vol. 1764, pp. 238–251. Springer, Heidelberg (2000)Google Scholar
  21. 21.
    Taentzer, G.: AGG: A Graph Transformation Environment for Modeling and Validation of Software. In: Pfaltz, J.L., Nagl, M., Böhlen, B. (eds.) AGTIVE 2003. LNCS, vol. 3062, pp. 446–453. Springer, Heidelberg (2004)Google Scholar
  22. 22.
    Jayaraman, P.: Interaction Verification and Model Composition in Product Lines Using MATA in Dept. of Information and Software Engineering. MS Thesis Fairfax, VA. George Mason University, USA (2007)Google Scholar
  23. 23.
    Nicoara, A., Alonso, G.: Dynamic AOP with PROSE. In: International Workshop on Adaptive and Self-Managing Enterprise Applications at CAiSE, Porto, Portugal (2005)Google Scholar
  24. 24.
    Mussbacher, G., Amyot, D., Whittle, J., Weiss, M.: Flexible and Expressive Composition Rules with Aspect-Oriented Use Case Maps (AoUCM). In: Moreira, A., Grundy, J. (eds.) Early Aspects Workshop 2007 and EACSL 2007. LNCS, vol. 4765, pp. 19–38. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  25. 25.
    Griswold, W., Sullivan, K., Song, Y., Shonle, M., Tewari, N., Cai, Y., Rajan, H.: Modular Software Design with Crosscutting Interfaces. IEEE Software 23, 51–60 (2006)CrossRefGoogle Scholar
  26. 26.
    Aldrich, J.: Open Modules: Modular Reasoning about Advice. In: Black, A.P. (ed.) ECOOP 2005. LNCS, vol. 3586, pp. 144–168. Springer, Heidelberg (2005)Google Scholar
  27. 27.
    Jayaraman, P., Whittle, J., Elkhodary, A., Gomaa, H.: Model Composition in Product Lines and Feature Interaction Detection using Critical Pair Analysis. In: Engels, G., Opdyke, B., Schmidt, D.C., Weil, F. (eds.) MODELS 2007. LNCS, vol. 4735, pp. 151–165. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  28. 28.
    Gomaa, H.: Designing Software Product Lines with UML: From Use Cases to Pattern-based Software Architectures. Addison-Wesley Object Technology Series (2005)Google Scholar
  29. 29.
    Kohno, T., Stubblefield, A., Rubin, A., Wallach, D.: Analysis of an Electronic Voting System. In: IEEE Symposium on Security and Privacy, pp. 27–40. IEEE Computer Society Press, Los Alamitos (2004)CrossRefGoogle Scholar
  30. 30.
    Hartong, M., Goel, R., Wijesekera, D.: Use Misuse Case Driven Forensic Analysis of Positive Train Control: A Preliminary Study. In: 2nd IFIP WG 11.9 International Conference on Digital Forensics, Orlando, FLGoogle Scholar
  31. 31.
    Araújo, J., Whittle, J., Kim, D.-K.: Modeling and Composing Scenario-Based Requirements with Aspects. In: International Conference on Requirements Engineering, Kyoto, Japan, pp. 58–67 (2004)Google Scholar
  32. 32.
    Song, E., Reddy, R., France, R.B., Ray, I., Georg, G., Alexander, R.: Verifiable Composition of Access Control and Application Features. In: ACM Symposium on Access Control Models and Technologies (SACMAT), Stockholm, Sweden, pp. 120–129 (2005)Google Scholar
  33. 33.
    Klein, J., Helouet, L., Jézéquel, J.-M.: Semantic-Based Weaving of Scenarios. In: Aspect-Oriented Software Development (AOSD), Vancouver, Canada, pp. 27–38 (2006)Google Scholar
  34. 34.
    Reddy, R., Solberg, A., France, R., Ghosh, S.: Composing Sequence Models Using Tags. In: Aspect Oriented Modeling Workshop at MODELS 2006 (2006)Google Scholar
  35. 35.
    Whittle, J., Araújo, J.: Scenario Modelling with Aspects. In: IEE Proceedings - Software, August 2004, vol. 151, pp. 157–172 (2004)Google Scholar
  36. 36.
    Klein, J., Kienzle, J.: Reusable Aspect Models. In: Aspect Oriented Modeling Workshop at MODELS 2007 (2007)Google Scholar
  37. 37.
    Katara, M., Katz, S.: Architectural Views of Aspects. In: Aspect-Oriented Software Development (AOSD), Boston, Massachusetts, pp. 1–10 (2003)Google Scholar
  38. 38.
    Kim, D.-K.: Evaluating Conformance of UML Models to Design Patterns. In: International Conference on the Engineering of Complex Computer Systems (ICECCS), Shanghai, China, pp. 30–31 (2005)Google Scholar
  39. 39.
    Kim, D.-K., Whittle, J.: Generating UML Models from Domain Patterns. In: Software Engineering Research, Management and Applications, pp. 166–173 (2005)Google Scholar
  40. 40.
    Kim, D.K.: A Pattern-Based Technique for Developing UML Models of Access Control Systems. In: 30th Annual International Computer Software and Applications Conference (COMPSAC), Chicago, IL, pp. 317–324 (2006)Google Scholar
  41. 41.
    Baudry, B., Fleurey, F., France, R., Reddy, R.: Exploring the Relationship between Model Composition and Model Transformation. In: Aspect Oriented Modeling Workshop at MODELS 2005 (2005)Google Scholar
  42. 42.
    France, R., Fleurey, F., Reddy, R., Baudry, B., Ghosh, S.: Providing Support for Model Composition in Metamodels. In: IEEE International EDOC Conference, Annapolis, Maryland (2007)Google Scholar
  43. 43.
    Zhang, J., Cottenier, T., van den Berg, A., Gray, J.: Aspect Interference and Composition in the Motorola Aspect-Oriented Modeling Weaver. In: Aspect Oriented Modeling Workshop at MODELS 2006 (2006)Google Scholar
  44. 44.
    Sanen, F., Loughran, N., Rashid, A., Nedos, A., Jackson, A., Clarke, S., Truyen, E., Joosen, W.: Classifying and Documenting Aspect Interactions. In: Workshop on Aspects, Components and Patterns for Infrastructure Software at AOSD, Bonn, Germany (2006)Google Scholar
  45. 45.
    Bakre, S., Elrad, T.: Scenario-based Resolution of Aspect Interactions with Aspect Interaction Charts. In: Aspect-Oriented Software Development, Vancouver, Canada, pp. 1–6 (2007)Google Scholar
  46. 46.
    Mostefaoui, F., Vachon, J.: Design-level Detection of Interactions in Aspect-UML Models using Alloy. Journal of Object Technology 6, 137–165 (2007)Google Scholar
  47. 47.
    Douence, R., Fradet, P., Südholt, M.: A Framework for the Detection and Resolution of Aspect Interactions. In: Generative Programming and Component Engineering, Pittsburgh, PA, pp. 173–188 (2002)Google Scholar
  48. 48.
    Douence, R., Fradet, P., Südholt, M.: Composition, reuse and interaction analysis of stateful aspects. In: Aspect Oriented Software Development, pp. 141–150 (2004)Google Scholar
  49. 49.
    Nejati, S., Sabetzadeh, M., Chechik, M., Easterbrook, S., Zave, P.: Matching and Merging of Statecharts Specifications. In: International Conference on Software Engineering, pp. 54–64 (2007)Google Scholar
  50. 50.
    Chitchyan, R., Rashid, A., Rayson, P., Waters, R.: Semantics-Based Com-position for Aspect-Oriented Requirements Engineering. In: Aspect-Oriented Software Development (AOSD), Vancouver, Canada, pp. 36–48 (2007)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Jon Whittle
    • 1
  • Praveen Jayaraman
    • 2
  • Ahmed Elkhodary
    • 2
  • Ana Moreira
    • 3
  • João Araújo
    • 3
  1. 1.Dept. of ComputingLancaster University, BailriggLancaster
  2. 2.Dept. of Information and Software EngineeringGeorge Mason UniversityFairfax
  3. 3.Dept. of InformaticsFCT, Universidade Nova de LisboaCaparicaPortugal

Personalised recommendations