OKeilidh is an online Web Service (WS) choreography management system, which
assists users in editing, publishing and testing WS choreography in the form of Interaction Models (IMs) encoded in XLCC.
An IM is a set of clauses defining the behaviours associated with roles within peer interactions and a
XLCC is an extension of the Lightweight Coordination Calculous (LCC) and fully interpretable in modern browsers. Here, "X" means not only "eXtension" but also "XMPP" which is the messaging protocol employed by XLCC to interpret peer interactions. OKeilidh also provides a node.js version --- node-xlcc running in your favourite clouds.
The Hello World examples written in XLCC are as follows:
Publication: Choreographing Web Services with Semantically Enhanced Scripting (Bibtex)
OKeilidh is an online Interaction Model (IM) management system, which assists users in editing, publishing and testing IMs written in XLCC. XLCC is an extension of the Lightweight Coordination Calculous (LCC) and fully interpretable in modern browsers. Here, "X" means not only "eXtension" but also "XMPP" which is the messaging protocol employed by XLCC to interpret peer interactions. The syntax of XLCC is described as follows:
IM | := | Clause_List |
Clauses_List | := | Clause | Clause_List |
Clause | := | Role :: Def . | Role . | plays ( String , Constant) . | knows ( String ) . | iid ( String ) . |
Role | := | a ( Type , Id ) |
Def | := | Message | Def then Def | Def or Def | Def niob Def |
Message | := | M => Role | M => Role <- C | M <= Role | C <- M <= Role | null <- C | Role | Role <- C |
C | := | Constant | Constant ( Terms ) | not ( C ) | C && C | C || C | C = C | C Operator C | list ( Variable, Variable, Terms) |
Terms | := | Term , Terms | Term |
Type | := | Term |
Id | := | Constant | Variable |
M | := | Constant ( Term ) |
Term | := | Constant | Variable | Constant ( Terms ) | _ ) |
Operator | := | == | != | > | < | >= | =< |
Constant | := | lower case character, sequence or number |
Variable | := | upper case character, sequence or number |
OKeilidh supports on-the-fly creation of the OpenKnowledge Component (OKC). Several methods which help users in creating OKCs are already wrapped in the PeerHelper by default when the OKC template is automatically generated, which are:
The OKeilidh project provides a node.js version running on the Google V8 engine. Please check out node-xlcc at and start choreographing WSs in your favourite clouds.
Having spare £25? Start using lightweight OKeilidh on your Raspberry Pi!
OKeilidh is under active development of Xi Bai at University of Edinburgh
Xi Bai
OKeilidh requires your Jabber ID before rolling