Software & Systems Modeling

, Volume 15, Issue 4, pp 1181–1206 | Cite as

Feature Nets: behavioural modelling of software product lines

Theme Section Paper

Abstract

Software product lines (SPLs) are diverse systems that are developed using a dual engineering process: (a) family engineering defines the commonality and variability among all members of the SPL, and (b) application engineering derives specific products based on the common foundation combined with a variable selection of features. The number of derivable products in an SPL can thus be exponential in the number of features. This inherent complexity poses two main challenges when it comes to modelling: firstly, the formalism used for modelling SPLs needs to be modular and scalable. Secondly, it should ensure that all products behave correctly by providing the ability to analyse and verify complex models efficiently. In this paper, we propose to integrate an established modelling formalism (Petri nets) with the domain of software product line engineering. To this end, we extend Petri nets to Feature Nets. While Petri nets provide a framework for formally modelling and verifying single software systems, Feature Nets offer the same sort of benefits for software product lines. We show how SPLs can be modelled in an incremental, modular fashion using Feature Nets, provide a Feature Nets variant that supports modelling dynamic SPLs, and propose an analysis method for SPL modelled as Feature Nets. By facilitating the construction of a single model that includes the various behaviours exhibited by the products in an SPL, we make a significant step towards efficient and practical quality assurance methods for software product lines.

Keywords

Behavioural modelling  Software product lines Petri nets Variability 

References

  1. 1.
    Agerwala, T., Flynn, M.: Comments on capabilities, limitations and “correctness” of Petri nets. In: 1st Annual Symposium on Computer Architecture Proceedings, ISCA ’73, pp. 81–86. ACM Press (1973)Google Scholar
  2. 2.
    Asirelli, P., Beek, M., Fantechi, A., Gnesi, S.: A logical framework to deal with variability. In: Integrated Formal Methods, LNCS, vol. 6396, pp. 43–58. Springer (2010)Google Scholar
  3. 3.
    Asirelli, P., Beek, M., Fantechi, A., Gnesi, S.: A compositional framework to derive product line behavioural descriptions. In: Leveraging Applications of Formal Methods, Verification and Validation. Technologies for Mastering Change, LNCS, vol. 7609, pp. 146–161. Springer (2012)Google Scholar
  4. 4.
    Baldan, P., Corradini, A., Ehrig, H., Heckel, R.: Compositional semantics for open Petri nets based on deterministic processes. Math. Struct. Comput. Sci. 15(01), 1–35 (2005)MathSciNetCrossRefMATHGoogle Scholar
  5. 5.
    ter Beek, M.H., de Vink, E.P.: Towards modular verification of software product lines with mCRL2. In: Leveraging Applications of Formal Methods, Verification and Validation. Technologies for Mastering Change, LNCS, vol. 8802, pp. 368–385. Springer (2014)Google Scholar
  6. 6.
    Berthelot, G.: Transformations and decompositions of nets. In: Petri Nets: Central Models and Their Properties, pp. 359–376. Springer (1987)Google Scholar
  7. 7.
    Clarke, D.: Quality Assurance for Diverse Systems, chap. 5, pp. 27–37 (2011). Deliverable 1.2 of the Eternals Coordination Action (FP7-247758), supported by the 7th Framework Programme of the EC within the FET (Future and Emerging Technologies) schemeGoogle Scholar
  8. 8.
    Classen, A., Cordy, M., Heymans, P., Legay, A., Schobbens, P.Y.: Model checking software product lines with SNIP. J. Softw. Tools Technol. Transf. 14(5), 589–612 (2012)CrossRefGoogle Scholar
  9. 9.
    Classen, A., Cordy, M., Heymans, P., Legay, A., Schobbens, P.Y.: Formal semantics, modular specification, and symbolic verification of product-line behaviour. Sci. Comput. Program. 80, 416–439 (2014)CrossRefGoogle Scholar
  10. 10.
    Classen, A., Cordy, M., Schobbens, P.Y., Heymans, P., Legay, A., Raskin, J.F.: Featured transition systems: foundations for verifying variability-intensive systems and their application to LTL model checking. IEEE Trans. Softw. Eng. 39(8), 1069–1089 (2013)CrossRefGoogle Scholar
  11. 11.
    Cordy, M., Classen, A., Heymans, P., Legay, A., Schobbens, P.Y.: Model checking adaptive software with featured transition systems. In: Assurances for Self-Adaptive Systems, LNCS, vol. 7740, pp. 1–29. Springer (2013)Google Scholar
  12. 12.
    Cranen, S., Groote, J.F., Keiren, J.J.A., Stappers, F.P.M., de Vink, E.P., Wesselink, W., Willemse, T.A.C.: An overview of the mCRL2 toolset and its recent advances. In: N. Piterman, S.A. Smolka (eds.) TACAS, Lecture Notes in Computer Science, vol. 7795, pp. 199–213. Springer (2013)Google Scholar
  13. 13.
    Tiplea, F.L.: On conditional grammars and conditional Petri nets, pp. 431–455. World Scientific Publishing Co., Inc, River Edge (1994)Google Scholar
  14. 14.
    Czarnecki, K., Antkiewicz, M.: Mapping features to models: A template approach based on superimposed variants. In: Generative Programming and Component Engineering, LNCS, vol. 3676, pp. 422–437. Springer (2005)Google Scholar
  15. 15.
    Desel, J., Esparza, J.: Free choice Petri nets. Cambridge University Press, New York (1995)CrossRefMATHGoogle Scholar
  16. 16.
    Fantechi, A., Gnesi, S.: Formal modeling for product families engineering. In: International Software Product Line Conference, SPLC ’08, pp. 193–202. IEEE Press (2008)Google Scholar
  17. 17.
    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
  18. 18.
    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 (2006)Google Scholar
  19. 19.
    Ghabri, M.K., Ladet, P.: Dynamic Petri nets and their applications. In: International Conference on Computer Integrated Manufacturing and Automation Technology, pp. 93–98 (1994)Google Scholar
  20. 20.
    Girault, C., Valk, R.: Petri Nets for System Engineering: A Guide to Modeling, Verification, and Applications. Springer, Secaucus (2001)MATHGoogle Scholar
  21. 21.
    Gruler, A., Leucker, M., Scheidemann, K.: Calculating and modeling common parts of software product lines. In: International Software Product Line Conference, SPLC ’08, pp. 203–212. IEEE Press (2008)Google Scholar
  22. 22.
    Gruler, A., Leucker, M., Scheidemann, K.: Modeling and model checking software product lines. In: International Conference on Formal Methods for Open Object-Based Distributed Systems, LNCS, vol. 5051, pp. 113–131. Springer (2008)Google Scholar
  23. 23.
    Hallsteinsen, S., Hinchey, M., Park, S., Schmid, K.: Dynamic software product lines. IEEE Comput. 41(4), 93–95 (2008)CrossRefGoogle Scholar
  24. 24.
    Holzmann, G.J.: The SPIN Model Checker—Primer and Reference Manual. Addison-Wesley, Reading (2004)Google Scholar
  25. 25.
    Kästner, C., Apel, S., Kuhlemann, M.: Granularity in software product lines. In: ICSE ’08: Proceedings of the 30th International Conference on Software Engineering, pp. 311–320. ACM Press (2008)Google Scholar
  26. 26.
    Larsen, K., Nyman, U., Wa̧sowski, A.: Modal I/O automata for interface and product line theories. In: Programming Languages and Systems, LNCS, vol. 4421, pp. 64–79. Springer (2007)Google Scholar
  27. 27.
    Larsen, K., Thomsen, B.: A modal process logic. In: Third Annual Symposium on Logic in Computer Science, pp. 203–210. IEEE Press (1988)Google Scholar
  28. 28.
    Lipton, R.: The reachability problem requires exponential space. In: Technical Report 62, Yale University (1976)Google Scholar
  29. 29.
    Llorens, M., Oliver, J.: Structural and dynamic changes in concurrent systems: reconfigurable Petri nets. IEEE Trans. Comput. 53(9), 1147–1158 (2004)CrossRefGoogle Scholar
  30. 30.
    Murata, T.: Petri nets: properties, analysis and applications. Proc IEEE 77(4), 541–580 (1989)CrossRefGoogle Scholar
  31. 31.
    Muschevici, R., Clarke, D., Proença, J.: Feature Petri Nets. In: Workshop on Formal Methods and Analysis in Software Product Line Engineering, SPLC ’10, vol. 2, pp. 99–106. Lancaster University (2010) Google Scholar
  32. 32.
    Muschevici, R., Proença, J., Clarke, D.: Modular modelling of software product lines with Feature Nets. In: Software Engineering and Formal Methods, LNCS, vol. 7041, pp. 318–333. Springer (2011)Google Scholar
  33. 33.
    Pohl, K., Böckle, G., van der Linden, F.: Software Product Line Engineering. Springer, New York (2005)CrossRefMATHGoogle Scholar
  34. 34.
    Schaefer, I.: Variability modelling for model-driven development of software product lines. In: Benavides, D., Batory, D.S., Grünbacher, P. (eds.) International Workshop on Variability Modelling of Software-Intensive Systems, vol. 37, pp. 85–92. Universität Duisburg-Essen, Linz (2010)Google Scholar
  35. 35.
    Schaefer, I., Bettini, L., Damiani, F., Tanzarella, N.: Delta-oriented programming of software product lines. In: International Software Product Line Conference, SPLC ’10, pp. 77–91. Springer (2010)Google Scholar
  36. 36.
    Schnoebelen, P., Sidorova, N.: Bisimulation and the reduction of Petri nets. In: Application and Theory of Petri Nets, LNCS, vol. 1825, pp. 409–423. Springer (2000)Google Scholar
  37. 37.
    Souissi, Y., Memmi, G.: Composition of nets via a communication medium. In: Advances in Petri Nets, LNCS, vol. 483, pp. 457–470. Springer (1991)Google Scholar
  38. 38.
    Valk, R.: Self-modifying nets, a natural extension of Petri nets. Automata, Languages and Programming pp. 464–476 (1978)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2015

Authors and Affiliations

  • Radu Muschevici
    • 1
  • José Proença
    • 2
    • 3
  • Dave Clarke
    • 2
    • 4
  1. 1.Department of Computer ScienceTU DarmstadtDarmstadtGermany
  2. 2.iMinds-DistrinetKU LeuvenLeuvenBelgium
  3. 3.HASLab/INESC TECUniversidade do MinhoBragaPortugal
  4. 4.Department of Information TechnologyUppsala UniversityUppsalaSweden

Personalised recommendations