Skip to main content

Part of the book series: Lecture Notes in Computer Science ((TAOSD,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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 74.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 99.00
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Jacobson, I., Ng, P.W.: Aspect-Oriented Software Development with Use Cases. Addison-Wesley, Reading (2005)

    Google Scholar 

  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. 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)

    Chapter  Google Scholar 

  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. 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. 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)

    Chapter  Google Scholar 

  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. 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)

    Chapter  Google Scholar 

  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. 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. Ehrig, H., Ehrig, K., Prange, U., Taentzer, G.: Fundamentals of Algebraic Graph Transformation. EATCS Monographs in TCS. Springer, Heidelberg (2005)

    MATH  Google Scholar 

  12. Object Management Group: UML Specification Version 1.5, formal/03-03-01 (2003), http://www.omg.org

  13. Technische Universität Berlin: AGG Homepage (2007), http://tfs.cs.tu-berlin.de/agg

  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. 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. Mehner, K., Taentzer, G.: Supporting Aspect-Oriented Modeling with Graph Transformations. In: AOSD 2005 Workshop on Early Aspects (2005)

    Google Scholar 

  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. Coleman, D.: Object Oriented Development, The Fusion Method. Prentice-Hall, Englewood Cliffs (1994)

    Google Scholar 

  19. D’Souza, D., Wills, A.: Components and Frameworks with UML: The Catalysis Approach. Addison-Wesley, Reading (1998)

    Google Scholar 

  20. The Eclipse Foundation: AspectJ Homepage (2007), http://www.eclipse.org/aspectj/

  21. Katz, S.: A Survey of Verification and Static Analysis for Aspects (AOSD-Europe Network of Excellence (2005), http://www.aosd-europe.net

  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. 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. 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. Taentzer, G.: Parallel high-level replacement systems. TCS 186 (1997)

    Google Scholar 

  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. 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. 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. Assmann, U.: Graph rewrite systems for program optimization. Transactions on Programming Languages and Systems 22(4), 538–637 (2000)

    Article  Google Scholar 

  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)

    Chapter  Google Scholar 

  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. 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)

    Article  Google Scholar 

  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)

    Article  Google Scholar 

  34. Nakajima, S., Tamai, T.: Lightweight formal analysis of aspect-oriented models. In: UML 2004 Workshop on Aspect-Oriented Modeling (2004)

    Google Scholar 

  35. Jackson, D.: Alloy: a lightweight object modelling notation. Software Engineering and Methodology 11(2), 256–290 (2002)

    Article  Google Scholar 

  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. Clifton, C., Leavens, G.T.: Obliviousness, modular reasoning, and the behavioral subtyping analogy, Technical Report TR03-01a, Iowa State University (2003); presented at SPLAT 2003

    Google Scholar 

  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. 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. 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. 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. Project, T.: TOPPrax home page (2007), http://www.topprax.de

  43. Herrmann, S.: Object Teams homepage (2007), http://www.ObjectTeams.org

  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. 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. 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)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2009 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Mehner, K., Monga, M., Taentzer, G. (2009). Analysis of Aspect-Oriented Model Weaving. In: Rashid, A., Ossher, H. (eds) Transactions on Aspect-Oriented Software Development V. Lecture Notes in Computer Science, vol 5490. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-02059-9_7

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-02059-9_7

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-02058-2

  • Online ISBN: 978-3-642-02059-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics