daml-s: sematic markup for web services
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 PresentationTRANSCRIPT
![Page 1: DAML-S: Sematic Markup for Web Services](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681449a550346895db14334/html5/thumbnails/1.jpg)
DAML-S: Sematic Markup for Web Services
Zhou Jiefeng
CS595 Nov. 25t
![Page 2: DAML-S: Sematic Markup for Web Services](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681449a550346895db14334/html5/thumbnails/2.jpg)
Outline
• Introduction
• Motivating task examples
• Upper ontology for services
• Language Specification
![Page 3: DAML-S: Sematic Markup for Web Services](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681449a550346895db14334/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681449a550346895db14334/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681449a550346895db14334/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681449a550346895db14334/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681449a550346895db14334/html5/thumbnails/7.jpg)
Upper ontology for services
![Page 8: DAML-S: Sematic Markup for Web Services](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681449a550346895db14334/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681449a550346895db14334/html5/thumbnails/9.jpg)
Language Specification
Profile properties
Parameter Description Profile Attributes ServiceParameter QualityRating ServiceCategory
![Page 10: DAML-S: Sematic Markup for Web Services](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681449a550346895db14334/html5/thumbnails/10.jpg)
Language SpecificationModeling Services as Processes
![Page 11: DAML-S: Sematic Markup for Web Services](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681449a550346895db14334/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681449a550346895db14334/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681449a550346895db14334/html5/thumbnails/13.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681449a550346895db14334/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681449a550346895db14334/html5/thumbnails/15.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681449a550346895db14334/html5/thumbnails/16.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681449a550346895db14334/html5/thumbnails/17.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681449a550346895db14334/html5/thumbnails/18.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681449a550346895db14334/html5/thumbnails/19.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681449a550346895db14334/html5/thumbnails/20.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681449a550346895db14334/html5/thumbnails/21.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681449a550346895db14334/html5/thumbnails/22.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681449a550346895db14334/html5/thumbnails/23.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681449a550346895db14334/html5/thumbnails/24.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681449a550346895db14334/html5/thumbnails/25.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681449a550346895db14334/html5/thumbnails/26.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681449a550346895db14334/html5/thumbnails/27.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681449a550346895db14334/html5/thumbnails/28.jpg)
Language SpecificationModeling Services as Processes Specifying Data Flow; Parameter
Bindings Process Control Ontology Time
![Page 29: DAML-S: Sematic Markup for Web Services](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681449a550346895db14334/html5/thumbnails/29.jpg)
Language SpecificationGrounding a Service to a Concrete
Realization
![Page 30: DAML-S: Sematic Markup for Web Services](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681449a550346895db14334/html5/thumbnails/30.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681449a550346895db14334/html5/thumbnails/31.jpg)
Summary and Current Status Still developing, version0.9 until
May 2003 Tools available:
Web Service Composer
WSDL2DAML-S Converter
DL Mapping Tool