skip to main content
10.1145/1404927.1404931acmotherconferencesArticle/Chapter ViewAbstractPublication PagesmodularityConference Proceedingsconference-collections
research-article

Modularizing invasive aspect languages

Published:01 April 2008Publication History

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.

References

  1. Uwe Assmann. Invasive Software Composition. Springer-Verlag New York, Inc., Secaucus, NJ, USA, 2003. ISBN 3540443851. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  3. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  4. Jonas Boner. AspectWerkz AOP BOF, AOP in J2EE, technical session, javaone., 2004.Google ScholarGoogle Scholar
  5. Jan Bosch and Yvonne Dittrich. Domain-Specific Languages for a Changing World. URL citeseer.ist.psu.edu/82695.html.Google ScholarGoogle Scholar
  6. Johan Brichau. Integrative Composition of Program Generators. PhD thesis, Vrije Universiteit Brussel, 2005.Google ScholarGoogle Scholar
  7. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  8. 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 ScholarGoogle Scholar
  9. Thomas Cleenewerck. Modularizing Language Constructs: A Reflective Approach. PhD thesis, Vrije Universiteit Brussel, 2007a.Google ScholarGoogle Scholar
  10. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  11. Thomas Cleenewerck. Implementing languages with plans for growth, the 6th belgian-netherlands software evolution workshop, university of namur, belgium, 2007, 2007b.Google ScholarGoogle Scholar
  12. 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 ScholarGoogle Scholar
  13. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  14. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  15. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  16. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  17. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  18. Cameron Laird. XSLT Powers a New Wave of Web Applications. http://www.linuxjournal.com/article/5622, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. 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 ScholarGoogle Scholar
  20. É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 ScholarGoogle ScholarDigital LibraryDigital Library
  21. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  22. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  23. Eelco Visser. Stratego: A Language for Program Transformation Based on Rewriting Strategies. Lecture Notes in Computer Science, 2051:357--361, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. 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 ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Modularizing invasive aspect languages

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Other conferences
      DSAL '08: Proceedings of the 2008 AOSD workshop on Domain-specific aspect languages
      April 2008
      37 pages
      ISBN:9781605581460
      DOI:10.1145/1404927

      Copyright © 2008 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 1 April 2008

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article
    • Article Metrics

      • Downloads (Last 12 months)0
      • Downloads (Last 6 weeks)0

      Other Metrics

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader