TY - GEN
T1 - Real-time rewriting semantics of orc
AU - Alturki, Musab
AU - Meseguer, José
PY - 2007
Y1 - 2007
N2 - Orc is a language proposed by Jayadev Misra [19] for orchestration of distributed services. Orc is very simple and elegant, based on a few basic constructs, and allows succinct and understandable programming of sophisticated applications. However, because of its real-time nature and the different priorities given to internal and external events in an Orc program, giving a formal operational semantics that captures the real-time behavior of Orc programs is nontrivial and poses some interesting challenges. In this paper we propose such a real-time operational Orc semantics, that captures the informal operational semantics given in [19]. This operational semantics is given as a rewrite theory in which the elapse of time is explicitly modeled. The priorities between internal and external events are also modeled in two alternative ways: (i) by a rewrite strategy; and (ii) by adding extra conditions to the semantic rules. Since rewriting logic has efficient implementations such as Maude, we also get, directly out of the semantic definitions, both an Orc interpreter and an LTL model checker for Orc programs.
AB - Orc is a language proposed by Jayadev Misra [19] for orchestration of distributed services. Orc is very simple and elegant, based on a few basic constructs, and allows succinct and understandable programming of sophisticated applications. However, because of its real-time nature and the different priorities given to internal and external events in an Orc program, giving a formal operational semantics that captures the real-time behavior of Orc programs is nontrivial and poses some interesting challenges. In this paper we propose such a real-time operational Orc semantics, that captures the informal operational semantics given in [19]. This operational semantics is given as a rewrite theory in which the elapse of time is explicitly modeled. The priorities between internal and external events are also modeled in two alternative ways: (i) by a rewrite strategy; and (ii) by adding extra conditions to the semantic rules. Since rewriting logic has efficient implementations such as Maude, we also get, directly out of the semantic definitions, both an Orc interpreter and an LTL model checker for Orc programs.
KW - Formal analysis
KW - Maude
KW - Orc
KW - Orchestration theory
KW - Real-time
KW - Rewriting logic
KW - Structural operational semantics
UR - http://www.scopus.com/inward/record.url?scp=34548095702&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=34548095702&partnerID=8YFLogxK
U2 - 10.1145/1273920.1273938
DO - 10.1145/1273920.1273938
M3 - Conference contribution
AN - SCOPUS:34548095702
SN - 1595937692
SN - 9781595937698
T3 - PPDP'07: Proceedings of the 9th International ACM SIGPLAN Conference on Principles and Practice of Declarative Programming
SP - 131
EP - 142
BT - PPDP'07
T2 - 9th International ACM SIGPLAN Conference on Principles and Practice of Declarative Programming, PPDP'07
Y2 - 14 July 2007 through 16 July 2007
ER -