Structured Interacting Computations
Today, concurrency is ubiquitous, in desktop applications, client-server systems, workflow systems, transaction processing and web services. Design of concurrent systems, particularly in the presence of communication failures, time-outs and interrupts, is still difficult and error-prone. Theoretical models of concurrency focus on expressive power and simplicity, but do not provide high-level constructs suitable for programming. We have been developing a theory, called Orc (for orchestration), and its practical applications. In this paper, we describe our philosophy in designing Orc. The guiding principle is to structure a concurrent program in a hierarchical manner, and permit interactions among subsystems in a controlled fashion. The interactions are described by value passing; the mode of communication (i.e., whether the value is passed over a channel or kept as shared data, etc.) is left unspecified.
Unable to display preview. Download preview PDF.
- 2.Box, D., EhneBuske, D., Kakivaya, G., Layman, A., Mendelsohn, N., Nielson, H.F., Thatte, S., Winer, D.: Simple object access protocol 1.1, http://www.w3.org/TR/SOAP
- 3.Christensen, E., Curbera, F., Meredith, G., Weerawarana, S.: Web services description language 1.1, http://www.w3.org/TR/wsdl
- 4.Main page for World Wide Web Consortium (W3C) XML activity and information (2001), http://www.w3.org/XML/
- 7.Kitchin, D., Powell, E., Misra, J.: Simulation using orchestration. In: Proceedings of AMAST (2008)Google Scholar
- 8.Milner, R.: Communication and Concurrency. In: Hoare, C.A.R. (ed.) International Series in Computer Science. Prentice-Hall, Englewood Cliffs (1989)Google Scholar
- 10.Misra, J., Cook, W.R.: Computation orchestration: A basis for wide-area computing. Journal of Software and Systems Modeling (May 2006), http://dx.doi.org/10.1007/s10270-006-0012-1
- 11.W. site on UDDI, http://www.uddi.org/