Title: Towards an Ontology of Services for DAML
1Towards an Ontology of Services for DAML
SRI DAML Team December 15, 2000
2Resource
Service
provides
supports
employs
implements
Signature
Protocol
Relation
Procedure
Atomic Procedure
Function
Composite Procedure
3Signatures Protocols
- Signature includes
- Schema (Names types of inputs / outputs)
- Binding patterns (acceptable bindings of inputs)
- Protocol includes
- Message protocol
- Formatting wrapping of inputs / outputs
- Interaction protocol
- Interaction patterns (a process spec)
- Together, they define an API for the Service
- Everything needed for an agent to access it
4Service
supports
employs
implements
Signature
Protocol
Relation
satisfies
RelationalConstraint
Function
FunctionalDependency
5Relational Services
- Many Web information sources implement relations
or functions (catalogs, tables, stock quotes,
HTML forms, MapQuest, Travelocity, .) - Relations/functions defined in the pure
logical/mathematical/database sense are useful
ways to characterize these information sources - Functional dependencies (and other integrity
constraints) - Subclasses of RelationalService for SQL DB,
Semi-structured DB, Forms Tables, etc.
6Procedures
- Many services produce state changes
- Services may change world state (Travelocity)
- Agents need state information during execution
- Agents need to know possible actions from a given
state - Interaction model specifies procedural service
- Atomic procedures
- Composite procedures are composed by
instantiating process templates of various types
7Interaction Model
- Describes the meaningful patterns of messages
that make up a Net transaction - Specifies roles for 2 or more agents (buyer,
seller) - Is part of a Services Protocol spec
- Specified with a process-modeling language
- Agreed upon by all participants
- But each has its own copy of the model
- Represents the intersection of the process models
of the participants
8An XML based Process Markup
lt?xml version "1.0"gt lt!DOCTYPE process SYSTEM
"process.dtd"gt ltprocess name "plan-trip"
created_by "srini" date "08082000 ltsequencegt ltta
sk name get-itinerary doc-create
itin.html address "http//www.travelocity.com
/reservation/"gt lt/task lttask name
"select_itinerary" doc_create "sorted.htmlgt
lttask name get_user_approval
ltwhile_dogt condition "status(user_select) !
"done" lttask name
"get_user_approval" display "sorted.html"gt
ltcondition condition
"status(user_select) "cancel"
lttask name "cancel-res" lt/terminategt
ltcondition condition status(user_select)
done lt/taskgt lttask name
make reservation lt/taskgt
lt/sequencegt lt/processgt A health care example
9The Travel Plan Demo