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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Jacobson, I., Ng, P.W.: Aspect-Oriented Software Development with Use Cases. Addison-Wesley, Reading (2005)
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)
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)
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)
Filman, R., Friedman, D.: Aspect-oriented programming is quantification and obliviousness. In: Proceedings of OOPSLA 2000 workshop on Advanced Separation of Concerns (2000)
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)
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)
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)
Zhao, J.: Slicing aspect-oriented software. In: Proceedings of the 10th IEEE International Workshop on Programming Comprehension, pp. 251–260 (2002)
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)
Ehrig, H., Ehrig, K., Prange, U., Taentzer, G.: Fundamentals of Algebraic Graph Transformation. EATCS Monographs in TCS. Springer, Heidelberg (2005)
Object Management Group: UML Specification Version 1.5, formal/03-03-01 (2003), http://www.omg.org
Technische Universität Berlin: AGG Homepage (2007), http://tfs.cs.tu-berlin.de/agg
Mehner, K., Monga, M., Taentzer, G.: Interaction Analysis in Aspect-Oriented Models. In: International Conference on Requirements Engineering RE 2006 (2006)
Herrmann, S., Hundt, C., Mehner, K.: Mapping Use Case Level Aspects to Object Teams/Java. In: OOPSLA Workshop on Early Aspects (2004)
Mehner, K., Taentzer, G.: Supporting Aspect-Oriented Modeling with Graph Transformations. In: AOSD 2005 Workshop on Early Aspects (2005)
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)
Coleman, D.: Object Oriented Development, The Fusion Method. Prentice-Hall, Englewood Cliffs (1994)
D’Souza, D., Wills, A.: Components and Frameworks with UML: The Catalysis Approach. Addison-Wesley, Reading (1998)
The Eclipse Foundation: AspectJ Homepage (2007), http://www.eclipse.org/aspectj/
Katz, S.: A Survey of Verification and Static Analysis for Aspects (AOSD-Europe Network of Excellence (2005), http://www.aosd-europe.net
Plump, D.: Hypergraph Rewriting: Critical Pairs and Undecidability of Confluence. In: Term Graph Rewriting – Theory and Practice. John Wiley and Sons, Chichester (1993)
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)
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)
Taentzer, G.: Parallel high-level replacement systems. TCS 186 (1997)
Taentzer, G.: Parallel and Distributed Graph Transformation: Formal Description and Application to Communication-Based Systems. PhD thesis, TU Berlin. Shaker Verlag (1996)
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)
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)
Assmann, U.: Graph rewrite systems for program optimization. Transactions on Programming Languages and Systems 22(4), 538–637 (2000)
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)
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)
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)
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)
Nakajima, S., Tamai, T.: Lightweight formal analysis of aspect-oriented models. In: UML 2004 Workshop on Aspect-Oriented Modeling (2004)
Jackson, D.: Alloy: a lightweight object modelling notation. Software Engineering and Methodology 11(2), 256–290 (2002)
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)
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
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)
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)
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)
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)
Project, T.: TOPPrax home page (2007), http://www.topprax.de
Herrmann, S.: Object Teams homepage (2007), http://www.ObjectTeams.org
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)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)