Advertisement

On the Expressiveness of Joining and Splitting

  • Thomas Given-WilsonEmail author
  • Axel Legay
Chapter
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11200)

Abstract

An ongoing theme of the work of Bernhard Steffen has been the bringing together of different components in a coordinated manner and with a unified language. This paper explores this approach applied to process calculi that account for coordination of different kinds of workflows. Coordination here extends binary interaction to also account for joining of multiple outputs into a single input, and splitting from a single output to multiple inputs. The results here formalise which process calculi can and cannot be encoded into one another, and thus which language has the required expressiveness for given workflow properties. The combination of with other features of interaction allows for the representation of many systems and workflows in an appropriate calculus.

References

  1. 1.
    Abadi, M., Gordon, A.D.: A calculus for cryptographic protocols: the spi calculus. In: Proceedings of the 4th ACM Conference on Computer and Communications Security, CCS 1997, pp. 36–47. ACM, New York (1997)Google Scholar
  2. 2.
    Bengtson, J., Johansson, M., Parrow, J., Victor, B.: Psi-calculi: a framework for mobile processes with nominal data and logic. Log. Methods Comput. Sci. 7(1) (2011)Google Scholar
  3. 3.
    Bengtson, J., Parrow, J.: Formalising the pi-calculus using nominal logic. Log. Methods Comput. Sci. 5(2), 63–77 (2009)Google Scholar
  4. 4.
    Bocchi, L., Wischik, L.: A process calculus of atomic commit. Electron. Notes Theor. Comput. Sci. 105, 119–132 (2004). Proceedings of the First International Workshop on Web Services and Formal Methods (WSFM 2004)zbMATHCrossRefGoogle Scholar
  5. 5.
    Boreale, M., Fournet, C., Laneve, C.: Bisimulations in the Join-Calculus. In: Gries, D., de Roever, W.-P. (eds.) Programming Concepts and Methods PROCOMET ’98. ITIFIP, pp. 68–86. Springer, Boston, MA (1998).  https://doi.org/10.1007/978-0-387-35358-6_9CrossRefGoogle Scholar
  6. 6.
    Boudol, G.: Notes on algebraic calculi of processes. In: Apt, K.R. (ed.) Logics and Models of Concurrent Systems. NATO ASI Series (Series F: Computer and Systems Sciences), vol. 13, pp. 261–303. Springer, Heidelberg (1985).  https://doi.org/10.1007/978-3-642-82453-1_9CrossRefGoogle Scholar
  7. 7.
    Boudol, G.: Asynchrony and the pi-calculus. Rapport de Recherche 1702 (1992)Google Scholar
  8. 8.
    Burkart, O., Caucal, D., Steffen, B.: Bisimulation collapse and the process taxonomy. In: Montanari, U., Sassone, V. (eds.) CONCUR 1996. LNCS, vol. 1119, pp. 247–262. Springer, Heidelberg (1996).  https://doi.org/10.1007/3-540-61604-7_59CrossRefGoogle Scholar
  9. 9.
    Busi, N., Gorrieri, R., Zavattaro, G.: On the expressiveness of linda coordination primitives. Inf. Comput. 156(1–2), 90–121 (2000)MathSciNetzbMATHCrossRefGoogle Scholar
  10. 10.
    Carbone, M., Maffeis, S.: On the expressive power of polyadic synchronisation in \(\pi \)-calculus. Nord. J. Comput. 10(2), 70–98 (2003)MathSciNetzbMATHGoogle Scholar
  11. 11.
    Cardelli, L., Gordon, A.D.: Mobile ambients. In: Nivat, M. (ed.) FoSSaCS 1998. LNCS, vol. 1378, pp. 140–155. Springer, Heidelberg (1998).  https://doi.org/10.1007/BFb0053547CrossRefGoogle Scholar
  12. 12.
    Cassel, S., Howar, F., Jonsson, B., Merten, M., Steffen, B.: A succinct canonical register automaton model. J. Log. Algebr. Meth. Program. 84(1), 54–66 (2015)MathSciNetzbMATHCrossRefGoogle Scholar
  13. 13.
    Castagna, G., De Nicola, R., Varacca, D.: Semantic subtyping for the pi-calculus. Theor. Comput. Sci. 398(1–3), 217–242 (2008)MathSciNetzbMATHCrossRefGoogle Scholar
  14. 14.
    de Lara, J., Zisman, A. (eds.): FASE 2012. LNCS, vol. 7212. Springer, Heidelberg (2012).  https://doi.org/10.1007/978-3-642-28872-2CrossRefGoogle Scholar
  15. 15.
    De Nicola, R., Ferrari, G.L., Pugliese, R.: KLAIM: a kernel language for agents interaction and mobility. IEEE Trans. Softw. Eng. 24(5), 315–330 (1998)CrossRefGoogle Scholar
  16. 16.
    De Nicola, R., Gorla, D., Pugliese, R.: On the expressive power of Klaim-based calculi. Theor. Comput. Sci. 356(3), 387–421 (2006)MathSciNetzbMATHCrossRefGoogle Scholar
  17. 17.
    de Simone, R.: Higher-level synchronising devices in Meije-SCCS. Theor. Comput. Sci. 37, 245–267 (1985)MathSciNetzbMATHCrossRefGoogle Scholar
  18. 18.
    Ene, C., Muntean, T.: A broadcast-based calculus for communicating systems. In: International Parallel and Distributed Processing Symposium, vol. 3, p. 30149b. IEEE Computer Society (2001)Google Scholar
  19. 19.
    Fournet, C., Gonthier, G.: The reflexive CHAM and the join-calculus. In: Proceedings of the 23rd ACM Symposium on Principles of Programming Languages, pp. 372–385. ACM Press (1996)Google Scholar
  20. 20.
    Gelernter, D.: Generative communication in Linda. ACM Trans. Program. Lang. Syst. 7(1), 80–112 (1985)zbMATHCrossRefGoogle Scholar
  21. 21.
    Given-Wilson, T.: Concurrent Pattern Unification. Ph.D. thesis, University of Technology, Sydney, Australia (2012)Google Scholar
  22. 22.
    Given-Wilson, T.: An intensional concurrent faithful encoding of turing machines. In: Lanese, I., Lluch-Lafuente, A., Sokolova, A., Vieira, H.T. (eds.) Proceedings 7th Interaction and Concurrency Experience, ICE 2014, Berlin, Germany, 6th June 2014. EPTCS, vol. 166, pp. 21–37 (2014)Google Scholar
  23. 23.
    Given-Wilson, T.: On the expressiveness of intensional communication. In: Combined 21th International Workshop on Expressiveness in Concurrency and 11th Workshop on Structural Operational Semantics, Rome, Italie, September 2014Google Scholar
  24. 24.
    Given-Wilson, T., Gorla, D.: Pattern matching and bisimulation. In: De Nicola, R., Julien, C. (eds.) COORDINATION 2013. LNCS, vol. 7890, pp. 60–74. Springer, Heidelberg (2013).  https://doi.org/10.1007/978-3-642-38493-6_5CrossRefGoogle Scholar
  25. 25.
    Given-Wilson, T., Gorla, D., Jay, B.: Concurrent pattern calculus. In: Calude, C.S., Sassone, V. (eds.) TCS 2010. IAICT, vol. 323, pp. 244–258. Springer, Heidelberg (2010).  https://doi.org/10.1007/978-3-642-15240-5_18CrossRefGoogle Scholar
  26. 26.
    Given-Wilson, T., Gorla, D., Jay, B.: A concurrent pattern calculus. Log. Methods Comput. Sci. 10(3) (2014)Google Scholar
  27. 27.
    Given-Wilson, T., Legay, A.: On the expressiveness of joining. In: 8th Interaction and Concurrency Experience (ICE 2015), Grenoble, France, June 2015Google Scholar
  28. 28.
    Gorla, D.: Comparing communication primitives via their relative expressive power. Inf. Comput. 206(8), 931–952 (2008)MathSciNetzbMATHCrossRefGoogle Scholar
  29. 29.
    Gorla, D.: A taxonomy of process calculi for distribution and mobility. Distrib. Comput. 23(4), 273–299 (2010)zbMATHCrossRefMathSciNetGoogle Scholar
  30. 30.
    Gorla, D.: Towards a unified approach to encodability and separation results for process calculi. Inf. Comput. 208(9), 1031–1053 (2010)MathSciNetzbMATHCrossRefGoogle Scholar
  31. 31.
    Haack, C., Jeffrey, A.: Pattern-matching spi-calculus. Inf. Comput. 204(8), 1195–1263 (2006)MathSciNetzbMATHCrossRefGoogle Scholar
  32. 32.
    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).  https://doi.org/10.1007/BFb0057019CrossRefGoogle Scholar
  33. 33.
    Honda, K., Yoshida, N.: On reduction-based process semantics. Theor. Comput. Sci. 152, 437–486 (1995)MathSciNetzbMATHCrossRefGoogle Scholar
  34. 34.
    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).  https://doi.org/10.1007/978-3-642-14162-1_37zbMATHCrossRefGoogle Scholar
  35. 35.
    Lanese, I., Vaz, C., Ferreira, C.: On the expressive power of primitives for compensation handling. In: Gordon, A.D. (ed.) ESOP 2010. LNCS, vol. 6012, pp. 366–386. Springer, Heidelberg (2010).  https://doi.org/10.1007/978-3-642-11957-6_20CrossRefGoogle Scholar
  36. 36.
    Laneve, C., Vitale, A.: The expressive power of synchronizations. In: 2010 25th Annual IEEE Symposium on Logic in Computer Science (LICS), pp. 382–391. IEEE (2010)Google Scholar
  37. 37.
    Margaria, T., Steffen, B.: Middleware: just another level for orchestration. In: Proceedings of the Workshop on Middleware for Next-Generation Converged Networks and Applications, MNCNA 2007, Newport Beach, California, USA, 26 November 2007, p. 4. ACM (2007)Google Scholar
  38. 38.
    Milner, R.: The polyadic \({\pi }\)-calculus: a tutorial. In: Bauer, F.L., Brauer, W., Schwichtenberg, H. (eds.) Logic and Algebra of Specification. NATO ASI Series (Series F: Computer & Systems Sciences), vol. 94, pp. 203–246. Springer, Heidelberg (1993).  https://doi.org/10.1007/978-3-642-58041-3_6CrossRefGoogle Scholar
  39. 39.
    Milner, R.: Communicating and Mobile Systems - the Pi-Calculus. Cambridge University Press, Cambridge (1999)zbMATHGoogle Scholar
  40. 40.
    Milner, R., Parrow, J., Walker, D.: A calculus of mobile processes, I. Inf. Comput. 100(1), 1–40 (1992)MathSciNetzbMATHCrossRefGoogle Scholar
  41. 41.
    Milner, R., Parrow, J., Walker, D.: A calculus of mobile processes, II. Inf. Comput. 100(1), 41–77 (1992)MathSciNetzbMATHCrossRefGoogle Scholar
  42. 42.
    Naujokat, S., Lamprecht, A., Steffen, B.: Tailoring process synthesis to domain characteristics. In: Perseil, I., Breitman, K.K., Sterritt, R. (eds.) 16th IEEE International Conference on Engineering of Complex Computer Systems, ICECCS 2011, Las Vegas, Nevada, USA, 27–29 April 2011, pp. 167–175. IEEE Computer Society (2011)Google Scholar
  43. 43.
    Nestmann, U.: On the expressive power of joint input. Electron. Notes Theor. Comput. Sci. 16(2), 145–152 (1998)MathSciNetzbMATHCrossRefGoogle Scholar
  44. 44.
    Neubauer, J., Steffen, B.: Plug-and-play higher-order process integration. IEEE Comput. 46(11), 56–62 (2013)CrossRefGoogle Scholar
  45. 45.
    Neubauer, J., Steffen, B., Margaria, T.: Higher-order process modeling: product-lining, variability modeling and beyond. In: Banerjee, A., Danvy, O., Doh, K., Hatcliff, J. (eds.) Semantics, Abstract Interpretation, and Reasoning about Programs: Essays Dedicated to David A. Schmidt on the Occasion of his Sixtieth Birthday, Manhattan, Kansas, USA, 19–20th September 2013. EPTCS, vol. 129, pp. 259–283 (2013)Google Scholar
  46. 46.
    Nielsen, L., Yoshida, N., Honda, K.: Multiparty symmetric sum types. In: Proceedings of the 17th International Workshop on Expressiveness in Concurrency (EXPRESS 2010), pp. 121–135 (2010)CrossRefGoogle Scholar
  47. 47.
    Nielson, H.R., Nielson, F., Vigo, R.: A calculus for quality. In: Păsăreanu, C.S., Salaün, G. (eds.) FACS 2012. LNCS, vol. 7684, pp. 188–204. Springer, Heidelberg (2013).  https://doi.org/10.1007/978-3-642-35861-6_12CrossRefGoogle Scholar
  48. 48.
    Nielson, H.R., Nielson, F., Vigo, R.: A calculus of quality for robustness against unreliable communication. J. Log. Algebr. Methods Program. 84(5), 611–639 (2015)MathSciNetzbMATHCrossRefGoogle Scholar
  49. 49.
    Palamidessi, C.: Comparing the expressive power of the synchronous and asynchronous pi-calculi. Math. Struct. Comput. Sci. 13(5), 685–719 (2003)CrossRefGoogle Scholar
  50. 50.
    Parrow, J.: Expressiveness of process algebras. Electron. Notes Theor. Comput. Sci. 209, 173–186 (2008)MathSciNetzbMATHCrossRefGoogle Scholar
  51. 51.
    Peters, K.: Translational expressiveness: comparing process calculi using encodings. Ph.D. thesis, Technische Universität Berlin, Fakultät IV - Elektrotechnik und Informatik, Germany (2012)Google Scholar
  52. 52.
    Peters, K., Nestmann, U., Goltz, U.: On distributability in process calculi. In: Felleisen, M., Gardner, P. (eds.) ESOP 2013. LNCS, vol. 7792, pp. 310–329. Springer, Heidelberg (2013).  https://doi.org/10.1007/978-3-642-37036-6_18CrossRefGoogle Scholar
  53. 53.
    Prasad, K.V.: A calculus of broadcasting systems. Sci. Comput. Program. 25(2), 285–327 (1995)MathSciNetCrossRefGoogle Scholar
  54. 54.
    Schmitt, A., Stefani, J.: The M-calculus: a higher-order distributed process calculus. In: Conference Record of POPL 2003: The 30th SIGPLAN-SIGACT Symposium on Principles of Programming Languages, New Orleans, Louisisana, USA, 15–17 January 2003, pp. 50–61 (2003)Google Scholar
  55. 55.
    Steffen, B.: Unifying models. In: Reischuk, R., Morvan, M. (eds.) STACS 1997. LNCS, vol. 1200, pp. 1–20. Springer, Heidelberg (1997).  https://doi.org/10.1007/BFb0023444CrossRefGoogle Scholar
  56. 56.
    Urban, C., Berghofer, S., Norrish, M.: Barendregt’s variable convention in rule inductions. In: Pfenning, F. (ed.) CADE 2007. LNCS (LNAI), vol. 4603, pp. 35–50. Springer, Heidelberg (2007).  https://doi.org/10.1007/978-3-540-73595-3_4CrossRefGoogle Scholar
  57. 57.
    van Glabbeek, R.J.: Musings on encodings and expressiveness. In: Proceedings of EXPRESS/SOS. EPTCS, vol. 89, pp. 81–98 (2012)Google Scholar
  58. 58.
    van Glabbeek, R.J.: On the validity of encodings of the synchronous in the asynchronous \(\pi \)-calculus. Inf. Process. Lett. 137, 17–25 (2018)MathSciNetzbMATHCrossRefGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  1. 1.InriaRennesFrance

Personalised recommendations