|
ABSTRACT
Aspects that in isolation behave correctly, may interact when being combined. When interaction changes an aspect's behaviour or disables an aspect, we call this interference. One particular type of interference occurs when aspects are applied to shared join points, since then the ordering of the aspects can also influence the behaviour of the composition. We present an approach to detect aspect interference at shared join points. Aspect compositions are modelled by using a graph production system for modelling aspect-language semantics. A graph-based model of a join point is generated from the source-code of the system. This graph is transformed into a runtime-state representation. Combined with the production system (and the correct tooling) the execution of the aspects is simulated. This simulation results in a labelled transition system that can be used to analyse and verify different properties of the system at the join point. Simulation of the entire system can be computationally expensive. In our approach, we decide to abstract base system execution into non-deterministic valuation and carefully choosing advice semantics, such that simulation of the entire system can be avoided.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
Mark Arends. A simulation of the java virtual machine using graph grammars. In Master thesis. 2003.
|
| |
2
|
Lodewijk Bergmans and Mehmet Aksit. Principles and design rationale of composition filters. In Robert E. Filman, Tzilla Elrad, Siobh--an Clarke, and Mehmet Aksit, editors, Aspect-Oriented Software Development, pages 63--95. Addison-Wesley, Boston, 2005.
|
| |
3
|
Curtis Clifton and Gary T. Leavens. Observers and assistants: A proposal for modular aspect-oriented reasoning. In Ron Cytron and Gary T. Leavens, editors, FOAL 2002: Foundations of Aspect-Oriented Languages (AOSD-2002), pages 33--44, March 2002.
|
| |
4
|
Andrea Corradini, Fernando L. Dotti, Luciana Foss, and Leila Ribeiro. Translating java into graph transformation systems. In Hartmut Ehrig, Gregor Engels, Fransesco Parisi-Presicce, and Grzegorz Rozenberg, editors, Second International Conference on Graph Transformation (ICGT), volume 3256 of Lecture Notes in Computer Science, pages 383--389. Springer-Verlag, 2004.
|
| |
5
|
Remi Douence, Simplice Djoko Djoko, Pascal Fradet, and Didier Le Botlan. Towards a common aspect semantic base (casb). In Deliverable 54, AOSD-Europe, EU Network of Excellence in AOSD, August 2006.
|
| |
6
|
Eyal Dror and Shmuel Katz. The revised architecture of the cape. In Deliverable 42, AOSD-Europe, EU Network of Excellence in AOSD, August 2006.
|
| |
7
|
Hartmut Ehrig, R. Heckel, Martin Korff, M. Lowe, L. Ribeiro, A. Wagner, and Andrea Corradini. Algebraic approaches to graph transformation, part II: Single pushout approach and comparison with double pushout approach. In Rozenberg {23}.
|
| |
8
|
Max Goldman and Shmuel Katz. Maven: Modular aspect verification. In Orna Grumberg and Michael Huth, editors, TACAS, volume 4424 of Lecture Notes in Computer Science, pages 308--322. Springer, 2007.
|
| |
9
|
Jan Hendrik Hausmann. Dynamic Meta Modelling: A Semantics Description Technique for Visual Modeling Languages. PhD thesis, University of Paderborn, 2006.
|
 |
10
|
Wilke Havinga , Istvan Nagy , Lodewijk Bergmans , Mehmet Aksit, A graph-based approach to modeling and detecting composition conflicts related to introductions, Proceedings of the 6th international conference on Aspect-oriented software development, March 12-16, 2007, Vancouver, British Columbia, Canada
[doi> 10.1145/1218563.1218574]
|
| |
11
|
|
| |
12
|
Rod Johnson, Juergen Hoeller, Alef Arendsen, Colin Sampaleanu, Rob Harrop, Thomas Risberg, Darren Davison, Dmitriy Kopylenko, Mark Pollack, Thierry Templier, Erwin Vervaet Portia Tung, Ben Hale, Adrian Colyer, John Lewis, Costin Leau, and Rick Evans. Aspect oriented programming with spring. In The Spring Framework -- Reference Documentation.
|
| |
13
|
H. Kastenberg, A. G. Kleppe, and A. Rensink. Defining object-oriented execution semantics using graph transformations. In R. Gorrieri and H. Wehrheim, editors, Proceedings of the 8th IFIP International Conference on Formal Methods for Open-Object Based Distributed Systems, Bologna, Italy, volume 4037 of Lecture Notes in Computer Science, pages 186--201, London, June 2006. Springer Verlag.
|
| |
14
|
Harmen Kastenberg, Anneke Kleppe, and Arend Rensink. Defining object-oriented execution semantics using graph transformations. In R. Gorrieri and H. Wehrheim, editors, Formal Methods for Open Object-Based Distributed Systems (FMOODS), volume 4037 of Lecture Notes in Computer Science, pages 186--201. Springer-Verlag, 2006.
|
| |
15
|
Shmuel Katz. Aspect categories and classes of temporal properties. In Awais Rashid and Mehmet Aksit, editors, T. Aspect-Oriented Software Development I, volume 3880 of Lecture Notes in Computer Science, pages 106--134. Springer, 2006.
|
| |
16
|
Günter Kniesel. Detection and resolution of weaving interactions. Transactions on Aspect-Oriented Programming, LNCS(submitted), 2007. Special issue on Aspect Dependencies and Interactions, edited by Ruzanna Chitchyan, Johan Fabry, Shmuel Katz, Arend Rensink. Bert Lagaisse, Wouter Joosen, and Bart De Win. Managing semantic interference with aspect integration contracts. In Lodewijk Bergmans, Kris Gybels, Peri Tarr, and Erik Ernst, editors, SPLAT: Software engineering Properties of Languages for Aspect, March 2004.
|
| |
17
|
Istvan Nagy, Lodewijk Bergmans, and Mehmet Aksit. Composing aspects at shared join points. In Andreas Polze Robert Hirschfeld, Ryszard Kowalczyk and Mathias Weske, editors, Proceedings of International Conference NetObjectDays (NODe), volume P-69 of Lecture Notes in Informatics, Erfurt, Germany, Sep 2005. Gesellschaft für Informatik (GI).
|
| |
18
|
Renaud Pawlak, Laurence Duchien, and Lionel Seinturier. CompAr: Ensuring safe around advice composition. In M. Steffen and G. Zavattaro, editors, Formal Methods for Open Object-Based Distributed Systems (FMOODS), volume 3535 of Lecture Notes in Computer Science, pages 163--178, 2005.
|
| |
19
|
|
| |
20
|
Arend Rensink. The GROOVE simulator: A tool for state space generation. In J. Pfalz, M. Nagl, and B. Bohlen, editors, Applications of Graph Transformations with Industrial Relevance (AGTIVE), volume 3062 of Lecture Notes in Computer Science, pages 479--485. Springer-Verlag, 2004.
|
 |
21
|
|
| |
22
|
|
| |
23
|
Marcelo Sihman and Shmuel Katz. Superimpositions and aspect-oriented programming. The Computer Journal, 46(5):529--541, September 2003.
|
| |
24
|
|
| |
25
|
Niek Sombekke. Graph-based semantics of the .net intermediate language. In Master thesis. May 2003.
|
| |
26
|
|
|