ABSTRACT
We propose a linguistic mechanism for AspectJ-like languages that concisely associates aspect instances to object groups. The mechanism, which supports association aspects, extends the per-object aspects in AspectJ by allowing an aspect instance to be associated to a group of objects, and by providing a new pointcut primitive to specify aspect instances as execution contexts of advice. With association aspects, we can straightforwardly implement crosscutting concerns that have stateful behavior related to a particular group of objects. The new pointcut primitive can more flexibly specify aspect instances when compared against previous implicit mechanisms. The comparison of execution times between the programs with association aspects and the ones with regular AspectJ aspects revealed that the association aspects exhibited almost equivalent for the medium-sized configurations.
- M. Aksit, ed. Proc. of AOSD'03. 2003.Google Scholar
- J. Baker and W. Hsieh. Runtime aspect weaving through metaprogramming. In {9}, pp. 86--98. Google ScholarDigital Library
- J. Bonér and A. Vasseur. AspectWerkz. http://aspectwerkz.codehaus.org/.Google Scholar
- B. Burke and A. Brok. Aspect-oriented programming and JBoss. O'Reilly Network, May 2003. http://www.oreillynet, com/pub/a/onjava/2003/05/28/aop_jboss, html.Google Scholar
- E. Gamma, R. Helm, l:t. Johnson, and J. Vlissides. Design Patterns. Addison-Wesley, 1995.Google ScholarDigital Library
- J. Hannemann and G. Kiczales. Design pattern implementation in Java and AspectJ. In {12}, pp. 161--173. Google ScholarDigital Library
- E. A. Kendall. Role model designs and implementations with aspect-oriented programming. In {15}, pp. 353--369. Google ScholarDigital Library
- M. Kersten and G. C. Murphy. Atlas: A case study in building a web-based learning environment using aspect-oriented programming. In {15}, pp. 340--352. Google ScholarDigital Library
- G. Kiczales, ed. Proc. of AOSD'02. 2002.Google Scholar
- G. Kiczales, et al. An overview of AspectJ. In ECOOP 2001, pp. 327--353, 2001. Google ScholarDigital Library
- H. Masuhara, G. Kiczales, and C. Dutchyn. A compilation and optimization model for aspect-oriented programs. In Proc. of Compiler Construction (CC2003), pp. 46--60, 2003. Google ScholarDigital Library
- S. Matsuoka, ed. Proc. of OOPSLA2002. Nov. 2002.Google Scholar
- M. Mezini and K. Ostermann. Integrating independent components with on-demand remodularization. In {12}, pp. 52--67. Google ScholarDigital Library
- M. Mezini and K. Ostermann. Conquering aspects with Caesar. In {1}. Google ScholarDigital Library
- L. M. Northrop, ed. Proc. of OOPSLA'99. Oct. 1999.Google Scholar
- H. Ossher and P. Tarr. Multi-dimensional Separation of concerns and the hyperspace approach. In Proc. of the Symposium on Software Architectures and Component Technology. 2000. Google ScholarDigital Library
- A. Popovici, G. Alonso, and T. Gross. Just-in-time aspects: efficient dynamic weaving for Java. In {1}, pp. 100--109. Google ScholarDigital Library
- A. Popovici, T. Gross, and G. Alonso. Dynamic weaving for aspect-oriented programming. In {9}, pp. 141--147. Google ScholarDigital Library
- H. Rajan and K. Sullivan. Eos: Instance-level aspects for integrated system design. In Proc. of ESEC/FSE, pp. 297--306, 2003. Google ScholarDigital Library
- K. Sullivan. Mediators: Easing the design and evolution of integrated systems. PhD Thesis, Dept. of Computer Science, University of Washington, published as TR UW-CSE-94-08-01, 1994. Google ScholarDigital Library
- K. Sullivan, L. Gu, and Y. Cai. Non-modularity in aspect-oriented languages. In {9}, pp. 19--27, 2002. Google ScholarDigital Library
- K. Sullivan and D. Notkin. Reconciling environment integration and software evolution. ACM TOSEM, 1(3):229--268, July 1992. Google ScholarDigital Library
Recommendations
Composing aspects with aspects
AOSD '10: Proceedings of the 9th International Conference on Aspect-Oriented Software DevelopmentAspect-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 ...
Sort-based refactoring of crosscutting concerns to aspects
LATE '08: Proceedings of the 2008 AOSD workshop on Linking aspect technology and evolutionCrosscutting concerns in object-oriented programming hinder evolution because of their symptoms: tangling and scattering. To benefit from the modularisation capabilities for crosscutting concerns provided by aspect-oriented programming (which prevent ...
Morphing aspects: incompletely woven aspects and continuous weaving
AOSD '04: Proceedings of the 3rd international conference on Aspect-oriented software developmentWeaving is one of the fundamental mechanisms of aspect-oriented systems. A weaver composes different aspects with the base system by determining and adapting all parts where aspect specific elements are needed eventually. At runtime, timeconsuming join ...
Comments