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.
Similar content being viewed by others
References
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
Benton N., Cardelli L., Fournet C. (2004) Modern concurrency abstractions for C#. TOPLAS 26(5): 769–804
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
Berry G., Gonthier G. (1992) The Esterel synchronous programming language: design, semantics, implementation. Sci Comput Program 19(2): 87–152
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
Cardelli L., Davies R. (1999) Service combinators for web computing. IEEE Trans Softw Eng 25(3): 309–316
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
Cook, W., Misra, J. A structured orchestration language. Available for download at http://www.cs.utexas.edu/users/wcook/projects/orc (2005)
Eriksson H.E., Penker M. (2000) Business modeling with UML: business patterns at work. Wiley, New York
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)
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
Main page for World Wide Web Consortium (W3C) XML activity and information. http://www.w3.org/XML/(2001)
Flores, F.F., Winograd, T. Understanding computers and cognition: a new foundation for design. Intellect Books (1986)
Fournet, C., Gonthier, G. The reflexive chemical abstract machine and the join-calculus. In: Proceedings of the POPL. ACM, New York (1996)
Harel D., Politi M. (1998) Modeling reactive systems with statecharts. McGraw-Hill, New York
Haskell 98: A non-strict, purely functional language. Available at http://haskell.org/onlinereport (1999)
Hoare C. (1974) Monitors: an operating system structuring concept. Commun ACM 17(10): 549–557
Hoare C. (1984) Communicating sequential processes. Prentice Hall International, Englewood cliffs
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
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
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)
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)
Lamport L., Shostak R., Pease M. (1982) The Byzantine Generals Problem. TOPLAS 4(3): 382–401
McCarthy, J. Elephant 2000: a programming language based on speech acts. http://www-formal.stanford.edu/jmc/elephant/elephant.html
Menzel, G. Implementation of orc on concurrent Haskell Under preparation (2004)
Milner R. (1989) Communication and concurrency. International series in computer science, C.A.R. Hoare, series editor. Prentice-Hall International, Englewood cliffs
Milner R. Communicating and Mobile Systems: the (π)-Calculus. Cambridge University Press (1999)
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
Osgood, I., Sheppard, D., Wright, C., Merritt, D., Geiger, B. Eight queens in many programming languages. http://c2.com/cgi/wiki?EightQueensInManyProgrammingLanguages
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)
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
Reppy J.H. (1991) CML: A higher-order concurrent language. SIGPLAN Not 26(6): 293–305
Sangiorgi D., Walker D. (2001) PI-Calculus: a theory of mobile processes. Cambridge University Press, London
Author information
Authors and Affiliations
Corresponding author
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
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
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-006-0012-1