Skip to main content
Log in

Computation Orchestration

A Basis for Wide-area Computing

  • Special Selection Paper
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  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–51

    Article  Google Scholar 

  2. Benton N., Cardelli L., Fournet C. (2004) Modern concurrency abstractions for C#. TOPLAS 26(5): 769–804

    Article  Google Scholar 

  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–83

    Article  Google Scholar 

  4. Berry G., Gonthier G. (1992) The Esterel synchronous programming language: design, semantics, implementation. Sci Comput Program 19(2): 87–152

    Article  MATH  Google Scholar 

  5. Cardelli, L. Transitions in programming models (microsoft research european faculty summit ’03). http://research.microsoft.com/Users/luca/Slides/2003-07-16%20Transitions%20in-%20Programming%20Models%20 (MSR%20Faculty%20Summit).pdf

  6. Cardelli L., Davies R. (1999) Service combinators for web computing. IEEE Trans Softw Eng 25(3): 309–316

    Article  Google Scholar 

  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–20

    Google Scholar 

  8. Cook, W., Misra, J. A structured orchestration language. Available for download at http://www.cs.utexas.edu/users/wcook/projects/orc (2005)

  9. Eriksson H.E., Penker M. (2000) Business modeling with UML: business patterns at work. Wiley, New York

    Google Scholar 

  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)

  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–351

    Google Scholar 

  12. Main page for World Wide Web Consortium (W3C) XML activity and information. http://www.w3.org/XML/(2001)

  13. Flores, F.F., Winograd, T. Understanding computers and cognition: a new foundation for design. Intellect Books (1986)

  14. Fournet, C., Gonthier, G. The reflexive chemical abstract machine and the join-calculus. In: Proceedings of the POPL. ACM, New York (1996)

  15. Harel D., Politi M. (1998) Modeling reactive systems with statecharts. McGraw-Hill, New York

    Google Scholar 

  16. Haskell 98: A non-strict, purely functional language. Available at http://haskell.org/onlinereport (1999)

  17. Hoare C. (1974) Monitors: an operating system structuring concept. Commun ACM 17(10): 549–557

    Article  MATH  Google Scholar 

  18. Hoare C. (1984) Communicating sequential processes. Prentice Hall International, Englewood cliffs

    Google Scholar 

  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 http://www.cs.utexas.edu/users/psp/Semantics.Orc.pdf

  20. IBM, BEA Systems, Microsoft, SAP AG, Siebel Systems Business Process Execution Language for Web Services version 1.1. Available for download at http://www-128.ibm.com/developerworks/library/specification/ws-bpel

  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)

  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)

  23. Lamport L., Shostak R., Pease M. (1982) The Byzantine Generals Problem. TOPLAS 4(3): 382–401

    Article  MATH  Google Scholar 

  24. McCarthy, J. Elephant 2000: a programming language based on speech acts. http://www-formal.stanford.edu/jmc/elephant/elephant.html

  25. Menzel, G. Implementation of orc on concurrent Haskell Under preparation (2004)

  26. Milner R. (1989) Communication and concurrency. International series in computer science, C.A.R. Hoare, series editor. Prentice-Hall International, Englewood cliffs

    Google Scholar 

  27. Milner R. Communicating and Mobile Systems: the (π)-Calculus. Cambridge University Press (1999)

  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, Germany

    Google Scholar 

  29. Osgood, I., Sheppard, D., Wright, C., Merritt, D., Geiger, B. Eight queens in many programming languages. http://c2.com/cgi/wiki?EightQueensInManyProgrammingLanguages

  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)

  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, Cambridge

    Google Scholar 

  32. Reppy J.H. (1991) CML: A higher-order concurrent language. SIGPLAN Not 26(6): 293–305

    Article  Google Scholar 

  33. Sangiorgi D., Walker D. (2001) PI-Calculus: a theory of mobile processes. Cambridge University Press, London

    MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jayadev Misra.

Additional information

Communicated by Dr. Jorge Cuellar.

Works of the first and second author are partially supported by National Science Foundation grants CCR–0204323 and CCF-0448128, respectively.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Misra, J., Cook, W.R. Computation Orchestration. Softw Syst Model 6, 83–110 (2007). https://doi.org/10.1007/s10270-006-0012-1

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-006-0012-1

Keywords

Navigation