Skip to main content

On the Expressiveness of Parameterization in Process-Passing

  • Conference paper
  • First Online:
Web Services and Formal Methods (WS-FM 2013)

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

Included in the following conference series:

Abstract

This paper studies higher-order processes with the capability of parameterization (or abstraction), which has been proven to be an effective measure of lifting the mere process-passing in expressiveness. We contribute to the understanding of two kinds of parameterization: name-parameterization and process-parameterization, particularly in a second-order setting (no currying of parameterization). Firstly, we show that in the expressiveness hierarchy of process-parameterization, n-ary parameterization can faithfully translate (n+1)-ary parameterization in a linear setting where each received process can be used only once. Secondly, the two kinds of parameterization are compared. We prove that name-parameterization is more basic than process-parameterization, i.e. the former can encode the union of them. As a result, name-parameterization can strictly promote the expressiveness of mere process-passing.

Xian Xu, Qiang Yin, and Huan Long are supported by the National Nature Science Foundation of China (61261130589, 61202023, 61173048), and the ANR project 12IS02001 (PACE).

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 34.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 44.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

References

  1. Bundgaard, M., Godskesen, J.C., Hildebrandt, T.: Encoding the pi-calculus in higher-order calculi. Technical report TR-2008-106, IT University of Copenhagen (2008)

    Google Scholar 

  2. Bundgaard, M., Hildebrandt, T., Godskesen, J.C.: A CPS encoding of name-passing in higher-order mobile embedded resources. Theoret. Comput. Sci. 356, 422–439 (2006)

    Article  MATH  MathSciNet  Google Scholar 

  3. Di Giusto, C., Pérez, J.A., Zavattaro, G.: On the expressiveness of forwarding in higher-order communication. In: Leucker, M., Morgan, C. (eds.) ICTAC 2009. LNCS, vol. 5684, pp. 155–169. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  4. Gorla, D.: Towards a unified approach to encodability and separation results for process calculi. In: van Breugel, F., Chechik, M. (eds.) CONCUR 2008. LNCS, vol. 5201, pp. 492–507. Springer, Heidelberg (2008). (Journal version in [5])

    Chapter  Google Scholar 

  5. Gorla, D.: Towards a unified approach to encodability and separation results for process calculi. Inf. Comput. 208(9), 1031–1053 (2010)

    Article  MATH  MathSciNet  Google Scholar 

  6. Hennessy, M.: A Distributed Pi-Calculus. Cambridge University Press, Cambridge (2007)

    Book  MATH  Google Scholar 

  7. Honda, K., Tokoro, M.: An object calculus for asynchronous communication. In: America, P. (ed.) ECOOP 1991. LNCS, vol. 512, pp. 133–147. Springer, Heidelberg (1991)

    Chapter  Google Scholar 

  8. Lago, U.D., Martini, S., Sangiorgi, D.: Light logics and higher-order processes. In: Proceedings of Workshop on Expressiveness in Concurrency 2010 (EXPRESS 2010). EPTCS, vol. 41, pp. 46–60 (2010)

    Google Scholar 

  9. Lanese, I., Lienhardt, M., Mezzina, C.A., Schmitt, A., Stefani, J.-B.: Concurrent flexible reversibility. In: Felleisen, M., Gardner, P. (eds.) Programming Languages and Systems. LNCS, vol. 7792, pp. 370–390. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

  10. Lanese, I., Pérez, J.A., Sangiorgi, D., Schmitt, A.: On the expressiveness of polyadic and synchronous communication in higher-order process calculi. In: Abramsky, S., Gavoille, C., Kirchner, C., Meyer auf der Heide, F., Spirakis, P.G. (eds.) ICALP 2010. LNCS, vol. 6199, pp. 442–453. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  11. Lanese, I., Pérez, J.A., Sangiorgi, D., Schmitt, A.: On the expressiveness and decidability of higher-order process calculi. Inf. Comput. 209(2), 198–226 (2011)

    Article  MATH  Google Scholar 

  12. Lanese, I., Perez, J., Sangiorgi, D., Schmitt, A.: On the expressiveness and decidability of higher-order process calculi. In: Proceedings of the 23rd Annual IEEE Symposium on Logic in Computer Science (LICS 2008), pp. 293–302 (2008)

    Google Scholar 

  13. Meyer, R., Khomenko, V., Strazny, T.: A practical approach to verification of mobile systems using net unfoldings. In: van Hee, K.M., Valk, R. (eds.) PETRI NETS 2008. LNCS, vol. 5062, pp. 327–347. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  14. Milner, R.: Functions as processes. J. Math. Struct. Comput. Sci. 2(2), 119–141 (1992). (Research report 1154. INRIA, Sofia Antipolis, 1990)

    Article  MATH  MathSciNet  Google Scholar 

  15. Milner, R., Parrow, J., Walker, D.: A calculus of mobile processes (parts i and ii). Inf. Comput. 100(1), 1–77 (1992). (Academic Press)

    Article  MATH  MathSciNet  Google Scholar 

  16. Palamidessi, C.: Comparing the expressive power of the synchronous and the asynchronous pi-calculus. Math. Struct. Comput. Sci. 13, 685–719 (2003)

    Article  MathSciNet  Google Scholar 

  17. Sangiorgi, D.: Expressing mobility in process algebras: first-order and higher-order paradigms. Ph.d. thesis, University of Edinburgh (1992)

    Google Scholar 

  18. Sangiorgi, D.: From \(\pi \)-calculus to higher-order \(\pi \)-calculus–and back. In: Gaudel, M.-C., Jouannaud, J.-P. (eds.) CAAP 1993, FASE 1993, and TAPSOFT 1993. LNCS, vol. 668, pp. 151–166. Springer, Heidelberg (1993)

    Google Scholar 

  19. Sangiorgi, D.: Bisimulation for higher-order process calculi. Inf. Comput. 131(2), 141–178 (1996). (Preliminary Version in Proceedings PROCOMET’94 (IFIP Working Conference on Programming Concepts, Methods and Calculi), pp. 207–224, North Holland, 1994)

    Article  MATH  MathSciNet  Google Scholar 

  20. Sangiorgi, D.: Pi-calculus, internal mobility and agent-passing calculi. Theor. Comput. Sci. 167(2), 235–274 (1996). (Extracts of parts of the material contained in this paper can be found in the Proceedings of TAPSOFT’95 and ICALP’95)

    Article  MATH  MathSciNet  Google Scholar 

  21. Sangiorgi, D.: Introduction to Bisimulation and Coinduction. Cambridge University Press, Cambridge (2011)

    Book  Google Scholar 

  22. Sangiorgi, D., Walker, D.: The Pi-Calculus: A Theory of Mobile Processes. Cambridge Universtity Press, Cambridge (2001)

    Google Scholar 

  23. Thomsen, B.: Calculi for higher order communicating systems. Ph.d. thesis, Department of Computing, Imperial College (1990)

    Google Scholar 

  24. Thomsen, B.: Plain chocs, a second generation calculus for higher-order processes. Acta Inf. 30(1), 1–59 (1993)

    Article  MATH  MathSciNet  Google Scholar 

  25. Xu, X.: Expressing first-order \(\pi \)-calculus in higher-order calculus of communicating systems. J. Comput. Sci. Technol. 24(1), 122–137 (2009)

    Article  Google Scholar 

  26. Xu, X.: On bisimulation theory in linear higher-order pi-calculus. Trans. Petri Nets Other Models Concurr. III 5800, 244–274 (2009)

    Article  Google Scholar 

  27. Xu, X.: Distinguishing and relating higher-order and first-order processes by expressiveness. Acta Inf. 49, 445–484 (2012)

    Article  MATH  Google Scholar 

  28. Xu, X.: On the expressiveness of higher-order processes with name parameterization. Technical report, East China University of Science and Technology (2012). Presented and discussed at the 4th NSFC-JSPS Joint Workshop on Formal Methods (Nara Japan) (2011)

    Google Scholar 

  29. Xu, X.: On context bisimulation for parameterized higher-order processes. In: Proceedings of 6th Interaction and Concurrency Experience (ICE 2013), Satellite workshop of DisCoTec 2013 (2013). (to appear in EPTCS)

    Google Scholar 

  30. Yin, Q., Long, H.: Process passing calculus, revisited. J. Shanghai Jiaotong Univ. (Science) 18, 29–36 (2013)

    Article  Google Scholar 

Download references

Acknowledgement

The authors thank the members of the BASICS lab and the anonymous referees for their comments and suggestions.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Xian Xu .

Editor information

Editors and Affiliations

Appendices

Appendix

Proofs

1.1 Proofs for Sect. 3

Proof of Lemma 1

Proof

\((1.1)\) and \((2.1)\) are trivial according to the encoding. \((3)\) becomes easy in a straightforward way from \((1.1)\), \((1.2)\), \((2.1)\), \((2.2)\). The most critical parts are \((1.2)\) and \((2.2)\). Since their proof strategies are somewhat similar, we focus on \((1.2)\). To prove that clause, we need to undergo an induction on the structure of \(P\). Thus there are several cases: \(0\), \(a(Y).P_1\), \(\overline{a}E.P_1\), \(P_1|\,Q_1\), \((c)P_1\), \(\langle X_1, X_2 \rangle P_1\), \(P_1\langle B_1, B_2 \rangle \). We will expand the analysis on three of them, and the rest are similar or easier.

  • \(P\equiv a(Y).P_1\). In this case \(P{\xrightarrow {a(G)}} P_1\{G/Y\} \) and \(F\equiv P_1\). According to the encoding, \( [\![P ]\!]^{}_{}\equiv a(Y). [\![P_1 ]\!]^{}_{} {\xrightarrow {a(H)}} [\![P_1 ]\!]^{}_{}\{H/Y\} \equiv T\), in which \(H\equiv \langle Z \rangle \overline{m}Z\). Since \(F\equiv P_1\), we immediately have \(T = [\![F ]\!]^{}_{}\{H/Y\} \).

  • \(P\equiv P_1\langle B_1, B_2 \rangle \). The only countable case is \(P\equiv Y\langle B_1, B_2 \rangle \), when \( [\![P ]\!]^{}_{}\equiv (fgh)(\overline{g}|\,Y\langle g.(\overline{f}|\,\overline{h})+f.( [\![B_1 ]\!]^{}_{}|\,\overline{f}) \rangle |\,h.Y\langle [\![B_2 ]\!]^{}_{} \rangle )\). So this case is impossible.

  • \(P\equiv P_1|\,Q_1\). W.l.o.g., suppose \(P_1{\xrightarrow {a(G)}} P_1'\equiv F_1\{G/Y\} \) for some \(F_1\) and \(Y\) is fresh. So \(P\equiv P_1|\,Q_1 {\xrightarrow {a(G)}} P_1'|\,Q_1\equiv F_1\{G/Y\} |\,Q_1\equiv F\{G/Y\} \) in which \(F\;{\mathop {=}\limits ^{def}}\; F_1|\,Q_1\). By induction hypothesis, \( [\![P_1 ]\!]^{}_{}{\xrightarrow {a(H)}} T_1 = [\![F_1 ]\!]^{}_{}\{H/Y\} \) where \(H\equiv \langle Z \rangle \overline{m}Z\). Thus

    $$\begin{aligned}{}[\![P ]\!]^{}_{}\equiv [\![P_1 ]\!]^{}_{}|\, [\![Q_1 ]\!]^{}_{} {\xrightarrow {a(H)}} T_1|\, [\![Q_1 ]\!]^{}_{}&= [\![F_1 ]\!]^{}_{}\{H/Y\} |\, [\![Q_1 ]\!]^{}_{} \\&= ( [\![F_1 ]\!]^{}_{}|\, [\![Q_1 ]\!]^{}_{})\{H/Y\} \\&= ( [\![F_1|\,Q_1 ]\!]^{}_{})\{H/Y\} \\&= ( [\![F ]\!]^{}_{})\{H/Y\} \end{aligned}$$

    \(\square \)

Proof of Lemma 3

Proof

Based on the operational correspondence, our target is to prove \(P = Q\) implies \( [\![P ]\!]^{}_{} = [\![Q ]\!]^{}_{}\), through showing

$$ \mathcal {R} \;{\mathop {=}\limits ^{def}}\; \{( [\![P ]\!]^{}_{}, [\![Q ]\!]^{}_{}) \;|\; P = Q\}\quad \text{ which } \text{ is } \text{ closed } \text{ under } \text{(variable) } \text{ substitution } $$

is a normal bisimulation up-to \(=\) (see [19, 22] for up-to techniques). Remember “closed under (variable) substitution” means \(P\{A/X\} \;\mathcal {R}\; Q\{A/X\} \) for every \(A\) whenever \(P\mathcal {R} Q\) and they are (open) processes with occurrence of variable \(X\). Notice in the calculus \(\varPi ^D_n\), normal bisimulation characterizes context bisimulation; see [17, 19, 29] for proof reference. In normal bisimulation, the communicated process only needs to be confined to triggers (\(\langle Z \rangle \overline{m}Z.0\)) and the testing environment in the output clause only needs to be \(!n(X).[\,]\langle X \rangle \).

There are several cases needing analysis, among which the most crucial parts are concerning the communication of parameterized processes.

  1. 1.

    \( [\![P ]\!]^{}_{}{\mathop {\Longrightarrow }\limits ^{a(H)}} T\) in which \(H\equiv \langle Z \rangle \overline{m}Z\);

  2. 2.

    \( [\![P ]\!]^{}_{}{\mathop {\Longrightarrow }\limits ^{(m)\overline{a}T_1}} T\) in which \(T_1\equiv \langle Z \rangle \overline{m}Z\);

  3. 3.

    \( [\![P ]\!]^{}_{}{\mathop {\Longrightarrow }\limits ^{\tau }} T\)

We below proceed with their analysis.

  • Case \(1\). From the premise, \(T\equiv S\{H/Y\} \) for some \(S\), and by Lemma 2 \(P{\mathop {\Longrightarrow }\limits ^{a(G)}} P'\equiv F\{G/Y\} \) for some \(F\) and \(G\equiv \langle X_1, X_2 \rangle E\), and also \(S = [\![F ]\!]^{}_{}\). Because \(P = Q\), \(Q\) can simulate \(P\) with \(Q{\mathop {\Longrightarrow }\limits ^{a(G)}} Q'\equiv F'\{G/Y\} \) for some \(F'\), and \(P' = Q'\). Clearly we also have \(F = F'\). By Lemma 1, \( [\![Q ]\!]^{}_{}{\mathop {\Longrightarrow }\limits ^{a(H)}} T' = [\![F' ]\!]^{}_{}\{H/Y\} \), then

    $$ T = [\![F ]\!]^{}_{}\{H/Y\} \;\mathcal {R}\; [\![F' ]\!]^{}_{}\{H/Y\} = T' $$

    because \( [\![F ]\!]^{}_{} \;\mathcal {R}\; [\![F' ]\!]^{}_{}\) due to \(F = F'\).

  • Case \(2\). From the premise and Lemma 2, \(P{\mathop {\Longrightarrow }\limits ^{(\widetilde{c})\overline{a}[\langle X_1, X_2 \rangle E]}} P' \) and

    $$ T = (\widetilde{c})( [\![P' ]\!]^{}_{}|\, [\![\langle X_1, X_2 \rangle E ]\!]^{}_{}). $$

    Since \(P = Q\), \(Q\) can simulate \(P\) by \(Q {\mathop {\Longrightarrow }\limits ^{(\widetilde{d})\overline{a}G}} Q'\) and

    $$\begin{aligned} (\widetilde{c})(P'|\,C[\langle X_1, X_2 \rangle E]) = (\widetilde{d})(Q'|\,C[G]) \end{aligned}$$
    (1)

    for every \(\varPi ^D_2\) context \(C\)[ ]. There are two cases: whether \(G\) is a parameterization or not. Actually they can be similarly dealt with, so we only consider the case \(G\equiv \langle X_1, X_2 \rangle F\) which is a little more complicated. Then by Lemma 1,

    $$ [\![Q ]\!]^{}_{}{\mathop {\Longrightarrow }\limits ^{(m)\overline{a}[\langle Z \rangle \overline{m}Z]}} T' = (\widetilde{d})( [\![Q' ]\!]^{}_{}|\, [\![\langle X_1, X_2 \rangle F ]\!]^{}_{}) $$

    We intend to show

    $$ (m)(T|\,D[\langle Z \rangle \overline{m}Z]) \;\mathcal {R}\; (m)(T'|\,D[\langle Z \rangle \overline{m}Z]) $$

    for a \(\varPi ^D_1\) context \(D[\,]\equiv !n(X).[\,]\langle X \rangle \) in which \(n\) is fresh. Or equivalently

    $$\begin{aligned}&\quad (m)((\widetilde{c})( [\![P' ]\!]^{}_{}|\, [\![\langle X_1, X_2 \rangle E ]\!]^{}_{})|\,!n(X).\overline{m}X) \nonumber \\&\mathcal {R}\; (m)((\widetilde{d})( [\![Q' ]\!]^{}_{}|\, [\![\langle X_1, X_2 \rangle F ]\!]^{}_{})|\,!n(X).\overline{m}X) \end{aligned}$$
    (2)

    In terms of (1), it is obvious that when fixing \(C[\,]\equiv (m)([\,]|\,!n(X).\overline{m}X)\) we have

    $$ (\widetilde{c})(P'|\,(m)(\langle X_1, X_2 \rangle E|\,!n(X).\overline{m}X)) = (\widetilde{d})(Q'|\,(m)(\langle X_1, X_2 \rangle F|\,!n(X).\overline{m}X)) $$

    which becomes the following after applying some structural adjustment

    $$\begin{aligned} (m)((\widetilde{c})(P'|\,\langle X_1, X_2 \rangle E) |\,!n(X).\overline{m}X) = (m)((\widetilde{d})(Q'|\,\langle X_1, X_2 \rangle F)|\,!n(X).\overline{m}X) \end{aligned}$$
    (3)

    Now it is not hard to see that the left and right side of \(=\) in (3) are respectively encoded into the left and right side of \(\mathcal {R}\) in (2). That virtually proves the validity of (2) by the definition of \(\mathcal {R}\).

  • Case \(3\). From the premise and Lemma 2, \(P{\mathop {\Longrightarrow }\limits ^{\tau }} \text{ and } T{\mathop {\Longrightarrow }\limits ^{}} \cdot = [\![P' ]\!]^{}_{}\) or simply \(T = [\![P' ]\!]^{}_{}\). Since \(P = Q\), we have \(Q{\mathop {\Longrightarrow }\limits ^{\tau }} Q' \text{ and } P' = Q' \). Then by Lemma 1, \( [\![Q ]\!]^{}_{}{\mathop {\Longrightarrow }\limits ^{\tau }} T' = [\![Q' ]\!]^{}_{}\). Thus

    $$ T = [\![P' ]\!]^{}_{} \;\mathcal {R}\; [\![Q' ]\!]^{}_{} = T'. $$

Now the proof is completed. \(\square \)

1.2 Proofs for Sect. 4

Proof of Lemma 5

Proof

We only prove the strong transition correspondence part. The proof proceeds by induction on the structure of \(P\), we consider the following cases.

  • Case 1. \(P \equiv a(X).P_1\). \(P\) can only do an input action, suppose that \(P {\xrightarrow {a(A)}} P'\) and \(P'\equiv P_1\{A/X\}\), then we have

    $$ [\![P ]\!]^{}_{} \equiv a(X). [\![P_1 ]\!]^{}_{} {\xrightarrow {a( [\![A ]\!]^{}_{})}} \equiv [\![P_1 ]\!]^{}_{}\{ [\![A ]\!]^{}_{}/X\} = [\![P_1\{A/X\} ]\!]^{}_{}. $$
  • Case 2. \(P \equiv P_1 | P_2\). There are 3 subcases.

    1. 1.

      \(P {\xrightarrow {(\widetilde{c})\bar{a}A}} P'\). W.l.o.g. we can assume this is caused by \(P_1 {\xrightarrow {(\widetilde{c})\bar{a}A}} P_1'\) and \(P' \equiv P_1' | P_2\). Then by I.H. we have \( [\![P_1 ]\!]^{}_{}{\mathop {\Longrightarrow }\limits ^{}} {\xrightarrow {(\widetilde{c})\bar{a} [\![A ]\!]^{}_{}}} T_1\) and \(T_1 = [\![P_1' ]\!]^{}_{}\). As a result we have \( [\![P ]\!]^{}_{} \equiv [\![P_1 ]\!]^{}_{} | [\![P_2 ]\!]^{}_{} {\mathop {\Longrightarrow }\limits ^{}} {\xrightarrow {(\widetilde{c})\bar{a} [\![A ]\!]^{}_{}}} T_1 | [\![P_2 ]\!]^{}_{}\) and \(T_1 | [\![P_2 ]\!]^{}_{} = [\![P_1' ]\!]^{}_{}| [\![P_2 ]\!]^{}_{} = [\![P' ]\!]^{}_{}\).

    2. 2.

      \(P {\xrightarrow {a(A)}} P'\) this is case is similar to the above.

    3. 3.

      \(P {\xrightarrow {\tau }} P'\). W.l.o.g. we assume that this is caused by \(P_1 {\xrightarrow {a(A)}} P_1\), \(P_2 {\xrightarrow {(\widetilde{c})\bar{a}A}} P_2'\) and \(P' \equiv (c)(P_1'|P_2')\). By I.H. we have \( [\![P_1 ]\!]^{}_{} {\mathop {\Longrightarrow }\limits ^{}} {\xrightarrow {a( [\![A ]\!]^{}_{})}} T_1 = [\![P_1' ]\!]^{}_{}\) and \( [\![P_2 ]\!]^{}_{} {\mathop {\Longrightarrow }\limits ^{}} {\xrightarrow {(\widetilde{c})\bar{a} [\![A ]\!]^{}_{}}} T_2 = [\![P_2' ]\!]^{}_{}\). As a result \( [\![P ]\!]^{}_{} \equiv [\![P_1 ]\!]^{}_{}| [\![P_2 ]\!]^{}_{} {\mathop {\Longrightarrow }\limits ^{\tau }} T \) and

      $$T \equiv (\widetilde{c})(T_1|T_2) = (\widetilde{c})( [\![P_1' ]\!]^{}_{}| [\![P_2' ]\!]^{}_{}) \equiv [\![P' ]\!]^{}_{}.$$
  • Case 3. \(P \equiv \bar{a}A.P_1\) or \(P \equiv (c)P_1\). This case is similar to case 2.

  • Case 4. \(P \equiv A\langle P_1 \rangle \). Suppose that \(A \equiv \langle X \rangle Q\) and \(P {\xrightarrow {\lambda }} P'\) there are three subcases to consider: \(\lambda = a(B)\), \(\lambda = (\widetilde{c})\bar{a}E\) and \(\lambda = \tau \). We only deal with the case that \(\lambda = a(B)\), the others are similar. Consider the different cause of \(P {\xrightarrow {a(B)}} P'\).

    1. 1.

      If \(P {\xrightarrow {a(B)}} P'\) is caused by \(Q\), then we can assume that \(Q\{P_1 / X \} {\xrightarrow {a(A)}} P' \equiv Q_1\{P_1 /X \}\{ A / Y \}\) and \(Q\{\bar{m}0 / X\} {\xrightarrow {a(A)}} Q_1\{\bar{m}0 / X\}\{A / Y \}\). By I.H. \( [\![Q\{\bar{m}0 / X\} ]\!]^{}_{} {\mathop {\Longrightarrow }\limits ^{}} {\xrightarrow {a( [\![A ]\!]^{}_{})}} T'\) and \(T' = [\![Q_1\{\bar{m}0 / X\}\{ A / Y \} ]\!]^{}_{}\). Thus we have \( [\![P ]\!]^{}_{} \equiv (m)( [\![Q ]\!]^{}_{}\{\bar{m}0 / X \}| !m. [\![P_1 ]\!]^{}_{}) {\mathop {\Longrightarrow }\limits ^{}} {\xrightarrow {a( [\![A ]\!]^{}_{})}} T\) and

      $$\ T = (m)(T' | !m. [\![P_1 ]\!]^{}_{}) = (m)( [\![Q_1\{\bar{m}0 / X\}\{ A / Y \} ]\!]^{}_{} | !m. [\![P_1 ]\!]^{)}_{=} [\![P' ]\!]^{}_{}$$
    2. 2.

      If \(P {\xrightarrow {a(B)}} P'\) is caused by \(P_1{\xrightarrow {a(A)}} P_2\) then we have \(Q \equiv Q'| X\) for some \(Q'\) , \(Q\{P_1/X\} \equiv Q'\{P_1/X\} | P_1\) and \(P' \equiv Q'\{P_1/X\} | P_2\). By I.H. \( [\![P_1 ]\!]^{}_{} {\mathop {\Longrightarrow }\limits ^{}} {\xrightarrow {a( [\![A ]\!]^{}_{})}} T'\) and \(T' = [\![P_2 ]\!]^{}_{}\). Then

      $$\begin{aligned}{}[\![P ]\!]^{}_{} \qquad \equiv \qquad&(m)( [\![Q ]\!]^{}_{}\{\bar{m}0 / X \}\langle m \rangle | !m. [\![P_1 ]\!]^{}_{}) \\ \equiv \qquad&(m)( [\![Q'|X ]\!]^{}_{}\{\bar{m}0 / X \}\langle m \rangle | !m. [\![P_1 ]\!]^{}_{}) \\ {\xrightarrow {\tau }} \qquad&(m)( [\![Q' ]\!]^{}_{}\{\bar{m}0 / X \}\langle m \rangle | [\![P_1 ]\!]^{}_{}| !m. [\![P_1 ]\!]^{}_{}) \\ {\mathop {\Longrightarrow }\limits ^{}} {\xrightarrow {a( [\![A ]\!]^{}_{})}} \;&(m)( [\![Q' ]\!]^{}_{}\{\bar{m}0 / X \}\langle m \rangle |T'| !m. [\![P_1 ]\!]^{}_{}) \\ = \qquad&(m)( [\![Q' ]\!]^{}_{}\{\bar{m}0 / X \}\langle m \rangle | [\![P_2 ]\!]^{}_{}| !m. [\![P_1 ]\!]^{}_{}) \\ \equiv \qquad&[\![P' ]\!]^{}_{} \end{aligned}$$

      \(\square \)

Proof of Lemma 7

Proof

We prove the relation \(\mathcal {R}\) defined by

$$ \mathcal {R} \;{\mathop {=}\limits ^{def}}\; \{ ( [\![P ]\!]^{}_{}, [\![Q ]\!]^{)}_{~}|~ P = Q \} $$

is a context bisimulation up-to \(=\). Suppose that \(P {\mathop {\Longrightarrow }\limits ^{\lambda }} T\), there are three cases to consider.

  • Case 1. \(\lambda = a(A)\). By Lemma 6, \(P {\mathop {\Longrightarrow }\limits ^{a(A)}} P'\) and \(T = [\![P' ]\!]^{}_{}\). Since \(P = Q\) , then \(Q\) can simulate \(P\) with \(Q {\mathop {\Longrightarrow }\limits ^{a(A)}} Q' = P'\). By Lemma 5 we know that \( [\![Q ]\!]^{}_{} {\mathop {\Longrightarrow }\limits ^{a( [\![A ]\!]^{}_{})}} T'\) and \(T' = [\![Q' ]\!]^{}_{}\). As \(A\) is an \(\varPi ^d_1\) agent, \( [\![A ]\!]^{}_{} \equiv A\). In conclusion we got \( [\![Q ]\!]^{}_{} {\mathop {\Longrightarrow }\limits ^{a(A)}} T'\) and

    $$ T = [\![P' ]\!]^{}_{} \mathcal {R} [\![Q' ]\!]^{}_{} = T' $$
  • Case 2. \(\lambda = (\widetilde{c})\bar{a} A\). By Lemma 6, there exists some \(\widetilde{c}\), \(A'\) s.t. \(P {\mathop {\Longrightarrow }\limits ^{(\widetilde{c})\bar{a}A'}} P'\) with \(T = [\![P' ]\!]^{}_{}\) and \( [\![A' ]\!]^{\equiv }_{A}\). Since \(P = Q\), then \(Q\) can simulate \(P\) with \(Q {\mathop {\Longrightarrow }\limits ^{(\widetilde{d})\bar{a}B'}} Q'\) for some \(\widetilde{d}\) and \(B'\) s.t. for every process \(E[\,]\) with \(\widetilde{c}\widetilde{d}\cap fn(E[\,])=\emptyset \) it holds that

    $$\begin{aligned} (\widetilde{c})(E[A']|\,P') = (\widetilde{d})(E[B']|\,Q') \end{aligned}$$
    (*)

    By Lemma 5 , there exist some \(T'\) s.t. \(Q{\mathop {\Longrightarrow }\limits ^{(\widetilde{d})\bar{a} [\![B' ]\!]^{}_{}}} T'\) and \(T' = [\![Q' ]\!]^{}_{}\). And from (*) we know that for every process \(F [\,]\) without higher-order abstraction and higher-order application s.t. \(\widetilde{c}\widetilde{d}\cap fn(F[\,])=\emptyset \) we have

    $$ (\widetilde{c})(F [A]|\, [\![P' ]\!]^{}_{}) \,\mathcal {R}\, (\widetilde{d})(F [B]|\, [\![Q ]\!]^{}_{})\quad {\text {(let}}~{\text {B}} \equiv [\![B' ]\!]^{}_{}) $$

    In conclusion we have \(Q{\mathop {\Longrightarrow }\limits ^{(\widetilde{d})\bar{a}B}} T'\) and for every process \(F[\,]\) s.t. \(\widetilde{c}\widetilde{d}\cap fn(F[\,])=\emptyset \) we have

    $$\begin{aligned} T = (\widetilde{c})(F [A]|\, [\![P' ]\!]^{}_{}) \,\mathcal {R}\, (\widetilde{d})(F [B]|\, [\![Q ]\!]^{}_{}) = T' \end{aligned}$$
  • Case 3. \(\lambda = \tau \). This case is similar to the case 1. \(\square \)

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Science and Engineering Faculty

About this paper

Cite this paper

Xu, X., Yin, Q., Long, H. (2014). On the Expressiveness of Parameterization in Process-Passing. In: Tuosto, E., Ouyang, C. (eds) Web Services and Formal Methods. WS-FM 2013. Lecture Notes in Computer Science(), vol 8379. Springer, Cham. https://doi.org/10.1007/978-3-319-08260-8_9

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-08260-8_9

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-08259-2

  • Online ISBN: 978-3-319-08260-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics