Skip to main content

Abstraction of Operations of Aspect-Oriented Languages

  • Conference paper
Theory and Practice of Computation

Part of the book series: Proceedings in Information and Communications Technology ((PICT,volume 5))

  • 388 Accesses

Abstract

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.

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. 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/

  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)

    Chapter  Google Scholar 

  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

  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

    Chapter  Google Scholar 

  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. Igarashi, A., Pierce, B., Wadler, P.: Featherweight Java: A minimal core calculus for Java and GJ. TOPLAS 23(3), 396–459 (2001)

    Article  Google Scholar 

  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)

    Chapter  Google Scholar 

  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)

    Chapter  Google Scholar 

  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

  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

    Article  Google Scholar 

  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 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer Tokyo

About this paper

Cite this paper

Moriguchi, S., Watanabe, T. (2012). Abstraction of Operations of Aspect-Oriented Languages. In: Nishizaki, Sy., Numao, M., Caro, J., Suarez, M.T. (eds) Theory and Practice of Computation. Proceedings in Information and Communications Technology, vol 5. Springer, Tokyo. https://doi.org/10.1007/978-4-431-54106-6_15

Download citation

  • DOI: https://doi.org/10.1007/978-4-431-54106-6_15

  • Publisher Name: Springer, Tokyo

  • Print ISBN: 978-4-431-54105-9

  • Online ISBN: 978-4-431-54106-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics