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

Composing aspects with aspects

Published:15 March 2010Publication History

ABSTRACT

Aspect-oriented programming languages modularize crosscutting concerns by separating the concerns from a base program in aspects. What they do not modularize well is the code needed to manage interactions between the aspects themselves. Therefore aspects cannot always be composed with other aspects without requiring invasive modifications. This paper proposes a join point model that makes it possible to express aspect composition itself as an aspect, liberating the composed aspects from composition-specific code. We have implemented this new join point model in our Oarta language, an extension of AspectJ, and we show how to use it to write aspects that manage aspect interactions.

References

  1. M. Aksit, A. Rensink, and T. Staijen. A graph-transformation-based simulation approach for analysing aspect interference on shared join points. In AOSD '09: Proceedings of the 8th ACM international conference on Aspect-oriented software development, pages 39--50. ACM, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. A. Assaf and J. Noyé. Dynamic AspectJ. In DLS '08: Proceedings of the 2008 symposium on Dynamic languages, pages 1--12. ACM, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. P. Avgustinov, E. Bodden, E. Hajiyev, L. Hendren, O. Lhoták, O. de Moor, N. Ongkingco, D. Sereni, G. Sittampalam, J. Tibble, and M. Verbaere. Aspects for trace monitoring. In Formal Approaches to Testing Systems and Runtime Verification (FATES/RV). Springer, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. P. Avgustinov, A. S. Christensen, L. Hendren, S. Kuzins, J. Lhoták, O. Lhoták, O. de Moor, D. Sereni, G. Sittampalam, and J. Tibble. abc: An extensible AspectJ compiler. In Transactions on Aspect-Oriented Software Development, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. L. Bergmans. Towards detection of semantic conflicts between crosscutting concerns. In AAOS Workshop at ECOOP 2003, 2003.Google ScholarGoogle Scholar
  6. J. Brichau, M. Mezini, J. Noyé, W. Havinga, L. Bergmans, V. Gasiunas, C. Bockisch, T. D'Hondt, and J. Fabry. An initial metamodel for aspect-oriented programming languages. Deliverable D39, AOSD-Europe, Feb. 2006.Google ScholarGoogle Scholar
  7. T. Dinkelaker, M. Mezini, and C. Bockisch. The art of the meta-aspect protocol. In AOSD '09: Proceedings of the 8th ACM international conference on Aspect-oriented software development, pages 51--62. ACM, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. R. Douence, P. Fradet, and M. Südholt. A framework for the detection and resolution of aspect interactions. In GPCE, pages 173--188, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. R. Douence, P. Fradet, and M. Südholt. Composition, reuse and interaction analysis of stateful aspects. In AOSD '04: Proceedings of the 3rd international conference on Aspect-oriented software development, pages 141--150. ACM, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. P. E. A. Durr, L. M. J. Bergmans, and M. Aksit. Reasoning about behavioral conflicts between aspects. Technical Report TR-CTIT-07-15, Enschede, Feb 2007.Google ScholarGoogle Scholar
  11. P. E. A. Durr, T. Staijen, L. M. J. Bergmans, and M. Aksit. Reasoning about semantic conflicts between aspects. In EIWAS 2005: 2nd European Interactive Workshop on Aspects in Software, 2005.Google ScholarGoogle Scholar
  12. E. Ernst and D. H. Lorenz. Aspects and polymorphism in AspectJ. In AOSD '03: Proceedings of the 2nd international conference on Aspect-oriented software development, pages 150--157. ACM, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. B. D. Fraine, P. D. Quiroga, and V. Jonckers. Management of aspect interactions using statically-verified control-flow relations. In Proceedings of the 3rd International Workshop on Aspects, Dependencies and Interactions, 2008.Google ScholarGoogle Scholar
  14. S. Hanenberg and P. Costanza. Connecting aspects in AspectJ: strategies vs. patterns. In First AOSD Workshop on Aspects, Components, and Patterns for Infrastructure Software, 2002.Google ScholarGoogle Scholar
  15. B. Harbulot and J. R. Gurd. A join point for loops in AspectJ. In AOSD '06: Proceedings of the 5th international conference on Aspect-oriented software development, pages 63--74. ACM, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. W. Havinga, I. Nagy, L. Bergmans, and M. Aksit. Detecting and resolving ambiguities caused by inter-dependent introductions. In AOSD '06: Proceedings of the 5th international conference on Aspect-oriented software development, pages 214--225. ACM, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. W. Havinga, I. Nagy, L. Bergmans, and M. Aksit. A graph-based approach to modeling and detecting composition conflicts related to introductions. In AOSD '07: Proceedings of the 6th international conference on Aspect-oriented software development, pages 85--95. ACM, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. E. Katz and S. Katz. Incremental analysis of interference among aspects. In FOAL '08: Proceedings of the 7th workshop on Foundations of aspect-oriented languages, pages 29--38. ACM, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. E. Katz and S. Katz. Modular verification of strongly invasive aspects. In Languages: From Formal to Natural: Essays Dedicated to Nissim Francez on the Occasion of His 65th Birthday, pages 128--147. Springer-Verlag, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. B. Kessler and E. Tanter. Analyzing interactions of structural aspects. In Workshop on Aspects, Dependencies and Interactions, 2006.Google ScholarGoogle Scholar
  21. J. Kienzle, E. Duala-Ekoko, and S. Gélineau. Aspectoptima: A case study on aspect dependencies and interactions. In Transactions on Aspect-Oriented Software Development V, pages 187--234. Springer-Verlag, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. G. Kniesel. Detection and resolution of weaving interactions. Transactions on Aspect-Oriented Software Development, special issue on Aspect Dependencies and Interactions, pages 1--53, Apr 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. A. Marot and R. Wuyts. Composability of aspects. In SPLAT '08: Proceedings of the 2008 AOSD workshop on Software engineering properties of languages and aspect technologies. ACM, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. K. Masuhara, G. Kiczales, and C. Dutchyn. Compilation semantics of aspect-oriented programs. In FOAL 2002 Proceedings: Foundations of Aspect-Oriented Languages Workshop at AOSD 2002, pages 17--26, 2002.Google ScholarGoogle Scholar
  25. F. Munoz, B. Baudry, and O. Barais. Improving maintenance in aop through an interaction specification framework. In ICSM08, 24th International conference on Software Maintentance. IEEE Computer Society Press, 2008.Google ScholarGoogle Scholar
  26. A. Nicoara and G. Alonso. Dynamic aop with prose. In Proceedings of the International Workshop on Adaptive and Self-Managing Enterprise Applications (ASMEA 2005), 2005.Google ScholarGoogle Scholar
  27. N. Nystrom, M. R. Clarkson, and A. C. Myers. Polyglot: An extensible compiler framework for Java. In Compiler Construction, 12th International Conference, CC 2003, volume 2622 of LNCS, pages 138--152. Springer, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. R. Pawlak, L. Duchien, and L. Seinturier. Compar: Ensuring safe around advice composition. In M. Steffen and G. Zavattaro, editors, FMOODS, volume 3535, pages 163--178. Springer, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. F. Sanen, E. Truyen, B. D. Win, W. Joosen, N. Loughran, G. Coulson, A. Rashid, A. Nedos, A. Jackson, and S. Clarke. Study on interaction issues. In AOSD-Europe Deliverable D44, AOSD-Europe-KUL-7, 2006.Google ScholarGoogle Scholar
  30. O. Spinczyk and D. Lohmann. The design and implementation of aspectc++. In Know.-Based Syst., volume 20, pages 636--651. Elsevier Science Publishers B. V., 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. M. Stoerzer, J. Krinke, and U. Passau. Interference analysis for AspectJ. In In Workshop on Foundations of Aspect-Oriented Languages, 2003.Google ScholarGoogle Scholar
  32. M. Storzer and F. Forster. Detecting precedence-related advice interference. In ASE '06: Proceedings of the 21st IEEE/ACM International Conference on Automated Software Engineering, pages 317--322. IEEE Computer Society, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. D. Suvée, W. Vanderperren, and V. Jonckers. JAsCo: an aspect-oriented approach tailored for component based software development. In AOSD '03: Proceedings of the 2nd international conference on Aspect-oriented software development, pages 21--29. ACM, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Composing aspects with aspects

    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
      AOSD '10: Proceedings of the 9th International Conference on Aspect-Oriented Software Development
      March 2010
      242 pages
      ISBN:9781605589589
      DOI:10.1145/1739230

      Copyright © 2010 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: 15 March 2010

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      Overall Acceptance Rate41of139submissions,29%

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader