Section: New Software and Platforms
FAMILIAR
Participants: Mathieu Acher [correspondant], Olivier Barais, Guillaume Bécan, Aymeric Hervieu, Julien Richard-Foy, Sana Ben Nasr, Edward Mauricio Alferez Salinas, João Ferreira Filho, Didier Vojtisek, Benoit Baudry.
Modeling and reasoning about configuration options is crucial for the effective management of configurable software systems and product lines. The FAMILIAR project provides dedicated languages, APIs, and comprehensive environments for that purpose. Specifically, FAMILIAR provides support for feature models (by far the most popular notation). The feature models formalism has been studied for more than 20 years [98] , and it is widely used in the industry [100] . FAMILIAR (for FeAture Model scrIpt Language for manIpulation and Automatic Reasoning) provides a scripting language for importing, exporting, composing, decomposing, editing, configuring, computing “diffs”, refactoring, reverse engineering, testing, and reasoning about (multiple) feature models. For interoperability, many bridges with existing feature modeling languages are implemented. All these operations can be combined to perform complex variability management tasks: extraction of feature models from software artifacts [87] , product line evolution [89] , management of multiple models [88] [75] , [76] , model-based validation of SPLs [22] , large scale configuration of feature models [122] , etc. The level of maturity of the FAMILIAR platform is TRL 3 (i.e. New technology tested Prototype built and functionality demonstrated through testing over a limited range of operating conditions. These tests can be done on a scaled version if scalable).
Main innovative features:
-
reverse engineering of variability models from multiple kinds of artefacts;
-
composition of multiple variability models (e.g., for combining different sources of variability);
-
slicing of variability model (e.g., for scheduling a configuration process in different steps);
-
support of advanced variability constructs (e.g., attributes, multi-features, meta-information);
-
Web-based, comprehensive environment (WebFML [42] ).
Impact:
The results are connected to the CVL standardization initiative. From a research perspective, FAMILIAR helps to support all the research activity on variability modeling (e.g., design of new operators, benchmarking). Several tutorials and tool demonstrations [42] , [25] have been performed at SPLC (the major conference in software product lines), at ECOOP, at CIEL and MODELS in 2012 and 2013. FAMILIAR is also used in the context of teaching activities. From an industrial perspective, the languages and tools have already been applied in practical contexts in different application domains (medical imaging, video surveillance, system engineering, web configurators, etc.) and for various purposes. This platform is also used for supporting industrial transfer activity with companies such as Thales. FAMILIAR is involved in several research projects (e.g., in the Merge ITEA project, in the MOTIV project, in the VaryMDE project).
FAMILIAR is distributed under the terms of the LGPL and EPL open source license.
See also the web page familiar-project.github.com .