Version 77 (modified by acher, 7 years ago)



Feature models are a popular formalism for managing variability in software product lines (SPLs). Realistic SPLs involve the modeling of a large number of features to comprehensively represent different viewpoints, sub-systems or concerns of the software system. To manage complexity, there is a need to separate, inter-relate and compose several feature models while automating the reasoning on their compositions -- from validity checks to configuration process. We propose a Domain-Specific Language (DSL) that is dedicated to the management of feature models and that complements existing tool support.

The DSL, called FAMILIAR (for FeAture Model scrIpt Language for manIpulation and Automatic Reasoning), is an executable language that supports manipulating and reasoning about feature models. FAMILIAR is developed in Java language using  Xtext, a framework for development of DSLs. Off-the-shelf SAT solvers (i.e., SAT4J) and BDD library (i.e., JavaBDD) are internally used to perform FAMILIAR operations.

We provide an Eclipse text editor and an interpreter that executes the various scripts. The interpreter can be used in an interactive mode. We provide multiple notations for specifying feature models ( SPLOT,  GUIDSL/FeatureIDE, a subset of  TVL, etc.) The integration of the language to the  FeatureIDE environment has been done to support experimentation, e.g., all graphical edits are synchronized with variables environment and all interactive commands are synchronized with the graphical editors.


Have a look at the screencasts that demonstrate FAMILIAR in the Eclipse/FeatureIDE environment. Do not hesitate to contact us in case of questions or other requests.

NEWS: FAMILIAR will be part of a tutorial at  Software Product Line Conference 2012 (SPLC'12)!

FAMILIAR was at  ASE'11 conference for a tool demonstration and short paper presentation. New operators and applications have been presented! FAMILIAR has been presented in Belgium for  VaMoS 2011 (tool demonstration) and in Taiwan for  SAC 2011 (formal presentation).

FAMILIAR is under constant development and the current website is regularly updated.


replacing a subtree in a feature model

Managing Multiple SPL: a scenario

Other projects


Persons involved in the development of FAMILIAR are (in alphabetical order):

Do not hesitate to contact us in case of questions or other requests.


 Mathieu Acher,  Raphaël Michel,  Patrick Heymans Next-Generation Model-based Variability Management: Languages and Tools Tutorial In 16th International Conference on Software Product Line Conference (SPLC'12) 2012, to appear.

 Mathieu Acher,  Patrick Heymans,  Philippe Collet, Clément Quinton,  Philippe Lahire, and Philippe Merle. Feature Model Differences. In Proceedings of the 24th International Conference on Advanced Information Systems Engineering (CAiSE'12) 2012, to appear.

 Mathieu Acher,  Philippe Collet,  Philippe Lahire, and  Robert France. Separation of Concerns in Feature Modeling: Support and Applications. In Aspect-Oriented Software Development (AOSD) 2012, to appear. [ bib] [ pdf]

 Mathieu Acher Managing Multiple Feature Models: Foundations, Language, and Applications. PhD thesis, september 2011 [ pdf] [ bib]

 Mathieu Acher,  Philippe Collet,  Philippe Lahire, and  Robert France. Decomposing Feature Models: Language, Environment, and Applications. In 26th Automated Software Engineering (ASE), demonstration paper, Kansas (USA), November 2011. [ bib]

 Mathieu Acher,  Philippe Collet,  Philippe Lahire, and  Robert France. Slicing Feature Models. In 26th Automated Software Engineering (ASE), AR=22%, short paper, Kansas (USA), November 2011. [ pdf] [ bib]

 Mathieu Acher,  Anthony Cleve,  Philippe Collet,  Philippe Merle,  Laurence Duchien and  Philippe Lahire. Reverse Engineering Architectural Feature Models In 5th European Conference on Software Architecture (ECSA), AR=22%, long paper, page 16, Essen (Germany), September 2011. [ bib]

 Mathieu Acher,  Philippe Collet,  Philippe Lahire,  Sabine Moisan, and  Jean-Paul Rigault. Modeling Variability from Requirements to Runtime In Proceedings of 16th International Conference on Engineering of Complex Computer Systems (ICECCS) AR=31%, IEEE Computer Society, April 2011. [ bib] [ pdf]

 Mathieu Acher,  Philippe Collet,  Philippe Lahire, and  Robert France. Managing Feature Models with FAMILIAR: a Demonstration of the Language and its Tool Support. In Fifth International Workshop on Variability Modelling of Software-intensive Systems (VaMoS) AR=55%, ACM, Belgium, 27-29 january 2011 [ bib] [ pdf]

 Mathieu Acher,  Philippe Collet,  Philippe Lahire, and  Robert France. A Domain-Specific Language for Managing Feature Models In 26th Symposium on Applied Computing (SAC), Programming Languages Track, AR=33%, ACM, Taiwan, 21-25 march 2011 [ bib] [ pdf]

 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]

 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] [ pdf]

 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] [ pdf]

 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]

 Mathieu Acher,  Philippe Collet,  Franck Fleurey,  Philippe Lahire,  Sabine Moisan, and  Jean-Paul Rigault. Modeling Context and Dynamic Adaptations with Feature Models In 4th International Workshop Models@run.time at Models 2009 (MRT'09), page 10, October 2009. [ bib] | [ .pdf]

 Mathieu Acher,  Philippe Lahire,  Sabine Moisan, and  Jean-Paul Rigault. Tackling High Variability in Video Surveillance Systems through a Model Transformation Approach In Proceedings of the 2009 international workshop on Modeling in software engineering at ICSE 2009 (MiSE'09) AR=44%. IEEE Computer Society, May 2009. [ bib] | [ .pdf]