Communicating sequential processes
Communicating sequential processes
Communicating and mobile systems: the &pgr;-calculus
Communicating and mobile systems: the &pgr;-calculus
Transaction Processing: Concepts and Techniques
Transaction Processing: Concepts and Techniques
Modern concurrency abstractions for C#
ACM Transactions on Programming Languages and Systems (TOPLAS)
Theoretical Computer Science
Simulation Using Orchestration
AMAST 2008 Proceedings of the 12th international conference on Algebraic Methodology and Software Technology
Hi-index | 0.00 |
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.