Web Service Analysis Tool
People
General Description
WSAT (Web Service Analysis Tool) is
a formal specification, verification, and analysis
tool for web service compositions.
The tool supports multiple specification approaches of composite web
services, including BPEL4WS + WSDL specifications,
Guarded Automata (GA) based (top-down) conversation protocols, and
(bottom-up) GA service compositions.
WSAT translates web service
input into Promela, the input language of model checker SPIN, and
allows model checking of web service designs without loss of (bounded
and XPath based) XML data semantics.
In addition, WSAT provides
several analyses techniques that can reduce complexities in the formal
verification of asynchronously communication web services.
The following are some of the highlights of the tool:
(Detailed technical background can be found in the related
publications)
- Real-world web service specification language such as WSDL and BPEL are
supported by the tool.
- Bounded XML data and XPath based data manipulation semantics can be
verified during model checking.
- Realizability analysis of conversation protocols allows a 3-step
specification/verification/synthesis paradigm: 1) a realizable conversation
protocol is used to specify global behaviors of a composite web
service (given
its interconnection pattern), 2) desired Linear Temporal Logic (LTL)
properties are verified on the protocol, 3) peer implementations are
synthesized from the protocol via projection.
- Synchronizability analysis of bottom-up specified web service compositions
can significantly reduce the complexity and ensure the completeness of the
verification.
Synchronizable web service compositions exhibit the same
set of global behaviors under both the asynchronous and synchronous
communication semantics.
To model check a synchronizable web service
composition, it suffices to use the synchronous communication semantics (by
setting SPIN channel length to 0), and all verification results hold for the
usual asynchronous communication semantics.
- Realizability analysis and synchronizability analyses can be further
strenghthend to ensure freedom of deadlock and unspecified message
receptions.
- Realizability analysis and synchronizability analyses work for both
standard Finite State Automata model (abstract control flow model) and
extended Guarded Automata (with data semantics) model.
Various analyses
algorithms (with different levels of accuracy) are developed for the
analyses
of the Guarded Automata model.
(Currently skeleton analysis for GA
protocols and compositions are available.)
- The tool has a highly extensible architecture, with the use of GA as
intermediate representation. At the front end, other Web Service
languages such as WSCI, WSCL,
BPML can be supported; and at the back-end side, depending on the data
and the arithmetic operations in the data manipulation, other model
checkers such as SMV, and Action Verifier can be called to efficiently
handle specific cases.
Getting Started (Tool Demo)
- Installation
Instructions
- Running Samples
Source Code Download
- Version 0.1. of
wsat_source.tar.gz (250 kb).
When decompressed, the file is
extracted into a directory
EDU/
and a file
wsat.java.
- New
The bundled tool of WSAT and BPWS4J can be found
here
Tool Documentation
- WSAT supports both bottom-up and top-down specifications of Web
Services, the following documents and links illustrate the syntax
of input.
- XPath : XML query
language to access and manipulate data. XPath is used both in bottom-up
specification (BPEL) and top-down specification (Guarded Finite State
Automata Conversation Protocol).
Currently our tool supports the
abreviated syntax of XPath version 1.0.
- Bottom-up: each peer is described using a BPEL
business process, and the public data/port declaration uses WSDL.
- BPEL
(Business Process Execution Language for Web Services).
WSAT supports BPEL version 1.1
- WSDL
(Web Service Description Language).
WSAT currently supports
WSDL version 1.1
- Top-down: the desired message exchange is specified by a
single Guarded Finite State Automaton, which is called "Conversation
Protocol".
- Theoretical background:
see references [WWW '03], [CIAA '03], [WWW '04]
- GFSA.html
contains the syntax rules of defining conversation protocols.
- WSAT Manual (under construction)
Publications
- [ICWS'04]
X. Fu, T. Bultan, and J. Su.
Realizability of Conversation Protocols With Message Contents,
2nd International Conference on Web Services (ICWS), 2004
- [ISSTA'04]
X. Fu, T. Bultan, and J. Su.
Model Checking XML Manipulating Software,
International Symposium
on Software Testing and Analysis (ISSTA), 2004
- [CAV'04] X. Fu, T. Bultan, and J. Su.
WSAT: A Tool for Formal Analysis of Web Services, 16th
International Conference on Computer Aided Verification, July 2004
(Tool paper)
- [SIGMOD'04]
R. Hull and J. Su.
Tools for Design of Composite Web Services, ACM SIGMOD
International Conference on Management of Data, June 2004 (Tutorial
abstract).
Turorial Notes
- [WWW'04]
X. Fu, T. Bultan, and J. Su.
Analysis of Interacting BPEL Web Services,
13th International World Wide Web Conference (WWW), May 2004
- [UCSB-CS-TECH-REPORT-2004-10]
Xiang Fu, Oscar H. Ibarra, Jianwen Su and Tevfik Bultan.
Message Based
Behavior Model of Web Services: Expressive Power
- [REOS'03]
Xiang Fu, Tevfik Bultan and Jianwen Su.
A Top-Down Approach to Modeling Global Behaviors of Web Services,
Workshop on Requirements Engineering and Open Systems (REOS),
Montery, CA, September 2003
- [CIAA'03]
Xiang Fu, Tevfik Bultan and Jianwen Su.
Conversation Protocols: A Formalism for Specificationa and
Verification of Reactive Electronic Services,
Proc. of 8th International Conference on Implementation and
Application of Automata (CIAA'03), LNCS 2759, pp. 188 - 200,
Springer, Santa Barbara, July 2003.
Invited journal version
(.pdf)
- [WWW'03]
Tevfik Bultan, Xiang Fu, Richard Hull, and Jianwen Su.
Conversation Specification: A New Approach to Design and Analysis
of E-Service Composition,
Proc. of Twelfth International World Wide Web Conference
(WWW2003),
ACM 1-58113-680-3/03/0005, pp. 403 - 410. Budpeset, Hungary, May 2003
(last updated: July 9, 2004)