Modular Modelling of Software Product Lines with Feature Nets

  • Radu Muschevici
  • José Proença
  • Dave Clarke
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7041)


Formal modelling and verification are critical for managing the inherent complexity of systems with a high degree of variability, such as those designed following the software product line (SPL) paradigm. SPL models tend to be large—the number of products in an SPL can be exponential in the number of features. Modelling these systems poses two main challenges. Firstly, a modular modelling formalism that scales well is required. Secondly, the ability to analyse and verify complex models efficiently is key in order to ensure that all products behave correctly. The choice of a system modelling formalism that is both expressive and well-established is therefore crucial. In this paper we show how SPLs can be modelled in an incremental, modular fashion using a formal method based on Petri nets. We continue our work on Feature Petri Nets, a lightweight extension to Petri nets, by presenting a framework for modularly constructing Feature Petri Nets to model SPLs.


Feature Selection Software Product Line Modular Modelling Brew Coffee Software Product Line Engineering 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Asirelli, P., ter Beek, M.H., Gnesi, S., Fantechi, A.: A deontic logical framework for modelling product families. In: Benavides et al. [3], pp. 37–44Google Scholar
  2. 2.
    Baldan, P., Corradini, A., Ehrig, H., Heckel, R.: Compositional semantics for open Petri nets based on deterministic processes. Mathematical Structures in Computer Science 15(01), 1–35 (2005)CrossRefzbMATHGoogle Scholar
  3. 3.
    Benavides, D., Batory, D.S., Grünbacher, P. (eds.): International Workshop on Variability Modelling of Software-Intensive Systems (VaMoS), vol. 37. Universität Duisburg-Essen (2010)Google Scholar
  4. 4.
    Berthelot, G.: Transformations and decompositions of nets. In: Brauer, W., Reisig, W., Rozenberg, G. (eds.) APN 1986, Part 1. LNCS, vol. 254, pp. 359–376. Springer, Heidelberg (1987)Google Scholar
  5. 5.
    Clarke, D.: Quality Assurance for Diverse Systems, ch. 5, pp. 27–37. Deliverable 1.2 of the EternalS Coordination Action (FP7-247758), supported by the 7th Framework Programme of the EC within the FET scheme (2011),
  6. 6.
    Classen, A., Heymans, P., Schobbens, P.Y., Legay, A., Raskin, J.F.: Model checking lots of systems: Efficient verification of temporal properties in software product lines. In: International Conference on Software Engineering, pp. 335–344. IEEE Press, Los Alamitos (2010)Google Scholar
  7. 7.
    Czarnecki, K., Antkiewicz, M.: Mapping features to models: A template approach based on superimposed variants. In: Glück, R., Lowry, M. (eds.) GPCE 2005. LNCS, vol. 3676, pp. 422–437. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  8. 8.
    Desel, J., Esparza, J.: Free choice Petri nets. Cambridge University Press, New York (1995)CrossRefzbMATHGoogle Scholar
  9. 9.
    Fantechi, A., Gnesi, S.: Formal modeling for product families engineering. In: International Software Product Line Conference, pp. 193–202. IEEE Press, Los Alamitos (2008)Google Scholar
  10. 10.
    Farooq, U., Lam, C.P., Li, H.: Transformation methodology for UML 2.0 activity diagram into colored Petri nets. In: Advances in Computer Science and Technology, pp. 128–133. ACTA Press (2007)Google Scholar
  11. 11.
    Fischbein, D., Uchitel, S., Braberman, V.: A foundation for behavioural conformance in software product line architectures. In: International Workshop on the Role of Software Architecture in Analysis and Testing, pp. 39–48. ACM Press, New York (2006)Google Scholar
  12. 12.
    Girault, C., Valk, R.: Petri Nets for System Engineering: A Guide to Modeling, Verification, and Applications. Springer, Secaucus (2001)zbMATHGoogle Scholar
  13. 13.
    Gruler, A., Leucker, M., Scheidemann, K.: Calculating and modeling common parts of software product lines. In: International Software Product Line Conference, pp. 203–212. IEEE Press, Los Alamitos (2008)Google Scholar
  14. 14.
    Gruler, A., Leucker, M., Scheidemann, K.: Modeling and model checking software product lines. In: Barthe, G., de Boer, F.S. (eds.) FMOODS 2008. LNCS, vol. 5051, pp. 113–131. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  15. 15.
    Larsen, K., Thomsen, B.: A modal process logic. In: Third Annual Symposium on Logic in Computer Science, pp. 203–210. IEEE Press, Los Alamitos (1988)CrossRefGoogle Scholar
  16. 16.
    Larsen, K., Nyman, U., Wąsowski, A.: Modal I/O automata for interface and product line theories. In: De Nicola, R. (ed.) ESOP 2007. LNCS, vol. 4421, pp. 64–79. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  17. 17.
    Murata, T.: Petri nets: Properties, analysis and applications. Proceedings of the IEEE 77(4), 541–580 (1989)CrossRefGoogle Scholar
  18. 18.
    Muschevici, R., Clarke, D., Proença, J.: Feature Petri Nets. In: International Software Product Line Conference, vol. 2, pp. 99–106. Lancaster University (2010)Google Scholar
  19. 19.
    Muschevici, R., Proença, J., Clarke, D.: Modular modelling of software product lines with feature nets. Tech. Rep. CW 609, KU Leuven, Belgium (2011),
  20. 20.
    Pohl, K., Böckle, G., van der Linden, F.: Software Product Line Engineering. Springer, Heidelberg (2005)CrossRefzbMATHGoogle Scholar
  21. 21.
    Schaefer, I.: Variability modelling for model-driven development of software product lines. In: Benavides, et al. [3], pp. 85–92Google Scholar
  22. 22.
    Schnoebelen, P., Sidorova, N.: Bisimulation and the reduction of Petri nets. In: Nielsen, M., Simpson, D. (eds.) ICATPN 2000. LNCS, vol. 1825, pp. 409–423. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  23. 23.
    Souissi, Y., Memmi, G.: Composition of nets via a communication medium. In: Rozenberg, G. (ed.) APN 1990. LNCS, vol. 483, pp. 457–470. Springer, Heidelberg (1991)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Radu Muschevici
    • 1
  • José Proença
    • 1
  • Dave Clarke
    • 1
  1. 1.DistriNet & IBBT, Dept. Computer ScienceKatholieke Universiteit LeuvenBelgium

Personalised recommendations