" Program, enhance thyself!" demand-driven pattern-oriented program enhancement
E Tilevich, G Back - Proceedings of the 7th international conference on …, 2008 - dl.acm.org
Proceedings of the 7th international conference on Aspect-oriented software …, 2008•dl.acm.org
Program enhancement refers to adding new functionality to an existing program. We argue
that repetitive program enhancement tasks can be expressed as patterns, and that the
application of such enhancement patterns can be automated. This paper presents a novel
approach to pattern-oriented automated enhancement of object-oriented programs. Our
approach augments the capabilities of an aspect compiler to capture the programmer's
intent to enhance a program. In response to the programmer referencing a piece of …
that repetitive program enhancement tasks can be expressed as patterns, and that the
application of such enhancement patterns can be automated. This paper presents a novel
approach to pattern-oriented automated enhancement of object-oriented programs. Our
approach augments the capabilities of an aspect compiler to capture the programmer's
intent to enhance a program. In response to the programmer referencing a piece of …
Program enhancement refers to adding new functionality to an existing program. We argue that repetitive program enhancement tasks can be expressed as patterns, and that the application of such enhancement patterns can be automated. This paper presents a novel approach to pattern-oriented automated enhancement of object-oriented programs. Our approach augments the capabilities of an aspect compiler to capture the programmer's intent to enhance a program. In response to the programmer referencing a piece of functionality that is non-existent, our approach automatically synthesizes aspect code to supply the required functionality transparently. To improve flexibility and facilitate reuse, the synthesis and application of the new functionality is guided by declarative whenthen rules, concisely expressed using a rule base.
Our extensible automated program enhancement system, called DRIVEL1, extends the AspectJ compiler with aspect generating capabilities. The generation is controlled using the DROOLS rules engine. To validate our approach and automated tool, we have created a collection of enhancement libraries and used DRIVEL to apply them to the LibX Edition Builder, a large-scale, widely-used Web application. DRIVEL automatically enhanced the LibX Edition Builder's XML processing modules with structural navigation capabilities and caching, eliminating the need to implement this functionality by hand.
ACM Digital Library
Showing the best result for this search. See all results