Advertisement

Analysis of Aspect-Oriented Model Weaving

  • Katharina Mehner
  • Mattia Monga
  • Gabriele Taentzer
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5490)

Abstract

Aspect-oriented concepts are currently exploited to model systems from the beginning of their development. Aspects capture potentially crosscutting concerns and make it easier to formulate desirable properties and to understand analysis results than in a tangled system. However, the complexity of interactions among different aspectualized entities may reduce the benefit of aspect-oriented separation of crosscutting concerns. Some interactions may be intended or may be emerging behavior, while others are the source of unexpected inconsistencies. It is therefore desirable to detect inconsistencies as early as possible, preferably at the modeling level.

We propose an approach for analyzing interactions and potential inconsistencies at the level of requirements modeling. We use a variant of UML to model requirements in a use case driven approach. Activities that are used to refine use cases are the joinpoints to compose crosscutting concerns. The activities and their composition are formalized using the theory of graph transformation systems, which provides analysis support for detecting potential conflicts and dependencies between rule-based transformations. This theory is used to effectively reason about potential interactions and inconsistencies caused by aspect-oriented composition. The analysis is performed with the graph transformation tool AGG in order to get a better understanding of the potential behavior of the composed system. In addition, the activity control flow of the aspect/base specification and the composition operators are taken into account to identify the relevant interactions.

Keywords

Class Diagram Graph Transformation Activity Diagram Critical Pair Decision Node 
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.
    Jacobson, I., Ng, P.W.: Aspect-Oriented Software Development with Use Cases. Addison-Wesley, Reading (2005)Google Scholar
  2. 2.
    Araújo, J., Whittle, J., Kim, D.K.: Modeling and composing scenario-based requirements with aspects. In: Proceedings of the 12th IEEE Int. Requirements Eng. Conf. IEEE Computer Society Press, Los Alamitos (2004)Google Scholar
  3. 3.
    Rashid, A., Sawyer, P., Moreira, A., Araújo, J.: Early aspects: A model for aspect-oriented requirements engineering. In: Proc. IEEE Joint International Conference on Requirements Engineering, pp. 199–202. IEEE Computer Society Press, Los Alamitos (2002)CrossRefGoogle Scholar
  4. 4.
    Rashid, A., Moreira, A., Araújo, J.: Modularisation and composition of aspectual requirements. In: Proc. AOSD 2002, Enschede, Netherlands, pp. 11–20. ACM Press, New York (2002)Google Scholar
  5. 5.
    Filman, R., Friedman, D.: Aspect-oriented programming is quantification and obliviousness. In: Proceedings of OOPSLA 2000 workshop on Advanced Separation of Concerns (2000)Google Scholar
  6. 6.
    Sillito, J., Dutchyn, C., Eisenberg, A., DeVolder, K.: Use case level pointcuts. In: Odersky, M. (ed.) ECOOP 2004. LNCS, vol. 3086, pp. 246–268. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  7. 7.
    Katz, S.: Diagnosis of harmful aspects using regression verification. In: Leavens, G.T., Lämmel, R., Clifton, C. (eds.) Foundations of Aspect-Oriented Languages (2004)Google Scholar
  8. 8.
    Rinard, M., Sǎlcianu, A., Bugrara, S.: A classification system and analysis for aspect-oriented programs. In: Proceedings of SIGSOFT 2004/FSE-12, Newport Beach, CA, USA, pp. 147–158. ACM, New York (2004)CrossRefGoogle Scholar
  9. 9.
    Zhao, J.: Slicing aspect-oriented software. In: Proceedings of the 10th IEEE International Workshop on Programming Comprehension, pp. 251–260 (2002)Google Scholar
  10. 10.
    Balzarotti, D., Castaldo D’Ursi, A., Cavallaro, L., Monga, M.: Slicing AspectJ woven code. In: Proceedings of the Foundations of Aspect-Oriented Languages workshop (FOAL 2005), Chicago, IL, USA (2005)Google Scholar
  11. 11.
    Ehrig, H., Ehrig, K., Prange, U., Taentzer, G.: Fundamentals of Algebraic Graph Transformation. EATCS Monographs in TCS. Springer, Heidelberg (2005)zbMATHGoogle Scholar
  12. 12.
    Object Management Group: UML Specification Version 1.5, formal/03-03-01 (2003), http://www.omg.org
  13. 13.
    Technische Universität Berlin: AGG Homepage (2007), http://tfs.cs.tu-berlin.de/agg
  14. 14.
    Mehner, K., Monga, M., Taentzer, G.: Interaction Analysis in Aspect-Oriented Models. In: International Conference on Requirements Engineering RE 2006 (2006)Google Scholar
  15. 15.
    Herrmann, S., Hundt, C., Mehner, K.: Mapping Use Case Level Aspects to Object Teams/Java. In: OOPSLA Workshop on Early Aspects (2004)Google Scholar
  16. 16.
    Mehner, K., Taentzer, G.: Supporting Aspect-Oriented Modeling with Graph Transformations. In: AOSD 2005 Workshop on Early Aspects (2005)Google Scholar
  17. 17.
    Araújo, J., Coutinho, P.: Identifying aspectual use cases using a viewpoint-oriented requirements method. In: Early Aspects 2003: Aspect-Oriented Requirements Engineering and Architecture Design, Boston, MA, USA (2003)Google Scholar
  18. 18.
    Coleman, D.: Object Oriented Development, The Fusion Method. Prentice-Hall, Englewood Cliffs (1994)Google Scholar
  19. 19.
    D’Souza, D., Wills, A.: Components and Frameworks with UML: The Catalysis Approach. Addison-Wesley, Reading (1998)Google Scholar
  20. 20.
    The Eclipse Foundation: AspectJ Homepage (2007), http://www.eclipse.org/aspectj/
  21. 21.
    Katz, S.: A Survey of Verification and Static Analysis for Aspects (AOSD-Europe Network of Excellence (2005), http://www.aosd-europe.net
  22. 22.
    Plump, D.: Hypergraph Rewriting: Critical Pairs and Undecidability of Confluence. In: Term Graph Rewriting – Theory and Practice. John Wiley and Sons, Chichester (1993)Google Scholar
  23. 23.
    Hausmann, J., Heckel, R., Taentzer, G.: Detection of Conflicting Functional Requirements in a Use Case-Driven Approach. In: Proc. of Int. Conference on Software Engineering 2002, Orlando, USA (2002)Google Scholar
  24. 24.
    Ermel, C., Taentzer, G., Bardohl, R.: Simulating Algebraic High-Level Nets by Parallel Attributed Graph Transformation: Long Version. Technical Report 2004-21, Technische Universität Berlin (2005)Google Scholar
  25. 25.
    Taentzer, G.: Parallel high-level replacement systems. TCS 186 (1997)Google Scholar
  26. 26.
    Taentzer, G.: Parallel and Distributed Graph Transformation: Formal Description and Application to Communication-Based Systems. PhD thesis, TU Berlin. Shaker Verlag (1996)Google Scholar
  27. 27.
    Brichau, J., De Meuter, W., De Volder, K.: Jumping aspects. In: Workshop Aspects and Dimensions of Concerns, ECOOP 2000, Sophia Antipolis and Cannes, France (2000)Google Scholar
  28. 28.
    Mens, T., Taentzer, G., Runge, O.: Detecting Structural Refactoring Conflicts unsing Critical Pair Analysis. In: Heckel, R., Mens, T. (eds.) Proc. Workshop on Software Evolution through Transformations (SETra 2004), Satellite Event of ICGT 2004, Rome, Italy. ENTCS. Elsevier, Amsterdam (2004)Google Scholar
  29. 29.
    Assmann, U.: Graph rewrite systems for program optimization. Transactions on Programming Languages and Systems 22(4), 538–637 (2000)CrossRefGoogle Scholar
  30. 30.
    Aßmann, U., Ludwig, A.: Aspect Weaving with Graph Rewriting. In: Czarnecki, K., Eisenecker, U.W. (eds.) GCSE 1999. LNCS, vol. 1799, p. 24. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  31. 31.
    Whittle, J., ao Araújo, J., Moreira, A.: Composing aspect models with graph transformation. In: EA 2006: Proceedings of the 2006 international workshop on Early aspects at ICSE, Shanghai, China, pp. 59–65. ACM Press, New York (2006)Google Scholar
  32. 32.
    Turner, C.R., Fuggetta, A., Lavazza, L., Wolf, A.L.: A conceptual basis for feature engineering. The Journal of Systems and Software 49(1), 3–15 (1999)CrossRefGoogle Scholar
  33. 33.
    Finkelstein, A., Kramer, J., Nuseibeh, B., Finkelstein, L., Goedicke, M.: Viewpoints: A framework for integrating multiple perspectives in systems development. International Journal of Software Engineering and Knowledge Engineering 1(2), 31–58 (1992)CrossRefGoogle Scholar
  34. 34.
    Nakajima, S., Tamai, T.: Lightweight formal analysis of aspect-oriented models. In: UML 2004 Workshop on Aspect-Oriented Modeling (2004)Google Scholar
  35. 35.
    Jackson, D.: Alloy: a lightweight object modelling notation. Software Engineering and Methodology 11(2), 256–290 (2002)CrossRefGoogle Scholar
  36. 36.
    Mostefaoui, F., Vachon, J.: Verification of Aspect-UML models using Alloy. In: Aspect Oriented Modelling Workshop, Vancouver, British Columbia, Canada, pp. 41–48. ACM press, New York (2007)Google Scholar
  37. 37.
    Clifton, C., Leavens, G.T.: Obliviousness, modular reasoning, and the behavioral subtyping analogy, Technical Report TR03-01a, Iowa State University (2003); presented at SPLAT 2003Google Scholar
  38. 38.
    Xu, W., Xu, D.: A model-based approach to testing interactions between aspects and classes. In: AOSD 2005 Workshop on Testing Aspect-Oriented Programs, Chicago (2005)Google Scholar
  39. 39.
    Ubayashi, N., Tamai, T.: Aspect-oriented programming with model checking. In: AOSD 2002 (1st International Conference on Aspect-Oriented Software Development) Conference Proceedings, Enschede, NL, pp. 148–154 (2002)Google Scholar
  40. 40.
    Denaro, G., Monga, M.: An experience on verification of aspect properties. In: Tamai, T., Aoyama, M., Bennett, K. (eds.) Proceedings of the International Workshop on Principles of Software Evolution IWPSE 2001, Vienna, Austria, pp. 184–188. ACM, New York (2001)Google Scholar
  41. 41.
    Douence, R., Fradet, P., Südholt, M.: Composition, reuse, and interaction analysis of stateful aspects. In: Proceedings of the 3rd international Conference of Aspect-oriented Software Development, Lancaster, UK. ACM, New York (2004)Google Scholar
  42. 42.
    Project, T.: TOPPrax home page (2007), http://www.topprax.de
  43. 43.
    Herrmann, S.: Object Teams homepage (2007), http://www.ObjectTeams.org
  44. 44.
    Sokenou, D., Mehner, K., Herrmann, S., Sudhof, H.: Patterns for Re-usable Aspects in Object Teams. In: NODe 2006, at Net. ObjectDays 2006, Erfurt (2006)Google Scholar
  45. 45.
    Hundt, C., Mehner, K., Pfeiffer, C., Sokenou, D.: Improving Alignment of Crosscutting Features with Code in Product Line Engineering. Journal of Object Technology Special Issue of TOOLS Europe 2007, Zurich (2007)Google Scholar
  46. 46.
    Bottoni, P., Koch, M., Parisi-Presicce, F., Taentzer, G.: Consistency Checking and Visualization of OCL Constraints. In: Evans, A., Kent, S., Selic, B. (eds.) UML 2000. LNCS, vol. 1939, pp. 294–308. Springer, Heidelberg (2000)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Katharina Mehner
    • 1
  • Mattia Monga
    • 2
  • Gabriele Taentzer
    • 3
  1. 1.Software Engineering GroupTechnical University of BerlinGermany
  2. 2.Dip. di Informatica e ComunicazioneUniversità degli Studi di MilanoItaly
  3. 3.Dep. of Computer Science and MathematicsPhilipps-Universität MarburgGermany

Personalised recommendations