Structured Interacting Computations

(A Position Paper)
  • William Cook
  • Jayadev Misra
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5380)


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.


Shared Data Concurrent System Transaction Processing Simple Object Access Protocol Desktop Application 
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.
    Benton, N., Cardelli, L., Fournet, C.: Modern concurrency abstractions for C#. TOPLAS 26(5), 769–804 (2004)CrossRefzbMATHGoogle Scholar
  2. 2.
    Box, D., EhneBuske, D., Kakivaya, G., Layman, A., Mendelsohn, N., Nielson, H.F., Thatte, S., Winer, D.: Simple object access protocol 1.1,
  3. 3.
    Christensen, E., Curbera, F., Meredith, G., Weerawarana, S.: Web services description language 1.1,
  4. 4.
    Main page for World Wide Web Consortium (W3C) XML activity and information (2001),
  5. 5.
    Gray, J., Reuter, A.: Transaction Processing: Concepts and Techniques. Morgan Kaufmann, San Francisco (1993)zbMATHGoogle Scholar
  6. 6.
    Hoare, C.: Communicating Sequential Processes. Prentice Hall International, Englewood Cliffs (1984)zbMATHGoogle Scholar
  7. 7.
    Kitchin, D., Powell, E., Misra, J.: Simulation using orchestration. In: Proceedings of AMAST (2008)Google Scholar
  8. 8.
    Milner, R.: Communication and Concurrency. In: Hoare, C.A.R. (ed.) International Series in Computer Science. Prentice-Hall, Englewood Cliffs (1989)Google Scholar
  9. 9.
    Milner, R.: Communicating and Mobile Systems: the π-Calculus. Cambridge University Press, Cambridge (1999)zbMATHGoogle Scholar
  10. 10.
    Misra, J., Cook, W.R.: Computation orchestration: A basis for wide-area computing. Journal of Software and Systems Modeling (May 2006),
  11. 11.
    W. site on UDDI,
  12. 12.
    Wehrman, I., Kitchin, D., Cook, W.R., Misra, J.: A timed semantics of orc. Theoretical Computer Science 402(2-3), 234–248 (2008)MathSciNetCrossRefzbMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • William Cook
    • 1
  • Jayadev Misra
    • 1
  1. 1.The University of Texas at AustinUSA

Personalised recommendations