skip to main content
10.1145/1509239.1509247acmconferencesArticle/Chapter ViewAbstractPublication PagesmodularityConference Proceedingsconference-collections
research-article

A graph-transformation-based simulation approach for analysing aspect interference on shared join points

Published: 02 March 2009 Publication History

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

[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, and Mehmet Aksit. A graph-based approach to modeling and detecting composition conflicts related to introductions. In AOSD '07: Proceedings of the 6th international conference on Aspect-oriented software development, Vancouver, Canada, pages 85--95, New York, NY, USA, 2007. ACM Press.
[11]
D. Janssens. Actor grammars and local actions. In Grzegorz Rozenberg, Hartmut Ehrig, et al., editors, Handbook of Graph Grammars and Computing by Graph Transformation, volume III: Parallelism, Concurrency and Distribution, chapter 2, pages 57--106. World Scientific, Signapore, 1999.
[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]
D. Plump. Term graph rewriting. In Hartmut Ehrig, Gregor Engels, Hans-Jorg Kreowski, and Grzegorz Rozenberg, editors, Handbook of Graph Grammars and Computing by Graph Transformation, volume II: Applications, Languages and Tools. World Scientific, Singapore, 1999.
[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]
Martin Rinard, Alexandru Salcianu, and Suhabe Bugrara. A classification system and analysis for interactions in aspect-oriented programs. In Foundations of Software Engineering (FOSE). ACM, October 2004.
[22]
Grzegorz Rozenberg, editor. Handbook of Graph Grammars and Computing by Graph Transformation, volume I: Foundations. World Scientific, Singapore, 1997.
[23]
Marcelo Sihman and Shmuel Katz. Superimpositions and aspect-oriented programming. The Computer Journal, 46(5):529--541, September 2003.
[24]
Ruben Smelik, Arend Rensink, and Harmen Kastenberg. Specification and construction of control flow semantics. In IEEE Symposium on Visual Languages and Human-Centric Computing, 2006.
[25]
Niek Sombekke. Graph-based semantics of the .net intermediate language. In Master thesis. May 2003.
[26]
Maximilian Storzer and Florian Forster. Detecting precedence-related advice interference. In ASE, pages 317--322. IEEE Computer Society, 2006.

Cited By

View all
  • (2018)FPH: Efficient Non-commutativity Analysis of Feature-Based SystemsFundamental Approaches to Software Engineering10.1007/978-3-319-89363-1_18(319-336)Online publication date: 4-Apr-2018
  • (2015)Improving the modularity of web-application models with aspectsInternational Journal of Web Engineering and Technology10.1504/IJWET.2015.07233210:2(98-128)Online publication date: 1-Oct-2015
  • (2015)Restoring security of evolving software models using graph transformationInternational Journal on Software Tools for Technology Transfer (STTT)10.1007/s10009-014-0364-817:3(267-289)Online publication date: 1-Jun-2015
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
AOSD '09: Proceedings of the 8th ACM international conference on Aspect-oriented software development
March 2009
278 pages
ISBN:9781605584423
DOI:10.1145/1509239
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 02 March 2009

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. aspect interference
  2. graph transformations
  3. language semantics
  4. shared join point

Qualifiers

  • Research-article

Conference

AOSD '09

Acceptance Rates

Overall Acceptance Rate 41 of 139 submissions, 29%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)2
  • Downloads (Last 6 weeks)0
Reflects downloads up to 05 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2018)FPH: Efficient Non-commutativity Analysis of Feature-Based SystemsFundamental Approaches to Software Engineering10.1007/978-3-319-89363-1_18(319-336)Online publication date: 4-Apr-2018
  • (2015)Improving the modularity of web-application models with aspectsInternational Journal of Web Engineering and Technology10.1504/IJWET.2015.07233210:2(98-128)Online publication date: 1-Oct-2015
  • (2015)Restoring security of evolving software models using graph transformationInternational Journal on Software Tools for Technology Transfer (STTT)10.1007/s10009-014-0364-817:3(267-289)Online publication date: 1-Jun-2015
  • (2014)GReTLSoftware and Systems Modeling (SoSyM)10.1007/s10270-012-0250-313:1(301-321)Online publication date: 1-Feb-2014
  • (2013)Confluence of aspects for sequence diagramsSoftware and Systems Modeling (SoSyM)10.1007/s10270-011-0212-112:4(789-824)Online publication date: 1-Oct-2013
  • (2013)Implementing Feature Interactions with Generic Feature ModulesSoftware Composition10.1007/978-3-642-39614-4_6(81-96)Online publication date: 2013
  • (2013)Method Shells: Avoiding Conflicts on Destructive Class Extensions by Implicit Context SwitchesSoftware Composition10.1007/978-3-642-39614-4_4(49-64)Online publication date: 2013
  • (2012)Modelling and analysis using GROOVEInternational Journal on Software Tools for Technology Transfer (STTT)10.5555/3115955.311601414:1(15-40)Online publication date: 1-Feb-2012
  • (2012)Aspect of assemblyTransactions on Aspect-Oriented Software Development IX10.5555/2434958.2434961(53-91)Online publication date: 1-Jan-2012
  • (2012)Weaving semantic aspects in HiLAProceedings of the 11th annual international conference on Aspect-oriented Software Development10.1145/2162049.2162080(263-274)Online publication date: 25-Mar-2012
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media