Abstraction of Operations of Aspect-Oriented Languages

  • Sosuke Moriguchi
  • Takuo Watanabe
Conference paper
Part of the Proceedings in Information and Communications Technology book series (PICT, volume 5)


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.


Reduction Rule Disjunctive Normal Form Base Language Functional Language Translation Function 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Abadi, M., Cardelli, L.: A Theory of Objects (Monographs in Computer Science). corrected edn. Springer (April 1998)Google Scholar
  2. 2.
    AspectJ home page, http://eclipse.org/aspectj/
  3. 3.
    Bruns, G., Jagadeesan, R., Jeffrey, A., Riely, J.: μABC: A Minimal Aspect Calculus. In: Gardner, P., Yoshida, N. (eds.) CONCUR 2004. LNCS, vol. 3170, pp. 209–224. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  4. 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. 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
  6. 6.
    De Fraine, B., Ernst, E., Südholt, M.: Essential AOP: The A Calculus. In: D’Hondt, T. (ed.) ECOOP 2010. LNCS, vol. 6183, pp. 101–125. Springer, Heidelberg (2010), http://dx.doi.org/10.1007/978-3-642-14107-2 CrossRefGoogle Scholar
  7. 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
  8. 8.
    Igarashi, A., Pierce, B., Wadler, P.: Featherweight Java: A minimal core calculus for Java and GJ. TOPLAS 23(3), 396–459 (2001)CrossRefGoogle Scholar
  9. 9.
    Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: An Overview of AspectJ. In: Lee, S.H. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 327–353. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  10. 10.
    Kiczales, G., Lamping, J., Menhdhekar, A., Maeda, C., Lopes, C., Loingtier, J.M., Irwin, J.: Aspect-Oriented Programming. In: Aksit, M., Auletta, V. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  11. 11.
    Lieberherr, K.J.: Adaptive Object-Oriented Software: the Demeter Method with Propagation Patterns. PWS Publishing Company, Boston (1996)Google Scholar
  12. 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. 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. 14.
    Sereni, D., de Moor, O.: Static analysis of aspects. In: AOSD, pp. 30–39 (2003), http://doi.acm.org/10.1145/643603.643607
  15. 15.
    Spinczyk, O., Lohmann, D.: The design and implementation of aspectC++. Knowl.-Based Syst. 20(7), 636–651 (2007), http://dx.doi.org/10.1016/j.knosys.2007.05.004 CrossRefGoogle Scholar
  16. 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

Copyright information

© Springer Tokyo 2012

Authors and Affiliations

  • Sosuke Moriguchi
    • 1
  • Takuo Watanabe
    • 1
  1. 1.Tokyo Institute of TechnologyMegurokuJapan

Personalised recommendations