Formal Approach to Integrating Feature and Architecture Models

If we model a family of software applications with a feature model and an architecture model, we are describing the same subject from different perspectives. Hence, we are running the risk of inconsistencies. For instance, the feature model might allow feature configurations that are not realizable by the architecture. In this paper we tackle this problem by providing a formalization of dependencies between features and components. Further, we demonstrate that this formalization offers a better understanding of the modeled concepts. Moreover, we propose automated techniques that derive additional information and provide feedback to the user. Finally, we discuss how some of these techniques can be implemented.

[1]  J. Davenport Editor , 1960 .

[2]  Prof. Dr. Christoph Meinel,et al.  Algorithms and Data Structures in VLSI Design , 1998, Springer Berlin Heidelberg.

[3]  William R. Cook,et al.  Safe composition of product lines , 2007, GPCE '07.

[4]  Krzysztof Czarnecki,et al.  Generative Programming , 2001, ECOOP Workshops.

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

[6]  Don S. Batory,et al.  Feature Models, Grammars, and Propositional Formulas , 2005, SPLC.

[7]  Tomi Männistö,et al.  Kumbang: A domain ontology for modelling variability in software product families , 2007, Adv. Eng. Informatics.

[8]  Timo Soininen,et al.  Extending and implementing the stable model semantics , 2000, Artif. Intell..

[9]  Don S. Batory,et al.  Scaling step-wise refinement , 2004, IEEE Transactions on Software Engineering.

[10]  Krzysztof Czarnecki,et al.  Feature Diagrams and Logics: There and Back Again , 2007, 11th International Software Product Line Conference (SPLC 2007).

[11]  Paul Clements,et al.  Software product lines - practices and patterns , 2001, SEI series in software engineering.

[12]  Mikolás Janota,et al.  Reasoning about Feature Models in Higher-Order Logic , 2007, 11th International Software Product Line Conference (SPLC 2007).

[13]  Mike Mannion Using First-Order Logic for Product Line Model Validation , 2002, SPLC.

[14]  John McCarthy,et al.  Circumscription - A Form of Non-Monotonic Reasoning , 1980, Artif. Intell..

[15]  Niklas Sörensson,et al.  Translating Pseudo-Boolean Constraints into SAT , 2006, J. Satisf. Boolean Model. Comput..

[16]  Christoph Meinel,et al.  Algorithms and Data Structures in VLSI Design: OBDD - Foundations and Applications , 2012 .

[17]  Robert Glück,et al.  Generative Programming and Active Libraries , 1998, Generic Programming.

[18]  Sergio Segura,et al.  A Survey on the Automated Analyses of Feature Models , 2006, JISBD.

[19]  Martha Sideri,et al.  Generating all maximal models of a Boolean expression , 2000, Inf. Process. Lett..

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

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

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

[23]  Krzysztof Czarnecki,et al.  Staged Configuration Using Feature Models , 2004, SPLC.