Addressing Practical Software Development Issues in AspectJ with a Pointcut Interface
Stephan Gudmundson, Gregor Kiczales · 2001
Introduction In this paper, we consider the problems of large-scale systems, team development, and maintenance in the context of AspectJ[3] programming. To our knowledge, these topics have not been discussed in any detail in other studies. We propose a new kind of interface between aspects and base code, explain how it is used by aspects, and then discuss the expected benefits in the context of realistic software development. For the purposes of the workshop, this paper can be viewed as presenting a challenge problem#to demonstrate that proposals for advanced separations of concerns can deal with these practical development issues#and a response for AspectJ. 2. Programming Style 2.1. The Pointcut Interface In AspectJ, pointcuts describe a set of join points, which are principled points in the execution of the system such as method receptions, executions, and calls. Pointcuts may be either