[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: protocol standards that use formal specification of behavior?


Your comments below clarify things a bit. Given that (to quote from the JAUS
reference architecture), "Messaging is the only accepted method used to
communicate between components", I would think that CSP would be an obvious
choice for formalization. Certainly more suitable than things like "UMLish
state machines".

Afraid I'm not aware of any actual standards work that's been done at the SOA
level with CSP. However, there has been some recent work in this area that you
may want to look at:

W.L. Yeung has a couple of publications on modelling and verifying web services
using CSP

* W. L. Yeung, Ji Wang, Wei Dong, "Verifying Choreographic Descriptions of Web
Services Based on CSP," scw, pp. 97-104,  IEEE Services Computing Workshops
(SCW'06),  2006.

* W. L. Yeung, "Mapping WS-CDL and BPEL into CSP for Behavioural Specification
and Verification of Web Services", ECOWS06, Dec. 2006

And none other than Bill Roscoe himself has done a little work on applying CSP
to web services and SOA:

* Lee Momtahan, ,Andrew Martin and  A. W. Roscoe, "A taxonomy of web services
using CSP", Programming Research Group Research Report RR-04-22,

Some related work by Peter Wong may also be of interest:

* Peter Y.H. Wong and Jeremy Gibbons, "A Process Algebraic Approach to Workflow
Verification", http://web.comlab.ox.ac.uk/oucl/work/peter.wong/pub/pattern.pdf

And finally, although not directly related to SOA, Robert Allen's work on
applying CSP to software architecture may be illuminating:

* Robert Allen, "A Formal Approach to Software Architecture", CMU PhD Thesis,


Quoting Alan Grover <alan.grover@xxxxxxxxx>:

> Thanks for all the comments so far!
> I'm working on SAE AS-4, the migration of JAUS (jauswg.org) to SAE.  It is
> basically an application level message passing standard that has suffered
> from a lack of networking/protocol experience.  To date it is mostly a
> message format standard, but they understand the benefits of adding a formal
> description of behavior, and that is currently work in progress.  It is an
> xml-based specification, currently called the Jaus Services Interface
> Definition Language (JSIDL), although the name has been a moving target.
> The current draft has a behavior specification based on the State Machine
> Compiler, and it is pretty weak (it essentially ignores concurrency within a
> service; somebody decided simple state machines were best because 'people
> are familiar with them').
> A colleague of mine is set to propose something based on BPEL/BPMN but
> adapted to our needs.
> I've offered to provide a CSP-based behavior schema, and it would be helpful
> to be able to point out examples of similar directions in other protocols.
> Application-level SOA type protocols would be ideal, but anything in the
> network protocol area is helpful, especially if it became a published
> standard.
> Alan

Allan McInnes <amcinnes@xxxxxxxxxx>
PhD Candidate
Dept. of Electrical and Computer Engineering
Utah State University