Abstraction of Operations of Aspect-Oriented Languages
- 325 Downloads
Although aspect-orientation has gained popularity in recent software development, formal and general definitions of aspects and related concepts are still under development. The important concepts such as aspect, join-point, pointcut, advice, etc. are usually defined on top of specific programming languages or formal systems. Our goal is to formalize these commonly used ‘aspectual’ operations by defining a simple calculus that models the operations independently from other computational activities such as function application or message passing. A specific aspect-oriented language can be formalized by mixing our calculus with the model of the base language. In this paper, we give the definition of our calculus and discuss that how aspectual operations are formalized using it by comparing other formalizations.
KeywordsReduction Rule Disjunctive Normal Form Base Language Functional Language Translation Function
Unable to display preview. Download preview PDF.
- 1.Abadi, M., Cardelli, L.: A Theory of Objects (Monographs in Computer Science). corrected edn. Springer (April 1998)Google Scholar
- 2.AspectJ home page, http://eclipse.org/aspectj/
- 4.Clifton, C., Leavens, G.T., Wand, M.: Parameterized aspect calculus: A core calculus for the direct study of aspect-oriented languages. Tech. Rep. 03-13, Iowa State University, Department of Computer Science (October 2003) submitted for publication, ftp://ftp.cs.iastate.edu/pub/techreports/TR03-13/TR.pdf,
- 5.Dantas, D.S., Walker, D., Washburn, G., Weirich, S.: AspectML: A polymorphic aspect-oriented functional programming language. ACM Trans. Program. Lang. Syst. 30(3) (2008), http://doi.acm.org/10.1145/1353445.1353448
- 7.Fraine, B.D., Südholt, M., Jonckers, V.: StrongaspectJ: flexible and safe pointcut/advice bindings. In: D’Hondt, T. (ed.) AOSD, pp. 60–71. ACM (2008), http://doi.acm.org/10.1145/1353482.1353491
- 11.Lieberherr, K.J.: Adaptive Object-Oriented Software: the Demeter Method with Propagation Patterns. PWS Publishing Company, Boston (1996)Google Scholar
- 12.Marshall, J., Orleans, D., Lieberherr, K.J.: DJ: Dynamic structure-shy traversal in pure Java. Tech. rep., Northeastern University (May 1999), http://www.ccs.neu.edu/research/demeter/DJ/
- 13.Masuhara, H., Tatsuzawa, H., Yonezawa, A.: Aspectual Caml: an aspect-oriented functional language. In: ACM SIGPLAN International Conference on Functional Programming, pp. 320–330 (2005)Google Scholar
- 14.Sereni, D., de Moor, O.: Static analysis of aspects. In: AOSD, pp. 30–39 (2003), http://doi.acm.org/10.1145/643603.643607
- 16.Tarr, P., Ossher, H., Harrison, W., Sutton Jr., S.M.: N degrees of separation: Multi-dimensional separation of concerns. In: Proceedings of ICSE 1999, Los Angeles, CA, USA, pp. 107–119 (1999)Google Scholar