• The Cashew project concerns the description and composition of semantic web-services:
    • unlike most efforts from the semantic web community, the primary flavour of semantics concentrated on is behavioural semantics (rather than structural);
    • furthermore, the fundamental guiding principal is that of compositionality, missing from existing work.
  • The Cashew project is inspired by:
    • OWL-S, which (in retrospect) defined a workflow-oriented orchestration language, in ontology form, for the composition of semantic web services;
    • WSMO, which distinguishes this from choreography as an external, i.e. client, view of a composition.
  • The Cashew project defines two formal languages.
    • Cashew, whose semantics are given in terms of CaSE processes, is a language describing:
      • choreographies, defining a behavioural communication interface;
      • orchestrations, defining the executable coordination between goals to form a composite service behaviour.
    • CaSE, whose semantics are given in terms of labelled transition systems, is a language describing:
      • asynchronously concurrent processes;
      • synchronous one-to-one communications;
      • multi-party synchronisations with an implicit notion of priority.

Already the use of 'semantics', in the sense of the Semantic Web [1], to describe services, in the sense of Web Services [2], has been well studied. This primarily involves the use of ontologies to describe the concepts dealt with by services. By reasoning in terms of concepts, rather than data types (which are their machine-oriented representation), techniques such as service discovery become more useful and more capable of (semi-)automation.

On the other hand, 'semantics', as understood by theoretical computer scientists - where formal semantics are given to computation, a dynamic, rather than a static, paradigm - has only begun to be applied. We shall call this latter form of semantics 'behavioural semantics'.

The approach taken in this project is inspired by OWL-S [3] (formerly DAML-S), within which a workflow-oriented orchestration language for the composition of services was defined, the so-called 'process model'. The original OWL-S work defined two forms of behavioural semantics for the process model: one oriented towards process calculus style [4], and one in Petri net style [5]. Missing, however, was a concern for the principal of compositionality - that the semantics for a composition should derive directly from the individual semantics of the component parts and not a recomputation of these.

The need for compositionality in semantics for the Semantic Web is already well acknowledged [6]. The reason compositionality is such an important property of semantics is that this allows a semantic model to be built by composition alongside the definition of syntax, for instance in an interactive editor, as well as being the enabling property of semantics for modular analysis. Unfortunately, even outside OWL-S it is not clear that this has been a concern anywhere in service composition semantics. The first major result of this project has been to define a compositional semantics for OWL-S.

Rather than define a formal behavioural semantics directly for OWL-S process models, we chose to go through two intermediate levels. The first is an equivalent language to the process model ontology, but with more scope for composition. In particular, it is necessary in OWL-S to define all of the incoming dataflow for the performance of a 'process' at the point the performance is declared (as part of a composite process). In an intermediate workflow language, which forms the basis of orchestrationin Cashew-S, connections in the dataflow become a first-class construct so that these can be introduced (composed) separately.

The second intermediate in our semantic translation of OWL-S is a true process language. CaSE is a process calculus defined by extension of CCS with multi-party synchronisations with an implicit notion of priority. As in CCS its primary behavioural semantics are given in the form of labelled transition systems via structured operational semantics. The intention is to see those transition systems representing the orchestration of choreographies as defining abstract state machines, representing such orchestration for exchange with other tools for execution and analysis.

Having shown the process language expressive enough for this translation, our aim is to take on the need for an orchestration language in WSMO [7]. Our approach is to define an ontology that can represent orchestrations and choreographies at a high-level, which can be viewed in UML Activity Diagrams, and translate these down into abstract state machines (ASMs) [8], which is the low-level interchange formalism chosen by WSMO.

Current personnel:
Previously associated, though the Darwin project at the University of Sheffield, were:
  • Ravish Bhagdev
  • Xian Liu
  • Atheesh Sanka

Barry Norton has recently moved from University of Sheffield to take up a post as Research Fellow on Semantic Web Services in the Knowledge Media Institute at the Open University. Collaboration will continue between KMI and University of Sheffield.

This project began as a Masters Research project within the Darwin module at the University of Sheffield, and its original description can be found here. Two of the original students, Simon Foster and Andrew Hughes, are now engaged in PhDs related to Cashew.

The products to date were an orchestration engine, written in Haskell, as an extension of Simon's Haskell Interoperation Framework/Architecture (HAIFA), both of which will continue to be developed and supported:
The project also considered at the provision of an Eclipse-based editor for Cashew-S worksflows, though this is now discontinued:

    'Experiences with OWL-S, Directions for Service Composition: The Cashew Position'   Abstract
    Barry Norton
    OWL: Experiences and Directions Workshop (OWLED 2005), co-located with ISWC

    'A Compositional Operational Semantics for OWL-S'   Abstract
    Barry Norton, Simon Foster, Andrew Hughes
    2nd Workshop on Web Services and Formal Methods (WS-FM 2005)

    'Composition and Semantic Enhancement of Web Services: The CASheW-S Project'   Abstract
    Simon Foster, Andrew Hughes, Barry Norton
    1st Young Researchers Workshop on Service-Oriented Computing (YRSOC 2005)

    'Cashew: Towards a Reconciliation of ChOrch in IRS, Configurator and WSMO'  
    Barry Norton
    DIP Meeting, 2005-10-10

    'A Compositional Operational Semantics for OWL-S'  
    Barry Norton
    2nd Workshop on Web Services and Formal Methods (WS-FM 2005)

    'Composition and Semantic Enhancement of Web Services: The CASheW-S Project'
    Simon Foster
    1st Young Researchers Workshop on Service-Oriented Computing (YRSOC 2005)

[1] T. Berners-Lee, J. Hendler, O. Lassila, The Semantic Web, Scientific American, May 2001.

[2] W3C, Web Services Architecture, http://www.w3.org/TR/ws-arch/, February 2004.

[3] D. Martin et al., OWL-S: Semantic Markup for Web Services, http://www.daml.org/services/owl-s/1.1/overview/, November 2004.

[4] A. Ankolekar, F. Huch and K. Sycara. Concurrent Execution Semantics of DAML-S with Subtypes. Proc. 1st Intl. Semantic Web Conference (ISWC 2002), LNCS 2342, May 2002.

[5] S. Narayanan and S. A. McIlraith. Simulation, verification and automated composition of web services. Proc. 11th Intl. World Wide Web Conference (WWW 2002), May 2002.

[6] A. Sheth, C. Ramakrishnan, and C. Thomas. Semantics for the Semantic Web: The implicit, the formal and the powerful. Intl. Journal on Semantic Web and Information Systems, 1(1):1–18, 2005.

[7] J. Scicluna, A. Polleres, D. Roman, C. Feier (eds.). Ontology-based Choreography and Orchestration of WSMO Services, WSMO Working Draft D14 version 0.2, October 2005.

[8] E. Börger and R. Stärk, Abstract State Machines: A Method for High-Level System Design and Analysis, Springer-Verlag, 2003.