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.
- 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 ScholarDigital Library
- A. Assaf and J. Noyé. Dynamic AspectJ. In DLS '08: Proceedings of the 2008 symposium on Dynamic languages, pages 1--12. ACM, 2008. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- L. Bergmans. Towards detection of semantic conflicts between crosscutting concerns. In AAOS Workshop at ECOOP 2003, 2003.Google Scholar
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 Scholar
- 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 ScholarDigital Library
- 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 Scholar
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- B. Kessler and E. Tanter. Analyzing interactions of structural aspects. In Workshop on Aspects, Dependencies and Interactions, 2006.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- M. Stoerzer, J. Krinke, and U. Passau. Interference analysis for AspectJ. In In Workshop on Foundations of Aspect-Oriented Languages, 2003.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
Index Terms
- Composing aspects with aspects
Recommendations
Preserving the separation of concerns while composing aspects on shared joinpoints
OOPSLA '09: Proceedings of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applicationsAspect-oriented programming (AOP) is a programming paradigm which makes possible the separation of crosscutting concerns in different modules (the aspects). AOP is known to have issues when aspects are composed in a base program. Several approaches have ...
Preserving the separation of concerns while composing aspects on shared joinpoints
OOPSLA '09: Proceedings of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applicationsAspect-oriented programming (AOP) is a programming paradigm which makes possible the separation of crosscutting concerns in different modules (the aspects). AOP is known to have issues when aspects are composed in a base program. Several approaches have ...
Composition of dynamic analysis aspects
GPCE '10: Proceedings of the ninth international conference on Generative programming and component engineeringAspect-oriented programming provides a convenient high-level model to define several kinds of dynamic analyses, in particular thanks to recent advances in exhaustive weaving in core libraries. Casting dynamic analyses as aspects allows the use of a ...
Comments