Concurrent Pattern Calculus

  • Thomas Given-Wilson
  • Daniele Gorla
  • Barry Jay
Part of the IFIP Advances in Information and Communication Technology book series (IFIPAICT, volume 323)


Concurrent pattern calculus drives interaction between processes by unifying patterns, just as sequential pattern calculus drives computation by matching a pattern against a data structure. By generalising from pattern matching to unification, interaction becomes symmetrical, with information flowing in both directions. This provides a natural language for describing any form of exchange or trade. Many popular process calculi can be encoded in concurrent pattern calculus.


Pattern Match Operational Semantic Expressive Power Parallel Composition Interaction Rule 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Barendregt, H.P.: The Lambda Calculus. Its Syntax and Semantics. Studies in Logic and the Foundations of Mathematics. Elsevier Science Publishers B.V., Amsterdam (1985)zbMATHGoogle Scholar
  2. 2.
    bondi programming language,
  3. 3.
    Brown, A.L., Laneve, C., Meredith, L.G.: Piduce: A process calculus with native XML datatypes. In: Bravetti, M., Kloul, L., Zavattaro, G. (eds.) EPEW/WS-EM 2005. LNCS, vol. 3670, pp. 18–34. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  4. 4.
    Gelernter, D.: Generative communication in Linda. ACM Transactions on Programming Languages and Systems 7(1), 80–112 (1985)zbMATHCrossRefGoogle Scholar
  5. 5.
    Given-Wilson, T., Gorla, D., Jay, B.: Concurrent pattern calculus, long version (2010),
  6. 6.
    Gordon, A., Abadi, M.: A calculus for cryptographic protocols: The spi calculus. In: 4th ACM Conference on Computer and Communications Security, pp. 36–47 (1997)Google Scholar
  7. 7.
    Gorla, D.: Comparing communication primitives via their relative expressive power. Information and Computation 206(8), 931–952 (2008)zbMATHCrossRefMathSciNetGoogle Scholar
  8. 8.
    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)CrossRefGoogle Scholar
  9. 9.
    Jay, B.: Pattern Calculus: Computing with Functions and Data Structures. Springer, Heidelberg (2009)zbMATHGoogle Scholar
  10. 10.
    Jay, B., Given-Wilson, T.: A combinatory account of internal structure (2010),
  11. 11.
    Jay, B., Kesner, D.: First-class patterns. Journal of Functional Programming 19(2), 34pages (2009)CrossRefMathSciNetGoogle Scholar
  12. 12.
    Milner, R.: The polyadic π-calculus: A tutorial. In: Bauer, F.L., Brauer, W., Schwichtenberg, H. (eds.) Logic and Algebra of Specification. NATO ASI., vol. 94. Springer, Heidelberg (1993)Google Scholar
  13. 13.
    Milner, R., Parrow, J., Walker, D.: A calculus of mobile processes, part I/II. Information and Computation 100, 1–77 (1992)zbMATHCrossRefMathSciNetGoogle Scholar
  14. 14.
    Nicola, R.D., Ferrari, G., Pugliese, R.: KLAIM: A kernel language for agents interaction and mobility. IEEE Transactions on Software Engineering 24(5), 315–330 (1998)CrossRefGoogle Scholar
  15. 15.
    Parrow, J., Victor, B.: The fusion calculus: Expressiveness and symmetry in mobile processes. In: Proc. of LICS, pp. 176–185. IEEE Computer Society, Los Alamitos (1998)Google Scholar
  16. 16.
    Picco, G., Murphy, A., Roman, G.-C.: Lime: Linda Meets Mobility. In: Garlan, D. (ed.) Proc. of the 21st Int. Conference on Software Engineering (ICSE’99), pp. 368–377. ACM Press, New York (1999)CrossRefGoogle Scholar
  17. 17.
    Wischik, L., Gardner, P.: Explicit fusions. Theor. Comput. Sci. 340(3), 606–630 (2005)zbMATHCrossRefMathSciNetGoogle Scholar

Copyright information

© IFIP 2010

Authors and Affiliations

  • Thomas Given-Wilson
    • 1
  • Daniele Gorla
    • 2
  • Barry Jay
    • 1
  1. 1.Centre for Quantum Computation and Intelligent Systems &, School of SoftwareUniversity of TechnologySydney
  2. 2.Dip. di InformaticaUniv. di Roma “La Sapienza” 

Personalised recommendations