wsmo logo

D15v0.1. Orchestration in WSMO

WSMO Final Draft 22 April 2007

This version:
Latest version:
Previous version:
Dumitru Roman
James Scicluna

Dumitru Roman
James Scicluna
Dieter Fensel
Thomas Haselwanter

Copyright © 2007 DERI®, All Rights Reserved. DERI liability, trademark, document use, and software licensing rules apply.

Table of contents

1. Introduction

2. Update Rule Extension: Calls

3. Conclusions and Further Work



1. Introduction

The orchestration of a WSMO service defines how the overall functionality of the service is achieved by the cooperation of other services. It describes how the service works from the provider's perspective (i.e. how a service makes use of other WSMO services or goals in order to achieve its capability). This complies with the W3C definition of Web Service Orchestrations [W3C Working Group]: An orchestration defines the sequence and conditions in which one Web Service invokes other Web Services in order to realize some useful function. That is, an orchestration is the pattern of interactions that a Web Service agent must follow in order to achieve its goal.

As in WSMO Choreography [Roman et al., 2005], the conceptual model of WSMO orchestrations is based on Abstract State Machines [Gurevich, 1995].

In particular WSMO Orchestration descriptions inherit syntax and semantics of the Ontologized Abstract State Machine language from WSMO Orchestration descriptions and extend it with syntactical constructs to invoke services, achieve goals and apply mediators. Due to the callout nature of these statements, the semantics are not concretely defined as they are for instance for an add statement. In the case of achieving a goal the orchestration delegates the achievement of the goal's functional promise to an external entity and does not have a priori knowledge of the set of results instances.

Listing 1: WSMO Orchestration Definition
Class wsmoOrchestration
      hasNonFunctionalProperties type nonFunctionalProperties
      hasStateSignature type stateSignature
      hasState type state
      hasTransitionRules type transitionRules
Non-FunctionalProperties are the same as defined in [Roman et al., 2005] in Section 4.1.
State Signature
The State signature defines the state ontology used by the service together with the definition of the types of modes the concepts and relations may have.
The state of the Choreography is defined as a set of ground facts.
Transition Rules
Transition rules that express changes of states by changing the set of instances.

The rest of the document is organized as follows. In Section 2 we describe a new kind of update rule and how they differ from the ones defined in WSMO choreographies and in Section 3 we conclude with some remarks and future work.

2. Update Rule Extension: Calls

From the machine language defined in [Roman et al., 2005] WSMO Orchestrations inherit all transition rules (forall do, choose do and if then) which are typically utilized in a similar way as in choreographies to organize the control flow of an orchestration. We also retain the update rules (add, delete and udpate) and on top of that we allow another kind of update rule: call. The meta-model is extented as follows:

Listing 2: Call Update Rule Definition
Class callOut sub-Class updateRule
      hasCallee type {webService, goal, mediator}

The grammar is extented as follows: (where modifier, fact, iri and irilist are defined in the choreography syntax and where updaterule is the point where we hook into the syntax)
updaterule =
modifier '(' fact')'
| 'call' callee
callee =
{iri} iri
| {irilist} '{' irilist'}'

The call keyword is used for invocation purposes of either a goal, web service or a mediator. As the keyword indicates in all three cases the orchestration delegates execution to an external entity. When the goal in question is achieved, the mediation applied or the service invoked, a set of result instances are reincorporated into the machine state.

3. Conclusions and Further Work

This document presented the representation of orchestration in WSMO. It is based on an extension of Ontologized Abstract State Machine as they were defined for choreographies.


[AsmL] Abstract State Machine Language. Available at

[Gurevich, 1995]E. Boerger (ed.): Yuri Gurevich:Evolving Algebras 1993: Lipari Guide, Specification and Validation Methods, Oxford University Press, 1995, 9--36.

[Roman et al., 2004] D. Roman, H. Lausen, U. Keller (eds.): Web Service Modelling Ontology (WSMO), WSMO deliverable D2 version 1.1. available at

[Roman et al., 2005] D. Roman, J. Scicluna (eds.): Choreography in WSMO, WSMO deliverable D14 version 0.1. available at

[W3C Working Group] H. Haas, A. Brown (eds.): Web Services Glossary, W3C Working Group Note 11 February 2004 available at


The work is funded by the European Commission under the projects DIP, Knowledge Web, Ontoweb, SEKT, SWWS, Esperonto, COG and h-TechSight; by Science Foundation Ireland under the DERI-Lion project; and by the Vienna city government under the CoOperate program.

The editors would like to thank to all the members of the WSMO working group for their advice and input into this document.