Skip to main content

Prototyping and Composing Aspect Languages

Using an Aspect Interpreter Framework

  • Conference paper
ECOOP 2008 – Object-Oriented Programming (ECOOP 2008)

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

Included in the following conference series:

Abstract

Domain specific aspect languages (DSALs) are becoming more popular because they can be designed to represent recurring concerns in a way that is optimized for a specific domain. However, the design and implementation of even a limited domain-specific aspect language can be a tedious job. To address this, we propose a framework that offers a fast way to prototype implementations of domain specific aspect languages. A particular goal of the framework is to be general enough to support a wide range of aspect language concepts, such that existing language concepts can be easily used, and new language concepts can be quickly created.

We briefly introduce the framework and its underlying model, as well as the workflow used when implementing DSALs. Subsequently, we show mappings of several domain specific aspect languages to demonstrate the framework. Since in our approach the DSALs are mapped to a common model, the framework provides an integrating platform allowing us to compose programs that use aspects written in multiple DSALs. The framework also provides explicit mechanisms to specify composition of advices written in multiple DSALs.

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 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.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. Java Aspect Metamodel Interpreter (2007), http://jami.sf.net/

  2. Avgustinov, P., Christensen, A.S., Hendren, L.J., Kuzins, S., Lhoták, J., Lhoták, O., de Moor, O., Sereni, D., Sittampalam, G., Tibble, J.: abc: An extensible aspectj compiler. Transactions on Aspect-Oriented Software Development I 3880, 293–334 (2006)

    Article  Google Scholar 

  3. Bagge, A.H., Kalleberg, K.T.: DSAL = library+notation: Program transformation for domain-specific aspect languages. In: Proceedings of the Domain-Specific Aspect Languages Workshop (October 2006)

    Google Scholar 

  4. Bockisch, C., Mezini, M.: A flexible architecture for pointcut-advice language implementations. In: VMIL 2007: Proceedings of the 1st workshop on Virtual machines and intermediate languages for emerging modularization mechanisms, ACM Press, New York (2007)

    Google Scholar 

  5. Bräuer, M., Lochmann, H.: Towards semantic integration of multiple domain-specific languages using ontological foundations. In: Proceedings of 4th International Workshop on (Software) Language Engineering (ATEM 2007) co-located with MoDELS 2007 (October 2007) (to appear)

    Google Scholar 

  6. Brichau, J., Mens, K., De Volder, K.: Building composable aspect-specific languages with logic metaprogramming. In: Batory, D., Consel, C., Taha, W. (eds.) GPCE 2002. LNCS, vol. 2487, pp. 110–127. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  7. Brichau, J., Mezini, M., Noyé, J., Havinga, W., Bergmans, L., Gasiunas, V., Bockisch, C., Fabry, J., D’Hondt, T.: An Initial Metamodel for Aspect-Oriented Programming Languages. Technical Report AOSD-Europe Deliverable D39, Vrije Universiteit Brussel, 27 February 2006 (2006)

    Google Scholar 

  8. D’Hondt, M., D’Hondt, T.: Is domain knowledge an aspect? In: Lopes, C.V., Black, A., Kendall, L., Bergmans, L. (eds.) ECOOP 1999 (1999)

    Google Scholar 

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

    Google Scholar 

  10. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1994)

    Google Scholar 

  11. Havinga, W.K., Staijen, T., Rensink, A., Bergmans, L.M.J., van den Berg, K.G.: An abstract metamodel for aspect languages. Technical Report TR-CTIT-06-22, Enschede (May 2006)

    Google Scholar 

  12. Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J.-M., Irwin, J.: Aspect-oriented programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  13. Kojarski, S., Lorenz, D.H.: Awesome: an aspect co-weaving system for composing multiple aspect-oriented extensions. SIGPLAN Not. 42(10), 515–534 (2007)

    Article  Google Scholar 

  14. Kojarski, S., Lorenz, D.H.: Identifying feature interactions in multi-language aspect-oriented frameworks. In: Proceedings of the 29th International Conference on Software Engineering ICSE 2007, Minneapolis, MN, May 20-26 2007, pp. 147–157. IEEE Computer Society Press, Los Alamitos (2007)

    Google Scholar 

  15. Lieberherr, K. (ed.): Proc. 3rd Int’ Conf. on Aspect-Oriented Software Development AOSD 2004. ACM Press, New York (2004)

    Google Scholar 

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

    Google Scholar 

  17. Lorenz, D.H., Kojarski, S.: Understanding aspect interactions, co-advising and foreign advising. In: ECOOP 2007 Second International Workshop on Aspects, Dependencies and Interactions (2007)

    Google Scholar 

  18. Masuhara, H., Kiczales, G.: Modeling crosscutting in aspect-oriented mechanisms. In: Cardelli, L. (ed.) ECOOP 2003. LNCS, vol. 2743, pp. 2–28. Springer, Heidelberg (2003)

    Google Scholar 

  19. Nagy, I.: On the Design of Aspect-Oriented Composition Models for Software Evolution. PhD thesis, University of Twente (June 2006)

    Google Scholar 

  20. Nagy, I., Bergmans, L., Aksit, M.: Composing aspects at shared join points. In: Robert Hirschfeld, A.P., Kowalczyk, R., Weske, M. (eds.) Proceedings of International Conference NetObjectDays, NODe2005, Erfurt, Germany, September 2005. Lecture Notes in Informatics, vol. P-69, Gesellschaft für Informatik (GI) (2005)

    Google Scholar 

  21. Sakurai, K., Masuhara, H., Ubayashi, N., Matsuura, S., Komiya, S.: Association aspects. In: Lieberherr [15], pp. 16–25.

    Google Scholar 

  22. Shonle, M., Lieberherr, K., Shah, A.: XAspects: an extensible system for domain-specific aspect languages. In: OOPSLA 2003: Companion of the 18th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, pp. 28–37. ACM Press, New York (2003)

    Chapter  Google Scholar 

  23. Tanter, É.: Aspects of composition in the Reflex AOP kernel. In: Löwe, W., Südholt, M. (eds.) SC 2006. LNCS, vol. 4089, pp. 98–113. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

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

Download references

Author information

Authors and Affiliations

Authors

Editor information

Jan Vitek

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Havinga, W., Bergmans, L., Aksit, M. (2008). Prototyping and Composing Aspect Languages. In: Vitek, J. (eds) ECOOP 2008 – Object-Oriented Programming. ECOOP 2008. Lecture Notes in Computer Science, vol 5142. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-70592-5_9

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-70592-5_9

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-70591-8

  • Online ISBN: 978-3-540-70592-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics