Nothing Special   »   [go: up one dir, main page]

Skip to main content

Place Bisimulation and Liveness for Open Petri Nets

  • Conference paper
  • First Online:
Dependable Software Engineering: Theories, Tools, and Applications (SETTA 2016)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 9984))

Abstract

Petri nets are a kind of concurrent models for distributed and asynchronous systems. However they can only model closed systems, but not open ones. We extend Petri nets to model open systems. In Open Petri Nets, the way of interaction is achieved by composing nets. Some places with labels, called open or external, are considered as an interface with environment. Every external places are both input and output ones. Two such open Petri nets can be composed by joining the external places with the same label. In addition, we focus on the operational semantics of open nets and study observational properties, especially bisimulation properties. We define place bisimulations on nets with external places. It turns out that the largest bisimulation, i.e. the bisimilarity, is a congruence. A further result is that liveness is preserved by bisimilarity.

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

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

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

Similar content being viewed by others

References

  1. van der Aalst, W.M.P.: Pi calculus versus petri nets: let us eat humble pie rather than further inflate the pi hype (2003)

    Google Scholar 

  2. Baldan, P., Bonchi, F., Gadducci, F.: Encoding asynchronous interactions using open petri nets. In: Bravetti, M., Zavattaro, G. (eds.) CONCUR 2009. LNCS, vol. 5710, pp. 99–114. Springer, Heidelberg (2009). doi:10.1007/978-3-642-04081-8_8

    Chapter  Google Scholar 

  3. Baldan, P., Corradini, A., Ehrig, H., Heckel, R.: Compositional modeling of reactive systems using open nets. In: Larsen, K.G., Nielsen, M. (eds.) CONCUR 2001. LNCS, vol. 2154, pp. 502–518. Springer, Heidelberg (2001). doi:10.1007/3-540-44685-0_34

    Chapter  Google Scholar 

  4. Baldan, P., Corradini, A., Ehrig, H., Heckel, R.: Compositional semantics for open petri nets based on deterministic processes. Math. Struct. Comput. Sci. 15(1), 1–35 (2005)

    Article  MathSciNet  MATH  Google Scholar 

  5. Baldan, P., Corradini, A., Ehrig, H., Heckel, R., König, B.: Bisimilarity and behaviour-preserving reconfigurations of open petri nets. In: Mossakowski, T., Montanari, U., Haveraaen, M. (eds.) CALCO 2007. LNCS, vol. 4624, pp. 126–142. Springer, Heidelberg (2007). doi:10.1007/978-3-540-73859-6_9

    Chapter  Google Scholar 

  6. Baldan, P., Corradini, A., Ehrig, H., König, B.: Open petri nets: non-deterministic processes and compositionality. In: Ehrig, H., Heckel, R., Rozenberg, G., Taentzer, G. (eds.) ICGT 2008. LNCS, vol. 5214, pp. 257–273. Springer, Heidelberg (2008). doi:10.1007/978-3-540-87405-8_18

    Chapter  Google Scholar 

  7. Best, E., Devillers, R., Hall, J.G.: The box calculus: a new causal algebra with multi-label communication. In: Rozenberg, G. (ed.) Advances in Petri Nets 1992. LNCS, vol. 609, pp. 21–69. Springer, Heidelberg (1992). doi:10.1007/3-540-55610-9_167

    Chapter  Google Scholar 

  8. Best, E., Devillers, R., Koutny, M.: A unified model for nets and process algebras. In: Bergstra, J., Ponse, A., Smolka, S. (eds.) Handbook of Process Algebra, pp. 875–944. Elsevier Science, Amsterdam (2001)

    Google Scholar 

  9. Busi, N., Gorrieri, R.: A Petri net semantics for pi-calculus. In: Lee, I., Smolka, S.A. (eds.) CONCUR 1995. LNCS, vol. 962, pp. 145–159. Springer, Heidelberg (1995). doi:10.1007/3-540-60218-6_11

    Chapter  Google Scholar 

  10. Busi, N., Gorrieri, R.: Distributed semantics for the -calculus based on Petri nets with inhibitor arcs. J. Logic Algebraic Programm. 78(3), 138–162 (2009)

    Article  MathSciNet  MATH  Google Scholar 

  11. Bergstra, J.A., Klop, J.W.: The algebra of recursively defined processes and the algebra of regular processes. In: Paredaens, J. (ed.) ICALP 1984. LNCS, vol. 172, pp. 82–94. Springer, Heidelberg (1984). doi:10.1007/3-540-13345-3_7

    Chapter  Google Scholar 

  12. Cao, M., Wu, Z., Yang, G.: Pi net - a new modular higher petri net. J. Shanghai Jiaotong Univ. 38(1), 52–58 (2004). in Chinese

    MathSciNet  Google Scholar 

  13. Devillers, R., Klaudel, H., Koutny, M.: Petri net semantics of the finite pi-calculus. In: Frutos-Escrig, D., Núñez, M. (eds.) FORTE 2004. LNCS, vol. 3235, pp. 309–325. Springer, Heidelberg (2004). doi:10.1007/978-3-540-30232-2_20

    Chapter  Google Scholar 

  14. Degano, P., Nicola, R.D., Montanari, U.: A distributed operational semantics for CCS based on C/E systems. Acta Informatica 26(1–2), 59–91 (1988)

    Article  MathSciNet  MATH  Google Scholar 

  15. Fu, Y., Lv, H.: On the expressiveness of interaction. Theoret. Comput. Sci. 411, 1387–1451 (2010)

    Article  MathSciNet  MATH  Google Scholar 

  16. Fu, Y.: Theory of interaction. Theoret. Comput. Sci. 611, 1–49 (2016)

    Article  MathSciNet  MATH  Google Scholar 

  17. Guo, X., Hao, K., Hou, H., Ding, J.: The representation of petri nets with prohibition arcs by Pi+ calculus. J. Syst. Simul. S2, 9–12 (2002)

    Google Scholar 

  18. Goltz, U.: CCS and petri nets. In: Guessarian, I. (ed.) LITP 1990. LNCS, vol. 469, pp. 334–357. Springer, Heidelberg (1990). doi:10.1007/3-540-53479-2_14

    Chapter  Google Scholar 

  19. Hao, K.: Open nets - a model for interative concurrent systems. J. Northwest Univ. (Nat. Sci. Ed.) 27(6), 461–466 (1997)

    Google Scholar 

  20. Hoare, C.A.R.: Communicating Sequential Processes. Commun. ACM 21(8), 666–677 (1978)

    Article  MATH  Google Scholar 

  21. Koutny, M., Best, E.: Operational and denotational semantics for the box algebra. Theoret. Comput. Sci. 211(1–2), 1–83 (1999)

    Article  MathSciNet  MATH  Google Scholar 

  22. Koutny, M., Esparza, J., Best, E.: Operational semantics for the petri box calculus. In: Jonsson, B., Parrow, J. (eds.) CONCUR 1994. LNCS, vol. 836, pp. 210–225. Springer, Heidelberg (1994). doi:10.1007/978-3-540-48654-1_19

    Chapter  Google Scholar 

  23. Kindler, E.: A compositional partial order semantics for Petri net components. In: Azéma, P., Balbo, G. (eds.) ICATPN 1997. LNCS, vol. 1248, pp. 235–252. Springer, Heidelberg (1997). doi:10.1007/3-540-63139-9_39

    Chapter  Google Scholar 

  24. Liu, G., Jiang, C., Zhou, M.: Interactive petri nets. IEEE Trans. Syst. Man Cybern. Syst. 43(2), 291–302 (2013)

    Article  Google Scholar 

  25. Milner, R.: A Calculus of Communicating systems. LNCS. Springer, Berlin (1980)

    Book  MATH  Google Scholar 

  26. Meseguer, J., Montanari, U.: Petri nets are monoids. Inf. Comput. 88, 105–155 (1990)

    Article  MathSciNet  MATH  Google Scholar 

  27. Milner, R., Parrow, J., Walker, D.: A calculus of mobile processes. Inf. Comput. 100, 1–40(Part I), 41–77 (Part II) (1992)

    Google Scholar 

  28. Nielsen, M.: CCS — and its relationship to net theory. In: Brauer, W., Reisig, W., Rozenberg, G. (eds.) ACPN 1986. LNCS, vol. 255, pp. 393–415. Springer, Heidelberg (1987). doi:10.1007/3-540-17906-2_32

    Chapter  Google Scholar 

  29. Nielsen, M., Priese, L., Sassone, V.: Characterizing behavioural congruences for Petri nets. In: Lee, I., Smolka, S.A. (eds.) CONCUR 1995. LNCS, vol. 962, pp. 175–189. Springer, Heidelberg (1995). doi:10.1007/3-540-60218-6_13

    Chapter  Google Scholar 

  30. Peterson, J.L.: Petri Net Theory and the Modelling of Systems. Prentice Hall, Englewood Cliffs (1981)

    MATH  Google Scholar 

  31. Priese, L., Wimmel, H.: A uniform approach to true-concurrency and interleaving semantics for Petri nets. Theoret. Comput. Sci. 206(1–2), 219–256 (1998)

    Article  MathSciNet  MATH  Google Scholar 

  32. Winskel, G.: Event structures. In: Brauer, W., Reisig, W., Rozenberg, G. (eds.) ACPN 1986. LNCS, vol. 255, pp. 325–392. Springer, Heidelberg (1987). doi:10.1007/3-540-17906-2_31

    Chapter  Google Scholar 

  33. Yu, Z., Cai, Y., Xu, H.: Petri net semantics for Pi Calculus. Control Decis. 22(8), 864–868 (2007). in Chinese

    MathSciNet  Google Scholar 

Download references

Acknowledgments

The work is supported by the National Nature Science Foundation of China(61472239, 61100053). The authors would like to thank the unknown reviewers for the comments.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Xiaoju Dong .

Editor information

Editors and Affiliations

Appendix

Appendix

Theorem 3

The equivalence \(\approx \) is a congruence.

Proof

Suppose \(N_{1}\approx N_{2}\). Then \(N_{1}\,|\,N_{0} \approx N_{2}\,|\,N_{0}\) and \((x)N_{1}\approx (x)N_{2}\).

  1. 1.

    Suppose \(\mathcal{R}=\{(N_{1}\,|\,N_{0}, N_{2}\,|\,N_{0})\mid N_{1}\approx N_{2}\}\). Then \(\mathcal R\) is a bisimulation. Let \(N_{10}\) and \(N_{20}\) denote \(N_{1}\,|\,N_{0}\) and \(N_{2}\,|\,N_{0}\) respectively. \(N_{10}=\langle P_{N_{10}},T_{N_{10}},F_{N_{10}},K_{N_{10}},W_{N_{10}},L_{N_{10}},M_{N_{10}}\rangle \), where

    • \(P_{N_{10}}=P_{N_{10}}^{i} \cup P_{N_{10}}^{e}\) where

      $$\begin{aligned} P_{N_{10}}^{i}= & {} P_{N_{1}}^{i}\cup P_{N_{0}}^{i} \end{aligned}$$
      (8)
      $$\begin{aligned} P_{N_{10}}^{e}= & {} P_{N_{1}\setminus N_{0}}^{e} \cup P_{N_{0}\setminus N_{1}}^{e} \cup P_{N_{1}\cap N_{0}} \end{aligned}$$
      (9)
    • \(T_{N_{10}}=T_{N_{1}}\cup T_{N_{0}}\);

    • \(F_{N_{10}}\) is the following relation

      $$\begin{array}{l} F_{N_{1}}\upharpoonright P_{N_{1}\setminus N_{0}} \cup F_{N_{0}}\upharpoonright P_{N_{0}\setminus N_{1}} \\ \cup \{\langle \langle s_{1},s_{0}\rangle ,t\rangle \mid \langle s_{1},t\rangle \in F_{N_{1}}, \langle s_{1},s_{0}\rangle \in P_{N_{1}\cap N_{0}}\} \\ \cup \{\langle t,\langle s_{1},s_{0}\rangle \rangle \mid \langle t,s_{1}\rangle \in F_{N_{1}}, \langle s_{1},s_{0}\rangle \in P_{N_{1}\cap N_{0}}\} \\ \cup \{\langle \langle s_{1},s_{0}\rangle ,t\rangle \mid \langle s_{0},t\rangle \in F_{N_{0}}, \langle s_{1},s_{0}\rangle \in P_{N_{1}\cap N_{0}}\} \\ \cup \{\langle t,\langle s_{1},s_{0}\rangle \rangle \mid \langle t,s_{0}\rangle \in F_{N_{0}}, \langle s_{1},s_{0}\rangle \in P_{N_{1}\cap N_{0}}\} \end{array}$$
    • \(W_{N_{10}}\) is the function defined as follows:

      $$W_{N_{10}}(\langle s,t\rangle )=\left\{ \begin{array}{ll} W_{N_{1}}(\langle s,t\rangle ), &{} \mathrm{if}\ s\in P_{N_{1}\setminus N_{0}} \\ W_{N_{0}}(\langle s,t\rangle ), &{} \mathrm{if}\ s\in P_{N_{0}\setminus N_{1}} \\ W_{N_{1}}(\langle s_{1},t\rangle ) &{} \\ \ \ \ \ \ \ \ \ \ + \ \ \ \ \ \ \ \ \ , &{} \mathrm{if}\ s=\langle s_{1},s_{0}\rangle \\ W_{N_{0}}(\langle s_{0},t\rangle ) &{} \end{array}\right. $$

      and

      $$W_{N_{10}}(\langle t,s\rangle )=\left\{ \begin{array}{ll} W_{N_{1}}(\langle t,s\rangle ), &{} \mathrm{if}\ s\in P_{N_{1}\setminus N_{0}} \\ W_{N_{0}}(\langle t,s\rangle ), &{} \mathrm{if}\ s\in P_{N_{0}\setminus N_{1}} \\ W_{N_{1}}(\langle t,s_{1}\rangle ) &{} \\ \ \ \ \ \ \ \ \ \ + \ \ \ \ \ \ \ \ \ , &{} \mathrm{if}\ s=\langle s_{1},s_{0}\rangle \\ W_{N_{0}}(\langle t,s_{0}\rangle ) &{} \end{array}\right. $$
    • \(L_{N_{10}}\) is the function defined as follows:

      $$L_{N_{10}}(s)=\left\{ \begin{array}{ll} L_{N_{1}}(s), &{} \mathrm{if}\ s\in P_{N_{1}\setminus N_{0}} \\ L_{N_{0}}(s), &{} \mathrm{if}\ s\in P_{N_{0}\setminus N_{1}} \\ L_{N_{1}}(s_{1}), &{} \mathrm{if}\ s=\langle s_{1},s_{0}\rangle \end{array}\right. $$
    • \(M_{N_{10}}\) is the function defined as follows:

      $$M_{N_{10}}(s)=\left\{ \begin{array}{ll} M_{N_{1}}(s), &{} \mathrm{if}\ s\in P_{N_{1}\setminus N_{0}} \\ M_{N_{0}}(s), &{} \mathrm{if}\ s\in P_{N_{0}\setminus N_{1}} \\ M_{N_{1}}(s_{1}){+}M_{N_{0}}(s_{0}), &{} \mathrm{if}\ s=\langle s_{1},s_{0}\rangle \end{array}\right. $$

\(N_{20}=\langle P_{N_{20}},T_{N_{20}},F_{N_{20}},K_{N_{20}},W_{N_{20}},L_{N_{20}},M_{N_{20}}\rangle \), where

  • \(P_{N_{20}}=P_{N_{20}}^{i} \cup P_{N_{20}}^{e}\) where

    $$\begin{aligned} P_{N_{20}}^{i}= & {} P_{N_{2}}^{i}\cup P_{N_{0}}^{i} \end{aligned}$$
    (10)
    $$\begin{aligned} P_{N_{20}}^{e}= & {} P_{N_{2}\setminus N_{0}}^{e} \cup P_{N_{0}\setminus N_{2}}^{e} \cup P_{N_{2}\cap N_{0}} \end{aligned}$$
    (11)
  • \(T_{N_{20}}=T_{N_{2}}\cup T_{N_{0}}\);

  • \(F_{N_{20}}\) is the following relation

    $$\begin{array}{l} F_{N_{2}}\upharpoonright P_{N_{2}\setminus N_{0}} \cup F_{N_{0}}\upharpoonright P_{N_{0}\setminus N_{2}} \\ \cup \{\langle \langle s_{2},s_{0}\rangle ,t\rangle \mid \langle s_{2},t\rangle \in F_{N_{2}}, \langle s_{2},s_{0}\rangle \in P_{N_{2}\cap N_{0}}\} \\ \cup \{\langle t,\langle s_{2},s_{0}\rangle \rangle \mid \langle t,s_{2}\rangle \in F_{N_{2}}, \langle s_{2},s_{0}\rangle \in P_{N_{2}\cap N_{0}}\} \\ \cup \{\langle \langle s_{2},s_{0}\rangle ,t\rangle \mid \langle s_{0},t\rangle \in F_{N_{0}}, \langle s_{2},s_{0}\rangle \in P_{N_{2}\cap N_{0}}\} \\ \cup \{\langle t,\langle s_{2},s_{0}\rangle \rangle \mid \langle t,s_{0}\rangle \in F_{N_{0}}, \langle s_{2},s_{0}\rangle \in P_{N_{2}\cap N_{0}}\} \end{array}$$
  • \(W_{N_{20}}\) is the function defined as follows:

    $$W_{N_{20}}(\langle s,t\rangle )=\left\{ \begin{array}{ll} W_{N_{2}}(\langle s,t\rangle ), &{} \mathrm{if}\ s\in P_{N_{2}\setminus N_{0}} \\ W_{N_{0}}(\langle s,t\rangle ), &{} \mathrm{if}\ s\in P_{N_{0}\setminus N_{2}} \\ W_{N_{2}}(\langle s_{2},t\rangle ) &{} \\ \ \ \ \ \ \ \ \ \ + \ \ \ \ \ \ \ \ \ , &{} \mathrm{if}\ s=\langle s_{2},s_{0}\rangle \\ W_{N_{0}}(\langle s_{0},t\rangle ) &{} \end{array}\right. $$

    and

    $$W_{N_{20}}(\langle t,s\rangle )=\left\{ \begin{array}{ll} W_{N_{2}}(\langle t,s\rangle ), &{} \mathrm{if}\ s\in P_{N_{2}\setminus N_{0}} \\ W_{N_{0}}(\langle t,s\rangle ), &{} \mathrm{if}\ s\in P_{N_{0}\setminus N_{2}} \\ W_{N_{2}}(\langle t,s_{2}\rangle ) &{} \\ \ \ \ \ \ \ \ \ \ + \ \ \ \ \ \ \ \ \ , &{} \mathrm{if}\ s=\langle s_{2},s_{0}\rangle \\ W_{N_{0}}(\langle t,s_{0}\rangle ) &{} \end{array}\right. $$
  • \(L_{N_{20}}\) is the function defined as follows:

    $$L_{N_{20}}(s)=\left\{ \begin{array}{ll} L_{N_{2}}(s), &{} \mathrm{if}\ s\in P_{N_{2}\setminus N_{0}} \\ L_{N_{0}}(s), &{} \mathrm{if}\ s\in P_{N_{0}\setminus N_{2}} \\ L_{N_{2}}(s_{2}), &{} \mathrm{if}\ s=\langle s_{2},s_{0}\rangle \end{array}\right. $$
  • \(M_{N_{20}}\) is the function defined as follows:

    $$M_{N_{20}}(s)=\left\{ \begin{array}{ll} M_{N_{2}}(s), &{} \mathrm{if}\ s\in P_{N_{2}\setminus N_{0}} \\ M_{N_{0}}(s), &{} \mathrm{if}\ s\in P_{N_{0}\setminus N_{2}} \\ M_{N_{2}}(s_{2}){+}M_{N_{0}}(s_{0}), &{} \mathrm{if}\ s=\langle s_{2},s_{0}\rangle \end{array}\right. $$

Since \(N_{1} \approx N_{2}\), \(N_{1}\sigma \approx N_{2}\sigma \) and \(M_{N_{1}}^{e}\asymp M_{N_{2}}^{e}\). Assume the bijection \(\iota : P_{N_{1}}^{e}\rightarrow P_{N_{2}}^{e}\) satisfies the following conditions:

  • \(M_{N_{1}}^{e}=M_{N_{2}}^{e}\circ \iota \);

  • \(L_{N_{1}}^{e}\upharpoonright P_{N_{1}}^{e}=L_{N_{2}}^{e}\circ \iota \);

  • \(K_{N_{1}}^{e}\upharpoonright P_{N_{1}}^{e}=K_{N_{2}}^{e}\circ \iota \).

(1) A bijection \(\iota ': P_{N_{10}}^{e}\rightarrow P_{N_{20}}^{e}\) can be defined as follows:

$$\begin{aligned} \iota '(s)&\mathop {=}\limits ^\mathrm{def}&\left\{ \begin{array}{ll} \iota (s), &{} \mathrm{if}\ s\in P_{N_{1}\setminus N_{0}}^{e} \\ s, &{} \mathrm{if}\ s\in P_{N_{0}\setminus N_{1}}^{e} \\ \langle \iota (s_{1}), s_{0} \rangle , &{} \mathrm{if}\ s=\langle s_{1}, s_{0}\rangle \end{array}\right. \end{aligned}$$
(12)

Then \(M_{N_{10}}^{e}\asymp M_{N_{20}}^{e}\). Therefore, \(\mathcal R\) is equipotent. If \(N_{10}{\mathcal R}N_{20}\), then \((N_{10}\sigma ){\mathcal R}(N_{20}\sigma )\) for \(N_{10}\sigma \equiv N_{1}\sigma \,|\,N_{0}\sigma '\) and \(N_{20}\sigma \equiv N_{2}\sigma \,|\,N_{0}\sigma '\), where

$$\begin{aligned} \sigma '(a)&\mathop {=}\limits ^\mathrm{def}&\left\{ \begin{array}{ll} \sigma (a), &{} \mathrm{if}\ a=L(s_{0}), \\ &{} \mathrm{where}\ s_{0} \in P_{N_{0}\setminus N_{1}}^{e} \\ 0, &{} \mathrm{if}\ a=L(s_{0}), \\ &{} \mathrm{where}\ \langle s_{1}, s_{0}\rangle \in P_{N_{1}\cap N_{0}} \end{array}\right. \end{aligned}$$
(13)

Hence, \({\mathcal R}\) is fully equipotent.

(2) Suppose \(N_{10}\longrightarrow N_{10}'\). Then there exists a marking \(M_{N_{10}}'\) of \(N_{10}\) such that \(M_{N_{10}}[t\rangle M_{N_{10}}'\) and \(M_{N_{10}}^{e} = M_{N_{10}}'^{e}\).

  • If \(t\in T_{N_{1}}\), then there are two cases.

    • If there is a marking \(M_{N_{1}}'\) such that \(M_{N_{1}}[t\rangle M_{N_{1}}'\) and \(M_{N_{1}}^{e} = M_{N_{1}}'^{e}\), i.e. \(N_{1}\longrightarrow N_{1}'\), then \(N_{10}'\equiv N_{1}'\,|\, N_{0}\). Since \(N_{1}\approx N_{2}\), \(N_{2}\Longrightarrow N_{2}'\) such that \(N_{1}'\approx N_{2}'\). Then \(N_{20} \Longrightarrow N_{2}'\,|\,N_{0}\) and \((N_{1}'\,|\,N_{0}){\mathcal R}(N_{2}'\,|\,N_{0})\). Otherwise,

    • \(O=(^{\bullet }t\cup t^{\bullet })\cap P_{N_{1}\cap N_{0}} \ne \emptyset \) and \(\forall s=\langle s_{1}, s_{0}\rangle \in O\), \(s\in ^{\bullet }t\cap t^{\bullet }\) and \(W(s,t)=W(t,s)\). We define

      $$\begin{aligned} \sigma (a)&\mathop {=}\limits ^\mathrm{def}&\left\{ \begin{array}{ll} M_{1}(s_{1})+M_{0}(s_{0}), &{}\\ \ \ \mathrm{if} a=L(s_{1}), \mathrm{where}\ s=\langle s_{1}, s_{0}\rangle \in O &{} \\ M_{1}(s_{1}), &{} \\ \ \ \mathrm{if}\ a=L(s_{1}), \mathrm{where}\ s_{1} \in P_{N_{1}}^{e}\setminus O &{} \\ \end{array}\right. \end{aligned}$$
      (14)
      $$\begin{aligned} \sigma _{0}(a)&\mathop {=}\limits ^\mathrm{def}&\left\{ \begin{array}{ll} 0, &{} \\ \ \ \mathrm{if} a=L(s_{0}), \mathrm{where}\ s=\langle s_{1}, s_{0}\rangle \in O &{} \\ M_{0}(s_{0}), &{} \\ \ \ \mathrm{if}\ a=L(s_{0}), \mathrm{where}\ s_{0} \in P_{N_{0}}^{e}\setminus O &{} \end{array}\right. \end{aligned}$$
      (15)

      Then \(N_{10}\equiv N_{1}\sigma \,|\,N_{0}\sigma _{0}\). Obviously, \(N_{1}\sigma \longrightarrow N_{1}'\) such that \(N_{10}'\equiv N_{1}'\,|\,N_{0}\sigma _{0}\). Since \(N_{1}\sigma \approx N_{2}\sigma \),\(N_{2}\sigma \Longrightarrow N_{2}'\) and \(N_{1}'\approx N_{2}'\). Then \(N_{20}\equiv N_{2}\sigma \,|\,N_{0}\sigma _{0}\Longrightarrow N_{2}'\,|\,N_{0}\sigma _{0}\) and \((N_{1}'\,|\,N_{0}\sigma _{0}){\mathcal R}(N_{2}'\,|\,N_{0}\sigma _{0})\).

  • If \(t\in T_{N_{0}}\), then there are also two cases.

    • If there is a marking \(M_{N_{0}}'\) such that \(M_{N_{0}}[t\rangle M_{N_{0}}'\) and \(M_{N_{0}}^{e} = M_{N_{0}}'^{e}\), i.e. \(N_{0}\longrightarrow N_{0}'\), then \(N_{10}'\equiv N_{1}\,|\, N_{0}'\) and \(N_{20} \longrightarrow N_{2}\,|\,N_{0}'\). Since \(N_{1}\approx N_{2}\), \((N_{1}\,|\,N_{0}'){\mathcal R}(N_{2}\,|\,N_{0}')\). Otherwise,

    • \(O=(^{\bullet }t\cup t^{\bullet })\cap P_{N_{1}\cap N_{0}} \ne \emptyset \) and \(\forall s=\langle s_{1}, s_{0}\rangle \in O\), \(s\in ^{\bullet }t\cup t^{\bullet }\) and \(W(s,t)=W(t,s)\). It can be defined as

      $$\begin{aligned} \sigma (a)&\mathop {=}\limits ^\mathrm{def}&\left\{ \begin{array}{ll} M_{0}(s_{0})+M_{1}(s_{1}), &{} \\ \ \ \mathrm{if} a=L(s_{0}), \mathrm{where}\ s=\langle s_{1}, s_{0}\rangle \in O &{} \\ M_{0}(s_{0}), &{} \\ \ \ \mathrm{if}\ a=L(s_{0}), \mathrm{where}\ s_{0} \in P_{N_{0}}^{e}\setminus O &{} \end{array}\right. \end{aligned}$$
      (16)
      $$\begin{aligned} \sigma _{1}(a)&\mathop {=}\limits ^\mathrm{def}&\left\{ \begin{array}{ll} 0, &{} \\ \ \ \mathrm{if} a=L(s_{1}), \mathrm{where}\ s=\langle s_{1}, s_{0}\rangle \in O &{} \\ M_{1}(s_{1}), &{} \\ \ \ \mathrm{if}\ a=L(s_{1}), \mathrm{where}\ s_{1} \in P_{N_{1}}^{e}\setminus O &{} \end{array}\right. \end{aligned}$$
      (17)

      Then \(N_{10}\equiv N_{1}\sigma _{1}\,|\,N_{0}\sigma \). Obviously, \(N_{0}\sigma \longrightarrow N_{0}'\), \(N_{10}'\equiv N_{1}\sigma _{1}\,|\,N_{0}'\) and \(N_{20}\equiv N_{2}\sigma _{1}\,|\,N_{0}\sigma \longrightarrow N_{2}\sigma _{1}\,|\,N_{0}'\). Since \(N_{1}\approx N_{2}\), \((N_{1}\sigma _{1}\,|\,N_{0}') {\mathcal R} (N_{2}\sigma _{1}\,|\,N_{0}')\).

Suppose \(N_{10}\mathop {\longrightarrow }\limits ^{\tau } N_{10}'\). Then there exists a marking \(M_{N_{10}}'\) of \(N_{10}\) such that \(M_{N_{10}}[t\rangle M_{N_{10}}'\) and \(M_{N_{10}}^{e} \ne M_{N_{10}}'^{e}\).

  • If \(t\in T_{N_{1}}\), then there are two cases.

    • If there is a marking \(M_{N_{1}}'\) such that \(M_{N_{1}}[t\rangle M_{N_{1}}'\) and \(M_{N_{1}}^{e} \ne M_{N_{1}}'^{e}\), i.e. \(N_{1}\mathop {\longrightarrow }\limits ^{\tau } N_{1}'\), then \(N_{10}'\equiv N_{1}'\,|\, N_{0}\). Since \(N_{1}\approx N_{2}\), \(N_{2}\mathop {\Longrightarrow }\limits ^{\tau } N_{2}'\) such that \(N_{1}'\approx N_{2}'\). Then \(N_{20} \mathop {\Longrightarrow }\limits ^{\tau } N_{2}'\,|\,N_{0}\) and \((N_{1}'\,|\,N_{0}){\mathcal R}(N_{2}'\,|\,N_{0})\). Otherwise,

    • \(O=(^{\bullet }t\cup t^{\bullet })\cap P_{N_{1}\cap N_{0}} \ne \emptyset \). We define

      $$\begin{aligned} \sigma (a)&\mathop {=}\limits ^\mathrm{def}&\left\{ \begin{array}{ll} M_{1}(s_{1})+M_{0}(s_{0}), &{} \\ \ \ \mathrm{if} a=L(s_{1}), \mathrm{where}\ s=\langle s_{1}, s_{0}\rangle \in O &{}\\ M_{1}(s_{1}), &{} \\ \ \ \mathrm{if}\ a=L(s_{1}), \mathrm{where}\ s_{1} \in P_{N_{1}}^{e}\setminus O &{} \end{array}\right. \end{aligned}$$
      (18)
      $$\begin{aligned} \sigma _{0}(a)&\mathop {=}\limits ^\mathrm{def}&\left\{ \begin{array}{ll} 0, &{} \\ \ \ \mathrm{if} a=L(s_{0}), \mathrm{where}\ s=\langle s_{1}, s_{0}\rangle \in O &{} \\ M_{0}(s_{0}), &{} \\ \ \ \mathrm{if}\ a=L(s_{0}), \mathrm{where}\ s_{0} \in P_{N_{0}}^{e}\setminus O \\ \end{array}\right. \end{aligned}$$
      (19)

      Then \(N_{10}\equiv N_{1}\sigma \,|\,N_{0}\sigma _{0}\). Obviously, \(N_{1}\sigma \mathop {\longrightarrow }\limits ^{\tau } N_{1}'\) such that \(N_{10}'\equiv N_{1}'\,|\,N_{0}\sigma _{0}\). Since \(N_{1}\sigma \approx N_{2}\sigma \), \(N_{2}\sigma \mathop {\Longrightarrow }\limits ^{\tau } N_{2}'\) and \(N_{1}'\approx N_{2}'\). Then \(N_{20}\equiv N_{2}\sigma \,|\,N_{0}\sigma _{0}\mathop {\Longrightarrow }\limits ^{\tau } N_{2}'\,|\,N_{0}\sigma _{0}\) and \((N_{1}'\,|\,N_{0}\sigma _{0}){\mathcal R}(N_{2}'\,|\,N_{0}\sigma _{0})\).

  • If \(t\in T_{N_{0}}\), then there are also two cases.

    • If there is a marking \(M_{N_{0}}'\) such that \(M_{N_{0}}[t\rangle M_{N_{0}}'\) and \(M_{N_{0}}^{e} \ne M_{N_{0}}'^{e}\), i.e. \(N_{0}\mathop {\longrightarrow }\limits ^{\tau } N_{0}'\), then \(N_{10}'\equiv N_{1}\,|\, N_{0}'\) and \(N_{20} \mathop {\longrightarrow }\limits ^{\tau }N_{2}\,|\,N_{0}'\). Since \(N_{1}\approx N_{2}\), \((N_{1}\,|\,N_{0}'){\mathcal R}(N_{2}\,|\,N_{0}')\). Otherwise,

    • We have \(O=(^{\bullet }t\cup t^{\bullet })\cap P_{N_{1}\cap N_{0}} \ne \emptyset \). We also define

      $$\begin{aligned} \sigma (a)&\mathop {=}\limits ^\mathrm{def}&\left\{ \begin{array}{ll} M_{0}(s_{0})+M_{1}(s_{1}), &{} \\ \ \ \mathrm{if} a=L(s_{0}), \mathrm{where}\ s=\langle s_{1}, s_{0}\rangle \in O &{} \\ M_{0}(s_{0}), &{} \\ \ \ \mathrm{if}\ a=L(s_{0}), \mathrm{where}\ s_{0} \in P_{N_{0}}^{e}\setminus O &{} \end{array}\right. \end{aligned}$$
      (20)
      $$\begin{aligned} \sigma _{1}(a)&\mathop {=}\limits ^\mathrm{def}&\left\{ \begin{array}{ll} 0, &{} \\ \ \ \mathrm{if} a=L(s_{1}), \mathrm{where}\ s=\langle s_{1}, s_{0}\rangle \in O &{} \\ M_{1}(s_{1}), &{} \\ \ \ \mathrm{if}\ a=L(s_{1}), \mathrm{where}\ s_{1} \in P_{N_{1}}^{e}\setminus O &{} \end{array}\right. \end{aligned}$$
      (21)

      Then \(N_{10}\equiv N_{1}\sigma _{1}\,|\,N_{0}\sigma \). We get \(N_{0}\sigma \mathop {\longrightarrow }\limits ^{\tau } N_{0}'\), \(N_{10}'\equiv N_{1}\sigma _{1}\,|\,N_{0}'\) and \(N_{20}\equiv N_{2}\sigma _{1}\,|\,N_{0}\sigma \mathop {\longrightarrow }\limits ^{\tau } N_{2}\sigma _{1}\,|\,N_{0}'\). Since \(N_{1}\approx N_{2}\), \((N_{1}\sigma _{1}\,|\,N_{0}') {\mathcal R} (N_{2}\sigma _{1}\,|\,N_{0}')\).

  1. 2.

    Suppose \(\mathcal{R}=\{((x)N_{1}, (x)N_{2})\mid N_{1}\approx N_{2}\}\). Then \(\mathcal R\) is a bisimulation.

    • Suppose \((x)N_{1}\longrightarrow N_{1\setminus x}'\) and \(M_{1\setminus x}\) is the initial marking of \((x)N_{1}\). Then there is a marking \(M_{1\setminus x}'\) of \((x)N_{1}\) such that \(M_{1\setminus x}[t\rangle M_{1\setminus x}'\) for some t and \(M_{1\setminus x}^{e}=M_{1\setminus x}'^{e}\).

      • If \(\forall s\in P_{N_{1}}^{e}\).\(x\ne L(s)\), then \((x)N_{1}\equiv N_{1}\) and \((x)N_{2}\equiv N_{2}\). Then \(N_{1} \longrightarrow N_{1}'\) and \(N_{1\setminus x}'\equiv N_{1}'\equiv (x)N_{1}'\). Since \(N_{1}\approx N_{2}\), \(N_{2}\Longrightarrow N_{2}'\) such that \(N_{1}'\approx N_{2}'\). Hence \((x)N_{2}\equiv N_{2}\Longrightarrow N_{2}'\equiv (x)N_{2}'\) and \((x)N_{1}'{\mathcal R} (x)N_{2}'\).

      • If \(\exists s\in P_{N_{1}}^{e}\).\(x = L(s)\), then there are two cases:

        • \(*\) If \(\forall s \in ^{\bullet }t \cup t^{\bullet }. x\ne L(s)\), then \(N_{1}\longrightarrow N_{1}'\) and \(N_{1\setminus x}'\equiv (x)N_{1}'\). Since \(N_{1}\approx N_{2}\), \(N_{2}\Longrightarrow N_{2}'\) such that \(N_{1}'\approx N_{2}'\). Hence \((x)N_{2}\Longrightarrow (x)N_{2}'\) and \((x)N_{1}'{\mathcal R} (x)N_{2}'\).

        • \(*\) If \(\exists s \in ^{\bullet }t\, \cup \, t^{\bullet }. x = L(s)\), then \(O=(^{\bullet }t \cup t^{\bullet })\, \cap \, P_{N_{1}}^{e} \ne \emptyset \). We can conclude that \(\forall s\in O \wedge L(s)\ne x. W(s,t)=W(t,s)\). If (\(\exists s \in ^{\bullet }t \cap t^{\bullet }. x = L(s))\) and \(W(s,t)=W(t,s)\), then \(N_{1}\longrightarrow N_{1}'\) and \(N_{1\setminus x}'\equiv (x)N_{1}'\). Since \(N_{1}\approx N_{2}\), \(N_{2}\Longrightarrow N_{2}'\) such that \(N_{1}'\approx N_{2}'\). Hence \((x)N_{2}\Longrightarrow (x)N_{2}'\) and \((x)N_{1}'{\mathcal R} (x)N_{2}'\). Otherwise, if \((\exists s \in ^{\bullet }t \cap t^{\bullet }. x = L(s))\) and \(W(s,t)\ne W(t,s)\) or \((\forall s \in ^{\bullet }t \cap t^{\bullet }. x \ne L(s))\), then \(N_{1}\mathop {\longrightarrow }\limits ^{\tau }N_{1}'\) and \(N_{1\setminus x}'\equiv (x)N_{1}'\). It is obvious that the external place \(s_{1}\) of \(N_{1}\), which satisfies \(x=L(s_{1})\), is the unique external one with \(M_{1}(s_{1})\ne M_{1}'(s_{1})\). Since \(N_{1}\approx N_{2}\), \(N_{2}\Longrightarrow N_{21}\mathop {\longrightarrow }\limits ^{\tau }N_{22}{\Longrightarrow } N_{2}'\) such that \(N_{1}'\approx N_{2}'\). Then there must be an external place \(s_{2}\) of \(N_{2}\), which satisfies \(x=L(s_{2})\), is the unique external one with \(M_{2}(s_{2})\ne M_{2}'(s_{2})\). The change is induced by the transition \(N_{21}\mathop {\longrightarrow }\limits ^{\tau }N_{22}\). Hence \((x)N_{2}\Longrightarrow (x)N_{21}\longrightarrow (x)N_{22}{\Longrightarrow } N_{2}'\equiv (x)N_{2}'\) and \((x)N_{1}'{\mathcal R} (x)N_{2}'\).

    • Suppose \((x)N_{1}\mathop {\longrightarrow }\limits ^{\tau } N_{1\setminus x}'\) and \(M_{1\setminus x}\) is the initial marking of \((x)N_{1}\). Then there is a marking \(M_{1\setminus x}'\) of \((x)N_{1}\) such that \(M_{1\setminus x}[t\rangle M_{1\setminus x}'\) for some t and \(M_{1\setminus x}^{e}\ne M_{1\setminus x}'^{e}\).

      • If \(\forall s\in P_{N_{1}}^{e}\).\(x\ne L(s)\), then \((x)N_{1}\equiv N_{1}\) and \((x)N_{2}\equiv N_{2}\). Then \(N_{1} \mathop {\longrightarrow }\limits ^{\tau } N_{1}'\) and \(N_{1\setminus x}'\equiv N_{1}'\equiv (x)N_{1}'\). Since \(N_{1}\approx N_{2}\), \(N_{2}\mathop {\Longrightarrow }\limits ^{\tau } N_{2}'\) such that \(N_{1}'\approx N_{2}'\). Hence \((x)N_{2}\equiv N_{2}\mathop {\Longrightarrow }\limits ^{\tau } N_{2}'\equiv (x)N_{2}'\) and \((x)N_{1}'{\mathcal R} (x)N_{2}'\).

      • If \(\exists s\in P_{N_{1}}^{e}\).\(x = L(s)\), then there are two cases:

        • \(*\) If \(\forall s \in ^{\bullet }t \cup t^{\bullet }. x\ne L(s)\), then \(N_{1}\mathop {\longrightarrow }\limits ^{\tau } N_{1}'\) and \(N_{1\setminus x}'\equiv (x)N_{1}'\). Since \(N_{1}\approx N_{2}\), \(N_{2}\mathop {\Longrightarrow }\limits ^{\tau } N_{2}'\) such that \(N_{1}'\approx N_{2}'\). Hence \((x)N_{2}\mathop {\Longrightarrow }\limits ^{\tau } (x)N_{2}'\) and \((x)N_{1}'{\mathcal R} (x)N_{2}'\).

        • \(*\) If \(\exists s \in ^{\bullet }t\, \cup \, t^{\bullet }. x = L(s)\), then \(O=(^{\bullet }t\, \cup \, t^{\bullet })\, \cap \, P_{N_{1}}^{e} \ne \emptyset \). We can conclude that \(\exists s\in O \wedge L(s)\ne x. M_{1\setminus x}(s)\ne M_{1\setminus x}'(s)\). Hence \(N_{1}\mathop {\longrightarrow }\limits ^{\tau } N_{1}'\) and \(N_{1\setminus x}'\equiv (x)N_{1}'\). Since \(N_{1}\approx N_{2}\), \(N_{2}\Longrightarrow N_{21}\mathop {\longrightarrow }\limits ^{\tau }N_{22}{\Longrightarrow } N_{2}'\) and \(N_{1}'\approx N_{2}'\). Hence \((x)N_{2}\Longrightarrow (x)N_{21}\longrightarrow (x)N_{22}{\Longrightarrow } N_{2}'\equiv (x)N_{2}'\) and \((x)N_{1}'{\mathcal R} (x)N_{2}'\).

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing AG

About this paper

Cite this paper

Dong, X., Fu, Y., Varacca, D. (2016). Place Bisimulation and Liveness for Open Petri Nets. In: Fränzle, M., Kapur, D., Zhan, N. (eds) Dependable Software Engineering: Theories, Tools, and Applications. SETTA 2016. Lecture Notes in Computer Science(), vol 9984. Springer, Cham. https://doi.org/10.1007/978-3-319-47677-3_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-47677-3_1

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-47676-6

  • Online ISBN: 978-3-319-47677-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics