Skip to main content

A Versatile Kernel for Multi-language AOP

  • Conference paper
Book cover Generative Programming and Component Engineering (GPCE 2005)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 3676))

Abstract

Being able to define and use different aspect languages, including domain-specific aspect languages, to cleanly modularize concerns of a software system represents a valuable perspective. However, combining existing tools leads to unpredictable results, and proposals for experimentation with and integration of aspect languages mostly fail to deal with composition satisfactorily and to provide convenient abstractions to implement new aspect languages. This paper exposes the architecture of a versatile AOP kernel and its Java implementation, Reflex. On top of basic facilities for behavioral and structural transformation, Reflex provides composition handling, including detection of interactions, and language support via a lightweight plugin architecture. We present these facilities and illustrate composition of aspects written in different aspect languages.

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. Åberg, R.A., Lawall, J.L., Südholt, M., Muller, G., Le Meur, A.-F.: On the automatic evolution of an OS kernel using temporal logic and AOP. In: Proc. of ASE 2003, Montréal, Canada, pp. 196–204. IEEE CS Press, Los Alamitos (2003)

    Google Scholar 

  2. Avgustinov, P., Christensen, A.S., Hendren, L., Kuzins, S., Lhoták, J., Lhoták, O., de Moor, O., Sereni, D., Sittampalam, G., Tibble, J.: abc: an extensible AspectJ compiler. Technical Report abc-2004-1, The abc Group (September 2004)

    Google Scholar 

  3. Batory, D., Consel, C., Taha, W. (eds.): GPCE 2002. LNCS, vol. 2487. Springer, Heidelberg (2002)

    Google Scholar 

  4. Brichau, J., Mens, K., De Volder, K.: Building composable aspect-specific languages with logic metaprogramming. In: Batory et al. [3], pp. 110–127

    Google Scholar 

  5. Caromel, D., Mateu, L., Tanter, É.: Sequential object monitors. In: Odersky, M. (ed.) ECOOP 2004. LNCS, vol. 3086, pp. 316–340. Springer, Heidelberg (2004)

    Google Scholar 

  6. Chiba, S., Kiczales, G., Lamping, J.: Avoiding confusion in metacircularity: The meta-helix. In: Futatsugi, K., Matsuoka, S. (eds.) ISOTAS 1996. LNCS, vol. 1049, pp. 157–172. Springer, Heidelberg (1996)

    Google Scholar 

  7. Chiba, S., Nakagawa, K.: Josh: An open AspectJ-like language. In: Lieberherr [17], pp. 102–111

    Google Scholar 

  8. Chiba, S., Nishizawa, M.: An easy-to-use toolkit for efficient Java bytecode translators. In: Pfenning, F., Smaragdakis, Y. (eds.) GPCE 2003. LNCS, vol. 2830, pp. 364–376. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  9. The Concern Manipulation Environment website (2002)

    Google Scholar 

  10. Czarnecki, K., Eisenecker, U.W.: Generative Programming: Methods, Tools and Applications. Addison-Wesley, Reading (2000)

    Google Scholar 

  11. Douence, R., Fradet, P., Südholt, M.: A framework for the detection and resolution of aspect interactions. In: Batory et al. [3], pp. 173–188

    Google Scholar 

  12. Douence, R., Fradet, P., Südholt, M.: Composition, reuse and interaction analysis of stateful aspects. In: Lieberherr [17], pp. 141–150

    Google Scholar 

  13. Filman, R.E., Elrad, T., Clarke, S., Akşit, M. (eds.): Aspect-Oriented Software Development. Addison-Wesley, Boston (2005)

    Google Scholar 

  14. Irwin, J., Loingtier, J.-M., Gilbert, J.R., Kiczales, G., Lamping, J., Mendhekar, A., Shpeisman, T.: Aspect-oriented programming of sparse matrix code. In: Ishikawa, Y., Reynders, J.V.W., Tholburn, M. (eds.) ISCOPE 1997. LNCS, vol. 1343, pp. 249–256. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  15. Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.: An overview of AspectJ. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 327–353. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  16. Klaeren, H., Pulvermüller, E., Rashid, A., Speck, A.: Aspect composition applying the design by contract principle. In: Butler, G., Jarzabek, S. (eds.) GCSE 2000. LNCS, vol. 2177, pp. 57–69. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  17. Lieberherr, K. (ed.): Proc. of AOSD 2004, Lancaster, UK. ACM, New York (2004)

    Google Scholar 

  18. Lopes, C.V.: D: A Language Framework for Distributed Programming. PhD thesis, College of Computer Science, Northeastern University (1997)

    Google Scholar 

  19. Masuhara, H., Kiczales, G., Dutchyn, C.: A compilation and optimization model for aspect-oriented programs. In: Hedin, G. (ed.) CC 2003. LNCS, vol. 2622, pp. 46–60. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  20. Mendhekar, A., Kiczales, G., Lamping, J.: RG: A case-study for aspect-oriented programming. Technical Report SPL97-009P9710044, Xerox PARC (February 1997)

    Google Scholar 

  21. Nishizawa, M., Chiba, S., Tatsubori, M.: Remote pointcut – a language construct for distributed AOP. In: Lieberherr [17]

    Google Scholar 

  22. Shonle, M., Lieberherr, K., Shah, A.: XAspects: An extensible system for domain-specific aspect languages. In: OOPSLA 2003 DDD Track (October 2003)

    Google Scholar 

  23. Tanter, É.: From Metaobject Protocols to Versatile Kernels for Aspect-Oriented Programming. PhD thesis, Univ. of Nantes and Univ. of Chile (November 2004)

    Google Scholar 

  24. Tanter, É., Noyé, J.: Motivation and requirements for a versatile AOP kernel. In: EIWAS 2004, Berlin, Germany (September 2004)

    Google Scholar 

  25. Tanter, É., Noyé, J., Caromel, D., Cointe, P.: Partial behavioral reflection: Spatial and temporal selection of reification. In: Crocker, R., Steele Jr., G.L. (eds.) Proc. of OOPSLA 2003, pp. 27–46. ACM, New York (2003)

    Chapter  Google Scholar 

  26. Wand, M.: Understanding aspects. In: Proc. of ICFP 2003. ACM, New York (2003)

    Google Scholar 

  27. Wand, M., Kiczales, G., Dutchyn, C.: A semantics for advice and dynamic join points in aspect-oriented programming. ACM Transactions on Programming Languages and Systems 26(5), 890–910 (2004)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Tanter, É., Noyé, J. (2005). A Versatile Kernel for Multi-language AOP. In: Glück, R., Lowry, M. (eds) Generative Programming and Component Engineering. GPCE 2005. Lecture Notes in Computer Science, vol 3676. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11561347_13

Download citation

  • DOI: https://doi.org/10.1007/11561347_13

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-29138-1

  • Online ISBN: 978-3-540-31977-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics