1 / 31

DAML-S: Sematic Markup for Web Services

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

walden
Download Presentation

DAML-S: Sematic Markup for Web Services

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. DAML-S: Sematic Markup for Web Services Zhou Jiefeng CS595 Nov. 25t

  2. Outline • Introduction • Motivating task examples • Upper ontology for services • Language Specification

  3. 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

  4. 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

  5. Motivating task examples • Automatic Web service discovery • Automatic Web service invocastion • Automatic Web service composition and interoperation • Automatic Web service execution monitoring

  6. Upper ontology for services • Three essential types of knowledge about a service • What does the service require of the user, or other agents, and provide for them? • How does it work? • How is it used?

  7. Upper ontology for services

  8. Language Specification Profile propertyies • ServiceProfile • ServiceName, TextDescription, ContactInformation • Actor Provider, Requestor • Functionality Description Input, Output, Precondition, Effect,

  9. Language Specification Profile properties • Parameter Description • Profile Attributes • ServiceParameter • QualityRating • ServiceCategory

  10. Language Specification Modeling Services as Processes

  11. 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)

  12. 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>

  13. 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>

  14. Language Specification Modeling Services as Processes • AtomicProcess ---- directly invocable daml:Class rdf:ID="AtomicProcess"> <daml:subClassOf rdf:resource="#Process"/> </daml:Class>

  15. Language Specification Modeling 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>

  16. 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>

  17. 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>

  18. Language Specification Modeling 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>

  19. 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.

  20. 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>

  21. 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.

  22. 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

  23. 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.

  24. Language Specification Modeling Services as Processes • Unordered : Allows the process components (specified as a bag) to be executed in some unspecified order, or concurrently. • 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: • {(a;b), (c;d)} where ';' means ``executes before'', and the possible execution sequences (total orders) include • {(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)}

  25. 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.

  26. Language Specification Modeling 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>

  27. Language Specification Modeling 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.

  28. Language Specification Modeling Services as Processes • Specifying Data Flow; Parameter Bindings • Process Control Ontology • Time

  29. Language Specification Grounding a Service to a Concrete Realization

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

  31. Summary and Current Status • Still developing, version0.9 until May 2003 • Tools available: Web Service Composer WSDL2DAML-S Converter DL Mapping Tool

More Related