Semantic Web Service Processes with SemTalk

Christian Fillies1, Frauke Weichhardt2, and Gay Wood-Albrecht3

1 Semtation GmbH, Bredower Str 145,
14612 Falkensee, Germany

2 Beratung im Netz, Merkurstrasse 17,
14482 Potsdam, Germany

3 Bonapart Solutions

Naperville, IL USA

Abstract. Web Services have become popular because they have a simple vision -  to integrate software components and their business processes via the internet using standardized interfaces. Business process models are an important factor for web services because they help both humans and machines interpret the building blocks, for example, the components of a proposed supply chain. Process models specify the internal structure of web services. SemTalk is a meta-model driven, MS Visio-based graphical tool, which has previously been used to describe ontologies and to describe business processes. This paper summarizes some of our experience gained while building a prototype for a graphical modeling tool for the ontology-based web service language DAML-S with SemTalk. We are extending DAML-S by applying object-oriented capabilities of the ontology to process defining elements like e.g. effects, conditions and process names.

1   Introduction

A web service is defined by a set of business objects, operations and their input and output parameters. WSDL [6] is the current specification language for interfaces, which is supported by many key software vendors. The actual implementation is done using SOAP, XML and HTTP. The current web services standard covers the syntactical integration of application components. The components and the behavior of their methods must be known and understood before the can be used or combined. Typical component integration usually consists of a pair wise mapping of properties as it is known from EAI solutions such as Microsoft’s BizTalk server.

 

Web services address a broad range of problems such as:

·   Provide simple web services such as delivering the temperature at a given location.

·   Provide more complex web services, such as ordering a pizza, that involve product configuration, financial transactions, manufacturing and logistics.

Some parts of a process may require human interaction.  Parts in the supply chain can be distributed to 3rd party organizations such as taxi drivers responsible for delivering pizzas. Current industry standards like WSDL simply specify input and output parameters of internet-enabled components. Research proposals such as DAML-S have been made to extend WSDL in two primary ways: First to create ontologies for a common understanding of business objects and second the description of the underlying business processes. The upcoming standard BPML from BPMI.org is similar to DAML-S in some aspects, but it is not based on ontologies.  XLANG is a proprietary industry standard that also includes process descriptions.

 

Business process models are an important factor for web services because they help both humans and machines interpret the building blocks, for example, the components of a proposed supply chain. Process models specify the internal structure of web services. They describe how certain outputs are going to be created from given inputs and who is in charge of performing tasks. Understanding the process is a key issue to judge the quality, reliability, stability and performance of a process component. Business processes models also help to ensure that the inputs and outputs of a component directly refer to those business objects which are the intended to be used. 

 

The long term vision of web services is more than just interoperability. Web services for a given business problem should be found by search engines, understood and applied to actual business problems. The process of matching the given problem description against the description of offered services is known as “match-making”.

The Semantic Web [1] claims to achieve the integration more intelligently with the help of so-called “mediators” [13,12]. The mediators use an ontology [2,10]to map business terms between components. A common understanding of the used business objects is represented by a common ontology. Rules are then being specified to match ontologies containing business terms of the involved parties. Processes are not yet dealt with explicitly.

 

Specifications of services published on the Internet fulfill a dual role. They must be technical enough to be understood by machines and search agents, and they must be intuitive enough to be understood by casual human users.

If we seriously consider a significant amount of pizza manufacturers and taxi drivers to use DAML-S for advertising their services, we must offer them a simple way to describe processes and ontologies in a graphical tool like Visio.

 

SemTalk is a meta-model driven, MS Visio-based graphical tool, which has previously been used in both scenarios before. It is used as a DAML / OWL editor to describe ontologies but it is also used to describe business processes with different methodologies.

2   DAML-S

The current proposal DAML-S [5,9] is using DAML[1]  [7] as a meta-modeling language and as a domain modeling language at the same time. The basic elements of the methodology are “Process”, “Condition”, “Effect” etc. They are defined as OWL [4] classes with properties. The actual model, in this context the most relevant part of it the processes, are created via a sub-classing of the basic elements. This approach is different from conventional modeling tools which clearly separate the meta model from the application model. Tools having a customizable meta model such as Popkin or PTech allow one to extend and filter the meta model, but the meta model always stays separated from the application model.

 

The meta-model shown in figure 1 of the process ontology of DAML-S has been imported from http://www.daml.org/services/daml-s/0.7/Process.daml.

 

 

Fig. 1. DAML-S Process Meta Model

 

 

The advantage of the DAML-S approach is that any OWL editor can be used to specify processes in description logic using the full range of OWL features. Additionally any OWL-inference engine can be used to analyze the processes. Since the model is specified in native OWL no export/import interfaces are needed.

 

The disadvantage of using OWL as a process modeling language is , that the resulting process models contain different layers of abstraction so that the processes will look very similar to the meta model shown in figure 1. This is not a convenient presentation for complex process models and should therefore be prohibited by a modeling tool.

Interpreters of the process model such as simulation engines or workflow engines are restricted to elements defined in the meta model, so that “free” additions to the meta model are ignored by those engines.

 

Process models, even if they are used to describe web services, need a graphical symbolic notation that appropriately reflects the meta model. These models also should be easily understood by casual users.

Graphical process documentation notation guides users through the process of building the process model. By using a predefined set of graphical symbols for the process elements it is much simpler to build and understand business processes, but it prevents users from applying the full OWL expressiveness.

 

An ontology-based process modeling environment consists of 4 layers:

 

1.   Modeling method meta model[2].

2.   Customization of the meta model for specific types of processes or conditions etc. The specialization of the meta model is often indirectly related to the domain of discourse and the indented analysis[3].

3.   Different view for the static part of the ontology (referenced business objects  “things”). These views are differentiated to focus on specific aspects of the problem space. This prevents users from specifying e.g. that a printer is a subclass of an order. The process model reflects some of the object relations with objects of other ontologies. Typical views could be information, media, physical resources, organizational terms and IT-systems. Often the information view is the one that is associated with the word ontology as it contains relevant parts of the domain description.

4.   Processes, org. charts and  infrastructure maps contain concrete objects or instances. The processes form the dynamic part of the ontology. 

 

DAML-S uses OWL-classes on all of these layers. The most detailed layer is the dynamic ontology or “Process Layer”. It should be realized graphically using symbols for those elements defined in the meta model. For the static ontology layer (things) a UML style notation is preferred.

2   Design of a SemTalk Web Services Process Toolkit

The SemTalk [3] implementation of DAML-S defines some shapes shown in figure 2 for the basic elements of the meta model. The semantics of the shapes is defined by the meta model, that SemTalk interprets. The Elements are Atomic Process, Composite Process, Conditional Output, Conditional Effect and Condition. The actual process model is made up of instances, that can have their own classes. For the process buyBook there is a class named buyBook which is a subclass of CompositeProcess. This class can be specified in a class diagram with all features of OWL. For each occurrence in a process we are creating an instance like buyBook.123.

Fig. 2. DAML-S Shapes

In DAML-S inputs and outputs are implemented as SubProperties of an input property or output property. Because this is difficult to graphically draw, we decided to make them  instances as well and to connect them with properties named “input” and “output” respective to their processes. The first prototype of the SemTalk DAML-S tool uses simple colored shapes. In the final version these shapes have to be elaborated carefully to draw more attention to the process elements and flow of control compared to inputs, outputs and conditions. 

Fig. 3. ExpressCongoBuyProcessModel

The major difference between the SemTalk approach and the DAML-S specification is the use of instances at the bottom level necessary to make it simpler for users to create graphical models. The main characteristics of the DAML-S approach have been maintained. OWL Classes can be used to extend the meta model and also to describe the domain as subclasses of the class Thing. SemTalk is customized for DAML-S in a way that has certain diagram types to model ontologies. Figure 3 shows to simple process “ExpressCongoBuy” of the example ontology[4] build with SemTalk.

3   Control Structure and Composite Processes

From process modeling point of view it is remarkable that DAML-S separates control-flow and data-flow. In Petri-Net based BPR methodologies and in UML Activity diagrams, object flows are used to specify a combination of both as the object flows between two steps in a process. These object flows are usually represented as a combination of both control and data flow.. Separating the two types of flows does not add any significant information advantages and it complicates both modeling and the clarity of the model for end-users.

 

Control structures like loop, while, select and synchronization are included into the language. Similar structures, also represented in XML, can be found at BPML [8] and XLANG [11]. Beyond synchronization it is not very common for business process modeling methodologies to use control structures from structured programming graphically. DAML-S requires a new composite process for each control structure. If there are two atomic processes which can be executed in parallel, a new simple process must be created. The simple process expands to a composite process that basically contains the parallel tasks. This results in a complicated deeply nested process hierarchy, difficult to understand for human readers and it requires additional manipulation to specify port mappings, data flows between inputs of the calling process to the called process.

 

Decomposition of processes into sub-processes is a well-established procedure to reduce complexity in business process modeling. The sub-processes should automatically contain the ports of the refined process.

Most experts do not recommend nesting more than five levels. This obviously is in conflict with the way control structures are realized in DAML-S. Future graphical DAML-S tools must come up with other solutions to eliminate this problem. A Nassi-Schneiderman style of representing control structures as nested blocks is also not appropriate for process descriptions, as quick understanding of a process is made rather difficult.

4   Ontology based Process Elements

The key goal of DAML-S is to combine static ontologies and processes as the dynamic part of the ontology in order to be able to analyse and link the underlying information systems. Closely investigating the provided example “FullCongoBuy” (and virtually any other existing business process model) shows a static ontology describing things like Book, CreditCard, Order  and process elements like locateBook,  OrderShipped and BookInStock. The class Book in the ontology and the process locateBook are unrelated: Changing the classname Book to CD does not change the process name locateBook to locateCD. A program analyzing the process has no way of knowing that locateBook is an activity related to Book.

Our experience from other process modeling methods is that it makes sense to combine both worlds. Our static ontology includes verbs and states as a library for the dynamic part of the ontology. Book is used with verbs like locate, buy and read. Subclasses of Book inherit those verbs from their super classes. A process name is a combination of a verb and classname. This approach can be applied to basic elements of DAML-S as there are processes, conditions, inputs, outputs and effects.

 

The main advantage of this approach is that the static ontology can be defined independently off the processes for subject domains and it ensures that models remain consistent. The static ontology might be created bottom up while modeling the first processes or interfaces, but it exists independently of any process.

5   Summary

DAML-S is a promising approach to effectively use ontologies to describe web services. Under the assumption that the idea of web services is more than just connecting software components via the internet, the internal process structure of a web service becomes increasingly important. Virtual corporations or communities must be able to understand the advertised services before they can be appropriately connected. Process models of services are a convenient way to publish a service understandable for humans and search engines, especially if the language used for process description is based on a commonly agreed upon ontology. For non-technical communities OWL editors might not be an appropriate tool to specify their business processes. They usually require graphical tools and notations that should eventually reflect some of the lessons learned in a decade of BPR activities.

References

1.  Berners-Lee, T. Hendler, J., and Lassila, O.: published an article about the Semantic Web in Scientific American. "A new form of Web content that is meaningful to computers will unleash a revolution of new possibilities", See http://www.scientificamerican.com/2001/0501issue/0501berners-lee.html

2.  Gruber, T. (1995). Towards principles for the design of ontologies used for knowledge sharing. International Journal of Human-Computer Studies, (43):907–928.

3.  Fillies, C., Wood-Albrecht, G., Weichhardt, F.: A Pragmatic Application of the Semantic Web Using SemTalk, WWW2002, May 7-11, 2002, Honolulu, Hawaii, USA ACM 1-5811-449-5/02/0005

4.  OWL Web Ontology Language 1.0 Reference: W3C Working Draft 29 July 2002, 12 November 2002. Mike Dean, Dan Connolly, Frank van Harmelen, James Hendler, Ian Horrocks, Deborah L. McGuinness, Peter F. Patel-Schneider, and Lynn Andrea Stein eds. Latest version is available at http://www.w3.org/TR/owl-ref/ 

5. David Martin et. al.: DAML-S 0.7 Draft Release, http://www.daml.org/services/daml-s/0.7/

6.  Web Services Description Language (WSDL) 1.1 W3C Note 15 March 2001: Erik Christensen, Microsoft, Francisco Curbera, IBM Research, Greg Meredith, Microsoft, Sanjiva Weerawarana, IBM Research http://www.w3.org/TR/wsdl

7.  Darpa Agent Markup Language (DAML): cf. http://www.daml.org

8.  A. Arkin: Business Process Modeling Language (BPML), Working Draft 0.4, 2001. http://www.bpmi.org/.

9.  A. Ankolenkar, M. Burstein, T. Cao Son, J. Hobbs, O. Lassila, D. Martin, D. McDermott, S. McIlraith, S. Narayanan, M. Paolucci, T. Payne, K. Sycara, and H. Zeng.:DAML-S: Semantic Markup For Web Services, http://www.daml.org/services/daml-s/2001/10/daml-s.html

10.D. Fensel.: Ontologies: Silver Bullet for Knowledge Management and Electronic Commerce. Springer-Verlag, Berlin, 2001.

11.S. Thatte: XLANG Web Services for Business Process Design. Microsoft Corporation, 2001. http://www.gotdotnet.com/team/xml_wsspecs/xlang-c/default.htm.

12. C. Bussler.: The Role of B2B Protocols in Inter-enterprise Process Execution. In Proceedings of Workshop on Technologies for E-Services (TES 2001) in cooperation with VLDB2001. Rome, Italy, September 2001.

13. G. Wiederhold.: Mediators in the Architecture of Future Information Systems.IEEE Computer, 25(3):38 - 49, 1992

 



[1] DAML-S has been specified on top of Darpa Agent Markup Language (DAML). The successor of DAML is Web Ontology Language (OWL). In this article we will refer to OWL as the ontology language for DAML-S

[2] The DAML-S spec is using the term “Process Ontology” instead of “Meta Model”. In this paper the term “Static Ontology” denotes a static model of the domain. Neither the meta model nor the processes, which are the dynamic ontology of the domain, are part of the static ontology.

[3] For example in the e-government domain processes are often classified as being an information process, a communication process or a transactional process.

[4] The original sample is at: http://www.daml.org/services/daml-s/0.7/CongoProcess.daml