Software & Systems Modeling

, Volume 6, Issue 1, pp 83–110 | Cite as

Computation Orchestration

A Basis for Wide-area Computing
  • Jayadev MisraEmail author
  • William R. Cook
Special Selection Paper


The widespread deployment of networked applications and adoption of the internet has fostered an environment in which many distributed services are available. There is great demand to automate business processes and workflows among organizations and individuals. Solutions to such problems require orchestration of concurrent and distributed services in the face of arbitrary delays and failures of components and communication. We propose a novel approach, called Orc for orchestration, that supports a structured model of concurrent and distributed programming. This model assumes that basic services, like sequential computation and data manipulation, are implemented by primitive sites. Orc provides constructs to orchestrate the concurrent invocation of sites to achieve a goal – while managing time-outs, priorities, and failure of sites or communication.


Wide-area computing Web services Computation orchestration Distributed computing Process algebra Thread-based programming 


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. (2003) Workflow patterns. Distrib. Parallel Databases 14(1):5–51CrossRefGoogle Scholar
  2. 2.
    Benton N., Cardelli L., Fournet C. (2004) Modern concurrency abstractions for C#. TOPLAS 26(5): 769–804CrossRefGoogle Scholar
  3. 3.
    Benveniste A., Caspi P., Edwards S.A., Halbwachs N., Guernic P.L., de Simone R. (2003) The synchronous languages 12 years later. Proc IEEE 91(1): 64–83CrossRefGoogle Scholar
  4. 4.
    Berry G., Gonthier G. (1992) The Esterel synchronous programming language: design, semantics, implementation. Sci Comput Program 19(2): 87–152zbMATHCrossRefGoogle Scholar
  5. 5.
    Cardelli, L. Transitions in programming models (microsoft research european faculty summit ’03). (MSR%20Faculty%20Summit).pdfGoogle Scholar
  6. 6.
    Cardelli L., Davies R. (1999) Service combinators for web computing. IEEE Trans Softw Eng 25(3): 309–316CrossRefGoogle Scholar
  7. 7.
    Choi Y., Garg A., Rai S., Misra J., Vin H. (2002). Orchestrating computations on the world-wide web. In: Monien R.F.B. (eds). Parallel processing: 8th international Euro-Par conference, vol. LNCS 2400, Springer, Berlin Heidelberg New York, pp. 1–20Google Scholar
  8. 8.
    Cook, W., Misra, J. A structured orchestration language. Available for download at (2005)Google Scholar
  9. 9.
    Eriksson H.E., Penker M. (2000) Business modeling with UML: business patterns at work. Wiley, New YorkGoogle Scholar
  10. 10.
    Eshuis, R., Dehnert, J. Reactive Petri nets for workflow modeling. In: van der Aalst, W.M.P., Best, E. (eds.) Proceedings of the 24th international conference on applications and theory of Petri nets (ICATPN 2003), Lecture notes in computer science, vol. 2679, pp. 296–315. Springer, Berlin Heidelberg New York (2003)Google Scholar
  11. 11.
    Eshuis R., Wieringa R. (2003). Comparing Petri net and activity diagram variants for workflow modelling – a quest for reactive Petri nets. In: Ehrig H., Reisig W., Rozenberg G., Weber H. (eds). Petri net technology for communication-based systems. Lecture notes in computer science, vol. 2472, Springer, Berlin Heidelberg New York, pp. 321–351Google Scholar
  12. 12.
    Main page for World Wide Web Consortium (W3C) XML activity and information. Scholar
  13. 13.
    Flores, F.F., Winograd, T. Understanding computers and cognition: a new foundation for design. Intellect Books (1986)Google Scholar
  14. 14.
    Fournet, C., Gonthier, G. The reflexive chemical abstract machine and the join-calculus. In: Proceedings of the POPL. ACM, New York (1996)Google Scholar
  15. 15.
    Harel D., Politi M. (1998) Modeling reactive systems with statecharts. McGraw-Hill, New YorkGoogle Scholar
  16. 16.
    Haskell 98: A non-strict, purely functional language. Available at (1999)Google Scholar
  17. 17.
    Hoare C. (1974) Monitors: an operating system structuring concept. Commun ACM 17(10): 549–557zbMATHCrossRefGoogle Scholar
  18. 18.
    Hoare C. (1984) Communicating sequential processes. Prentice Hall International, Englewood cliffsGoogle Scholar
  19. 19.
    Hoare T., Menzel G., Misra J. A tree semantics of an orchestration language. In: Broy M. (eds) Proceedings of the NATO advanced study institute, engineering theories of software intensive systems, NATO ASI Series. Marktoberdorf, Germany (2004). Also available at Scholar
  20. 20.
    IBM, BEA Systems, Microsoft, SAP AG, Siebel Systems Business Process Execution Language for Web Services version 1.1. Available for download at Scholar
  21. 21.
    Jones, S.P. Tackling the awkward squad: monadic input/output, concurrency, exceptions, and foreign-language calls in haskell. In: Hoare, T., Broy, M., Steinbruggen, R. (eds.) Proceedings of the NATO advanced study institute, engineering theories of software construction, pp. 47–96. IOS Press; ISBN: 1 58603 1724, 2001. Marktoberdorf, Germany (2000)Google Scholar
  22. 22.
    Kozen D. On Kleene algebras and closed semirings. In: Proceedings, Math. found. of comput. sci., Lecture notes in computer science, vol. 452, pp. 26–47. Springer, Berlin Heidelberg New York (1990)Google Scholar
  23. 23.
    Lamport L., Shostak R., Pease M. (1982) The Byzantine Generals Problem. TOPLAS 4(3): 382–401zbMATHCrossRefGoogle Scholar
  24. 24.
    McCarthy, J. Elephant 2000: a programming language based on speech acts. Scholar
  25. 25.
    Menzel, G. Implementation of orc on concurrent Haskell Under preparation (2004)Google Scholar
  26. 26.
    Milner R. (1989) Communication and concurrency. International series in computer science, C.A.R. Hoare, series editor. Prentice-Hall International, Englewood cliffsGoogle Scholar
  27. 27.
    Milner R. Communicating and Mobile Systems: the (π)-Calculus. Cambridge University Press (1999)Google Scholar
  28. 28.
    Misra J. (2004). Computation orchestration: A basis for wide-area computing. In: Broy M. (eds). Proceedings of the NATO advanced study institute, Engineering theories of software intensive systems. NATO ASI Series. Marktoberdorf, GermanyGoogle Scholar
  29. 29.
    Osgood, I., Sheppard, D., Wright, C., Merritt, D., Geiger, B. Eight queens in many programming languages. Scholar
  30. 30.
    Padget, J.A., Bradford, R.J. A (π)-calculus model of a spanish fish market - preliminary report. In: AMET ’98: selected papers from the first international workshop on agent mediated electronic trading on agent mediated electronic commerce, pp. 166–188. Springer, London, UK (1999)Google Scholar
  31. 31.
    Pierce B.C., Turner D.N. (2000). Pict: a programming language based on the pi-calculus. In: Plotkin G., Stirling C., Tofte M. (eds). Proof, language and interaction: essays in honour of robin milner. MIT, CambridgeGoogle Scholar
  32. 32.
    Reppy J.H. (1991) CML: A higher-order concurrent language. SIGPLAN Not 26(6): 293–305CrossRefGoogle Scholar
  33. 33.
    Sangiorgi D., Walker D. (2001) PI-Calculus: a theory of mobile processes. Cambridge University Press, LondonzbMATHGoogle Scholar

Copyright information

© Springer-Verlag 2006

Authors and Affiliations

  1. 1.The University of Texas at AustinAustinUSA

Personalised recommendations