ABSTRACT
In domain-specific aspect languages we observe that aspects are translated to base code and subsequently require a complex integration into base code while guaranteeing the correctness of the aspect and the base code in the woven code. We call this phenomenon invasively composed aspects. Weavers for invasive aspect languages operate on the base language level and offer dedicated support for crosscutting code. Unfortunately, current implementations poorly modularize the implementation of invasive aspect languages. This hampers their (unanticipated) evolution and severely reduces the reusability of their constructs. We suggest an approach where the specification of the crosscutting behavior is expressed on a higher semantic level. To this end, we raise the abstraction level of base languages towards the specific domain of the aspect languages. As such, we enable a modular, declarative approach. We illustrate our approach with KALA, a domain-specific aspect language.
- Uwe Assmann. Invasive Software Composition. Springer-Verlag New York, Inc., Secaucus, NJ, USA, 2003. ISBN 3540443851. Google ScholarDigital Library
- Pavel Avgustinov, Aske Simon Christensen, Laurie Hendren, Sascha Kuzins, Jennifer Lhoták, Ondřej Lhoták, Oege de Moor, Damien Sereni, Ganesh Sittampalam, and Julian Tibble. abc: an extensible aspectj compiler. In AOSD '05: Proceedings of the 4th international conference on Aspect-oriented software development, pages 87--98, New York, NY, USA, 2005. ACM. ISBN 1-59593-042-6. doi: http://doi.acm.org/10.1145/1052898.1052906. Google ScholarDigital Library
- Lodewijk Bergmans and Mehmet Aksits. Composing crosscutting concerns using composition filters. Commun. ACM, 44(10):51--57, 2001. ISSN 0001-0782. doi: http://doi.acm.org/10.1145/383845.383857. Google ScholarDigital Library
- Jonas Boner. AspectWerkz AOP BOF, AOP in J2EE, technical session, javaone., 2004.Google Scholar
- Jan Bosch and Yvonne Dittrich. Domain-Specific Languages for a Changing World. URL citeseer.ist.psu.edu/82695.html.Google Scholar
- Johan Brichau. Integrative Composition of Program Generators. PhD thesis, Vrije Universiteit Brussel, 2005.Google Scholar
- Shigeru Chiba and Kiyoshi Nakagawa. Josh: an open aspectj-like language. In Gail C. Murphy and Karl J. Lieberherr, editors, AOSD, pages 102-- 111. ACM, 2004. ISBN 1-58113-842-3. Google ScholarDigital Library
- Maria Cibran. Connecting High-Level Business Rules with Object-oriented applications: an approach using Aspect-Oriented Programming and Model-Drive Engineering. PhD thesis, Vrije Universiteit Brussel, 2007.Google Scholar
- Thomas Cleenewerck. Modularizing Language Constructs: A Reflective Approach. PhD thesis, Vrije Universiteit Brussel, 2007a.Google Scholar
- Thomas Cleenewerck. Disentangling the Implementation of Local-to-Global Transformations in a Rewrite Rule Transformation System. In Proceedings of the Symposium on Applied Computing Conference, 2005. Google ScholarDigital Library
- Thomas Cleenewerck. Implementing languages with plans for growth, the 6th belgian-netherlands software evolution workshop, university of namur, belgium, 2007, 2007b.Google Scholar
- Adrian Colyer. Aspectj. In Robert E. Filman, Tzilla Elrad, Siobhán Clarke, and Mehmet Akşit, editors, Aspect-Oriented Software Development, pages 123--143. Addison-Wesley, Boston, 2005. ISBN 0-321-21976-7.Google Scholar
- Johan Fabry, Éric Tanter, and Theo D'Hondt. Relax: implementing kala over the reflex aop kernel. In DSAL '07: Proceedings of the 2nd workshop on Domain specific aspect languages, page 3, New York, NY, USA, 2007. ACM. ISBN 978-1-59593-659-8. doi: http://doi.acm.org/10.1145/1255400.1255403. Google ScholarDigital Library
- Kris Gybels and Johan Brichau. Arranging language features for more robust pattern-based crosscuts. In AOSD '03: Proceedings of the 2nd international conference on Aspect-oriented software development, pages 60--69, New York, NY, USA, 2003. ACM Press. ISBN 1-58113-660-9. doi: http://doi.acm.org/10.1145/643603.643610. Google ScholarDigital Library
- Görel Hedin and Eva Magnusson. JastAdd: An Aspect-oriented Compiler Construction System. Sci. Comput. Program., 47(1):37--58, 2003. ISSN 0167-6423. doi: http://dx.doi.org/10.1016/S0167-6423(02)00109-0. Google ScholarDigital Library
- Eric Tanter Johan Fabry and Theo D'Hondt. Kala: Kernel aspect language for advanced transactions. In Science of Computer Programming. Science Direct by Elsevier, 2008. Google ScholarDigital Library
- Samuel N. Kamin and David Hyatt. A special-purpose language for picture-drawing. In DSL'97: Proceedings of the Conference on Domain-Specific Languages on Conference on Domain-Specific Languages (DSL), 1997, pages 23--23, Berkeley, CA, USA, 1997. USENIX Association. Google ScholarDigital Library
- Cameron Laird. XSLT Powers a New Wave of Web Applications. http://www.linuxjournal.com/article/5622, 2002. Google ScholarDigital Library
- Imar Juergens and Markus Pizka. The Language Evolver Lever -- Tool Demonstration. In Electronic Notes in Theoretical Computer ScienceVolume 164, Issue 2, Proceedings of the Sixth Workshop on Language Descriptions, Tools, and Applications (LDTA 2006), pages 55--60, October 2006.Google Scholar
- Éric Tanter. Aspects of composition in the Reflex AOP kernel. In Proceedings of the 5th International Symposium on Software Composition (SC 2006), volume 4089 of Lecture Notes in Computer Science, pages 98--113, Vienna, Austria, March 2006. Springer-Verlag. Google ScholarDigital Library
- T. Tourwé, J. Brichau, A. Kellens, and K. Gybels. Induced intentional software views. Elsevier Journal on Computer Languages, Systems & Structures, 30(1--2):35--47, 2004. Google ScholarDigital Library
- Arie van Deursen, Jan Heering, and Paul Klint, editors. Language Prototyping: An Algebraic Specification Approach, volume 5 of AMAST Series in Computing. World Scientific Publishing Co., 1996. Google ScholarDigital Library
- Eelco Visser. Stratego: A Language for Program Transformation Based on Rewriting Strategies. Lecture Notes in Computer Science, 2051:357--361, 2001. Google ScholarDigital Library
- Markus Voelter and Iris Groher. Handling variability in model transformations and generators. In DSM '07: Proceedings of the 7th OOPSLA Workshop on Domain-Specific Modeling, Montreal, Canada, 2007. Google ScholarDigital Library
Index Terms
- Modularizing invasive aspect languages
Recommendations
Untangling crosscutting concerns in domain-specific languages with domain-specific join points
DSAL '09: Proceedings of the 4th workshop on Domain-specific aspect languagesLike programs written in general-purpose languages, programs written in DSLs may also suffer from tangling and scattering in the presence of domain-specific crosscutting concerns. This paper presents an architecture that supports aspect-oriented ...
Cooperative aspect-oriented programming
Aspect-oriented programming (AOP) seeks to improve software modularity via the separation of cross-cutting concerns. AOP proponents often advocate a development strategy where programmers write the main application (base code), ignoring cross-cutting ...
XAspects: an extensible system for domain-specific aspect languages
OOPSLA '03: Companion of the 18th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applicationsCurrent general aspect-oriented programming solutions fall short of helping the problem of separation of concerns for several concern domains. Because of this limitation good solutions for these concern domains do not get used and the opportunity to ...
Comments