Improving Alignment of Crosscutting Features with Code in Product Line Engineering

Feature models used in product line engineering often include features that crosscut other features. These features cannot be cleanly modularized using object-oriented techniques and are the source of scattering and tangling in implementation modules. This signicantly complicates the traceability of features during the development and maintenance of a product line and during the instantiation of a product. This paper proposes a model-driven approach for mapping features to a design in the aspect-oriented role-based language Object Teams. The approach has been evaluated in an industrial case study for developing a security product line that can be applied to several applications using aspect bindings.

[1]  Stephan Herrmann,et al.  Using Guard Predicates for Generalized Control of Aspect Instantiation and Activation , 2005 .

[2]  Henry Sudhof,et al.  Patterns for Re-usable Aspects in Object Teams , 2006, NODe/GSEM.

[3]  Yannis Smaragdakis,et al.  Building Product-Lines with Mixin-Layers , 1999, ECOOP Workshops.

[4]  Soo Dong Kim,et al.  DREAM: a practical product line engineering using model driven architecture , 2005, Third International Conference on Information Technology and Applications (ICITA'05).

[5]  Ilka Philippow,et al.  Feature-Oriented Development of Software Product Lines: Mapping Feature Models to the Architecture , 2004, Net.ObjectDays.

[6]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[7]  Krzysztof Zielinski,et al.  Comparison Study of Aspect-oriented and Container Managed Security , 2003 .

[8]  Thomas Leich,et al.  Combining Feature-Oriented and Aspect-Oriented Programming to Support Software Evolution , 2005, RAM-SE.

[9]  Stephan Herrmann,et al.  Object Teams: Improving Modularity for Crosscutting Collaborations , 2002, NetObjectDays.

[10]  Jan Hannemann Aspect-Oriented Refactoring : Classification and Challenges , 2006 .

[11]  Roberto Erick Lopez-Herrejon,et al.  Evaluating Support for Features in Advanced Modularization Technologies , 2005, ECOOP.

[12]  Mira Mezini,et al.  Programming with Aspectual Components , 1999 .

[13]  Danilo Beuche,et al.  Aspect-Oriented Product Line Development in Constrained Environments , 2003 .

[14]  Thomas Leich,et al.  Aspectual mixin layers: aspects and features in concert , 2006, ICSE '06.

[15]  Gregor Kiczales,et al.  Aspect-oriented programming , 2001, ESEC/FSE-9.

[16]  Ilka Philippow,et al.  The feature-architecture mapping (FArM) method for feature-oriented development of software product lines , 2006, 13th Annual IEEE International Symposium and Workshop on Engineering of Computer-Based Systems (ECBS'06).

[17]  William G. Griswold,et al.  An Overview of AspectJ , 2001, ECOOP.

[18]  Mira Mezini,et al.  An Overview of CaesarJ , 2006, LNCS Trans. Aspect Oriented Softw. Dev..

[19]  Awais Rashid,et al.  Framed Aspects: Supporting Variability and Configurability for AOP , 2004, ICSR.