Domain-Driven discovery of stable abstractions for pointcut interfaces

  • Authors:
  • Dimitri Van Landuyt;Steven Op de beeck;Eddy Truyen;Wouter Joosen

  • Affiliations:
  • DistriNet, Katholieke Universiteit Leuven, Leuven, Belgium;DistriNet, Katholieke Universiteit Leuven, Leuven, Belgium;DistriNet, Katholieke Universiteit Leuven, Leuven, Belgium;DistriNet, Katholieke Universiteit Leuven, Leuven, Belgium

  • Venue:
  • Transactions on Aspect-Oriented Software Development IX
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

The benefits of defining explicit pointcut interfaces in aspect-oriented applications have been advocated by many. A pointcut interface exposes a set of crosscutting abstract behaviors that multiple aspects of an application can leverage and use. In order to maximally promote pointcut reuse across applications from a certain problem domain, a pointcut interface should preferably expose stable abstractions in that problem domain. In this paper, we propose a top-down method for designing such stable pointcut interfaces. The method builds upon state-of-the-art domain analysis techniques and employs systematic re-engineering of use case models to discover stable abstractions that are anchored in the domain model of the application. At architecture creation time, these stable domain abstractions are mapped onto pointcut interfaces. We provide algorithmic procedures for use case re-engineering and guidelines for architecture creation. This enables further experimentation with the proposed method and its automation, which in turn improves the ease of adoption. The paper enhances the detailed description of the method by applying it in a running example. We have applied our method in two case studies, where we observe that the resulting pointcut interfaces can be reused for implementing the composition logic of different aspects without requiring modification to their pointcut signatures. In summary, both case studies provide compelling examples that illustrate non-trivial reuse of the pointcut interfaces that have been created using our method.