Algorithm to calculate, from a Feature Diagram, the total number of products of a SPL, the SPL homogeneity and the commonality of the SPL requirements
David Fernandez Amoros (1), Ruben Heradio Gil (2)
Universidad Nacional de Educacion a Distancia, Madrid, Spain
(1) david@lsi.uned.es
(2) rheradio@issi.uned.es

1. Introduction

This website includes an implementation of the algorithm proposed by David Fernandez and Ruben Heradio to calculate, from a Feature Diagram, the following information for Software Product Line (SPL) Economic Models: (a) the total number of products of a SPL, (b) the SPL homogeneity, and (c) the commonality of the SPL requirements [1, 2].

Figure 1 outlines our implementation, that is organized in three files:

  1. spl.c: a C implementation of our algorithm.

  2. spl_easy.rb: a ruby script that facilitates the writing of feature diagrams and their graphical representation (by generating input files to Graphviz: http://www.graphviz.org/).

  3. generator.c: a C generator of radomized feature diagramas.

 

Overview of our spl tools

Figure 1. Overview of our implementation.

2. License Agreement

Our algorithm is distributed under the terms of the GNU Lesser General Public License (LGPL). It is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. The algorithm is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details (http://www.gnu.org/licenses/lgpl.html).

3. Documentation

4. Source code

  1. spl.c. The number of products represented by a feature diagram may be huge. In order to manage such big numbers, spl.c requires the GNU MP Bignum Library, available on http://gmplib.org/

  2. spl_easy.rb

  3. generator.c

5. Binaries for Windows

  1. spl.exe

  2. spl_easy.exe

  3. generator.exe

6. References

[1] Heradio, R.; Fernandez, D. Towards a time-efficient algorithm to calculate the total number of products of a Software Product Line. 1st International Workshop on Domain Engineering. June 9th, 2009, Amsterdam, The Netherlands.

[2] Fernandez, D.; Heradio, R.; Cerrada, J. A. Inferring Information from Feature Diagrams to Product Line Economic Models. 13th International Software Product Line Conference, 2009.