Translating Orc Features into Petri Nets and the Join Calculus

  • Roberto Bruni
  • Hernán Melgratti
  • Emilio Tuosto
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4184)


Cook and Misra’s Orc is an elegant language for orchestrating distributed services, able to cover e.g. van der Aalst’s workflow patterns. We aim to understand the key novel features of Orc by comparing it with variations of Petri nets. The comparison shows that Orc hides powerful mechanisms for name handling (creation and passing) and for atomic distributed termination. Petri nets with static topology can encode Orc under severe restrictions while the full language (up to a more realistic cancellation strategy) can be encoded in Join (that can be seen as a higher-order extension of Petri nets). As an overall result, we promote Join calculus as an elegant language embedding orchestration and computation.


Service Composition Composite Service Parallel Composition Site Call Join Process 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    van der Aalst, W.M.P.: Why workflow is NOT just a pi process. In: BPTrends, pp. 1–2 (2004)Google Scholar
  2. 2.
    van der Aalst, W.M.P.: Pi calculus versus Petri nets. In: BPTrends, pp. 1–11 (2005)Google Scholar
  3. 3.
    van der Aalst, W.M.P., ter Hofstede, A.H.M.: Workflow patterns: On the expressive power of (Petri-net-based) workflow languages. In: Proc. of CPN 2002, University of Aarhus. DAIMI, vol. 560, pp. 1–20 (2002)Google Scholar
  4. 4.
    van der Aalst, W.M.P., ter Hofstede, A.H.M.: Yawl: yet another workflow language. Inf. Syst. 30(4), 245–275 (2005)CrossRefGoogle Scholar
  5. 5.
    van der Aalst, W.M.P., ter Hofstede, A.H.M., Kiepuszewski, B., Barros, A.P.: Workflow patterns. Distributed and Parallel Databases 14(1), 5–51 (2003)CrossRefGoogle Scholar
  6. 6.
    Araki, T., Kasami, T.: Some decision problems related to the reachability problem for Petri nets. TCS 3(1), 85–104 (1976)CrossRefMathSciNetGoogle Scholar
  7. 7.
    Benton, N., Cardelli, L., Fournet, C.: Modern concurrency abstractions for c\({}^{\sharp}\). In: Magnusson, B. (ed.) ECOOP 2002. LNCS, vol. 2374, pp. 415–440. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  8. 8.
  9. 9.
    Buscemi, M.G., Sassone, V.: High-level petri nets as type theories in the join calculus. In: Honsell, F., Miculan, M. (eds.) FOSSACS 2001. LNCS, vol. 2030, pp. 104–120. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  10. 10.
    Conchon, S., Le Fessant, F.: Jocaml: Mobile agents for Objective-Caml. In: Proc. of ASA/MA 1999, pp. 22–29. IEEE Computer Society, Los Alamitos (1999)Google Scholar
  11. 11.
    Cook, W.R., Patwardhan, S., Misra, J.: Workflow patterns in Orc (submitted, 2006)Google Scholar
  12. 12.
    Dufourd, C., Finkel, A., Schnoebelen, P.: Reset nets between decidability and undecidability. In: Larsen, K.G., Skyum, S., Winskel, G. (eds.) ICALP 1998. LNCS, vol. 1443, pp. 103–115. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  13. 13.
    Flynn, M.J., Agerwala, T.: Comments on capabilities, limitations and correctness of Petri nets. In: SIGARCH Computer Architecture News, pp. 81–86 (1973)Google Scholar
  14. 14.
    Fournet, C., Gonthier, G.: The reflexive chemical abstract machine and the join calculus. In: Proc. of POPL 1996, pp. 372–385. ACM Press, New York (1996)CrossRefGoogle Scholar
  15. 15.
    Fournet, C., Laneve, C.: Bisimulations in the join calculus. TCS 266, 569–603 (2001)zbMATHCrossRefMathSciNetGoogle Scholar
  16. 16.
  17. 17.
    Milner, R.: A Calculus of Communication Systems. LNCS, vol. 92. Springer, Heidelberg (1980)Google Scholar
  18. 18.
    Milner, R., Parrow, J., Walker, J.: A calculus of mobile processes, I and II. Inform. and Comput. 100(1), 1–40, 41–77 (1992)zbMATHCrossRefMathSciNetGoogle Scholar
  19. 19.
    Misra, J., Cook, W.R.: Orc - An orchestration language,
  20. 20.
    Misra, J., Cook, W.R.: Computation orchestration: A basis for wide-area computing. Journal of Software and Systems Modeling (to appear, 2006)Google Scholar
  21. 21.
    Petri, C.A.: Kommunikation mit Automaten. PhD thesis, Institut für Instrumentelle Mathematik, Bonn (1962)Google Scholar
  22. 22.
    The Process Modelling Group web site,
  23. 23.
    Puhlmann, F., Weske, M.: Using the pi-calculus for formalising workflow patterns. In: van der Aalst, W.M.P., Benatallah, B., Casati, F., Curbera, F. (eds.) BPM 2005. LNCS, vol. 3649, pp. 153–168. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  24. 24.
    Reisig, W.: Petri Nets: An Introduction. EATCS Monographs on Theoretical Computer Science. Springer, Heidelberg (1985)Google Scholar
  25. 25.
    Smith, H., Fingar, P.: Workflow is just a pi process. In: BPTrends, pp. 1–36 (2004)Google Scholar
  26. 26.
    Stefansen, C.: SMAWL: A small workflow language based on CCS. In: CAiSE 2005 Short Paper Proceedings, CEUR Workshop Proceedings., vol. 161 (2005)Google Scholar
  27. 27.
    Thatte, S.: xlang: Web Services for Business Process Design (2001),
  28. 28.
    Workflow Patterns web site,

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Roberto Bruni
    • 1
  • Hernán Melgratti
    • 2
  • Emilio Tuosto
    • 3
  1. 1.Computer Science DepartmentUniversity of PisaItaly
  2. 2.IMTLucca Institute for Advanced StudiesItalia
  3. 3.Department of Computer ScienceUniversity of LeicesterUK

Personalised recommendations