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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Java Aspect Metamodel Interpreter (2007), http://jami.sf.net/
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)
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)
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)
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)
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)
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)
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)
Douence, R., Fradet, P., Südholt, M.: Composition, reuse and interaction analysis of stateful aspects. In: Lieberherr [15], pp. 141–150
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1994)
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)
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)
Kojarski, S., Lorenz, D.H.: Awesome: an aspect co-weaving system for composing multiple aspect-oriented extensions. SIGPLAN Not. 42(10), 515–534 (2007)
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)
Lieberherr, K. (ed.): Proc. 3rd Int’ Conf. on Aspect-Oriented Software Development AOSD 2004. ACM Press, New York (2004)
Lopes, C.V.: D: A Language Framework for Distributed Programming. PhD thesis, College of Computer Science, Northeastern University (1997)
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)
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)
Nagy, I.: On the Design of Aspect-Oriented Composition Models for Software Evolution. PhD thesis, University of Twente (June 2006)
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)
Sakurai, K., Masuhara, H., Ubayashi, N., Matsuura, S., Komiya, S.: Association aspects. In: Lieberherr [15], pp. 16–25.
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)
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)
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)
Author information
Authors and Affiliations
Editor information
Rights 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)