Title: DAMLS: Semantic Markup for Web Services
1DAML-S Semantic Markup for Web Services
2Content
- Introduction
- An Upper Service Ontology overivew- Service
Profile- Service Model- Sevice Grounding - Reasoning support
- Example
- Conclusions
3What 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.
4Why 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
5An 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.
6An 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
7An Upper Ontology for Services
What it does
ServiceProfile
Resource
provides
presents
Service
supports
describedby
ServiceGrounding
ServiceModel
How it works
How to access it
8Service 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.).
9Service 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.
10Service Profile
11Service 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
12Process 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.
13The 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)
14Types 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).
15Control Constructs of Processes
16Service 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.).
17Reasoning 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.
18Example
- 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
19Example 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
-
20Example 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
21Example 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
22Example 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.
23Example 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.
24Example 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
25Example 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
26Conclusions
- 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.