Aspect-Oriented Solutions to Feature Interaction Concerns using AspectJ

Lynne BLAIR and Jianxiong PANG   

Computing Department,
Lancaster University, Bailrigg
Lancaster, LA1 4YR, U.K.

Abstract. In this paper, we propose a two-level architecture for feature driven software development, consisting of a base layer for a feature’s core behaviour and a meta-layer for resolution modules that provide solutions to feature interaction problems. Whilst a standard programming language is used at the base level, e.g. an object-oriented language such as Java, we propose the use of an aspect-oriented programming language for the inherent cross-cutting concerns that exist at the meta-level. We evaluate the use of AspectJ for the implementation of interaction resolution modules at the meta-level. This evaluation is carried out through an in-depth study of an email system. We conclude that aspect-oriented approaches are highly suited for this split-level architecture and that the architecture has many benefits for feature driven software development. Finally, we also highlight a number of problems with AspectJ for our intended use, but discuss how the selection of an alternative aspect-oriented technique would avoid these problems.

Keywords. Feature driven development, aspect-oriented programming, feature interaction and interaction resolution, feature composition.