DAMLS: Semantic Markup for Web Services - PowerPoint PPT Presentation

1 / 26
About This Presentation
Title:

DAMLS: Semantic Markup for Web Services

Description:

Service profiles consist of three types of information: ... the Congo example, CongoBuy was described in terms of two main steps locating ... – PowerPoint PPT presentation

Number of Views:21
Avg rating:3.0/5.0
Slides: 27
Provided by: ili96
Category:

less

Transcript and Presenter's Notes

Title: DAMLS: Semantic Markup for Web Services


1
DAML-S Semantic Markup for Web Services
2
Content
  • Introduction
  • An Upper Service Ontology overivew- Service
    Profile- Service Model- Sevice Grounding
  • Reasoning support
  • Example
  • Conclusions

3
What is DAML-S?
  • Definition
  • DAML-S is a DAMLOIL ontology of Web Services
    which goal is to represent Web programs and
    devices in a computer-interpretable manner.

4
Why DAMLOIL for Web Services
  • Rich declarative service representationUDDI no
    capability description, limited to the name, a
    pointer and other link information
  • The well-described semantic modelLack in WSDL
  • Proved and implemented reasoning support

5
An Upper Ontology for Services
  • DAML-S defines a set of classes and properties,
    specific to the description of services.
  • The top of the DAML-S ontology is very general,
    i.e. it doesnt specify any particular subclasses
    of the root or even the conceptual basis for
    structuring the taxonomy.
  • It is expected that the taxonomy will be
    structured according to functional and domain
    differences and market needs.

6
An Upper Ontology for Services
  • The class Service is the root of the DAML-S
    ontology.
  • It is characterized by three important
    properties
  • 1. A high-level description of a service and its
    provider.The class Service presents a
    ServiceProfile
  • 2. A detalized description of the contol- and
    dataflow of the service.The class Service is
    describedBy a ServiceModel
  • 3. A mapping from the (abstract) content of the
    service to some specific transmittable
    format(s).The class Service supports a
    ServiceGrounding

7
An Upper Ontology for Services
  • Figure 1.

What it does
ServiceProfile
Resource
provides
presents
Service
supports
describedby
ServiceGrounding
ServiceModel
How it works
How to access it
8
Service Profile
  • The class Service presents a ServiceProfile for
    describing the capabilities and parameters of the
    service.
  • It answers the question
  • What does the service require of agents, and
    provide for them?
  • Informally, it specifies what the service does
    and is used by an agent to determine if the
    service meets its rough needs and satisfies
    constraints (security, locality, quality
    requirenments etc.).

9
Service Profile
  • Service profiles consist of three types of
    information
  • a description of the service and the service
    provider
  • the functional behavior of the service
  • several functional attributes (for automatic
    service selection)
  • Implicitly, service profiles specify the intended
    purpose of the service, because they specify only
    those functional behaviors that are publicly
    provided.

10
Service Profile
11
Service Model
  • The class Service is describedBy a ServiceModel,
    that specifies the workflow and possible
    execution paths of the service.
  • It answers the question How does it work?
  • It is used by an agent to
  • perform more in-depth analysis of whether the
    service meets the agents needs
  • compose service descriptions from multiple
    services to perform a specific task
  • coordinate the activities of different agents

12
Process Model
  • Web Services can be represented as processes,
    which details both the control structure and data
    flow structure of the services, i.e. the possible
    steps that are necessary to execute a service.
  • The ProcessModel extends the ServiceModel and is
    used to describe services as processes.
  • The Process Ontology consists of subclasses and
    properties of the ProcessModel class.

13
The Process Ontology
  • The basic class of the Process Ontology is the
    Process.
  • Its sublcasses describe each process by
  • any number of (possibly, conditional) inputs
  • any number of (possibly, conditional) outputs
  • any number of preconditions, which must hold in
    order for the process to be invoked
  • any number of (possibly, conditional) side
    effects
  • any number of participants (subprocess)

14
Types of the process in DAML-S
  • Atomic processes directly invokable (by an
    agent), have no subprocesses, executed in a
    single step.
  • Composite processes consist of other
    (non-composite or composite) processes.They have
    a composedOf property, by which the control
    structure of the process is indicated, using a
    ControlConstruct subclasses (see table ).
  • Simple processes abstract concepts, used to
    provide a view of some atomic process, or a
    simplified representation of some composite
    process (i.e., the black box view of a
    collapsed composite process).

15
Control Constructs of Processes
16
Service Grounding
  • The class Service supports a ServiceGrounding,
    that describes a mapping from an abstract
    (ServiceProfile and ServiceModel) to a concrete
    specification of the service description
    elements, that are required for interacting with
    the service, i.e. the inputs and outputs of
    atomic processes.
  • The central function of a DAML-S grounding is to
    show how the (abstract) inputs and outputs of an
    atomic process are to be realized concretely as
    messages, which carry those inputs and outputs in
    some specific transmittable format (e.g. RPC,
    CORBA, Java RMI, HTTP etc.).

17
Reasoning in DAML-S
  • Service requests are constructed as partial
    service descriptions.
  • Requests are then evaluated against the
    advertised service taxonomy using subsumption
    (classification).
  • Matches are generally recognized whenever the
    service advertised is subsumed by (is a
    particular case of) the service description
    requested.
  • Note Advertisements and requests can differ
    sharply, in level of detail and in the level of
    abstraction of the terms used.

18
Example
  • To illustrate the main concepts, an example of a
    fictious book-buying service, provided by Congo
    Inc., has been developed.
  • This service is, in fact, a collection of smaller
    programs, some of which are used in this
    presentation.
  • The whole example can be found at
  • http//www.daml.org/services/daml-s/2001/05/Congo.
    daml

19
Example an atomic process
  • The LocateBook program takes as input the name of
    a book and returns a description of the book and
    its price (if the book is in catalogue).
  • ltdamlClass rdfIDLocateBookgt
  • ltrdfssubClassOf rdfresoucehttp//www.daml.or
    g/services/daml-s/2001/10/Process.damlAtomicProce
    ss /gt
  • ltrdfssubClassOfgt
  • ltdamlRestriction damlcardinality1gt
  • ltdamlonProperty rdfresourcebookName/gt
  • lt/rdfssubClassOfgt
  • lt/damlClassgt
  • ltrdfProperty rdfIDbookNamegt
  • ltrdfssubPropertyOf rdfresourcehttp//www.dam
    l.org/services/daml-s/2001/10/Process.damlinput
    /gt
  • ltrdfsdomain rdfresourceLocateBook/gt
  • ltrdfsrange rdfresourcehttp//www.w3.org/2000
    /10/XMLSchemastring"/gt
  • lt/rdfPropertygt

20
Example an atomic process
  • ltrdfProperty rdfIDbookDescriptiongt
  • ltrdfssubPropertyOf rdfresourcehttp//www.dam
    l.org/services/daml-s/2001/10/Process.damlconditi
    onalOutput /gt
  • ltrdfsdomain rdfresourceLocateBook/gt
  • ltrdfsrange rdfresourceInCatalogueBookDescrip
    tion/gt
  • lt/rdfPropertygt
  • ltdamlClass rdfIDInCatalogueBookDescriptiongt
  • ltrdfssubClassOf rdfresoucehttp//www.daml.or
    g/services/daml-s/2001/10/Process.damlConditional
    Output /gt
  • lt/rdfssubClassOfgt
  • lt/damlClassgt

21
Example an atomic process
  • ltrdfProperty rdfIDcondInCatalogueBookDescripti
    ongt
  • ltrdfssubPropertyOf rdfresourcehttp//www.dam
    l.org/services/daml-s/2001/10/Process.damlcoCondi
    tion /gt
  • ltrdfsdomain rdfresourceInCatalogueBookDescr
    iption/gt
  • ltrdfsrange rdfresourceInCatalogueBook/gt
  • lt/rdfPropertygt
  • ltrdfProperty rdfIDoutInCatalogueBookDescriptio
    ngt
  • ltrdfssubPropertyOf rdfresourcehttp//www.dam
    l.org/services/daml-s/2001/10/Process.damlcoOutpu
    t /gt
  • ltrdfsdomain rdfresourceInCatalogueBookDescr
    iption/gt
  • ltrdfsrange rdfresourceTextBookDescription/
    gt
  • lt/rdfPropertygt
  • ltdamlClass rdfIDTextBookDescriptiongt
  • ltrdfssubClassOf rdfresource
    http//www.daml.org/2001/03/damloilThing /gt
  • lt/damlClassgt

22
Example a composite process
  • With a description of each of the atomic
    programs/processes in hand, it possible then to
    describe compositions of these programs that
    provide specific services.
  • The DAML-S composite process is built recursively
    in a top-down manner. Each CompositeProcess is
    composedOf a ControlStructure, which may be a
    Sequence, If-then-else, etc. Each such
    ControlConstruct, in turn, has a components
    property, which specify the classes of the
    subcomponents.

23
Example a composite process
  • In the Congo example, CongoBuy was described in
    terms of two main steps locating the book, and
    then buying it.
  • ExpandedCongoBy is the name for the sequence of
    the atomic process LocateBook, followed by the
    composite process CongoBuyBook.
  • Other restrictions (on inputs, outputs,
    preconditions and effects) can also be specified.

24
Example a composite process
  • ltdamlClass rdfIDExpandedCongoBuygt
  • ltrdfssubClassOf rdfresoucehttp//www.daml.or
    g/services/daml-s/2001/10/Process.damlCompositePr
    ocess /gt
  • ltrdfssubClassOfgt
  • ltdamlRestrictiongt
  • ltdamlonProperty rdfresourcehttp//www.daml.
    org/services/daml-s/2001/10/Process.damlcomposedO
    f /gt
  • ltdamltoClassgt
  • ltdamlClassgt
  • ltdamlintersectionOf rdfparseTypedamlcolle
    ctiongt
  • ltdamlClass rdfaboutprocessSequence/gt
  • ltdamlRestrictiongt
  • ltdamlonProperty rdfresource
    processcomponents/gt
  • ltdamltoClassgt
  • ltdamllistOfInstanceOf
    rdfparseTypedamlcollectiongt
  • ltdamlClass rdfaboutLocateBook/gt
  • ltdamlClass rdfaboutCongoBuyBook/gt
  • lt/damllistOfInstanceOf
    rdfparseTypedamlcollectiongt
  • lt/damlClassgt
  • lt/damltoClassgt
  • lt/damlRestrictiongt

25
Example a simple process
  • ltdamlClass rdfID CongoBuygt
  • ltrdfssubClassOf rdfresouceprocessSimpleP
    rocess /gt
  • lt/damlClassgt
  • ltdamlClass rdfaboutCongoBuygt
  • ltrdfssubClassOfgt
  • ltdamlRestrictiongt
  • ltdamlonProperty rdfresourceprocess
    expand/gt
  • ltdamltoClass rdfresource
    ExpandedCongoBuy/gt
  • lt/damlRestrictiongt
  • lt/rdfssubClassOfgt
  • lt/damlClassgt

26
Conclusions
  • DAML-S is an upper ontology for describing
    Web-Services, written in DAMLOIL.
  • By providing a rich declarative representation
    and an efficient reasoning support, DAML-S
    addresses the objective of making Web Services
    computer-interpretable and, hence, enables their
    automatic discovery, invocation, verification,
    composition and interoperation as well as
    execution monitoring.
Write a Comment
User Comments (0)
About PowerShow.com