Web Services Policy Project
To provide for a robust development and operational environment, web services are described using machine-readable metadata. This metadata serves several purposes, one of them being describing the capabilities and requirements of a service - often called policy of the service. In recent years, there have been many different web service policy language proposals, all of them describing languages with varying degrees of expressivity and complexity. However, with most current proposals it is difficult to determine their expressivity and computational properties as most lack a formal semantics. By mapping the policy language constructs into a logic (e.g., some variant of first order logic, such as OWL-DL) we can acquire a clear semantics for the policy languages, as well as a good sense of the computational aspects of the languages.
We have mapped one of the policy languages, WS-Policy, to OWL-DL. WS-Policy is a policy language being developed by IBM, Microsoft, BEA, and other major web services vendors and is generally considered to be the policy language with the most momentum. We have chosen two approaches: expressing policies as instances, and expressing them as classes. With the latter, we are able to use our OWL-DL reasoner, Pellet as a policy engine with analysis services that go far beyond what is usually offered - preliminary results of OWL-DL reasoners classifying generated policy sets using our mapping available below:
|Pellet (sec.)||Racer (sec.)||FaCT (sec.)|
Table 1. Classifying Policy ontologies using off-the-shelf DL reasoners
- Bijan Parsia, Vladimir Kolovski, James Hendler. Expressing WS Policies Using OWL. In Proc. of Policy Management for the Web Workshop, WWW2005. Talk slides here.
- Vladimir Kolovski, Bijan Parsia, Yarden Katz, James Hendler. Representing Web Service Policies in OWL-DL . To appear in Proc. of International Semantic Web Conference 2005.
- An XSLT is available that translates a WS-Policy in normal form to an OWL ontology.
- Presentation given at February, 2005, PAW project meeting.
- Example policy ontology that shows the advantages using an OWL-DL reasoner for policy processing - open the ontology in SWOOP and select Pellet as reasoner.