|
ABSTRACT
AspectJ does not provide a mechanism to hide implementation details from advice. As a result, aspects are tightly coupled to the implementation of the code they advise, while the behaviour of the base code is impossible to determine without analysing all advice that could modify its behaviour.The concept of open modules is proposed by Aldrich to Solve the problems that arise from unrestricted advice. Defined for a small functional language, it provides an encapsulation construct that allows an implementation to limit the set of points to which external advice may apply.We present an adaptation of open modules for AspectJ. We expand open modules to encompass the full set of pointcut primitives for AspectJ, extend its method of module composition to include the ability to open up a module, and describe the implementation of the design as an extension of the AspectBench compiler. We also provide an example of the use of open modules on a substantial AspectJ program to show how it would fit into existing AspectJ projects.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
ICFP 2004. 7th annual ICFP programming contest. http://www.cis.upenn.edu/~plclub/contest/.
|
| |
2
|
abc. The AspectBench Compiler. Home page with downloads, FAQ, documentation, support mailing lists, and bug database. http://aspectbench.org.
|
| |
3
|
Jonathan Aldrich. Open Modules: Modular Reasoning about Advice. In Proceedings of the European Conference on Object-Oriented Programming, volume 3586 of LNCS, pages 144--168. Springer, 2005.
|
| |
4
|
Chris Allan, 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. The AspectBench Compiler for AspectJ. In Generative Programming and Component Engineering, volume 3676 of LNCS, pages 10--16. Springer, 2005.
|
 |
5
|
Pavel Avgustinov , Aske Simon Christensen , Laurie Hendren , Sascha Kuzins , Jennifer Lhoták , Ondřej Lhoták , Oege de Moor , Damien Sereni , Ganesh Sittampalam , Julian Tibble, abc: an extensible AspectJ compiler, Proceedings of the 4th international conference on Aspect-oriented software development, p.87-98, March 14-18, 2005, Chicago, Illinois
[doi> 10.1145/1052898.1052906]
|
 |
6
|
Pavel Avgustinov , Aske Simon Christensen , Laurie Hendren , Sascha Kuzins , Jennifer Lhoták , Ondřej Lhoták , Oege de Moor , Damien Sereni , Ganesh Sittampalam , Julian Tibble, Optimising aspectJ, Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation, June 12-15, 2005, Chicago, IL, USA
|
| |
7
|
Curtis Clifton and Gary T. Leavens. Observers and assistants: A proposal for modular aspect-oriented reasoning. In Gary Leavens and Ron Cytron, editors, FOAL 2002, Technical Report 02-06, Computer Science, Iowa State University, pages 33--44, 2002.
|
| |
8
|
Daniel S. Dantas and David Walker. Harmless advice. In 12th International Workshop on Foundations of Object-Oriented Languages, 2005. Available from http://homepages.inf.ed.ac.uk/wadler/fool/program/6.html.
|
| |
9
|
Stephan Gudmundson and Gregor Kiczales. Addressing Practical Software Development Issues in AspectJ with a Pointcut Interface. In ECOOP 2001 Workshop on Advanced Separation of Concerns, 2001.
|
| |
10
|
Gregor Kiczales , Erik Hilsdale , Jim Hugunin , Mik Kersten , Jeffrey Palm , William G. Griswold, An Overview of AspectJ, Proceedings of the 15th European Conference on Object-Oriented Programming, p.327-353, June 18-22, 2001
|
 |
11
|
|
| |
12
|
Nathaniel Nystrom, Michael R. Clarkson, and Andrew C. Myers. Polyglot: An extensible compiler framework for Java. In 12th International Conference on Compiler Construction, volume 2622 of Lecture Notes in Computer Science, pages 138--152, 2003.
|
| |
13
|
Elcin Re cebli. Pure aspects. MSc dissertation, University of Oxford. Available from http://aspectbench.org, 2005.
|
| |
14
|
The AspectJ Team. The AspectJ 5 Development Kit Developer's Notebook. http://eclipse. org/aspectj/doc/next/adk15notebook/, 2004.
|
| |
15
|
Raja Vallée-Rai , Phong Co , Etienne Gagnon , Laurie Hendren , Patrick Lam , Vijay Sundaresan, Soot - a Java bytecode optimization framework, Proceedings of the 1999 conference of the Centre for Advanced Studies on Collaborative research, p.13, November 08-11, 1999, Mississauga, Ontario, Canada
|
 |
16
|
|
CITED BY 9
|
|
|
|
|
|
|
|
|
|
|
Naoyasu Ubayashi , Akihiro Sakai , Tetsuo Tamai, An interface mechanism for encapsulating weaving in class-based AOP, Proceedings of the 5th workshop on Engineering properties of languages and aspect technologies, p.8-es, March 12-16, 2007, Vancouver, British Columbia, Canada
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|