ACM Home Page
Please provide us with feedback. Feedback
Adding open modules to AspectJ
Full text PdfPdf (317 KB)
Source Aspect-oriented software development archive
Proceedings of the 5th international conference on Aspect-oriented software development table of contents
Bonn, Germany
SESSION: Language design and implementation table of contents
Pages: 39 - 50  
Year of Publication: 2006
ISBN:1-59593-300-X
Authors
Neil Ongkingco  University of Oxford, United Kingdom
Pavel Avgustinov  University of Oxford, United Kingdom
Julian Tibble  University of Oxford, United Kingdom
Laurie Hendren  McGill University, Montreal, Canada
Oege de Moor  University of Oxford, United Kingdom
Ganesh Sittampalam  University of Oxford, United Kingdom
Sponsor
AOSD-Europe : European Network of Excellent on Aspect-oriented Software Development
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 9,   Downloads (12 Months): 46,   Citation Count: 9
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1119655.1119664
What is a DOI?

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
6
 
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
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
16

CITED BY  9

Collaborative Colleagues:
Neil Ongkingco: colleagues
Pavel Avgustinov: colleagues
Julian Tibble: colleagues
Laurie Hendren: colleagues
Oege de Moor: colleagues
Ganesh Sittampalam: colleagues