Towards a Family-based Analysis of Applicability Conditions in Architectural Delta Models

Modeling variability in software architectures is a fundamen- tal part of software product line development. -MontiArc allows de- scribing architectural variability in a modular way by a designated core architecture and a set of architectural delta models modifying the core architecture to realize other architecture variants. Delta models have to satisfy a set of applicability conditions for the definedness of the architec- tural variants. The applicability conditions can in principle be checked by generating all possible architecture variants, which requires considering the same intermediate architectures repeatedly. In order to reuse previ- ously computed architecture variants, we propose a family-based analysis of the applicability conditions using the concept of inverse deltas. a family of software architectures is described by a designated core architecture model and a set of delta models containing modifications to the core architecture. A delta model can add and remove components, ports and connections and modify the internal structure of components. By applying the modifications contained in a delta model, an existing architecture model is transformed into another archi- tectural variant. A particular variant in the architecture family is specified by a product configuration comprising the deltas that have to be applied to the core architecture. In order to resolve conflicts between delta models modifying the same architectural elements, an application order constraint can be attached to each delta model determining which other delta models have to be or should not be applied before this delta model. Application order constraints are also used to ensure that each delta model is applicable to the core or intermediate architecture during product generation. Applicability means that all elements removed or modified by the delta exist

[1]  Klaus Pohl,et al.  Model Checking of Domain Artifacts in Product Line Engineering , 2009, 2009 IEEE/ACM International Conference on Automated Software Engineering.

[2]  Ina Schaefer,et al.  Variability Modelling for Model-Driven Development of Software Product Lines , 2010, VaMoS.

[3]  Viviana Bono,et al.  Delta-Oriented Programming of Software Product Lines , 2010, SPLC.

[4]  Michiel Helvensteijn,et al.  Abstract delta modeling , 2010, GPCE '10.

[5]  Bernhard Rumpe,et al.  Delta Modeling for Software Architectures , 2014, MBEES.

[6]  William R. Cook,et al.  A machine-checked model of safe composition , 2009, FOAL '09.

[7]  Bernhard Rumpe,et al.  Delta-oriented architectural variability using MontiCore , 2011, ECSA '11.

[8]  Michal Antkiewicz,et al.  Mapping features to models: a template approach based on superimposed variants , 2005, GPCE'05.

[9]  Sven Apel,et al.  Proof Composition for Deductive Verification of Software Product Lines , 2011, 2011 IEEE Fourth International Conference on Software Testing, Verification and Validation Workshops.

[10]  Don S. Batory,et al.  Feature interactions, products, and composition , 2011, GPCE '11.

[11]  Pierre-Yves Schobbens,et al.  Model checking lots of systems: efficient verification of temporal properties in software product lines , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[12]  Ina Schaefer,et al.  Compositional type-checking for delta-oriented programming , 2011, AOSD '11.

[13]  Walter F. Tichy,et al.  Implementation and evaluation of a revision control system , 1982 .

[14]  Sven Apel,et al.  Type safety for feature-oriented product lines , 2010, Automated Software Engineering.

[15]  Stefania Gnesi,et al.  Formal Modeling for Product Families Engineering , 2008, 2008 12th International Software Product Line Conference.

[16]  Birger Møller-Pedersen,et al.  Adding Standardized Variability to Domain Specific Languages , 2008, 2008 12th International Software Product Line Conference.

[17]  Sven Apel,et al.  Model Superimposition in Software Product Lines , 2009, ICMT@TOOLS.