Skip to main content

Aspects of Composition in the Reflex AOP Kernel

  • Conference paper
Software Composition (SC 2006)

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

Included in the following conference series:

Abstract

Aspect composition is a challenging and multi-faceted issue, generally under-supported by current AOP languages and frameworks. This paper presents the composition support provided in Reflex, a versatile kernel for multi-language AOP in Java. The core of Reflex is based on a model of partial reflection whose central abstractions are links: bindings between a (point)cut and an action. Reflex supports the definition of aspect languages through the mapping of aspects to links. We overview the wide range of features for link composition in Reflex—which includes extensible operators for ordering and nesting of links, and control over the visibility of changes made by structural aspects—, illustrating how they can be used to implement various scenarios of aspect composition.

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. Akşit, M.: Proceedings of the 2nd International Conference on Aspect-Oriented Software Development (AOSD 2003). ACM Press, Boston (2003)

    Google Scholar 

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

    Google Scholar 

  3. Bracha, G., Ungar, D.: Mirrors: Design principles for meta-level facilities of object-oriented programming languages. In: OOPSLA 2004 [24], pp. 331–344 (2004); ACM SIGPLAN Notices 39(11)

    Google Scholar 

  4. Bravenboer, M., Visser, E.: Concrete syntax for objects. In: OOPSLA 2004 [24] (2004); ACM SIGPLAN Notices 39(11)

    Google Scholar 

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

    Google Scholar 

  6. Bussard, L., Carver, L., Ernst, E., Jung, M., Robillard, M., Speck, A.: Safe aspect composition. In: Malenfant, J., Moisan, S., Moreira, A.M.D. (eds.) ECOOP 2000 Workshops. LNCS, vol. 1964, pp. 205–210. Springer, Heidelberg (2000)

    Google Scholar 

  7. Chiba, S.: Load-time structural reflection in Java. In: Bertino, E. (ed.) ECOOP 2000. LNCS, vol. 1850, pp. 313–336. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

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

  9. De Volder, K., D’Hondt, T.: Aspect-oriented logic meta-programming. In: Cointe, P. (ed.) Reflection 1999. LNCS, vol. 1616, pp. 250–272. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

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

    Google Scholar 

  11. Douence, R., Fradet, P., Südholt, M.: Composition, reuse and interaction analysis of stateful aspects. In: Lieberherr (ed.) [22], pp. 141–150

    Google Scholar 

  12. Douence, R., Fradet, P., Südholt, M.: Trace-based aspects. In: Filman, R.E., Elrad, T., Clarke, S., Akşit, M. (eds.) Aspect-Oriented Software Development, pp. 201–217. Addison-Wesley, Boston (2005)

    Google Scholar 

  13. Douence, R., Motelet, O., Südholt, M.: A formal definition of crosscuts. In: Yonezawa, A., Matsuoka, S. (eds.) Reflection 2001. LNCS, vol. 2192, pp. 170–186. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  14. Douence, R., Südholt, M.: A model and a tool for event-based aspect-oriented programming (EAOP). Technical Report 02/11/INFO, École des mines de Nantes, 2nd edition, French version published in the Proceedings of ”Langages et Modèles à Objets” (LMO 2003) (December 2002)

    Google Scholar 

  15. Durr, P., Staijen, T., Bergmans, L., Aksit, M.: Reasoning about semantic conflicts between aspects. In: 2nd European Interactive Workshop on Aspects in Software (EIWAS 2005), Brussels, Belgium (September 2005)

    Google Scholar 

  16. The EAOP tool homepage (2001), http://www.emn.fr/x-info/eaop/tool.html

  17. Elrad, T., Filman, R.E., Bader, A.: Aspect-oriented programming. Communications of the ACM 44(10) (October 2001)

    Google Scholar 

  18. Gybels, K., Brichau, J.: Arranging language features for more robust pattern-based crosscuts. In: Akşit (ed.) [1], pp. 60–69

    Google Scholar 

  19. Hilsdale, E., Hugunin, J.: Advice weaving in AspectJ. In: Lieberherr (ed.) [22], pp. 26–35

    Google Scholar 

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

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

  22. Lieberherr, K. (ed.): Proceedings of the 3rd International Conference on Aspect-Oriented Software Development (AOSD 2004), Lancaster. ACM Press, New York (2004)

    Google Scholar 

  23. Nagy, I., Bergmans, L., Aksit, M.: Declarative aspect composition. In: 2nd Software-Engineering Properties of Languages and Aspect Technologies Workshop (March 2004)

    Google Scholar 

  24. Proceedings of the 19th ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA 2004), Vancouver, British Columbia, Canada. ACM SIGPLAN Notices, vol. 39(11). ACM Press, New York (October 2004)

    Google Scholar 

  25. Rodríguez, L., Tanter, É., Noyé, J.: Supporting dynamic crosscutting with partial behavioral reflection: a case study. In: Proceedings of the XXIV International Conference of the Chilean Computer Science Society (SCCC 2004), Arica, Chile. IEEE Computer Society Press, Los Alamitos (2004)

    Google Scholar 

  26. Suvee, D., Vanderperren, W., Jonckers, V.: JAsCo: an aspect-oriented approach tailored for component based software development. In: Akşit (ed.) [1], pp. 21–29

    Google Scholar 

  27. Tanter, É.: Metalevel facilities for multi-language AOP. In: 2nd European Interactive Workshop on Aspects in Software (EIWAS 2005), Brussels, Belgium (September 2005)

    Google Scholar 

  28. Tanter, É., Noyé, J.: Motivation and requirements for a versatile AOP kernel. In: 1st European Interactive Workshop on Aspects in Software (EIWAS 2004), Berlin, Germany (September 2004)

    Google Scholar 

  29. Tanter, É., Noyé, J.: A versatile kernel for multi-language AOP. In: Glück, R., Lowry, M. (eds.) GPCE 2005. LNCS, vol. 3676, pp. 173–188. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  30. Tanter, É., Noyé, J., Caromel, D., Cointe, P.: Partial behavioral reflection: Spatial and temporal selection of reification. In: Crocker, R., Steele Jr., G.L. (eds.) Proceedings of the 18th ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA 2003). ACM SIGPLAN Notices, vol. 38(11), pp. 27–46. ACM Press, New York (2003)

    Chapter  Google Scholar 

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

  32. Wuyts, R.: Declarative reasoning about the structure of object-oriented systems. In: Proceedings of TOOLS-USA 1998, p. 112 (1998)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Tanter, É. (2006). Aspects of Composition in the Reflex AOP Kernel. In: Löwe, W., Südholt, M. (eds) Software Composition. SC 2006. Lecture Notes in Computer Science, vol 4089. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11821946_7

Download citation

  • DOI: https://doi.org/10.1007/11821946_7

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-37657-6

  • Online ISBN: 978-3-540-37659-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics