Skip to main content

Expressing Component-Relating Aspects with Graph Transformations

  • Conference paper
Applications of Graph Transformations with Industrial Relevance (AGTIVE 2003)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 3062))

  • 578 Accesses

Abstract

Aspect Oriented Programming (see [3]) is an attempt to deal with so-called cross-cutting concerns and the tangled code that often results from them. The aim of this paper is to explore the possibility of developing a lightweight rule-based representation of aspects, enabling one to discuss and reason about aspects at a high level of abstraction. It is shown, for a concrete example, that aspects can be represented by graph transformation systems, and that the extension of a base program by an aspect can be viewed as a composition of graph transformation systems. We focus on aspects that do not modify the base program’s behavior, but that can only allow or disallow its execution. We elaborate on an aspect concerning synchronization, after which we discuss ways to generalize our approach to other aspects, and to situations where several aspects are combined.

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 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
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. Andrews, J.: Process-algebraic foundations of aspectoriented programming (2001)

    Google Scholar 

  2. Corradini, A., Montanari, U., Rossi, F., Ehrig, H., Heckel, R.: Algebraic approaches to graph transformation, Part 1. In: Handbook of Graph Grammars and Computing by Graph Transformation, vol. 1, pp. 163–245. World Scientific, Singapore (1997)

    Chapter  Google Scholar 

  3. Kiczales, G., et al.: Aspect Oriented Programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  4. AspectJ website, http://www.eclipse.org/aspectj

  5. Ada 95 Quality and Style Guide, Chapter 6: Concurrency, 6.1.1: Protected Objects

    Google Scholar 

  6. Handbook of Graph Grammars and Computing by Graph Transformation, vol. 1-3, World Scientific

    Google Scholar 

  7. Kreowski, H.-J., Kuske, S.: Graph transformation units with interleaving semantics. Formal Aspects of Computing 11(6), 690–723 (1999)

    Article  MATH  Google Scholar 

  8. Taentzer, G., Koch, M., Fischer, I., Volle, V.: Distributed graph transformation with application to visual design of distributed systems. In: Handbook of Graph Grammars and Computing by Graph Transformation, vol. 3, pp. 269–340. World Scientific, Singapore (1999)

    Google Scholar 

  9. Aßmann, U., Ludwig, A.: Aspect Weaving by Graph Rewriting. In: Generative and Component-Based Software Engineering (GCSE 2000), pp. 24–36 (2000)

    Google Scholar 

  10. Colcombet, T., Fradet, P.: Enforcing Trace Properties by Program Transformations. In: 27th Symposium on Principles of Programming Languages (POPL 2000), pp. 54-66 (2000)

    Google Scholar 

  11. Engels, G., Heckel, R., Küster, J.M.: Rule-Based Specification of Behavioral Consistency based on the UML Meta-Model. In: Gogolla, M., Kobryn, C. (eds.) UML 2001. LNCS, vol. 2185, pp. 272–287. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  12. Kandé, M.M., Kienzle, J., Strohmeier, A.: From AOP to UML: Towards an Aspect-Oriented Architectural Modeling Approach, Technical Report IC 200258

    Google Scholar 

  13. Low, T.: Designing, Modelling and Implementing a Toolkit for Aspect-oriented Tracing (TAST). In: Workshop on Aspect-Oriented Modeling with UML at the First International Conference on Aspect-Oriented Software Development (AOSD (2002)

    Google Scholar 

  14. Wohlstadter, E., Keen, A., Jackson, S., Devanbu, P.: Accomodating Evolution in AspectJ. In: Workshop on Advanced Separation of Concerns, at the ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages and Applications, OOPSLA 2001 (2001)

    Google Scholar 

  15. Koch, M., Parisi-Presicce, F.: Describing Policies with Graph Constraints and Rules. In: Corradini, A., Ehrig, H., Kreowski, H.-J., Rozenberg, G. (eds.) ICGT 2002. LNCS, vol. 2505, pp. 223–238. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  16. Hachani, O., Bardou, D.: Using Aspect-Oriented Programming for Design Patterns Implementation. In: Workshop on Reuse in Object-Oriented Information Systems Design, OOIS 2002 (2002)

    Google Scholar 

  17. Van Eetvelde, N., Janssens, D.: A Hierachical Program Representation for Refactoring. In: Uniform Approaches to Graphical Process Specification Techniques (UniGra) workshop at the European Joint Conferences on Theory and Practice of Software, ETAPS 2003 (2003)

    Google Scholar 

  18. Störzer, M., Krinke, J.: Interference Analysis for AspectJ. In: Foundation of Aspect-Oriented Languages (FOAL) Workshop at the Second International Conference on Aspect-Oriented Software Development (AOSD 2003), pp. 35–44 (2003)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Amsel, A., Janssens, D. (2004). Expressing Component-Relating Aspects with Graph Transformations. In: Pfaltz, J.L., Nagl, M., Böhlen, B. (eds) Applications of Graph Transformations with Industrial Relevance. AGTIVE 2003. Lecture Notes in Computer Science, vol 3062. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-25959-6_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-25959-6_11

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-22120-3

  • Online ISBN: 978-3-540-25959-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics