Speciyfing a Web Service Ontology in First-Order Logic  


Michael Gruninger* and Sheila McIlraith**
*Department of Mechanical and Industrial Engineering
**Department of Computer Science
University of Toronto
Toronto, Canada.
gruninger@mie.utoronto.ca, sheila@cs.utoronto.ca

Presented at the 2006 AAAI Spring Symposium on
Formalizing and Compiling Background Knowledge and
Its Applications to Knowledge Representation and Question Answering

March 27 -- 29, 2006




Presentation Slides


Preamble

The purpose of this talk was to encourage you to look at



Introduction

To achieve the vision of the Semantic Web, software agents will need a computer-interpretable description of the services they offer and the information that they access. Such a description can be provided by an ontology, which explicitly represents the intended meanings of the terms being used. Any ontology that supports the representation of web services will consist of generic classes to support service specification as well as classes of ordering, temporal, occurrence, and duration constraints in service specifications. The ontology must also support reasoning problems for web service specifications such as determining the consistency of a service specification and the composability of services, particularly with incomplete service specifications.

Ontologies

A major barrier to reusability and interoperability of knowledge-based systems is semantic heterogeneity: different applications, databases, and agents may ascribe disparate meanings to the same terms or use distinct terms to convey the same meaning.

It has been recognized that the emerging technology concerned with the development and application of ontologies will play a central role in achieving semantic integration and reusability ([6],[7]). An ontology is a computer-interpretable specification that is used by an agent, application, or other information resource to declare the vocabulary of terms it uses, together with an axiomatization of the meaning for the terms in some formal logical languauge. Ontologies support the semantic integration of software systems through reasoning with this axiomatization ([2],[4]).

Much of the existing work on ontologies ([5]) has focused on the use of languages with limited expressiveness, such as description logics. Nevertheless, in many systems that use ontologies with limited expressiveness, it is necessary to introduce extralogical assumptions in order to capture the intended semantics of the ontology's terminology. Thus, the interoperability issues that arise within realistic settings typically require languages with the expressiveness of first-order logic.

The Role of PSL

The Process Specification Language (PSL) ([1],[3]) has been designed to facilitate correct and complete exchange of process information. (As of June 2004, PSL has been accepted as an International Standard (ISO 18629) within the International Organisation of Standardisation.) The PSL Ontology is a set of theories in the language of first-order logic. All core theories within the ontology are consistent extensions of a theory referred to a PSL-Core, which introduces the basic ontological commitment to a domain of activities, activity occurrences, timepoints, and objects that participate in activities. There is also a set of theories referred to as PSL Outer Core (see Figure 1), which supports the explicit representation of state, concurrency, and complex actions. In particular, one of the theories in PSL Outer Core is equivalent to the first-order theory of Reiter's axiomatization of the situation calculus. Additional core theories capture the basic intuitions for the composition of activities, and the relationship between the occurrence of a complex activity and occurrences of its subactivities.

Figure 1: The theories of PSL Outer-Core



The PSL Ontology is the basis for the first-order axiomatization of semantic web services in FLOWS. In particular, the FLOWS Process Model incorporates the following concepts and features from PSL:

The model theory of PSL provides a rigorous abstract mathematical characterization of the semantics of the terminology of ontology. This characterisation defines the meanings of terms with respect to some set of intended interpretations represented as a class of mathematical structures. Furthermore, for each theory in the PSL-Ontology, there are theorems that prove that every intended interpretation is a model of the theory, and every model of the theory is isomorphic to some intended interpretation.

This first-order semantics has several advantages. Since complex activities and their occurrences are elements of the domain, PSL sentences can explicitly describe and quantify over complex activities. This makes it possible to express in an explicit manner a broad variety of properties and constraints on composite activities. Service design analysis and verification can therefore be expressed as inference problems that are solved by inference techniques that are sound and complete with respect to models of the theories. Also, a process ontology with a first-order axiomatization can be more easily integrated with other ontologies (which are almost all first-order theories themselves). Other approaches to process representation lack one or more of the formal properties of the PSL Ontology -- many ontologies do not provide a model theory; those that do specify a formal semantics, typically do not provide an axiomatization of this semantics.

PSL has already proven useful as exchange language between manaufacturing and business process software applications. Similar techniques can be used to integrate the diverse range of existing research efforts in semantic web services.

FLOWS: A First-Order Logic Ontology for Web Services

As the name suggests, FLOWS is a first-order logic ontology for Web services. FLOWS comprises: The Process Model in turns consists of More specifically, it consists of Please go to the FLOWS Web Page for a detailed descriptoin of FLOWS.


References

[1] Gruninger, M. (2003a) Ontology of the Process Specification Language, pp. 599-618, Handbook of Ontologies and Information Systems, S. Staab (ed.). Springer-Verlag, Berlin.
[2] Gruninger, M. and Kopena, J. (2005) Semantic Integration through Invariants, AI Magazine, 26:11-20.
[3] Gruninger, M. and Menzel, C. (2003) The Process Specification Language: Principles and Applications, AI Magazine, 24:63-74.
[4] Horrocks, I. and Voronkov, A. (2006) Reasoning support for expressive ontology languages using a theorem prover, in FiIKS 2006, LNCS 3862, pp. 201-218, Dix, J. and Hegner, S.J. (eds.). Springer-Verlag.
[5] Staab, S. and Studer, R. (2004) Handbook of Ontologies. Springer-Verlag.
[6] Uschold, M. and Gruninger, M. 1996. Ontologies: Principles, Methods, and Applications. Knowledge Engineering Review, 1:96-137.
[7] Welty, C., and Guarino, N. (2001) Supporting ontological analysis of taxonomic relationships. Data Knowl. Eng. 39(1): 51-74