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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
See for example https://www.informatik.uni-hamburg.de/TGI/PetriNets/tools/.
- 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
van der Aalst, W.: Structural characterizations of sound workflow nets. Computing Science Reports 9263, Technische Universiteit Eindhoven (1996)
van der Aalst, W., Kindler, E., Desel, J.: Beyond asymmetric choice: a note on some extensions. Petri Net Newsl. 55, 3–13 (1998)
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
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
Berre, D.L., Parrain, A.: The Sat4j library, release 2.2. JSAT 7(2–3), 59–64 (2010)
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
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
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)
Colom, J., Teruel, E., Silva, M.: Performance Models for Discrete Event Systems with Synchronisations: Formalisms and Analysis Techniques. Ed. KRONOS (1998)
Czarnecki, K., Pietroszek, K.: Verifying feature-based model templates against well-formedness OCL constraints. In: GPCE, pp. 211–220. ACM (2006)
Desel, J., Esparza, J.: Free Choice Petri Nets. Cambridge University Press, Cambridge (1995)
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)
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
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)
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)
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
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)
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
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
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)
Murata, T.: Petri nets: properties, analysis and applications. Proc. IEEE 77(4), 541–580 (1989)
Muschevici, R., Clarke, D., Proença, J.: Feature petri nets. In: SPLC Workshops, pp. 99–106. Lancaster University (2010)
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
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)
Northrop, L., Clements, P.: Software Product Lines: Practices and Patterns. Addison-Wesley Longman Publishing Co., Inc., Boston (2002)
Petri Net Markup Language. www.pnml.org
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
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)
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)
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
Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF: Eclipse Modeling Framework 2.0, 2nd edn. Addison-Wesley Professional, Boston (2009)
Teruel, E., Silva, M.: Structure theory of equal conflict systems. Theoret. Comput. Sci. 153(1&2), 271–300 (1996)
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
Tiplea, F., Jucan, T., Masalagiu, C.: Conditional Petri net languages. Elektronische Informationsverarbeitung und Kybernetik 27(1), 55–66 (1991)
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
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
Corresponding author
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.
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.
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
Copyright information
© 2021 Springer-Verlag GmbH Germany, part of Springer Nature
About this chapter
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)