We work on an approach that leverages feature models for acquiring a compact representation of a set of valid configurations of a system in the form of a JavaBIP model used to control the software system at run time. The goal of this project is to propose and evaluate new approaches to the analysis of the impact of the feature model shape on the size of the Binary Decision Diagrams (BDDs) that encode it in JavaBIP (and thereby on the ensuing JavaBIP engine overhead).
Feature modeling is a widely used approach to capture commonalities and variability across software systems that are part of a product line or system family. In particular, such models specify the configurations of the system that are deemed valid. A key concern in that context is how to ensure that reconfiguration of a running software system only involves valid configurations? Of course, this does not only apply to the initial and target configurations: all intermediate configurations must also be valid according to the variability model.
In , we proposed an approach that leverages feature models for acquiring a compact representation of a set of valid configurations of a system in the form of a JavaBIP model used to control the software system at run time. The JavaBIP model runs alongside the software system, intercepts reconfiguration requests and enforces the constraints ensuring by construction that all intermediate configurations are safe.
To take the coordination decisions, the JavaBIP engine relies on the representatioon of the various constituents of the model in the form of Binary Decision Diagrams (BDDs) . The complexity of all the underlying operations depends on the size of these BDDs, which, in turn, depends on the input feature models. However, it turns out that this dependency is nontrivial: feature models with the same number of features can lead to very different results in terms of the JavaBIP engine overhead.
The goal of this project is to propose and evaluate new approaches to the analysis of the impact of the feature model shape on the size of the BDDs that encode it in JavaBIP. Such approaches could range from trial-and-observation experiments to the application of machine learning techniques, e.g. generating a large set of input feature models and clustering them according to the engine overhead.
Good analytical skills will definitely be required. The candidate must have good understanding of discrete maths, in particular logics and finite automata.
The internship will be carried out in the Spirals project team at Inria Lille – Nord Europe under supervision by Simon Bliudze, Salman Farhat, and Olga Kouchnarenko (FEMTO-ST institute).
Contact and application
For additional information and to apply please send an e-mail to Simon Bliudze (in English or French) with the subject "FMs vs BDDs project".
- S. Farhat, S. Bliudze and L. Duchien, “Safe Dynamic Reconfiguration of Concurrent Component-based Applications,” 2022 IEEE 19th International Conference on Software Architecture Companion (ICSA-C), 2022, pp. 108–111, doi: 10.1109/ICSA-C54293.2022.00027.
- S. B. Akers, “Binary Decision Diagrams,” in IEEE Transactions on Computers, vol. C-27, no. 6, pp. 509–516, June 1978, doi: 10.1109/TC.1978.1675141.