The field of software product lines is about managing variations in software configuration. The control software systems installed in a car typically reflect the different options one may want on a car. The space of configuration is often ridiculously large. The system of a BMW line has more different configurations than the amount of atoms the Universe is made of.
Software product lines are classically represented as a tree using a simple visual language. Whereas efficient at specification time, this language has several shortcomings, including poor ability to scale and ineffectiveness at understanding a large description.
An ECOSud project has been granted by both the Chilean and the French national research agencies. The project involves the University of Chile and the Polytech Engineering school in Sophia Antipolis.
The topic of the project is to explore new ways to understand and verify large software product lines specified using the Familiar language [*]. First, a parser has been written using PetitParser. Second, a metamodelisation of the product lines has been made with Moose. The parser creates from a Familiar program an instance of the meta-model we designed. Glamour then gives us a navigation browser for free. Roassal is then used to visually represent a model structure and the result of their associated metrics.
A software product line specification involves many dimensions, e.g., the definition of a feature, interaction between features, constraints between group of features. All those dimensions cannot be effectively simultaneously explored. Roassal supports a large range of interactive visualization mechanisms to make a product line exploration effective.
The ECOSud project has been initiated in June 2012. It enables the mobility of researchers and will span until the end of next year. Stay tuned!
[*] Familiar: https://nyx.unice.fr/projects/familiar/