Feature-Based Composition of Software Architectures

In Software Product Lines variability refers to the definition and utilization of differences between several products. Feature Diagrams (FD) are a well-known approach to express variability, and can be used to automate the derivation process. Nevertheless, this may be highly complex due to possible interactions between selected features and the artifacts realizing them. Deriving concrete products typically involves the composition of such inter-dependent software artifacts. This paper presents a feature-based composition approach to automatically derive a product architecture from a given feature configuration. The proposed approach relies on the combination of Model-Driven Engineering (MDE) and Aspect-Oriented Modeling (AOM) techniques. We introduce a metamodel to reify each feature as a high-level aspect model. Product derivation is achieved by weaving the set of aspect models corresponding to a particular feature configuration. The weaving strategy is derived from an in-depth cross-analysis of both the feature interactions and the aspect model dependencies.

[1]  Iris Groher,et al.  Product Line Implementation using Aspect-Oriented and Model-Driven Software Development , 2007 .

[2]  Brice Morin,et al.  Weaving variability into domain metamodels , 2010, Software & Systems Modeling.

[3]  Tijs van der Storm,et al.  Generic Feature-Based Software Composition , 2007, SC@ETAPS.

[4]  Randal E. Bryant,et al.  Symbolic Boolean manipulation with ordered binary-decision diagrams , 1992, CSUR.

[5]  Kwanwoo Lee,et al.  Aspectual Separation of Feature Dependencies for Flexible Feature Composition , 2009, 2009 33rd Annual IEEE International Computer Software and Applications Conference.

[6]  Valerio Schiavoni,et al.  Reconfigurable SCA Applications with the FraSCAti Platform , 2009, 2009 IEEE International Conference on Services Computing.

[7]  Thomas Leich,et al.  Aspectual Feature Modules , 2008, IEEE Transactions on Software Engineering.

[8]  Kevin Lano,et al.  Slicing of UML models using model transformations , 2010, MODELS'10.

[9]  Pierre-Yves Schobbens,et al.  Feature Diagrams: A Survey and a Formal Semantics , 2006, 14th IEEE International Requirements Engineering Conference (RE'06).

[10]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[11]  Sooyong Park,et al.  Combining feature-oriented analysis and aspect-oriented programming for product line asset development , 2006, 10th International Software Product Line Conference (SPLC'06).

[12]  Jean-Marc Jézéquel,et al.  Model driven design and aspect weaving , 2008, Software & Systems Modeling.

[13]  Klaus Pohl,et al.  Software Product Line Engineering - Foundations, Principles, and Techniques , 2005 .

[14]  Laurence Duchien,et al.  Context awareness for dynamic service-oriented product lines , 2009, SPLC.

[15]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[16]  Krzysztof Czarnecki,et al.  Verifying feature-based model templates against well-formedness OCL constraints , 2006, GPCE '06.

[17]  Jeffrey G. Gray,et al.  Aspect Composition in the Motorola Aspect-Oriented Modeling Weaver , 2007, J. Object Technol..

[18]  Detlef Plump,et al.  Hypergraph rewriting: critical pairs and undecidability of confluence , 1993 .

[19]  Martin L. Griss Implementing Product-line features by composing aspects , 2000, SPLC.

[20]  Jan Bosch,et al.  Software Reuse: Methods, Techniques, and Tools , 2004, Lecture Notes in Computer Science.

[21]  Klaus Pohl,et al.  Software Product Line Engineering , 2005 .

[22]  Don S. Batory,et al.  Safe composition of non-monotonic features , 2009, GPCE '09.

[23]  Kyo Chul Kang,et al.  Feature Dependency Analysis for Product Line Component Design , 2004, ICSR.