Merge Operators for Feature Models

NEW The paper “Comparing Approaches to Implement Feature Model Composition” has been accepted (see References).

NEW The paper “Managing Variability in Workflow with Feature Model Composition Operators” has been accepted (see References).

Managing Multiple Feature Models

Comparing Approaches to Implement Feature Model Composition Operators

The use of Feature Models (FMs) to describe commonality and variability in Software Product Lines (SPL) is becoming commonplace. To enhance the scalability of FMs, support for composing FMs describing different SPL aspects is needed. Some composition operators, with interesting property preservation capabilities, have already been defined but a comprehensive and efficient implementation is still to be proposed. Different implementation approaches, from modeling and composition tools to FM specific solutions, are conceivable. We have implemented the merge operators for some of these approaches in order to compare their strengths and weaknesses. This page provides some comparison materials (e.g., FMs) and implementations in Kermeta and Kompose.

NEW The paper “Comparing Approaches to Implement Feature Model Composition” has been accepted (see References).

FM notations: metamodels and concrete syntax, "bridge" with FeatureIDE

Collection of base and aspect FMs (input) and expected FMs (output) manually constructed

Kompose and Kermeta implementations

Compare the sets of configurations of two FMs (using FeatureIDE framework)

Implementations in AGG or using Boolean Logic are available on demand. Please note that we do not use intersect / union operations defined in http://www.eng.uwaterloo.ca/~shshe/calc.html since our semantics of the intersection and the union is different.

Managing Variability in Workflow

See also another related project in which merge operations are performed to assist users during workflow design.

NEW The paper “Managing Variability in Workflow with Feature Model Composition Operators” has been accepted (see References).

Contact

Do not hesitate to contact Mathieu Acher at acher@i3s.unice.fr in case of questions or other requests.

References

Mathieu Acher, Philippe Collet, Philippe Lahire, and Robert France. Managing Multiple Software Product Lines Using Merging Techniques. Technical report, University of Nice Sophia Antipolis, I3S CNRS, Sophia Antipolis, France, May 2010. [ bib |.pdf ]

A growing number of organizations produce and maintain multiple Software Product Lines (SPLs) or design software products that utilize features in SPLs maintained by competing suppliers. Manually building monolithic Feature Models (FMs) to help manage features described across different SPLs is error-prone and tedious and the resulting FMs can be difficult to understand and use. In this paper we propose a compositional approach to managing multiple SPLs that involves automatically merging FMs defined across the SPLs. We illustrate how the approach can be used to create FMs that support selection of products from among sets of competing products provided by different companies or suppliers. The merging techniques can also manage features from different SPLs which are then combined to form products. We show that the proposed approach results in more compact FMs, and we provide some empirical results on the complexity and scalability of the composition operators used in the approach.

Mathieu Acher, Philippe Collet, Philippe Lahire, and Robert France. Managing Variability in Workflow with Feature Model Composition Operators. In 9th International Conference on Software Composition AR=28%, volume LNCS, page 16. Springer, June 2010. [ bib ]

In grid-based scientific applications, building a workflow essentially involves composing parameterized services describing families of services and then configuring the resulting workflow product line. In domains (e.g., medical imaging) in which many different kinds of highly parameterized services exist, there is a strong need to manage variabilities so that scientists can more easily configure and compose services with consistency guarantees. In this paper, we propose an approach in which variable points in services are described with several separate feature models, so that families of workflow can be defined as compositions of feature models. A compositional technique then allows reasoning about the compatibility between connected services to ensure consistency of an entire workflow, while supporting automatic propagation of variability choices when configuring services.

Mathieu Acher, Philippe Collet, Philippe Lahire, and Robert France. Comparing Approaches to Implement Feature Model Composition. In 6th European Conference on Modelling Foundations and Applications (ECMFA) AR=31%, volume LNCS, page 16. Springer, June 2010. [ bib ]

The use of Feature Models (FMs) to define the valid combinations of features in Software Product Lines (SPL) is becoming commonplace. To enhance the scalability of FMs, support for composing FMs describing different SPL aspects is needed. Some composition operators, with interesting property preservation capabilities, have already been defined but a comprehensive and efficient implementation is still to be proposed. In this paper, we systematically compare strengths and weaknesses of different implementation approaches. The study provides some evidence that using generic model composition frameworks are not helping much in the realization, whereas a specific solution is finally necessary and clearly stands out by its qualities.

Mathieu Acher, Philippe Collet, Philippe Lahire, and Robert France. Composing Feature Models. In 2nd International Conference on Software Language Engineering (SLE'09) AR=19%, LNCS, page 20. LNCS, October 2009. [ bib | .pdf ]

Feature modeling is a widely used technique in Software Product Line development. Feature models allow stakeholders to describe domain concepts in terms of commonalities and differences within a family of software systems. Developing a complex monolithic feature model can require significant effort and restrict the reusability of a set of features already modeled. We advocate using modeling techniques that support separating and composing concerns to better manage the complexity of developing large feature models. In this paper, we propose a set of composition operators dedicated to feature models. These composition operators enable the development of large feature models by composing smaller feature models which address well-defined concerns. The operators are notably distinguished by their documented capabilities to preserve some significant properties.

Mathieu Acher, Philippe Collet, Philippe Lahire, and Johan Montagnat. Imaging Services on the Grid as a Product Line: Requirements and Architecture. In Service-Oriented Architectures and Software Product Lines - Putting Both Together (SOAPL'08). (associated workshop issue of SPLC 2008), IEEE Computer Society, September 2008. [ bib | .pdf ]

SOA is now the reference architecture for medical imaging processing on the grid. Imaging services must be composed in workflows to implement the processing chains, but the need to handle end-to-end qualities of service hampered both the provision of services and their composition. This paper analyses the variability of functional and non functional aspects of this domain and proposes a first architecture in which services are organized within a product line architecture and metamodels help in structuring necessary information.

Mathieu Acher, Philippe Collet, and Philippe Lahire. Issues in Managing Variability of Medical Imaging Grid Services. In Olabarriaga Silvia, Lingrand Diane, and Montagnat Johan, editors, MICCAI-Grid Workshop (MICCAI-Grid), New York, NY, USA, September 2008. [ bib | .pdf ]

In medical image analysis, there exist multifold applications to grids and service-oriented architectures are more and more used to implement such imaging applications. In this context, workflow and service architects have to face an important variability problem related both to the functional description of services, and to the numerous quality of service (QoS) dimensions that are to be considered. In this paper, we analyze such variability issues and establish the requirements of a service product line, which objective is to facilitate variability handling in the image processing chain.