join point selectors
One of the main issues in modern aspect-oriented programming languages and frameworks is the expressiveness of the pointcut language or mechanism. The expressiveness of pointcut languages directly impacts pointcut quality, a property that can be decisive for the effectiveness of aspect implementations. In this paper we propose join point selectors as a simple extension mechanism for enriching current pointcut languages with constructs that play the role of "new primitive pointcuts". Join point selectors allow the creation of pointcuts with greater semantic value. Although similar mechanisms can be found in some existing approaches, the underlying concept has not yet been clearly defined nor fully explored. We present a simple architecture for adding join point selectors to an existing aspect-oriented framework. We show examples of usage of join point selectors to enhance the quality of pointcuts and make aspect development easier. We also show how join point selectors can be used as framework-specific selectors, which allow aspects to cross the boundary of a given framework while still respecting the modularity of that framework.
join point selectors aspect-oriented programming pointcut languages extensibility semantic pointcuts aop