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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Andrews, J.: Process-algebraic foundations of aspectoriented programming (2001)
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)
Kiczales, G., et al.: Aspect Oriented Programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)
AspectJ website, http://www.eclipse.org/aspectj
Ada 95 Quality and Style Guide, Chapter 6: Concurrency, 6.1.1: Protected Objects
Handbook of Graph Grammars and Computing by Graph Transformation, vol. 1-3, World Scientific
Kreowski, H.-J., Kuske, S.: Graph transformation units with interleaving semantics. Formal Aspects of Computing 11(6), 690–723 (1999)
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)
Aßmann, U., Ludwig, A.: Aspect Weaving by Graph Rewriting. In: Generative and Component-Based Software Engineering (GCSE 2000), pp. 24–36 (2000)
Colcombet, T., Fradet, P.: Enforcing Trace Properties by Program Transformations. In: 27th Symposium on Principles of Programming Languages (POPL 2000), pp. 54-66 (2000)
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)
Kandé, M.M., Kienzle, J., Strohmeier, A.: From AOP to UML: Towards an Aspect-Oriented Architectural Modeling Approach, Technical Report IC 200258
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)
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)
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)
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)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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