Skip to main content
Log in

Feature Nets: behavioural modelling of software product lines

  • Theme Section Paper
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16

Similar content being viewed by others

Notes

  1. This structural information is not specified by the FN. The features included in the SPL and their inter-dependencies are typically specified in a feature model. Feature Nets establish the connection to feature models by way of application conditions.

  2. http://www.mcrl2.org.

References

  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)

  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)

  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)

  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)

    Article  MathSciNet  MATH  Google Scholar 

  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)

  6. Berthelot, G.: Transformations and decompositions of nets. In: Petri Nets: Central Models and Their Properties, pp. 359–376. Springer (1987)

  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) scheme

  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)

    Article  Google Scholar 

  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)

    Article  Google Scholar 

  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)

    Article  Google Scholar 

  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)

  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)

  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. 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)

  15. Desel, J., Esparza, J.: Free choice Petri nets. Cambridge University Press, New York (1995)

    Book  MATH  Google Scholar 

  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)

  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)

  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)

  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)

  20. Girault, C., Valk, R.: Petri Nets for System Engineering: A Guide to Modeling, Verification, and Applications. Springer, Secaucus (2001)

    MATH  Google Scholar 

  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)

  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)

  23. Hallsteinsen, S., Hinchey, M., Park, S., Schmid, K.: Dynamic software product lines. IEEE Comput. 41(4), 93–95 (2008)

    Article  Google Scholar 

  24. Holzmann, G.J.: The SPIN Model Checker—Primer and Reference Manual. Addison-Wesley, Reading (2004)

    Google Scholar 

  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)

  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)

  27. Larsen, K., Thomsen, B.: A modal process logic. In: Third Annual Symposium on Logic in Computer Science, pp. 203–210. IEEE Press (1988)

  28. Lipton, R.: The reachability problem requires exponential space. In: Technical Report 62, Yale University (1976)

  29. Llorens, M., Oliver, J.: Structural and dynamic changes in concurrent systems: reconfigurable Petri nets. IEEE Trans. Comput. 53(9), 1147–1158 (2004)

    Article  Google Scholar 

  30. Murata, T.: Petri nets: properties, analysis and applications. Proc IEEE 77(4), 541–580 (1989)

    Article  Google Scholar 

  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)

  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)

  33. Pohl, K., Böckle, G., van der Linden, F.: Software Product Line Engineering. Springer, New York (2005)

    Book  MATH  Google Scholar 

  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. 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)

  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)

  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)

  38. Valk, R.: Self-modifying nets, a natural extension of Petri nets. Automata, Languages and Programming pp. 464–476 (1978)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Radu Muschevici.

Additional information

Communicated by Prof. Einar Broch Johnsen and Luigia Petre.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Muschevici, R., Proença, J. & Clarke, D. Feature Nets: behavioural modelling of software product lines. Softw Syst Model 15, 1181–1206 (2016). https://doi.org/10.1007/s10270-015-0475-z

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-015-0475-z

Keywords

Navigation