Skip to main content

Extensible Structural Analysis of Petri Net Product Lines

  • Chapter
  • First Online:
Transactions on Petri Nets and Other Models of Concurrency XV

Abstract

Petri nets are a popular formalism to represent concurrent systems. However, their standard form does not offer variability support to model and effectively analyse large sets of variants of a given system. For this purpose, we propose a notion of product line of Petri nets to represent a set of similar concurrent systems. The formalization enriches Petri nets with a feature model characterizing the variability of the systems. Moreover, places, transitions and arcs can define presence conditions that determine the subset of system variants they belong to.

To enable an efficient analysis of the set of all net variants, we have lifted several structural analysis methods for Petri nets, to the product line level. Currently, we support the lifted checking of the marked graph, state-machine, and (extended) free-choice properties, which avoids their analysis on each particular net of the product line in isolation.

We demonstrate the feasibility of our proposal using examples in the domain of flexible assembly lines, and introduce an extensible tool infrastructure. The tool is based on Eclipse and FeatureIDE, and permits adding new analysis methods externally. Moreover, we present an evaluation that shows the efficiency gains of our method with respect to an enumerative approach that analyses the properties on every net within the product line separately.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    See for example https://www.informatik.uni-hamburg.de/TGI/PetriNets/tools/.

  2. 2.

    The term 150% model is standard in software product lines. It refers to the fact that a single model contains many variants superimposed.

References

  1. van der Aalst, W.: Structural characterizations of sound workflow nets. Computing Science Reports 9263, Technische Universiteit Eindhoven (1996)

    Google Scholar 

  2. van der Aalst, W., Kindler, E., Desel, J.: Beyond asymmetric choice: a note on some extensions. Petri Net Newsl. 55, 3–13 (1998)

    Google Scholar 

  3. Apel, S., Batory, D., Kästner, C., Saake, G.: Feature-Oriented Software Product Lines - Concepts and Implementation. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-37521-7

    Book  Google Scholar 

  4. Benduhn, F., Thüm, T., Lochau, M., Leich, T., Saake, G.: A survey on modeling techniques for formal behavioral verification of software product lines. In: VaMoS, pp. 80:80–80:87. ACM (2015). https://doi.org/10.1145/2701319.2701332, http://doi.acm.org/10.1145/2701319.2701332

  5. Berre, D.L., Parrain, A.: The Sat4j library, release 2.2. JSAT 7(2–3), 59–64 (2010)

    Google Scholar 

  6. Berthelot, G.: Transformations and decompositions of nets. In: Brauer, W., Reisig, W., Rozenberg, G. (eds.) ACPN 1986. LNCS, vol. 254, pp. 359–376. Springer, Heidelberg (1987). https://doi.org/10.1007/978-3-540-47919-2_13

    Chapter  Google Scholar 

  7. Best, E.: Structure theory of petri nets: the free choice hiatus. In: Brauer, W., Reisig, W., Rozenberg, G. (eds.) ACPN 1986. LNCS, vol. 254, pp. 168–205. Springer, Heidelberg (1987). https://doi.org/10.1007/978-3-540-47919-2_8

    Chapter  Google Scholar 

  8. Classen, A., Cordy, M., Schobbens, P., Heymans, P., Legay, A., Raskin, J.: 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 

  9. Colom, J., Teruel, E., Silva, M.: Performance Models for Discrete Event Systems with Synchronisations: Formalisms and Analysis Techniques. Ed. KRONOS (1998)

    Google Scholar 

  10. Czarnecki, K., Pietroszek, K.: Verifying feature-based model templates against well-formedness OCL constraints. In: GPCE, pp. 211–220. ACM (2006)

    Google Scholar 

  11. Desel, J., Esparza, J.: Free Choice Petri Nets. Cambridge University Press, Cambridge (1995)

    Book  Google Scholar 

  12. Gómez-Martínez, E., de Lara, J., Guerra, E.: Towards extensible structural analysis of Petri net product lines. In: PNSE, vol. 2424, pp. 37–46. CEUR (2019)

    Google Scholar 

  13. Guerra, E., de Lara, J., Chechik, M., Salay, R.: Property satisfiability analysis for product lines of modelling languages. IEEE Trans. Softw. Eng. (2020, in press). https://doi.org/10.1109/TSE.2020.2989506

  14. Heuer, A., Stricker, V., Budnik, C.J., Konrad, S., Lauenroth, K., Pohl, K.: Defining variability in activity diagrams and Petri nets. Sci. Comput. Program. 78(12), 2414–2432 (2013)

    Article  Google Scholar 

  15. Kang, K., Cohen, S., Hess, J., Novak, W., Peterson, A.: Feature-oriented domain analysis (FODA) feasibility study. Technical report. CMU/SEI-90-TR-021, Software Engineering Institute, Carnegie Mellon University (1990)

    Google Scholar 

  16. Legay, A., Perrouin, G., Devroey, X., Cordy, M., Schobbens, P.-Y., Heymans, P.: On featured transition systems. In: Steffen, B., Baier, C., van den Brand, M., Eder, J., Hinchey, M., Margaria, T. (eds.) SOFSEM 2017. LNCS, vol. 10139, pp. 453–463. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-51963-0_35

    Chapter  Google Scholar 

  17. Liu, W., Wang, P., Du, Y., Zhou, M., Yan, C.: Extended logical Petri nets-based modeling and analysis of business processes. IEEE Access 5, 16829–16839 (2017)

    Article  Google Scholar 

  18. Llorens, M., Oliver, J.: Structural and dynamic changes in concurrent systems: reconfigurable Petri nets. IEEE Trans. Comput. 53(9), 1147–1158 (2004). https://doi.org/10.1109/TC.2004.66

  19. Meinicke, J., Thüm, T., Schröter, R., Benduhn, F., Leich, T., Saake, G.: Mastering Software Variability with FeatureIDE. Springer, Heidelberg (2017). https://doi.org/10.1007/978-3-319-61443-4

    Book  Google Scholar 

  20. Meyers, B., Mierlo, S.V., Maes, D., Vangheluwe, H.: Efficient software controller variant development and validation (ECoVaDeVa) overview of a flemish ICON project. In: STAF Co-Located Events, vol. 2405, pp. 49–54. CEUR (2019)

    Google Scholar 

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

    Article  Google Scholar 

  22. Muschevici, R., Clarke, D., Proença, J.: Feature petri nets. In: SPLC Workshops, pp. 99–106. Lancaster University (2010)

    Google Scholar 

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

    Article  MATH  Google Scholar 

  24. Nabi, H., Aized, T.: Modeling and analysis of carousel-based mixed-model flexible manufacturing system using colored Petri net. Adv. Mech. Eng. 11(12), 1–14 (2019)

    Article  Google Scholar 

  25. Northrop, L., Clements, P.: Software Product Lines: Practices and Patterns. Addison-Wesley Longman Publishing Co., Inc., Boston (2002)

    Google Scholar 

  26. Petri Net Markup Language. www.pnml.org

  27. Pohl, K., Böckle, G., van der Linden, F.: Software Product Line Engineering. Foundations Principles and Techniques. Springer, Heidelberg (2005). https://doi.org/10.1007/3-540-28901-1

    Book  MATH  Google Scholar 

  28. Rosa, M.L., van der Aalst, W., Dumas, M., Milani, F.: Business process variability modeling: a survey. ACM Comput. Surv. 50(1), 2:1–2:45 (2017)

    Article  Google Scholar 

  29. Seidl, C., Schaefer, I., Aßmann, U.: DeltaEcore - a model-based delta language generation framework. In: Modellierung. LNI, vol. 225, pp. 81–96. GI (2014)

    Google Scholar 

  30. Silva, M.: Half a century after Carl Adam Petri’s Ph.D. thesis: a perspective on the field. Ann. Rev. Control 37(2), 191–219 (2013). https://doi.org/10.1016/j.arcontrol.2013.09.001

  31. Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF: Eclipse Modeling Framework 2.0, 2nd edn. Addison-Wesley Professional, Boston (2009)

    Google Scholar 

  32. Teruel, E., Silva, M.: Structure theory of equal conflict systems. Theoret. Comput. Sci. 153(1&2), 271–300 (1996)

    Article  MathSciNet  Google Scholar 

  33. Thüm, T., Apel, S., Kästner, C., Schaefer, I., Saake, G.: A classification and survey of analysis strategies for software product lines. ACM Comput. Surv. 47(1), 6:1–6:45 (2014). https://doi.org/10.1145/2580950

    Article  Google Scholar 

  34. Tiplea, F., Jucan, T., Masalagiu, C.: Conditional Petri net languages. Elektronische Informationsverarbeitung und Kybernetik 27(1), 55–66 (1991)

    MATH  Google Scholar 

  35. Westergaard, M., Kristensen, L.M.: The Access/CPN framework: a tool for interacting with the CPN tools simulator. In: Franceschinis, G., Wolf, K. (eds.) PETRI NETS 2009. LNCS, vol. 5606, pp. 313–322. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-02424-5_19

    Chapter  Google Scholar 

Download references

Acknowledgments

Work funded by the Spanish Ministry of Science (RTI2018-095255-B-I00) and the R&D programme of Madrid (P2018/TCS-4314).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Elena Gómez-Martínez .

Editor information

Editors and Affiliations

Appendix

Appendix

This appendix lifts the analysis of the state-machine property. A state-machine (SM) is a subclass of Petri net where each transition t has exactly one input and one output place, while each place may have multiple input and output transitions. SMs allow representing decisions, but not the synchronization of concurrent activities.

Definition 13

(State-machine, from [21]). A Petri net \(PN=(P, T, A)\) is a state-machine, written \(PN \,\models \, SM\), if \(\forall t \in T:~|\,\!^\bullet {t}| = |{t}^\bullet | = 1\).

Next, we lift the definition of the SM property to the product line level. A PNPL is a strong (weak) SM if all (some) derivable nets are SMs.

Definition 14

(Strong and weak SM product line). A Petri net product line PNL is a strong state-machine iif \(\forall PN_{\rho } \in Prod(PNL):~PN_{\rho } \,\models \, SM\). PNL is a weak state-machine iif \(\exists PN_{\rho } \in Prod(PNL):~PN_{\rho } \,\models \, SM\).

Similar to the case of MGs, to ensure that all derivable nets are SMs, we check that the size of the lifted pre-set \(\,\!^\circ {t} = \{ (p_0, \varPhi _{(p_0, t)}), ..., (p_n, \varPhi _{(p_n, t)}) \}\) and the lifted post-set \({t}^\circ = \{ (p_0, \varPhi _{(t, p_0)}), ..., (p_n, \varPhi _{(t, p_n)}) \}\) of a transition t is one in every configuration. The size of the lifted pre-set \(\,\!^\circ {t}\) of a transition t is one if the following formula is true. The disjunction starts with false to consider the case when \(\,\!^\circ {t}\) is empty. The formula \(\varPhi _{{t}^\circ }\) to check that the size of the lifted post-set of a transition t is one is defined similarly.

$$\begin{aligned} \begin{aligned} \varPhi _{\,\!^\circ {t}} \triangleq&~false \\&~\vee ~(\varPhi _{(p_0, t)} \wedge \lnot \varPhi _{(p_1, t)} \wedge ... \wedge \lnot \varPhi _{(p_n, t)})\\&~\vee ~(\lnot \varPhi _{(p_0, t)} \wedge \varPhi _{(p_1, t)} \wedge ... \wedge \lnot \varPhi _{(p_n, t)})\\&~\vee ~... ~(\lnot \varPhi _{(p_0, t)} \wedge \lnot \varPhi _{(p_1, t)} \wedge ... \wedge \varPhi _{(p_n, t)}) \end{aligned} \end{aligned}$$
(7)

Hence, a PNPL includes some Petri net that is a SM if there is a feature configuration \(\rho \) such that for every transition t in the PNPL:

  • t is not in \(PN_{\rho }\), therefore \(\varPhi _t\) is false; or

  • t is in \(PN_{\rho }\), and therefore \(\varPhi _{\,\!^\circ {t}}\) and \(\varPhi _{{t}^\circ }\) need to be true.

Equation 8 shows the formula that captures the two previous conditions.

$$\begin{aligned} \varPhi _{SM} = \wedge _{t \in T}[\lnot \varPhi _t \vee (\varPhi _t \wedge \varPhi _{\,\!^\circ {t}} \wedge \varPhi _{{t}^\circ })] \end{aligned}$$
(8)

If there is a feature configuration such that \(SAT(\varPsi \) \(\wedge \varPhi _{SM})\) holds, then there is a derivable Petri net that is a SM, and the PNPL is a weak SM. On the contrary, the feature configurations that produce nets which are not SMs are those making the formula \(\lnot \varPhi _{SM}\) true. Hence, the PNPL is a strong SM if \(SAT (\varPsi \wedge \lnot \varPhi _{SM})\) does not hold.

Rights and permissions

Reprints and permissions

Copyright information

© 2021 Springer-Verlag GmbH Germany, part of Springer Nature

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Gómez-Martínez, E., de Lara, J., Guerra, E. (2021). Extensible Structural Analysis of Petri Net Product Lines. In: Koutny, M., Kordon, F., Pomello, L. (eds) Transactions on Petri Nets and Other Models of Concurrency XV. Lecture Notes in Computer Science(), vol 12530. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-63079-2_2

Download citation

  • DOI: https://doi.org/10.1007/978-3-662-63079-2_2

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-662-63078-5

  • Online ISBN: 978-3-662-63079-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics