Aspect-Oriented Solutions to Feature Interaction Concerns using AspectJ
Lynne BLAIR and Jianxiong PANG
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.