Software Product Lines Online Tools Explained

Software Product Lines Online Tools (S.P.L.O.T.) is a set of research-oriented online tools for Software Product Lines (SPL) practitioners. S.P.L.O.T. was created by Marcilio Mendonca during his Ph.D. at the University of Waterloo, Canada, in 2008–2009. Since then, the academic website has been visited by numerous researchers and research groups worldwide thereby helping to advance the Software Product Lines field. S.P.L.O.T's source code (as well as its main library SPLAR) are freely available on GitHub and have been successfully extended by others to address different research needs.

Purpose

A common task in Software Product Lines is the analysis of feature models. Analysis tasks can include checking the validity of the feature model (i.e., whether the model has at least one valid configuration), counting valid configurations, detecting 'dead' features, and so on. S.P.L.O.T. offers an analysis tool that can help practitioners to analyse and reason on feature models.

Likewise, software variants in Software Product Lines can be configured by means of selecting/deselecting features in a feature model. This task can be tedious and time-consuming, especially in large scale, given that constraints in the feature model might prevent configuration actions. S.P.L.O.T. offers a configuration tool that supports semi-automatic feature model configuration. As features are selected/deselect in the model S.P.L.O.T. configurator automatically propagates decisions (i.e., further selection/deselection of features) to abide to the constraints in the model.

Resources

S.P.L.O.T. contains the world's largest repository of feature models thanks to the open model adopted allowing anyone to create and share a model with the SPL research community. As of March, 2015, more than 620 feature models are available for download on S.P.L.O.T.'s repository.

Many other tools are available to support Software Product Lines including FaMa, FeatureIDE, Pure::Variants, Ahead, and others. For a full list of available tools please check the feature model wiki page.

See also

References

External links