Title
A timed semantics of Orc
Abstract
Orc is a kernel language for structured concurrent programming. Orc provides three powerful combinators that define the structure of a concurrent computation. These combinators support sequential and concurrent execution, and concurrent execution with blocking and termination. Orc is particularly well-suited for task orchestration, a form of concurrent programming with applications in workflow, business process management, and web service orchestration. Orc provides constructs to orchestrate the concurrent invocation of services while managing time-outs, priorities, and failures of services or communication. Our previous work on the semantics of Orc focused on its asynchronous behavior. The inclusion of time or the effect of delay on a computation had not been modeled. In this paper, we define an operational semantics of Orc that allows reasoning about delays, which are introduced explicitly by time-based constructs or implicitly by network delays. We develop a number of identities among Orc expressions and define an equality relation that is a congruence. We also present a denotational semantics in which the meaning of an Orc program is a set of traces, and show that the two semantics are equivalent.
Year
DOI
Venue
2008
10.1016/j.tcs.2008.04.037
Theor. Comput. Sci.
Keywords
DocType
Volume
Computation orchestration,Process algebra,concurrent programming,Orc program,operational semantics,Semantics,structured concurrent programming,Time,Orc,denotational semantics,concurrent computation,combinators support sequential,Orc expression,concurrent invocation,Web services,concurrent execution,Concurrency,orc computation orchestration semantics time concurrency process algebra web services
Journal
402
Issue
ISSN
Citations 
2-3
Theoretical Computer Science
28
PageRank 
References 
Authors
1.20
17
4
Name
Order
Citations
PageRank
Ian Wehrman11376.26
David Kitchin228210.01
William R. Cook31794225.25
Jayadev Misra43147771.78