+ All Categories
Home > Documents > DAML-S: Sematic Markup for Web Services

DAML-S: Sematic Markup for Web Services

Date post: 12-Jan-2016
Category:
Upload: walden
View: 31 times
Download: 1 times
Share this document with a friend
Description:
DAML-S: Sematic Markup for Web Services. Zhou Jiefeng CS595 Nov. 25t. Outline. Introduction Motivating task examples Upper ontology for services Language Specification. Introduction. Access Web resources by content rather than by keywords - PowerPoint PPT Presentation
Popular Tags:
31
DAML-S: Sematic Markup for Web Services Zhou Jiefeng CS595 Nov. 25t
Transcript
Page 1: DAML-S: Sematic Markup for Web Services

DAML-S: Sematic Markup for Web Services

Zhou Jiefeng

CS595 Nov. 25t

Page 2: DAML-S: Sematic Markup for Web Services

Outline

• Introduction

• Motivating task examples

• Upper ontology for services

• Language Specification

Page 3: DAML-S: Sematic Markup for Web Services

Introduction

• Access Web resources by content rather than by keywords

• Web resources ----services, not only the static information but allow one to effect some action or change in the real world

• DAML (DARPA Agent Markup Language) ---- A new generation of Web markup language

Page 4: DAML-S: Sematic Markup for Web Services

Introduction

• Goal: enable user to locate, select, employ, compose, and monitor Web-based services automatically

• Goal: establish a framework within which computer-interpretable description of the service are made and shared

Page 5: DAML-S: Sematic Markup for Web Services

Motivating task examples

• Automatic Web service discovery

• Automatic Web service invocastion

• Automatic Web service composition and interoperation

• Automatic Web service execution monitoring

Page 6: DAML-S: Sematic Markup for Web Services

Upper ontology for services

• Three essential types of knowledge about a service

1. What does the service require of the user, or other agents, and provide for them?

2. How does it work?3. How is it used?

Page 7: DAML-S: Sematic Markup for Web Services

Upper ontology for services

Page 8: DAML-S: Sematic Markup for Web Services

Language Specification

Profile propertyies

ServiceProfile ServiceName, TextDescription,

ContactInformation Actor

Provider, Requestor Functionality Description

Input, Output, Precondition, Effect,

Page 9: DAML-S: Sematic Markup for Web Services

Language Specification

Profile properties

Parameter Description Profile Attributes ServiceParameter QualityRating ServiceCategory

Page 10: DAML-S: Sematic Markup for Web Services

Language SpecificationModeling Services as Processes

Page 11: DAML-S: Sematic Markup for Web Services

Language Specification

Modeling Services as Processes The Process ---- describes a service in

terms of its inputs, outputs, preconditions, effects, and maybe its component subprocesses, which enable planning, composition and agent/service interoperation

The Process control model---- allow agent to monitor the execution of a service request (proposed, not defined, yet)

Page 12: DAML-S: Sematic Markup for Web Services

Language Specification

Modeling Services as Processes Process

<daml:Class rdf:ID="Process"> <rdfs:comment> The most general class of processes </rdfs:comment> <daml:disjointUnionOf rdf:parseType="daml:collection"> <daml:Class rdf:about="#AtomicProcess"/> <daml:Class rdf:about="#SimpleProcess"/> <daml:Class rdf:about="#CompositeProcess"/> </daml:disjointUnionOf> </daml:Class>

Page 13: DAML-S: Sematic Markup for Web Services

Language Specification

Modeling Services as Processes Process properties defination

<rdf:Property rdf:ID="parameter"> <rdfs:domain rdf:resource="#Process"/> <rdfs:range rdf:resource=""http://www.daml.org/2001/03/daml+oil#Thing"/> </rdf:Property> <daml:Property rdf:ID="input"> <rdfs:subPropertyOf rdf:resource="#parameter"/> <daml:range rdf:resource="http://www.daml.org/2001/03/daml+oil#Thing"/> </daml:Property>

Page 14: DAML-S: Sematic Markup for Web Services

Language Specification

Modeling Services as Processes AtomicProcess ---- directly invocable

daml:Class rdf:ID="AtomicProcess"> <daml:subClassOf rdf:resource="#Process"/> </daml:Class>

Page 15: DAML-S: Sematic Markup for Web Services

Language SpecificationModeling Services as Processes SimpleProcess ---- not invocable and not associated with

grounding, but as one step<daml:Class rdf:ID="SimpleProcess"> <daml:subClassOf rdf:resource="#Process"/> </daml:Class> <rdf:Property rdf:ID="realizedBy"> <rdfs:domain rdf:resource="#SimpleProcess"/> <rdfs:range rdf:resource="#AtomicProcess"/> <daml:inverseOf rdf:resource="#realizes"/> </rdf:Property> <rdf:Property rdf:ID="expandsTo"> <rdfs:domain rdf:resource="#SimpleProcess"/> <rdfs:range rdf:resource="#CompositeProcess"/> <daml:inverseOf rdf:resource="#collapsesTo"/> </rdf:Property>

Page 16: DAML-S: Sematic Markup for Web Services

Language Specification

Modeling Services as Processes CompositeProcess ---- decomposable into other

(noncomposite or composite) processes; their decomposition can be specified by using control constructs such as SEQUENCE and IF-THEN-ELSE<daml:Class rdf:ID="CompositeProcess"> <daml:intersectionOf rdf:parseType="daml:collection"> <daml:Class rdf:about="#Process"/> <daml:Restriction daml:cardinality="1"> <daml:onProperty rdf:resource="#composedOf"/> </daml:Restriction> </daml:intersectionOf> </daml:Class>

Page 17: DAML-S: Sematic Markup for Web Services

Language Specification

Modeling Services as Processes COMPOSITEPROCESS must have a

composedOf property using a CONTROLCONSTRUCT.

<rdf:Property rdf:ID="composedOf"> <rdfs:domain rdf:resource="#CompositeProcess"/> <rdfs:range rdf:resource="#ControlConstruct"/> </rdf:Property> <daml:Class rdf:ID="ControlConstruct"> </daml:Class>

Page 18: DAML-S: Sematic Markup for Web Services

Language SpecificationModeling Services as Processes control construct ---- associated with components to

indicate the ordering and conditional execution of the subprocesses (or control constructs) <rdf:Property rdf:ID="components"> <rdfs:comment> Holds the specific arrangement of subprocesses. </rdfs:comment> <rdfs:domain rdf:resource="#ControlConstruct"/> </rdf:Property> <daml:Class rdf:ID="ProcessComponent"> <rdfs:comment> A ProcessComponent is either a Process or a ControlConstruct. </rdfs:comment> <daml:unionOf rdf:parseType="daml:collection"> <daml:Class rdf:about="#Process"/> <daml:Class rdf:about="#ControlConstruct"/> </daml:unionOf> </daml:Class>

Page 19: DAML-S: Sematic Markup for Web Services

Language Specification

Modeling Services as Processes minimal set of control constructs

---- Sequence, Split, Split + Join, Choice, Unordered, Condition, If-Then-Else, Iterate, Repeat-While, and Repeat-Until.

Page 20: DAML-S: Sematic Markup for Web Services

Language Specification

Modeling Services as Processes

Sequence: A list of Processes to be done in order.

<daml:Class rdf:ID="Sequence"> <rdfs:subClassOf rdf:resource="#ControlConstruct"/> <rdfs:subClassOf> <daml:Restriction> <daml:onProperty rdf:resource="#components"/> <daml:toClass rdf:resource="#ProcessComponentList"/> </daml:Restriction> </rdfs:subClassOf> </daml:Class>

Page 21: DAML-S: Sematic Markup for Web Services

Language Specification

Modeling Services as Processes Split : a bag of process components to be

executed concurrently. <daml:Class rdf:ID="Split"> <rdfs:subClassOf rdf:resource="#ControlConstruct"/> <rdfs:subClassOf> <daml:Restriction> <daml:onProperty rdf:resource="#components"/> <daml:toClass rdf:resource="#ProcessComponentBag"/> </daml:Restriction> </rdfs:subClassOf> </daml:Class>

* No further specification about waiting or synchronization is made at this level.

Page 22: DAML-S: Sematic Markup for Web Services

Language Specification

Modeling Services as Processes Split+Join : Here the process consists of

concurrent execution of a bunch of process components with barrier synchronization.

* define processes that have partial synchronization

Page 23: DAML-S: Sematic Markup for Web Services

Language Specification

Modeling Services as Processes minimal set of control constructs

---- Sequence, Split, Split + Join, Choice, Unordered, Condition, If-Then-Else, Iterate, Repeat-While, and Repeat-Until.

Page 24: DAML-S: Sematic Markup for Web Services

Language Specification

Modeling Services as Processes Unordered : Allows the process components

(specified as a bag) to be executed in some unspecified order, or concurrently.

1. Let a, b, c, and d be atomic processes, and X, Y, and Z be composite processes: X = (Sequence a b) Y = (Sequence c d) Z = (Unordered A B) Z, then, translates to the following partial ordering:

2. {(a;b), (c;d)} where ';' means ``executes before'', and the possible execution sequences (total orders) include

3. {(a;b;c;d), (a;c;b;d), (a;c;d;b), (a;c;d;b), (c;d;a;b), (c;a;d;b), (c;a;b;d)}

Page 25: DAML-S: Sematic Markup for Web Services

Language Specification

Modeling Services as Processes Choice : CHOICE is a control construct with

additional properties chosen and chooseFrom. These properties can be used both for process and execution control (e.g., choose from chooseFrom and do chosen in sequence, or choose from chooseFrom and do chosen in parallel) as well for constructing new subclasses like ``choose at least n from m'', ``choose exactly n from m'', ``choose at most n from m'',and so on.

Page 26: DAML-S: Sematic Markup for Web Services

Language SpecificationModeling Services as Processes If-Then-Else : a control construct that has properties

ifCondition, then and else holding different aspects of the IF-THEN-ELSE. Its semantics is intended as ``Test

If-condition; if True do Then, if False do Else.'' <rdf:Property rdf:ID="ifCondition"> <rdfs:comment> The if

condition of an if-then-else </rdfs:comment> <rdfs:domain rdf:resource="#If-Then-Else"/> <rdfs:range> rdf:resource ="#Condition" </rdfs:range> </rdf:Property> <rdf:Property rdf:ID="then"> <rdfs:domain rdf:resource="#If-Then-Else"/> <rdfs:range rdf:resource="#ProcessComponent"/> </rdf:Property> <rdf:Property rdf:ID="else"> <rdfs:domain rdf:resource="#If-Then-Else"/> <rdfs:range rdf:resource="#ProcessComponent"/> </rdf:Property>

Page 27: DAML-S: Sematic Markup for Web Services

Language SpecificationModeling Services as Processes Iterate : ITERATE is a control construct whose

nextProcessComponent property has the same value as the current process component. REPEAT is defined as a synonym of the ITERATE class. The repeat/iterate process makes no assumption about how many iterations are made or when to initiate, terminate, or resume. The initiation, termination or maintainance condition could be specified with a whileCondition or an untilCondition as below.

Page 28: DAML-S: Sematic Markup for Web Services

Language SpecificationModeling Services as Processes Specifying Data Flow; Parameter

Bindings Process Control Ontology Time

Page 29: DAML-S: Sematic Markup for Web Services

Language SpecificationGrounding a Service to a Concrete

Realization

Page 30: DAML-S: Sematic Markup for Web Services

Language SpecificationResources

---- can, depending on resource type, be consumed, replenished, locked, and released. A resource token, or simply resource, is what is available to an activity.

Page 31: DAML-S: Sematic Markup for Web Services

Summary and Current Status Still developing, version0.9 until

May 2003 Tools available:

Web Service Composer

WSDL2DAML-S Converter

DL Mapping Tool


Recommended