A Language for Task Orchestration and Its Semantic Properties

  • David Kitchin
  • William R. Cook
  • Jayadev Misra
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4137)


Orc is a new language for task orchestration, a form of concurrent programming with applications in workflow, business process management, and web service orchestration. Orc provides constructs to orchestrate the concurrent invocation of services – while managing time-outs, priorities, and failure of services or communication. In this paper, we show a trace-based semantic model for Orc, which induces a congruence on Orc programs and facilitates reasoning about them. Despite the simplicity of the language and its semantic model, Orc is able to express a variety of useful orchestration tasks.


Substitution Event Semantic Property Business Process Management Concurrent Programming Site Call 
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.
    Aalst, W.M.P.V.D., Hofstede, A.H.M.T., Kiepuszewski, B., Barros, A.P.: Workflow patterns. Distrib. Parallel Databases 14(1), 5–51 (2003)CrossRefGoogle Scholar
  2. 2.
    Misra, J., Cook, W.R.: Computation orchestration: A basis for wide-area computing. Journal of Software and Systems Modeling (May 2006), Available for download at:
  3. 3.
    Cook, W.R., Patwardhan, S., Misra, J.: Workflow patterns in Orc. In: Ciancarini, P., Wiklicky, H. (eds.) COORDINATION 2006. LNCS, vol. 4038, pp. 82–96. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  4. 4.
    Rosario, S., Benveniste, A., Haar, S., Jard, C.: SLA for web services orchestrations (unpublished, manuscript 2006)Google Scholar
  5. 5.
    Kozen, D.: On Kleene algebras and closed semirings. In: Rovan, B. (ed.) MFCS 1990. LNCS, vol. 452, pp. 26–47. Springer, Heidelberg (1990)CrossRefGoogle Scholar
  6. 6.
    Milner, R.: Communication and Concurrency. International Series in Computer Science (C.A.R. Hoare, series editor). Prentice-Hall, Englewood Cliffs (1989)zbMATHGoogle Scholar
  7. 7.
    Kitchin, D., Cook, W.R., Misra, J.: Semantic properties of asynchronous Orc. Technical Report TR-06-32, University of Texas at Austin, Department of Computer Sciences (2006)Google Scholar
  8. 8.
    Eshuis, R., Dehnert, J.: Reactive Petri Nets for Workflow Modeling. In: van der Aalst, W.M.P., Best, E. (eds.) ICATPN 2003. LNCS, vol. 2679, pp. 296–315. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  9. 9.
    Puhlmann, F., Weske, M.: Using the π-Calculus for Formalizing 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
  10. 10.
    van Glabbeek, R.: On specifying timeouts. In: Workshop on Algebraic Process Calculi: The First Twenty Five Years and Beyond. Electronic Notes in Theoretical Computer Science (to appear, 2005)Google Scholar
  11. 11.
    van der Aalst, W.M.P., Aldred, L., Dumas, M., ter Hofstede, A.H.M.: Design and implementation of the YAWL system. In: Persson, A., Stirna, J. (eds.) CAiSE 2004. LNCS, vol. 3084, pp. 142–159. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  12. 12.
    Hoare, C.: Communicating Sequential Processes. Prentice Hall International, Englewood Cliffs (1984)Google Scholar
  13. 13.
    Milner, R.: Communicating and Mobile Systems: the π-Calculus. Cambridge University Press, Cambridge (1999)Google Scholar
  14. 14.
    Riely, J., Hennessy, M.: Distributed processes and location failures. Theoretical Computer Science 266(1–2), 693–735 (2001)CrossRefMathSciNetzbMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • David Kitchin
    • 1
  • William R. Cook
    • 1
  • Jayadev Misra
    • 1
  1. 1.The University of Texas at Austin 

Personalised recommendations