ABSTRACT
When using Aspect Oriented Programming in the development of software components, a developer must understand the program units actually changed by weaving, how they behave, and possibly correct the aspects used. Support for rapid AOP prototyping and debugging is therefore crucial in such situations. Rapid prototyping is difficult with current aspect weaving tools because they do not support dynamic changes. This paper describes PROSE (PROgrammable extenSions of sErvices), a platform based on Java which addresses dynamic AOP. Aspects are expressed in the same source language as the application (Java), and PROSE allows aspects to be woven, unwoven, or replaced at run-time.
- M. Aksit and M. Bergmans. Composing Synchronisation and Real-Time Constraints. Journal of Parallel and Distributed Computing 36, pp. 32-52, 1996.]] Google ScholarDigital Library
- M. Aksit, K. Wakita, J. Bosch, and L. Bergmans. Abstracting Object Interactions Using Composition Filters. Lecture Notes in Computer Science, 791:152, 1994.]]Google Scholar
- D. Bell. Make Java fast: Optimize! JavaWorld: IDG's magazine for the Java community, 2(4), Apr. 1997.]]Google Scholar
- K. Bollert. On Weaving Aspects. Position paper at the ECOOP'99 workshop on Aspect-Oriented Programming, June 1999.]] Google ScholarDigital Library
- S. Chiba. A Metaobject Protocol for C++. ACM SIGPLAN Notices, 30(10):285-299, Oct. 1995.]] Google ScholarDigital Library
- G. A. Cohen, J. S. Chase, and D. L. Kaminsky. Automatic Program Transformation with JOIE. In Proceedings of the USENIX 1998 Annual Technical Conference, pages 167-178, Berkeley, USA, June 15-19 1998. USENIX Association.]] Google ScholarDigital Library
- R. Keller and U. Hölzle. Binary Component Adaptation. In ECOOP '98---Object-Oriented Programming, volume 1445 of Lecture Notes in Computer Science, pages 307-329. Springer, 1998.]] Google Scholar
- P. Kenens, S. Michiels, F. Matthijs, B. Robben, E. Truyen, B. Vanhaute, W. Joosen, and P. Verbaeten. An AOP Case with Static and Dynamic Aspects. In ECOOP'98 Workshop on Aspect-Oriented Programming, Brussel (Belgium) , July 1998.]] Google ScholarDigital Library
- G. Kiczales and J. des Rivieres. The Art of the Metaobject Protocol. MIT Press, Cambridge, MA, USA, 1991.]] Google ScholarDigital Library
- G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J. Loingtier, and J. Irwin. Aspect-Oriented Programming. In 1997 European Conf. on Object-Oriented Programming (ECOOP '97), pages 220-242. Springer Verlag, 1997.]]Google Scholar
- J. Kleinoeder and M. Golm. MetaJava --- A Platform for Adaptable Operating-System Mechanisms. In Object-Oriented Technology: ECOOP'97 Workshop Reader, volume 1357 of Lecture Notes in Computer Science, pages 507-514. Springer, 1997.]] Google ScholarDigital Library
- K. Lieberherr and L. Mezini. Aspect-Oriented Components. Technical Report, College of Computer Science, Northeastern University, Boston, MA, 1999.]]Google Scholar
- C. Lopes. D: A Language Framework for Distributed Computing. Ph.D. Dissertation, College of Computer Science, Northeastern University, Boston, 1997.]]Google Scholar
- M. Mezini and K. Lieberherr. Adaptive Plug-and-Play Components for Evolutionary Software Development. ACM SIGPLAN Notices, 33(10):97-116, Oct. 1998.]] Google ScholarDigital Library
- H. Ogawa, K. Shimura, S. Matsuoka, F. Maruyama, Y. Sohda, and F. Kimura. OpenJIT : An Open-Ended, Reflective JIT Compiler Framework for Java. In Proceedings of ECOOP'2000, Springer Verlag, 2000.]] Google ScholarDigital Library
- D. Orleans and K. Lieberherr. DJ: Dynamic Adaptive Programming in Java. In Reflection 2001: Meta-level Architectures and Separation of Crosscutting Concerns, Kyoto, Japan, September 2001. Springer Verlag.]] Google ScholarDigital Library
- A. Popovici, T. Gross, and G. Alonso. Aop support for mobile systems. Paper at the OOPSLA'01 Workshop on Advanced Separation of Concerns in Object-Oriented Systems, Oct. 2001.]]Google Scholar
- P. Tarr, H. Ossher, W. Harrison, and S. Sutton. N Degrees of Separation: Multi-dimensional Separation of Concerns. In 1999 International Conference on Software Engineering, pages 107-119, Los Angeles, CA, USA, 1999.]] Google ScholarDigital Library
- E. Truyen, B. Joergensen, and W. Joosen. Customization of Component-Based Object Request Brokers through Dynamic Configuration. In TOOLS Europe'2000, IEEE Press, pages 181-194, June 2000.]] Google Scholar
- B. D. Win, B. Vanhaute, and B. D. Decker. Towards an Open Weaving Process. Position paper at the OOPSLA'01 Workshop on Advanced Separation of Concerns in Object-Oriented Systems, Oct. 2001.]]Google Scholar
- Xerox Corporation. The AspectJ Programming Guide. Online Documentation, 2001. http://www.aspectj.org/.]]Google Scholar
Index Terms
- Dynamic weaving for aspect-oriented programming
Recommendations
Aspect-oriented programming
ESEC/FSE-9: Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineeringAspect-oriented programming (AOP) is a technique for improving separation of concerns in software design and implementation. AOP works by providing explicit mechanisms for capturing the structure of crosscutting concerns. This tutorial shows how to use ...
Dynamic aspect-oriented programming in java: the hotwave experience
Transactions on Aspect-Oriented Software Development IXDynamic aspect-oriented programming (AOP) enables runtime adaptation of programs. It enables sophisticated, aspect-based software engineering tools, such as adaptive profilers or debuggers, which dynamically modify instrumentation code in response to ...
Cooperative aspect-oriented programming
Aspect-oriented programming (AOP) seeks to improve software modularity via the separation of cross-cutting concerns. AOP proponents often advocate a development strategy where programmers write the main application (base code), ignoring cross-cutting ...
Comments