@article{Wehrman2008, Author = {Wehrman, Ian and Kitchin, David and Cook, William R. and Misra, Jayadev}, Date-Added = {2014-10-11 21:51:24 +0000}, Date-Modified = {2014-10-11 21:51:24 +0000}, Doi = {10.1016/j.tcs.2008.04.037}, Issn = {0304-3975}, Journal = {Theoretical Computer Science}, Keywords = {Orc; computation orchestration; semantics; time; concurrency; process algebra; Web services; orchestration; programming languages}, Month = aug, Number = {2--3}, Pages = {234--248}, Title = {A timed semantics of {Orc}}, Volume = {402}, Year = {2008}, 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.}, Annote = {Trustworthy Global Computing}, Bdsk-Url-1 = {http://dx.doi.org/10.1016/j.tcs.2008.04.037}}