20
DAML-S: Semantic Markup For Web Services The DAML Services Coalition: Anupriya Ankolekar , Mark Burstein , Jerry R. Hobbs , Ora Lassila , David L. Martin , Sheila A. McIlraith , Srini Narayanan , Massimo Paolucci , Terry Payne , Katia Sycara , Honglei Zeng Abstract The Semantic Web should enable greater access not only to content but also to services on the Web. Users and software agents should be able to discover, invoke, compose, and monitor Web resources offering particular services and having particular properties. As part of the DARPA Agent Markup Language program, we have begun to develop an ontology of services, called DAML-S, that will make these functionalities possible. In this paper we describe the overall structure of the ontology, the service profile for advertising services, and the process model for the detailed description of the operation of services. We also compare DAML-S with several industry efforts to define standards for characterizing services on the Web. 1 Introduction: Services on the Semantic Web Efforts toward the creation of the Semantic Web are gaining momentum [2]. Soon it will be possible to access web resources by content rather than just by keywords. A significant force in this movement is the development of DAML—the DARPAAgent Markup Language [10]. DAML enables the creation of ontologies for any domain and the instantiation of these ontologies in the description of specific web sites. Among the most important web resources are those that provide services. By “service” we mean Web sites that do not merely provide static information but allow one to effect some action or change in the world, such as the sale of a product or the control of a physical device. The Semantic Web should enable users to locate, select, employ, compose, and monitor Web-based services automatically. To make use of a Web service, a software agent needs a computer-interpretable description of the service, and the means by which it is accessed. An important goal for DAML, then, is to establish a framework within which these descriptions are made and shared. Web sites should be able to employ a set of basic classes and properties for declaring and describing services, and the ontology structuring mechanisms of DAML provide the appropriate framework within which to do this. This paper describes a collaborative effort by BBN Technologies, Carnegie Mellon University, Nokia, Stanford University, and SRI International to define just such an ontology. We call this language DAML-S. We first motivate our effort with some sample tasks. In the central part of the paper we describe the upper ontology for services that we have developed, including the ontologies for profiles, processes, and time, and thoughts toward a future ontology of process control. We then compare DAML-S with a number of recent efforts in industry to standardize a markup language for services. 1 The Robotics Institute, Carnegie Mellon University, Pittsburgh, PA 2 BBN Technologies, Cambridge, Massachusetts 3 Artificial Intelligence Center, SRI International, Menlo Park, California 4 Nokia Research Center, Burlington, Massachusetts 5 Knowledge Systems Laboratory, Stanford, California 6 Authors’ names are in alphabetical order. 1

DAML-S:Semantic Markup For W eb Servicessoftagents/papers/daml-s.pdf · 2001-05-24 · provide declarative APIs for Web services that are necessary for automated Web service execution

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: DAML-S:Semantic Markup For W eb Servicessoftagents/papers/daml-s.pdf · 2001-05-24 · provide declarative APIs for Web services that are necessary for automated Web service execution

DAML-S: SemanticMarkup For Web Services

TheDAML ServicesCoalition:AnupriyaAnkolekar

�, Mark Burstein

�, JerryR. Hobbs

�, OraLassila

�,

David L. Martin�, SheilaA. McIlraith

�, Srini Narayanan

�, MassimoPaolucci

�,

Terry Payne�, Katia Sycara

�, HongleiZeng

��� �

Abstract

TheSemanticWebshouldenablegreateraccessnotonly to contentbut alsoto servicesontheWeb.Usersandsoftwareagentsshouldbe ableto discover, invoke, compose,andmonitor Web resourcesoffering particularservicesandhaving particularproperties.As part of the DARPA Agent MarkupLanguageprogram,we have begun to develop an ontology of services,called DAML-S, that willmake thesefunctionalitiespossible. In this paperwe describethe overall structureof the ontology,the serviceprofile for advertisingservices,andthe processmodelfor the detaileddescriptionof theoperationof services.We alsocompareDAML-S with several industryefforts to definestandardsforcharacterizingserviceson theWeb.

1 Intr oduction: Serviceson the SemanticWeb

Efforts toward thecreationof theSemanticWebaregainingmomentum[2]. Soonit will bepossibletoaccessweb resourcesby contentratherthanjust by keywords. A significantforce in this movementisthedevelopmentof DAML—the DARPA AgentMarkupLanguage[10]. DAML enablesthecreationofontologiesfor any domainandtheinstantiationof theseontologiesin thedescriptionof specificwebsites.

Amongthemostimportantwebresourcesarethosethatprovide services.By “service”wemeanWebsitesthat do not merelyprovide static informationbut allow oneto effect someactionor changein theworld, suchasthesaleof a productor thecontrolof a physicaldevice. TheSemanticWebshouldenableusersto locate,select,employ, compose,andmonitorWeb-basedservicesautomatically.

To make useof a Web service,a software agentneedsa computer-interpretable descriptionof theservice,and the meansby which it is accessed.An importantgoal for DAML, then, is to establishaframework within which thesedescriptionsaremadeandshared. Web sitesshouldbe able to employa setof basicclassesandpropertiesfor declaringanddescribingservices,andthe ontologystructuringmechanismsof DAML provide theappropriateframework within which to do this.

Thispaperdescribesacollaborative effort by BBN Technologies,Carnegie Mellon University, Nokia,StanfordUniversity, andSRIInternationalto definejustsuchanontology. Wecall thislanguageDAML-S.Wefirst motivateoureffort with somesampletasks.In thecentralpartof thepaperwe describetheupperontologyfor servicesthatwe have developed,including theontologiesfor profiles,processes,andtime,andthoughtstowarda futureontologyof processcontrol. We thencompareDAML-S with a numberofrecentefforts in industryto standardizeamarkuplanguagefor services.

1TheRoboticsInstitute,CarnegieMellon University, Pittsburgh,PA2BBN Technologies,Cambridge,Massachusetts3Artificial IntelligenceCenter, SRI International,Menlo Park,California4Nokia ResearchCenter, Burlington,Massachusetts5KnowledgeSystemsLaboratory, Stanford,California6Authors’ namesarein alphabeticalorder.

1

Page 2: DAML-S:Semantic Markup For W eb Servicessoftagents/papers/daml-s.pdf · 2001-05-24 · provide declarative APIs for Web services that are necessary for automated Web service execution

2�

SomeMoti vating Tasks

Servicescanbe primitive in thesensethat they invoke only a singleWeb-accessiblecomputerprogram,sensor, or device thatdoesnot rely uponanotherWebservice,andthereis noongoinginteractionbetweentheuserandtheservice,beyondasimpleresponse.For example,aservicethatreturnsapostalcodeor thelongitudeandlatitudewhengivenanaddresswouldbein thiscategory. Or servicescanbecomplex, com-posedof multiple primitive services,oftenrequiringan interactionor conversationbetweentheuserandtheservices,so that theusercanmake choicesandprovide informationconditionally. One’s interactionwith www.amazon.comto buy a bookis like this; theusersearchesfor booksby variouscriteria,perhapsreadsreviews, mayor maynot decideto buy, andgivescreditcardandmailing information.DAML-S ismeantto supportbothcategoriesof services,but of course,complex serviceshave provided theprimarymotivationsfor thefeaturesof thelanguage[13, 14]. Thefollowing four sampletaskswill give thereaderanideaof thekindsof tasksweexpectDAML-S to enable.

1. Automatic Web service discovery. AutomaticWebservicediscovery involvestheautomaticloca-tion of Webservicesthatprovide a particularserviceandthatadhereto requestedconstraints.Forexample,theusermaywant to find a servicethatsellsairline ticketsbetweentwo givencitiesandacceptsa particularcreditcard.Currently, this taskmustbeperformedby a humanwho might useasearchengineto find aservice,readtheWebpage,andexecutetheservicemanually, to determineif it satisfiestheconstraints.With DAML-S markupof services,theinformationnecessaryfor Webservicediscovery couldbespecifiedascomputer-interpretable semanticmarkupat theserviceWebsites,andaserviceregistryor ontology-enhanced searchenginecouldbeusedto locatetheservicesautomatically. Alternatively, a server couldproactively advertiseitself in DAML-S with a serviceregistry, alsocalledmiddleagent[4, 23, 12], sothatrequesterscanfind it whenthey querythereg-istry. Thus,DAML-S mustprovidedeclarative advertisementsof servicepropertiesandcapabilitiesthatcanbeusedfor automaticservicediscovery.

2. Automatic Web service invocation. Automatic Web serviceinvocation involves the automaticexecutionof anidentifiedWebserviceby acomputerprogramor agent.For example,theusercouldrequestthepurchaseof anairline ticket from aparticularsiteonaparticularflight. Currently, ausermustgo to the Web site offering that service,fill out a form, andclick on a button to executetheservice.AlternatelytheusermightsendanHTTPrequestdirectlyto theservicewith theappropriateparametersin HTML. In eithercase,a humanin theloop is necessary. Executionof a Webservicecanbe thoughtof asa collectionof function calls. DAML-S markupof Web servicesprovidesadeclarative, computer-interpretable API for executingthesefunctioncalls.A softwareagentshouldbe able to interpret the markupto understandwhat input is necessaryto the servicecall, whatinformationwill bereturned,andhow to executetheserviceautomatically. Thus,DAML-S shouldprovide declarative APIs for Webservicesthatarenecessaryfor automatedWebserviceexecution.

3. Automatic Web service composition and interoperation. This task involves the automaticse-lection,compositionandinteroperationof appropriateWebservicesto performsometask,givenahigh-level descriptionof theobjective of thetask. For example,theusermaywant to make all thenecessarytravel arrangementsfor a trip to a conference.Currently, the usermustselectthe Webservices,specifythecompositionmanually, andmake surethatany softwareneededfor the inter-operationis custom-created.With DAML-S markupof Webservices,theinformationnecessarytoselectandcomposeserviceswill beencodedattheserviceWebsites.Softwarecanbewrittento ma-nipulatetheserepresentations,togetherwith a specificationof theobjectivesof thetask,to achievethetaskautomatically. Thus,DAML-S mustprovide declarative specificationsof theprerequisites

2

Page 3: DAML-S:Semantic Markup For W eb Servicessoftagents/papers/daml-s.pdf · 2001-05-24 · provide declarative APIs for Web services that are necessary for automated Web service execution

andconsequencesof individualserviceusethatarenecessaryfor automaticservicecompositionandinteroperation.

4. Automatic Web service executionmonitoring. Individual servicesand,evenmore,compositionsof services,will oftenrequiresometimeto executecompletely. Usersmaywantto know duringthisperiodwhatthestatusof theirrequestis, or theirplansmayhavechangedrequiringalterationsin theactionsthesoftwareagenttakes.For example,usersmaywantto make suretheir hotelreservationhasalreadybeenmade.For thesepurposes,it would begoodto have theability to find out wherein theprocesstherequestis andwhetherany unanticipatedglitcheshave appeared.Thus,DAML-Sshouldprovide descriptorsfor theexecutionof services.Thispartof DAML-S is agoalof ours,butit hasnot yet beendefined.

Any Web-accessibleprogram/sensor/device thatis declaredasa servicewill beregardedasaservice.DAML-S doesnotprecludedeclaringsimple,staticwebpagesto beservices.But ourprimarymotivationin definingDAML-S hasbeento supportmorecomplex taskslike thosedescribedabove.

3 An Upper Ontology for Services

TheclassServicestandsatthetopof ataxonomyof services,andits propertiesarethepropertiesnormallyassociatedwith all kinds of services.The upperontologyfor servicesis silent asto what the particularsubclassesof Serviceshouldbe, or even the conceptualbasisfor structuringthis taxonomy, but it isexpectedthatthetaxonomywill bestructuredaccordingto functionalanddomaindifferencesandmarketneeds. For example,one might imaginea broadsubclass,B2C-transaction, which would encompassservicesfor purchasingitemsfrom retailwebsites,trackingpurchasestatus,establishingandmaintainingaccountswith thesites,andsoon.

Ourstructuringof theontologyof servicesis motivatedby theneedto provide threeessentialtypesofknowledgeaboutaservice(shown in figure1), eachcharacterizedby thequestionit answers:

Whatdoestheservicerequire of theuser(s),or otheragents,andprovidefor them?Theanswertothisquestionis givenin the“profile”7. Thus,theclassServicepresentsaServiceProfile

How doesit work? Theanswerto this questionis given in the“model”. Thus,theclassServiceisdescribedByaServiceModel

How is it used?The answerto this questionis given in the “grounding”. Thus,the classServicesupportsaServiceGrounding

Thepropertiespresents, describedBy, andsupportsarepropertiesof Service. TheclassesServicePro-file, ServiceModel, andServiceGroundingarethe respective rangesof thoseproperties.We expectthateachdescendantclassof Service, suchasB2C-transaction, will presenta descendantclassof Service-Profile, be describedBya descendantclassof ServiceModel, andsupporta descendantclassof Service-Grounding. Thedetailsof profiles,models,andgroundingsmayvary widely from onetypeof servicetoanother—thatis, from onedescendantclassof Serviceto another. But eachof thesethreeclassesprovidesanessentialtypeof informationabouttheservice,ascharacterizedin therestof thepaper.

Theserviceprofile tells “what theservicedoes”;that is, it givesthetypeof informationneededby aservice-seekingagentto determinewhethertheservicemeetsits needs(typically suchthingsasinputandoutputtypes,preconditionsandpostconditions,andbindingpatterns).Ultimately, wewill wantto beable

7A serviceprofile hasalsobeencalledservicecapabilityadvertisement[19]

3

Page 4: DAML-S:Semantic Markup For W eb Servicessoftagents/papers/daml-s.pdf · 2001-05-24 · provide declarative APIs for Web services that are necessary for automated Web service execution

� � � � �� � �

� � � � � � � � � � � �� � � � � � � � � � � � � !

� � � � � � � " � � # � � �$ % & ' ( ) * %

+ , - . / 0 ,

Figure1: Top level of theserviceontology

to uselogical rulesin sucha specificationfor expressinginteractionsamongparameters.For instance,arule might saythat if a particularinput argumentis boundin a certainway, certainotherinput argumentsmay not be needed,or may be provided by the serviceitself. Indeed,asDAML andDAML-S evolve,logical rules,andinferentialapproachesenabledby them,arelikely to playanincreasinglyimportantrolein modelsandgroundings,aswell asin profiles.See[5] for additionalexamples.

Theservicemodeltells “how theserviceworks”; thatis, it describeswhathappenswhentheserviceiscarriedout. For non-trivial services(thosecomposedof severalstepsover time), this descriptionmaybeusedby a service-seekingagentin at leastfour differentways:(1) to performa morein-depthanalysisofwhethertheservicemeetsits needs;(2) to composeservicedescriptionsfrom multipleservicesto performa specifictask;(3) duringthecourseof theserviceenactment,to coordinatetheactivities of thedifferentparticipants;(4) to monitortheexecutionof theservice.For non-trivial services,thefirst two tasksrequireamodelof actionandprocess,thelasttwo involve, in addition,anexecutionmodel.

A servicegrounding(“grounding” for short)specifiesthedetailsof how anagentcanaccessaservice.Typically a groundingwill specifya communicationsprotocol(e.g.,RPC,HTTP-FORM,CORBA IDL,SOAP, Java RMI, OAA ACL [12]), andservice-specificdetailssuchasport numbersusedin contactingtheservice.In addition,thegroundingmustspecify, for eachabstracttypespecifiedin theServiceModel,an unambiguousway of exchangingdataelementsof that type with the service(that is, the marshal-ing/serializationtechniquesemployed). The likelihood is that a relatively small setof groundingswillcometo be widely usedin conjunctionwith DAML services. Groundingswill be specifiedat variouswell-known URIs.

Generallyspeaking,the ServiceProfileprovides the information neededfor an agentto discover aservice.Takentogether, theServiceModelandServiceGroundingobjectsassociatedwith aserviceprovideenoughinformationfor anagentto makeuseof aservice.

The upperontology for servicesdeliberatelydoesnot specify any cardinalitiesfor the propertiespresents, describedBy, andsupports. Although, in principle, a serviceneedsall threepropertiesto befully characterized,it is possibleto imaginesituationsin which a partial characterizationcould be use-ful. Hence,thereis no specificationof a minimum cardinality. Further, it shouldcertainlybe possiblefor a serviceto offer multiple profiles,multiple models,and/ormultiple groundings.Hence,thereis no

4

Page 5: DAML-S:Semantic Markup For W eb Servicessoftagents/papers/daml-s.pdf · 2001-05-24 · provide declarative APIs for Web services that are necessary for automated Web service execution

specificationof amaximumcardinality.In general,thereneednotexist aone-to-onecorrespondencebetweenprofiles,models,and/orground-

ings.Theonly constraintamongthesethreecharacterizationsthatmightappropriatelybeexpressedat theupperlevel ontologyis thatfor eachmodel,theremustbeat leastonesupportinggrounding.

In the following two sectionswe discussthe serviceprofile andthe servicemodel in greaterdetail(Servicegroundingsarenot discussedfurther, but will becoveredin greaterdepthin a subsequentpubli-cation.)

4 Service Profiles

A serviceprofile provides a high-level descriptionof a serviceand its provider [20, 19]; it is usedtorequestor advertiseserviceswith discovery/locationregistries. Serviceprofilesconsistof threetypesofinformation: a humanreadabledescriptionof the service;a specificationof the functionalitiesthat areprovided by the service;and a host of functional attributeswhich provide additional information andrequirementsabouttheservicethatassistwhenreasoningaboutseveralserviceswith similar capabilities.Servicefunctionalitiesarerepresentedasa transformationfrom the inputsrequiredby theserviceto theoutputsproduced.For example,a news reportingservicewould advertiseitself asa servicethat,givenadate,will returnthenews reportedon thatdate.Functionalattributesspecifyadditionalinformationabouttheservice,suchaswhatguaranteesof responsetimeor accuracy it provides,or thecostof theservice.

While serviceprovidersusethe serviceprofile to advertisetheir services,servicerequestersusetheprofile to specify what servicesthey needand what they expect from sucha service. For instance,arequestermaylook for a news servicethat reportsstockquoteswith no delaywith respectto themarket.The role of the registriesis to matchthe requestagainstthe profiles advertisedby other servicesandidentify whichservicesprovide thebestmatch.

Implicitly, theserviceprofilesspecifythe intendedpurposeof theservice,becausethey specifyonlythosefunctionalitiesthat arepublicly provided. A book-sellingservicemay involve two different func-tionalities: it allows otherservicesto browseits site to find booksof interest,andit allows themto buythebooksthey found. Thebook-sellerhasthechoiceof advertisingjust thebook-buying serviceor boththebrowsingfunctionalityandthebuying functionality. In thelattercasetheservicemakespublic that itcanprovide browsingservices,andit allows everybodyto browseits registry without buying a book. Incontrast,by advertisingonly the book-sellingfunctionality, but not the browsing, the agentdiscouragesbrowsing by requestersthat do not intendto buy. The decisionasto which functionalitiesto advertisedetermineshow theservicewill beused:a requesterthat intendsto browsebut not to buy would selectaservicethatadvertisesbothbuying andbrowsingcapabilities,but notonethatadvertisesbuying only.

Theserviceprofilecontainsonly theinformationthatallows registriesto decidewhichadvertisementsarematchedby a request.To thisextent,theinformationin theprofile is a summaryof theinformationintheprocessmodelandservicegrounding.Where,asin theabove example,theservicedoesnot advertisesomeof its functionalities,they will not be part of the serviceprofile. But they are part of the servicemodelto theextent that they areneededfor achieving theadvertisedservices.For example,looking fora book is an essentialprerequisitefor buying it, so it would be specifiedin the processmodel,but notnecessarilyin theprofile. Similarly, informationaboutshippingmayappearwithin theprocessmodelbutnot theprofile.

4.1 Description

Informationabouttheservice,suchasits provenance,a text summaryetc is providedwithin theprofile.Thisis primarily for useby humanusers,althoughthesepropertiesareconsideredwhenlocatingrequestedservices.

5

Page 6: DAML-S:Semantic Markup For W eb Servicessoftagents/papers/daml-s.pdf · 2001-05-24 · provide declarative APIs for Web services that are necessary for automated Web service execution

4.21

Functionality Description

An essentialcomponentof theprofile is thespecificationof whattheserviceprovidesandthespecificationof the conditionsthat have to be satisfiedfor a successfulresult. In addition,the profile specifieswhatconditionsresultfrom theserviceincludingtheexpectedandunexpectedresultsof theserviceactivity.

Theserviceis representedbyinput andoutput propertiesof theprofile. Theinputpropertyspeci-fiestheinformationthattheservicerequiresto proceedwith thecomputation.For example,abook-sellingservicecouldrequirethecredit-cardnumberandbibliographicalinformationof thebookto sell. Theout-putsspecifywhatis theresultof theoperationof theservice.For thebook-sellingagenttheoutputcouldbea receiptthatacknowledgesthesale.

<rdf:Property rdf:ID="input"><rdfs:comment>

Property describing the inputs of a service in the Service Profile</rdfs:comment><rdfs:domain rdf:resource="#ServiceProfile"/><rdfs:subPropertyOf rdf:resource="#parameter"/>

</rdf:Property>

While inputsandoutputsrepresenttheservice,they arenot theonly thingsaffectedby theoperationsof the service. For example,to completethe salethe book-sellingservicerequiresthat the credit cardis valid andnot overdrawn or expired. In addition,the resultof thesaleis not only that thebuyer ownsthebook(asspecifiedby theoutputs),but that thebookis physicallytransferredfrom thethewarehouseof thesellerto thehouseof thebuyer. Theseconditionsarespecifiedby precondition andeffectpropertiesof theprofile. Preconditionspresentoneor morelogicalconditionsthatshouldbesatisfiedpriorto theservicebeingrequested.Theseconditionsshouldhave associatedexplicit effectsthatmayoccurasa resultof theservicebeingperformed.Effectsareeventsthatarecausedby thesuccessfulexecutionof aservice.

<rdf:Property rdf:ID="preconditions"><rdfs:domain rdf:resource="#ServiceProfile"/><rdfs:range rdf:resource="#Thing"/>

</rdf:Property>

Theserviceprofile alsoprovidesa specifictypeof preconditionscalledaccessConditions thatareexpectedto betruefor theserviceto succeed,but they arenot modifiedby theactivity of theservice.Accessconditionsareusedwhentheaccessto theserviceis restrictedto only someusers:as,for example,servicesthat are restrictedto usersaffiliated to someorganization. For instance,to accessa classifiednews servicea userneedsto have somelevel of clearance,detailsabout it would be specifiedas anaccessCondition.

Finally, theProfileallows thespecificationof whatdomainResources areaffectedby theuseofthe service. Thesedomainresourcesmay include computationalresourcessuchas bandwidthor diskspaceaswell asmorematerialresourcesconsumedwhentheservicecontrolssomemachinery. This typeof resourcemayincludefuel, or materialsmodifiedby themachine.

4.3 Functional Attrib utes

In the previous sectionwe introducedthe functionaldescriptionof services,yet thereareotheraspectsof servicesthat the usersshouldbe awareof. Whilst a servicemay be accessedfrom anywhereon theInternet,it may only be applicableto a specificaudience.For instance,althoughit is possibleto orderfood for delivery from a Pittsburgh-basedrestaurantwebsitein general,onecannotreasonablyexpectto

6

Page 7: DAML-S:Semantic Markup For W eb Servicessoftagents/papers/daml-s.pdf · 2001-05-24 · provide declarative APIs for Web services that are necessary for automated Web service execution

do2

this from California. Functionalattributesaddresstheproblemthat thereareotherpropertiesthatcanbeusedto describeaserviceotherthana functionalprocess.Thesepropertiesaredescribedbelow.

geographicRadius Thegeographicradiusrefersto thegeographicscopeof theservice.This maybeattheglobalor nationalscale(e.g.for e-commerce)or ata local scale(eg pizzadelivery).

degreeOfQuality This propertyprovide qualificationsabout the service. For example, the followingtwo sub-propertiesareexamplesof differentdegreesof quality, andcouldbedefinedwithin someadditionalontology.

serviceParameter An expandablelist of propertiesthatmayaccompany aprofiledescription.

communicationThru This propertyprovidesa high-level summaryof how a servicemaycommunicate,suchaswhatagentcommunicationlanguage(ACL) isused(eg FIPA, KQML, SOAPetc).Thissum-marizesthedescriptionsprovided by theservicegroundingandareusedwhenmatchingservices;but is not intendedto replacethedetailprovidedby theservicegrounding.

serviceType Theservicetype refersto a high level classificationof theservice,for exampleB2B, B2Cetc.

serviceCategory Theservicecategory refersto anontologyof servicesthatmaybeon offer. High levelservicescould include Productsas well as ProblemSolving Capabilities,CommercialServices,Informationandsoon.

qualityGuarenteesTheseareguaranteesthat the servicepromisesto deliver, suchas guaranteeingtoprovide thelowestpossibleinterestrate,or a responsewithin 3 minutes,etc.

qualityRating The quality rating propertyrepresentsan expandablelist of rating propertiesthat mayaccompany a serviceprofile. Theseratingsrefer to industryacceptedratings,suchastheDun andBradstreetRatingfor businesses,or theStarratingfor Hotels.For example:

<!-- Dun and Bradstreet Rating --><rdf:Property rdf:ID="dAndBRating"><rdfs:subPropertyOf rdf:resource="#qualityRating" />

</rdf:Property>

As a resultof theserviceprofile, theuser, beit a human,a programor anotherservice,would beableto identify what theserviceprovides,whatconditionsresultfrom theserviceandwhethertheserviceisavailable,accessibleandhow it compareswith otherfunctionallyequivalentservices.

5 Modeling ServicesasProcesses

A moredetailedperspective on servicesis thata servicecanbeviewedasa process. We have definedaparticularsubclassof ServiceModel, the ProcessModel(asshown in figure 2), which draws uponwell-establishedwork in a variety of fields, suchas AI planningand workflow automation,and which webelieve will supporttherepresentationalneedsof avery broadarrayof serviceson theWeb.

Thetwo chiefcomponentsof aprocessmodelaretheprocess, whichdescribesaservicein termsof itscomponentactionsor processes,andenablesplanning,compositionandagent/serviceinteroperation;andtheprocesscontrol model, whichallowsagentsto monitortheexecutionof aservicerequest.Wewill refer

7

Page 8: DAML-S:Semantic Markup For W eb Servicessoftagents/papers/daml-s.pdf · 2001-05-24 · provide declarative APIs for Web services that are necessary for automated Web service execution

3 4 5 6 7 8 4 9 : ; 4 <

= 5 : 8 4 > > ? : @ A 5 : <

= 5 : 8 4 > > 9 : ; 4 <

B C D E C F G H I J K C L I F F

M I E I N H O P H G QR E Q G HR I S T I P L I

UU VVV W X YY

Z [ \ ] ^^^

_ ` `a b c d e f _ ` g ` e f

a h b h i c g c baj jc j j c d g

k l m n b e a c b g ` c k o j p a h b h i c g c b qm n b e a c b g ` c k o j p a h b hl mm n b e a c b g ` c k o j p a h bk ll mm n b e a c b g ` c k o j p a hr ` f a l gr e l g a l gr a h b g ` d ` a h f g

J K C L I F F

Figure2: Top level of processmodelingontology

to thefirst partastheProcessOntologyandthesecondastheProcessControlOntology. Only theformerhasbeendefinedin the currentversionof DAML-S, but below we briefly describeour intentionswithregardto the latter. We have defineda simpleontologyof time, describedbelow; in subsequentversionsthiswill beelaborated.Wealsoexpectin a futureversionto provide anontologyof resources.

5.1 The ProcessOntology

Weexpectourprocessontologyto serveasthebasisfor specifyingawidearrayof services.In developingthe ontology, we drew from a variety of sources,including work in AI on standardizationsof planninglanguages[8], work in programminglanguagesanddistributedsystems[16, 15], emerging standardsinbusinessprocessandworkflow technology(http://www.aiim.org/wfmc/mainframe.htm),work on model-ing verbsemanticsandeventstructure[17], work in AI on modelingcomplex actions[11], andwork inagentcommunicationlanguages[12, 9].

The primary kind of entity in the ProcessOntologyis, unsurprisingly, a “process”.8 A processcanhave any numberof inputs,representingthe informationthat is, undersomeconditions,requiredfor theexecutionof the process.It canhave any numberof outputs,the informationthat the processprovides,conditionally, after its execution. Participantsandotherparametersmay be specified;for example,theparticipantsmayincludetherolesin theeventframe,suchastheagents,patient,andinstrument,whereasotherparameters,especiallyfor physicaldevices,might be rates,forces,andknob-settings.Therecanbeany numberof preconditions,which mustall hold in orderfor theprocessto be invoked. Finally, theprocesscanhave any numberof effects.

A processcanoftenbeviewedeitherasa primitive, undecomposableprocessor asa compositepro-8This term waschosenover the terms“event” and“action”, in part becauseit is moresuggestive of internalstructurethan

“event” andbecauseit doesnot necessarilypresumean agentexecutingthe processand thus is more generalthan “action”.Ultimately, however, thechoiceis arbitrary. It is modeledaftercomputationalproceduresor planningoperators.

8

Page 9: DAML-S:Semantic Markup For W eb Servicessoftagents/papers/daml-s.pdf · 2001-05-24 · provide declarative APIs for Web services that are necessary for automated Web service execution

cess,decomposableinto a complex of otherprimitive or compositeprocesses.Either perspective maybe the more useful in somegiven context. Thus, a top-level PROCESS classhas,as its sole subclass,COMPOSITEPROCESS, which in turn is subclassedby avarietyof controlstructures.

More precisely, in DAML-S:

Process

<rdfs:Class rdf:ID="Process"><rdfs:comment> Top-level class for describing how a service works</rdfs:comment>

</rdfs:Class>

ClassPROCESS hasrelatedpropertiesparameter, input, output, participant, precondition, and(con-ditional) effect. Eachof thesepropertiesrangesover a DAML object,which,at theupperontologylevel, is notrestrictedatall. Thepropertiesinput, output, andparticipantarecategorizedassubprop-ertiesof parameter. Subclassesof Processfor specificdomainscanuseDAML languageelementsto indicatemorespecificrangerestrictions,aswell ascardinalityrestrictionsfor eachof theseprop-erties.

Thefollowing is anexampleof apropertydefinition:

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

In additionto its action-relatedproperties,a Processhasa numberof bookkeepingpropertiessuchasname(rdf:literal), address(URI), documentsread(URI), documentsupdated(URI), andsoon.

CompositeProcess

<rdfs:Class rdf:ID="CompositeProcess"><rdfs:subClassOf rdf:resource="#Process"/>

</rdfs:Class>

<rdf:Property rdf:ID="components"><rdfs:comment>Holds the specific arrangement of subprocesses.

</rdfs:comment><rdfs:domain rdf:resource="#CompositeProcess"/>

</rdf:Property>

Compositeprocessesareprocessesthathaveadditionalpropertiescalledcomponentsto indicatetheorderingandconditionalexecutionof thesubprocessesfrom whichthey arecomposed.For instance,thecompositeprocess,SEQUENCE, hasacomponentspropertythatrangesovera PROCESSL IST (alist whoseitemsarerestrictedto besimpleorcompositeprocesses).In theprocess“upperontology”,we have attemptedto comeup with a minimal set of processclassesthat can be specializedtodescribea variety of Web services. This minimal set consistsof Sequence,Split, Split + Join,Choice,Unordered,Condition,If-Then-Else,Iterate,Repeat-While,andRepeat-Until.

9

Page 10: DAML-S:Semantic Markup For W eb Servicessoftagents/papers/daml-s.pdf · 2001-05-24 · provide declarative APIs for Web services that are necessary for automated Web service execution

Note thatwhile a compositeprocessis a process,andthushasslotsfor preconditionsandeffects,theremay be no easyway to computethesevaluesfor an arbitrarycompositeprocess,given itscomponentsub-processes.

Thereare two fundamentalrelationsbetweenprocessesand compositeprocesses.The EXPAND

relation associatesa Processwith the CompositeProcessdescribingits componentsubprocesses,while its inverse,the COLLAPSE relationrepresentstheassociationof theCompositeProcesstoits atomicProcessform. Expandingis intendedto providea“glassbox”andcollapsinga“blackbox”view of theprocess.Theexpandedversionis likely to beusedfor servicecomposition(bothoff-lineandruntime)andthecollapsedversionfor serviceexecution.

Theminimal setof compositiontemplates(subclassesof CompositeProcess) is asfollows:

Sequence: A list of Processesto be donein order. We usea DAML restrictionto restrict thecomponentsof aSequenceprocessto beaList of subprocesses(simpleand/orcomposite).

<rdfs:Class rdf:ID="Sequence"><rdfs:subClassOf rdf:resource="#CompositeProcess"/><rdfs:subClassOf><daml:Restriction><daml:onProperty rdf:resource="#components"/><daml:toClass rdf:resource="#ProcessList"/>

</daml:Restriction></rdfs:subClassOf>

</rdfs:Class>

Split : Thecomponentsof a Split processarea bagof sub-processesto beexecutedconcurrently.No furtherspecificationaboutwaiting or synchronizationis madeat this level.

<rdfs:Class rdf:ID="Split"><rdfs:subClassOf rdf:resource="#CompositeProcess"/><rdfs:subClassOf><daml:Restriction><daml:onProperty rdf:resource="#components"/><daml:toClass rdf:resource="#ProcessBag"/>

</daml:Restriction></rdfs:subClassOf>

</rdfs:Class>

Split is similar to otherontologies’useof Fork, Concurrent,or Parallel. We usetheDAMLsameClassAsfeatureto accommodatethedifferentstandardsfor specifyingthis.

Unordered : Herea bagof processescanbe executedin any order. No further constraintsarespecified.All processesmustbeexecuted.

Split+Join : Heretheprocessconsistsof concurrentexecutionof a bunchof sub-processes.withbarriersynchronization.With Split andSplit andJoin,wecandefineprocessesthathavepartialsynchronization(e.g.,split all andjoin somesub-bag).

Choice : Choiceis a compositeprocesswith additionalproperties“chosen”and“chooseFrom”.Thesepropertiescanbeusedbothfor processandexecutioncontrol(e.g.,choosefrom“choose-From” anddo “chosen”in sequence,or choosefrom “chooseFrom”anddo“chosen”in paral-

10

Page 11: DAML-S:Semantic Markup For W eb Servicessoftagents/papers/daml-s.pdf · 2001-05-24 · provide declarative APIs for Web services that are necessary for automated Web service execution

lel) aswell for constructingnew subclasseslike “chooseat leastn from m”, “chooseexactlynfrom m”, “chooseatmostn from m”9, andsoon.

Condition : Conditionsarecompositeprocesseswith anoutputproperty(conditionValue)whoserangeis a binaryvalue. Conditionsusuallycorrespondto testactions,but they maybeworldstates,resourcelevels,timeoutsor otherthingsaffectingtheevolution of processes.

If-Then-Else : The If-Then-ElseClassis a compositeprocessthathaspropertiescondition,thenand elseholding different aspectsof the If-Then-Elsecompositeprocess. Its semanticsisintendedas“TestIf-condition; if Truedo Then, if Falsedo 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="#CompositeProcess"/>

</rdf:Property>

<rdf:Property rdf:ID="else"><rdfs:domain rdf:resource="#If-Then-Else"/><rdfs:range rdf:resource="#CompositeProcess"/>

</rdf:Property>

Iterate : Iterateis a compositeprocesswhosenext processpropertyhasthe samevalue as thecurrentprocess.Repeatis definedasa synonym of the iterateclass. The repeat/iteratepro-cessmakesno assumptionabouthow many iterationsaremadeor whento initiate, terminateor resume. The initiation, terminationor maintainanceconditioncould be specifiedwith awhileConditionor anuntilConditionasbelow.10

Repeat-Until : TheRepeat-Untilclassis similar to theRepeat-Whileclassin thatspecializestheIf-Then-Elseclasswherethe “ifCondition” is the sameas the untilCondition and differentfrom theRepeat-Whileclassin that the “else” (comparedto “then”) propertyis the repeatedprocess.Thustheprocessrepeatstill theuntilConditionbecomestrue.

5.2 ProcessControl Ontology

A processinstantiationrepresentsa complex processthat is executing in the world. To monitor andcontrol the executionof a process,an agentneedsa modelto interpretprocessinstantiationswith threecharacteristics:

1. It shouldprovide themappingrulesfor thevariousinput stateproperties(inputs,preconditions)tothecorrespondingoutputstateproperties.

9This can be obtainedby restricting the size of the ProcessBag that correspondsto the “components”of the cho-sen and chooseFromsubprocessesusing cardinality, min-cardinality, max-cardinality to get choose(n,m)(sutwvxty z|{~}���{ v���v������ z���{~{ ������� {�}���y � s�� } t y z�{�}���{ v���v������ z���{ ����v ��y ).

10Anotherpossibleextensionis to ability to definecountersandusetheir valuesasterminationconditions.This couldbepartof anextendedprocesscontrolandexecutionmonitoringontology.

11

Page 12: DAML-S:Semantic Markup For W eb Servicessoftagents/papers/daml-s.pdf · 2001-05-24 · provide declarative APIs for Web services that are necessary for automated Web service execution

2. It shouldprovide a modelof the temporalor statedependenciesdescribedby the sequence,split,split+join, etcconstructs.

3. It shouldprovide representationsfor messagesaboutthe executionstateof atomicandcompositeprocessessufficient to do executionmonitoring.This allows anagentto keeptrackof thestatusofexecutions,includingsuccessful,failedandinterruptedprocesses,andto respondto eachappropri-ately.

Wehavenotdefinedaprocesscontrolontologyin thecurrentversionof DAML-S, but weplanto in afutureversion.

5.3 Time

For theinitial versionof DAML-S we have defineda very simpleupperontologyfor time. Therearetwoclassesof entities—instantsandintervals. Eachis asubclassof temporal-entity.

Thereare threerelationsthat may obtain betweenan instantand an interval, definedas DAML-Sproperties:

1. TheStart-ofpropertywhosedomainis theInterval classandwhoserangeis anInstant.

2. TheEnd-ofpropertywhosedomainis theInterval classandwhoserangeis anInstant.

3. TheInsidepropertywhosedomainis theInterval classandwhoserangeis anInstant.

No assumptionis madethatintervalsconsistof instants.Therearetwo possiblerelationsthatmayobtainbetweena processandoneof the temporalobjects.

A processmay be in an at-time relation to an instantor in a during relation to an interval. Whethera particularprocessis viewed asinstantaneousor asoccuringover an interval is a granularitydecisionthat may vary accordingto the context of use. Theserelationsaredefinedin DAML-S aspropertiesofprocesses.

1. TheAt-time property:its domainis theProcessclassandits rangeis anInstant.

2. TheDuring property:its domainis theProcessclassandits rangeis anInterval.

Viewedasintervals, processescould have propertiessuchasstartTime andendTime which aresyn-onymous(daml:samePropertyAs)with theStart-OfandEnd-Ofrelationthatobtainsbetweenintervalsandinstants.

Onefurther relationcanhold betweentwo temporalentities—thebefore relation. The intendedse-manticsis that for an instantor interval to be beforeanotherinstantor interval, therecanbe no overlapor abutmentbetweenthe former and the latter. In DAML-S the Beforepropertywhosedomainis theTemporal-entityclassandwhoserangeis aTemporal-entity.

Differentcommunitieshavedifferentwaysof representingthetimesanddurationsof statesandevents(processes).For example,statesandeventscanboth have durations,andat leasteventscanbe instan-taneous;or eventscanonly be instantaneousandonly statescanhave durations.Eventsthat onemightconsiderashaving duration(e.g.,heatingwater)aremodeledasa stateof thesystemthat is initiatedandterminatedby instantaneousevents. That is, thereis the instantaneousevent of the startof the heatingat thestartof an interval, that transitionsthesysteminto a statein which thewateris heating.Thestatecontinuesuntil anotherinstantaneousevent occurs—thestoppingof the event at the endof the interval.Thesetwo perspectiveson eventsarestraightforwardly interdefinablein termsof the ontologywe haveprovided.Thus,DAML-S supportsboth.

12

Page 13: DAML-S:Semantic Markup For W eb Servicessoftagents/papers/daml-s.pdf · 2001-05-24 · provide declarative APIs for Web services that are necessary for automated Web service execution

Thevariousrelationsbetweenintervalsdefinedin Allen’s temporalinterval calculus[1] canbedefinedin a straightforwardfashionin termsof before andidentity. Thus,in thenearfuture,whenDAML is aug-mentedwith thecapabilityof defininglogical rules,it will beeasyto incorporatetheinterval calculusintoDAML-S. In addition,in futureversionsof DAML-S we will defineprimitivesfor measuringdurationsandfor specifyingclock andcalendartime.

6 Example Walk-Thr ough

To illustrate the conceptsdescribedin this paper, we have developedan exampleof a fictitious book-buying serviceoffered by the Web serviceprovider, CongoInc. Congohasa suite of programsthatthey aremakingaccessibleon the Web. Congowishesto composetheseindividual programsinto Webservicesthat it offers to its users.We focushereon theWebserviceof buying a book,CongoBuy. In theDAML-S release,we presenta walk-throughthatstepsthroughtheprocessof creatingDAML-S markupfor Congo11.

We take theperspective of thetypical Webserviceprovider andconsiderthreeautomationtasksthata Web serviceprovider might wish to enablewith DAML-S: 1) automaticWeb servicediscovery, 2)automaticWebserviceinvocation,and3) automaticWebservicecompositionandinteroperation.For thepurposesof thispaper, we limit ourdiscussionto thesecondandthird tasks.

6.1 WebService Invocation

ToautomateWebServiceInvocation,DAML-S markupmusttell aprogramhow toautomaticallyconstructan(http)call to executeor invoke aWebservice,andwhatoutput(s)maybereturnedfrom theservice.Toenablesuchfunctionality, theprocessontologyin DAML-S providesmarkupto describeindividual andcompositeWeb-accessibleprogramsaseithersimpleor compositeprocesses.

6.1.1 Definethe Serviceasa Process

CongoInc. providestheCongoBuyWebserviceto its customers.Weview theCongoBuyWebserviceasaProcess,i.e., it is asubclassof theclassProcessin theprocessontology.

<rdfs:Class rdf:ID="CongoBuy"><rdfs:subClassOf rdf:resource=

"https://www.www.daml.org/services/daml-s/2001/05/Process#Process"/></rdfs:Class>

AlthoughtheCongoBuyserviceis actuallya predeterminedcompositionof severalof Congo’s Web-accessibleprograms,it is usefulto initially view it asa black-boxprocess.Theblack-boxprocess,Con-goBuyhasavarietyof invocation-relevant properties,includinginput,(conditional)outputandparameter.For example,input to theCongoBuybook-buying serviceincludesthenameof thebook(bookName),thecustomer’s creditcardnumber, andtheir accountnumberandpassword. If theservicebeingdescribedissimplein thatit is not thecompositionof otherservicesor programs,thentheserviceinputsaresimplythesetof inputsthatmustbeprovidedin theserviceinvocation.Theoutputsaretheoutputsreturnedfrom theserviceinvocation.Notethattheseoutputsmaybeconditional.For exampletheoutputof a book-buyingservicewill vary dependinguponwhetherthebookis in or outof stock.

In contrast,if the serviceis composedof other services,as is the casewith CongoBuy, then therationalefor specificationof the inputs,outputsandparametersis moredifficult, andtheutility of thesepropertiesis limited. In thesimplestcase,theinputsandoutputsof theblack-boxprocesscanbedefined

11TheCongoexamplecanbefoundathttps://www.www.daml.org/services/daml- s/2001/05/Congo.daml.

13

Page 14: DAML-S:Semantic Markup For W eb Servicessoftagents/papers/daml-s.pdf · 2001-05-24 · provide declarative APIs for Web services that are necessary for automated Web service execution

to be the compositionof all the possibleinputsandall the possible(conditional)outputsof the simpleservicesthat the black-boxprocessmay invoke, taking every possiblepaththroughthe compositionofsimpleservices.Notehowever thatthis is notavery exactingspecification.In particular, thecollectionofoutputsmaybecontradictory(e.g.,onepathof CongoBuymayleadto confirmationof a purchase,whileanothermayleadto confirmationof nopurchase).Theconditionsunderwhichinputsandoutputsariseareencodedexactly in theexpandof thisblack-boxprocess,andcanberetrievedfrom theexpandedprocess.Theinputs,outputsandparametersfor theblack-boxprocessaredesignedto beausefulshorthand.Thus,it couldbearguedthat the inputsandoutputsshoulddescribethemostlikely inputsandoutputsthroughthesystem.However, in somecases,eventhis is difficult to define.For now, DAML-S leavesthisdecisionup to theWebserviceprovider.

Thefollowing is anexampleof oneinput to CongoBuy. Notethat it is a subpropertyof thepropertyinput of Process,from theprocessmodel.

<rdf:Property rdf:ID="bookName"><rdfs:subPropertyOf rdf:resource="https://www.www.daml.org/services/daml-s/2001/05/Process#input"/><rdfs:domain rdf:resource="#CongoBuy"/><rdfs:range rdf:resource="#rdfs:Literal"/>

</rdf:Property>

An outputcansimilarly bedefinedasa subpropertyof thepropertyoutputof Process.In a realbook-buying service,this outputwould likely be conditionedon the book being in stock,or the customer’scredit cardbeingvalid, but to simplify our example,we assumeCongohasan infinite supplyof books,andinfinite generosity.

<rdf:Property rdf:ID="eReceiptOutput"><rdfs:subPropertyOf rdf:resource="https://www.daml.org/services/daml-s/2001/05/Process#output"/>

<rdfs:range rdf:resource="#EReceipt"/></rdf:Property>

In addition to input and output properties,eachservicehasparameterproperties. A parameterissomethingthat affectsthe outcomeof theprocess,but which is not an input provided by the invoker oftheprocess.It maybeknown by theservice,or retrievedby theservicefrom elsewhere.For example,thefactthatthecustomer’s creditcardis valid, is aparameterin ourCongoBuyprocess,andis relevantwhenconsideringtheuseof theCongoBuy, but it is notaninputor outputof CongoBuy.

<rdf:Property rdf:ID="creditCardValidity"><rdfs:subPropertyOf rdf:resource="https://www.daml.org/services/daml-s/2001/05/Process.daml#parameter"/>

<rdfs:range rdf:resource="#ValidityType"/></rdf:Property>

6.1.2 Definethe Processasa Composition of Processes

Given thevariability in thespecificationof inputs,outputsandparameters,it is generallyinsufficient tosimply specifya serviceasa black-boxprocess,if the objective is to automateserviceinvocation. Wemustexpandtheblack-boxserviceto describeits compositeprocesses.This is achievedby first definingtheindividual processesandthendefiningtheir compositionasacompositeprocess.

Definethe Indi vidual Processes

14

Page 15: DAML-S:Semantic Markup For W eb Servicessoftagents/papers/daml-s.pdf · 2001-05-24 · provide declarative APIs for Web services that are necessary for automated Web service execution

Wefirst defineeachof thesimpleservicesin CongoBuy, i.e.,LocateBook,PutInCart,etc.asasubclassof theblack-boxprocess,CongoBuy.

<rdfs:Class rdf:ID="LocateBook"><rdfs:subClassOf rdf:resource="#CongoBuy"/>

</rdfs:Class>

We mustalsoidentify therelevant input, outputandparametersto that individual process.Therearemany waysto do this. E.g.,

<rdf:Property rdf:ID="locateBookInput"><daml:samePropertyAs rdf:resource="#bookName"/>

</rdf:Property>

ThePutInCartprocessalternatelyillustratestheuseof anonymoussubclasswith restrictionto specifybookNameasinput.

<rdfs:Class rdf:ID="PutInCart"><rdfs:subClassOf rdf:resource="#CongoBuy"/><rdfs:subClassOf><daml:Restriction><daml:onProperty rdf:resource="https://www.daml.org/services/daml-s/2001/05/Process#input"/>

<daml:samePropertyAs rdf:resource="#bookName"/></daml:Restriction>

</rdfs:subClassOf></rdfs:Class>

Furtherexamplesof simpleprocessescanbefoundin theCongoInc. processspecification12.

Definethe Composition of the Indi vidual ProcessesThe compositionof eachof our simpleservicescanbe definedby usingthe compositionconstructs

createdin the processontology, i.e., Sequence,Split, Split + Join, Unordered,Condition,If-Then-Else,Repeat-While,Repeat-Until.We first createanexpandclassandthenconstructtheoverall expandclassrecursively in a top- down manner.

<expand><rdfs:Class> rdfs:about ="#CongoBuy"</rdfs:Class><rdfs:Class> rdfs:about ="#ExpandedCongoBuy"</rdfs:Class>

</expand>

Eachprocesshasa propertycalledcomponents(itself a bagof processes).Theprocessesin thebagmaybeothersimpleor compositeprocesses.As such,they recursively definethecompositionof simpleprocessesthatdefinestheblack-boxprocessCongoBuy.

TheexpandedCongoBuyprocess(ExpandedCongoBuy)is comprisedof asequenceof two processes,a simpleprocessthat locatesa book(LocateBook),anda complex processthatbuys thebook(CongoB-uyBook).Wedefinethemasfollows:

12https://www.daml.org/services/daml-s/2001/05/Congo.daml.

15

Page 16: DAML-S:Semantic Markup For W eb Servicessoftagents/papers/daml-s.pdf · 2001-05-24 · provide declarative APIs for Web services that are necessary for automated Web service execution

<rdfs:Class rdf:ID="ExpandedCongoBuy"><daml:subClassOf rdf:resource="https://www.daml.org/services/daml-s/2001/05/Process.daml#Sequence"/><daml:subClassOf><daml:Restriction><daml:onProperty rdf:resource="https://www.daml.org/services/daml-s/2001/05/Process.daml#components"/><daml:toClass><daml:subClassOf><daml:unionOf rdf:parseType="daml:collection">

<rdfs:Class rdfs:about="#LocateBook"/><rdfs:Class rdfs:about="#CongoBuyBook"/>

</daml:unionOf></daml:subClassOf>

</daml:toClass></daml:Restriction>

</daml:subClassOf></rdfs:Class>

In thefull Congo.damlexample,CongoBuyBookis a compositeprocessthat is furtherdecomposed,eventuallyterminatingin a compositionof simpleprocesses.With this markupwe completeour markupto enableautomatedserviceinvocation.

6.1.3 AutomatedService Compositionand Interoperation

TheDAML-S markuprequiredto automateservicecompositionandinteroperationbuilds directly on themarkupfor serviceinvocation.In orderto automateservicecompositionandinteroperation,wemustalsoencodethe effectsa servicehasuponthe world, andthe preconditionsfor performingthat service. Forexample,whenahumanbeinggoesto www.congo.comandsuccessfullyexecutestheCongoBuyservice,thehumanknows thatthey havepurchasedabook,thattheir creditcardwill bedebited,andthatthey willreceive a bookat theaddressthey provided. Suchconsequencesof Webserviceexecutionarenot partoftheinput/outputmarkupwe createdfor automatingserviceinvocation.

The processontologyprovidespreconditionandeffect propertiesof a processto encodethis infor-mation. As with our markupfor automatedserviceinvocation,we definepreconditionsandeffectsbothfor the black-boxprocessCongoBuyand for eachof the simpleprocessesthat defineits composition,andaswith defininginputsandoutputs,it is easiestto definethe preconditionsandeffects for eachofthesimpleprocessesfirst, andthento aggregatetheminto preconditionsandeffectsfor CongoBuy. Themarkupis analogousto themarkupfor input and(conditional)output,but is with respectto thepropertiespreconditionand(conditional)effect, instead.

7 RelatedEfforts

Industryeffortsto developstandardsfor electroniccommerce,andin particularfor thedescriptionof Web-basedservicescurrentlyrevolvearoundUDDI, WSDL, andebXML [22]. Therehavealsobeencompany-specificinitiativesto definearchitecturesfor e-commerce,notablyE-speakfrom Hewlett-Packard.

Nevertheless,we believe thatDAML-S providesfunctionality that the otherefforts do not. In com-parisonto theDAML-S characterizationof services,theindustrystandardsmostly focuson presentingaServiceProfileandaServiceGroundingof services(to useDAML-S terminology).ServiceGroundingsaresupportedby all thestandards.However, they arelimited with respectto DAML-S profilesin that they

16

Page 17: DAML-S:Semantic Markup For W eb Servicessoftagents/papers/daml-s.pdf · 2001-05-24 · provide declarative APIs for Web services that are necessary for automated Web service execution

cannotexpresslogicalstatements,e.g.preconditionsandpostconditions,or rulesto describedependenciesbetweentheprofileelements.Inputandoutputtypesaresupportedto varyingextents.

With respectto the four sampletasksof automaticWeb servicediscovery, automaticWeb serviceinvocation,automaticWebservicecompositionandinteroperationandautomaticWebserviceexecutionmonitoringthatDAML-S is meantto support,thestandardsenablethe first threeto certainextents,butsincethey do not consideryet theServiceModelof a service,it’s unclearat presentto whatextentauto-maticcompositionwill beaddressed.In thefollowing sections,we look in greaterdetailat eachof thesetechnologiesin turnandcomparethemto DAML-S.

7.1 UDDI

UDDI(UniversalDescription,Discovery and Integration) is an initiative begun by Microsoft, IBM andAriba to developastandardfor anonlinebusinessregistry, to enablethepublishinganddynamicdiscoveryof Webservices[21]. UDDI allowsprogrammersandotherrepresentativesof abusinessto locatepotentialpartnersandform businessrelationshipson thebasisof theservicesthey provide.

Theprimarytargetof UDDI seemsto beintegrationandat leastsemi-automationof businesstransac-tions in B2B e-commerceapplications.It will provide a businessregistry for registeringbusinessesandthe servicesthey offer. Thesearedescribedaccordingto an XML schemadefinedby the UDDI speci-fication. A Webserviceprovider registersits advertisementsalongwith keywordsfor categorization. AWebservicesuserretrievesadvertisementsoutof theregistrybasedonkeywordsearch.TheUDDI searchmechanismrelieson thepre-definedcategorizationthroughkeywordsanddoesnot refer to thesemanticcontentof theadvertisements.Theregistry is supposedto functionin a fashionsimilar to white pagesoryellow pages,wherebusinessescanbelookedupby nameor by astandardservicetaxonomyasis alreadyusedwithin the industry. UDDI attemptsto cover all kinds of servicesofferedby businesses,includingthosethatareofferedby phoneor e-mail andsimilar means;in principle,DAML-S coulddo this, but ithasnotbeenour focus.

UDDI aims to facilitate the discovery of servicesand their groundingoffered by known businesspartnersandthe discovery of potentialbusinesspartners.This may or may not be doneautomatically.Whenthisdiscovery occurs,programmersaffiliatedwith thebusinesspartnersprogramtheirown systemsto interactwith the servicesdiscovered. This is alsothe model followed by ebXML. DAML-S enablesthediscovery of serviceson thebasisof elementsin theServiceProfile,thefunctionalitiesandfunctionalattributes. Whetherthe businessoffering the serviceis known or not to the requesteris immaterialtoDAML-S, sincethetwo partnerscanautomaticallyinteracton thebasesof theinformationin theProcessModelandtheGrounding.

Technicallyspeaking,eachbusinessdescriptionin UDDI consistsof a businessEntityelement,akinto a White Pageselementdescribingthe contactinformationfor a business.A businessEntitydescribesa businessby name,a key value,categorization,servicesoffered(businessServiceelements)andcontactinformationfor thebusiness.A businessServiceelementdescribesaserviceusinga name,key value,cat-egorizationandmultiple bindingTemplateelements.This canbeconsideredto beanalogousto a YellowPageselement,which categorizesthe business.A bindingTemplateelementin turn describesthe kindof accessthe servicerequires(phone,mailto, http, ftp, fax etc.), key values,TModelInstances.TMod-elInstancesareusedto describetheprotocols,interchangeformatsthat theservicecomprehends,that isthetechnicalinformationrequiredto accesstheservice.It is alsousedto describethe“namespaces”forthe classificationsusedin categorization. Eachof the elementsaredescribedthroughnaturallanguagetext. Many of theelementsareoptional,includingmostof theonesrequiredfor matchmakingor servicecompositionpurposes.

UDDI doesnot provide or specifycontentlanguagesfor advertisementso far. Although WSDL ismostcloselyassociatedwith UDDI asacontentlanguage,thespecificationrefersto ebXML, XML/edi or

17

Page 18: DAML-S:Semantic Markup For W eb Servicessoftagents/papers/daml-s.pdf · 2001-05-24 · provide declarative APIs for Web services that are necessary for automated Web service execution

WSDL�

aspotentialcandidates.ContentlanguagescouldbeapossiblebridgebetweenUDDI andDAML-S.DAML-S is alsoa suitablecandidatefor a contentlanguageandin this sense,DAML-S andUDDI arecomplementary. A higher-level serviceor standarddefinedon top of UDDI couldthentake advantageoftheadditionalrichnessof contentDAML-S hasto offer within theUDDI registries.

Unlike DAML-S, UDDI doesnot supportsemanticdescriptionsof servicesin any form. Thus,al-thoughagentscansearchtheUDDI registry andretrieve servicedescriptions,a humanhasto beinvolvedin theloop to make senseof thedescriptions,andto programtheaccessinterface.

7.2 WSDL

WSDL (Web ServicesDescriptionLanguage)is an XML format, closelyassociatedwith UDDI as thelanguagefor describinginterfacesto businessservicesregisteredwith a UDDI database.It is thuscloserto DAML-S in termsof functionality thanUDDI. Similar to DAML-S, it attemptsto separateservices,definedin abstractterms,from the concretedataformatsand protocolsusedfor implementation,anddefinesbindingsbetweentheabstractdescriptionandits specificrealization[3]. However, theabstractionof servicesis at a lower level thanin DAML-S.

Servicesaredefinedassetsof ports,that is network addressesassociatedwith certainprotocolsanddataformatspecifications.Theabstractnatureof aservicearisesfrom theabstractnatureof themessagesand operationsmappedto a port and defineits port type. Port typesare reusableand can be boundto multiple ports [18]. Operationsareof four basickinds in WSDL: a one-way, a (two-way) request-response,a (two-way) solicit-responseanda (one-way) notificationmessage.A messageitself is definedabstractlyasa request,a responseor evena parameterof a requestor responseandits type,asdefinedina typesystemlike XSD. They canbebrokeninto partsto definethelogicalbreak-down of amessage.

Messagesandoperationsaredefinedabstractlyandarethusreusableandextensibleandcorrespondroughlyto theDAML-S ServiceProfile.Theserviceelementitself incorporatesbotha ServiceProfileandServiceGroundinginformation. WSDL servicedescriptionsarenot asexpressive asDAML-S profiles.Preconditions,postconditionsandeffectsof serviceaccesscannotbeexpressedwithin WSDL.

LikeUDDI, WSDL doesnot supportsemanticdescriptionof services.WSDL focuseson theground-ing of servicesandalthoughit hasa conceptof input andoutput typesasdefinedby XSD, it doesnotsupportthedefinitionof logical constraintsbetweenits input andoutputparameters.Thus,its supportfordiscovery andinvocationis lessversatilethanthatof DAML-S.

7.3 E-speak

Hewlett-Packardis collaboratingwith the UDDI consortiumto bring E-speaktechnologyto the UDDIstandard.It is thusfairly likely thatE-speakwill besubsumedby UDDI. E-speakandUDDI have similargoalsin that they bothfacilitatetheadvertisementanddiscovery of services.E-speakis alsocomparableto WSDL in that it supportsthe descriptionof serviceanddatatypes[6]. It hasa matchingservicetocompareservicerequestandservicedescriptions,which it doesprimarily on thebasisof input-outputandservicetypesmatching.

E-speakdescribesservices(Resourcesin thee-speakworld) asasetof attributeswithin severalVocab-ularies.Vocabulariesaresetsof attributescommonto a logicalgroupof services.E-speakmatcheslookuprequestsagainstservicedescriptionswith respectto theseattributes.Attributestake commonvaluetypessuchasString,Int, BooleanandDouble.Thereis abasevocabulary whichdefinesbasicattributessuchasName,Type(of valueStringonly), Description,KeywordsandVersion.No semanticmeaningattachedtoany of theattributes.EventheTypeattribute is a simpleStringandwithin thesystemno typing hasbeenspecified.Any matchingwhich takesplaceis doneover theservicedescriptionattributeswhich doesnotdistinguishbetweenany furthersubtypes.DAML-S hadamuchrichersetof attributes,in DAML-S termi-

18

Page 19: DAML-S:Semantic Markup For W eb Servicessoftagents/papers/daml-s.pdf · 2001-05-24 · provide declarative APIs for Web services that are necessary for automated Web service execution

nology, theinput/outputparameters,effectsandadditionalfunctionalattributes.In addition,dependenciesbetweenattributesandlogical constraintson themarenotexpressiblewithin E-speak.

UnlikeUDDI, whichwasintendedto beanopenstandardfrom thebeginning,e-speakscoresrelativelylow on interoperability. It requiresthat an e-speakenginebe run on all client machines.Furthermore,althoughe-speakis designedto bea ’full’ platformfor Webservicesandcouldpotentiallyexposea exe-cutionmonitoringinterface,it doesnot supporttheconceptof a serviceprocessmodelandconsequentlyno executionmonitoringis possible.Serviceprocessesremainablack-boxfor thee-speakplatform.

7.4 ebXML and other technologies

ebXML, beingdevelopedprimarily by OASIS andtheUN, is slowly beingspecified[7]. Thecurrentex-pectationin theindustryhowever is thatit will eventuallysubsumeUDDI andWSDL.ebXML approachesthe problemfrom a workflow perspective andinformationanddocumentsflow betweenbusinesses.Atthis stage,it seemssomewhatclunky andcomplex.

It hasthe conceptof a CollaborationProtocolProfile (CPP)“which allows a TradingPartnerto ex-presstheir supportedBusinessProcessesandBusinessServiceInterfacerequirements[suchthat they areunderstood]by otherebXML compliantTradingPartners”,in effectaspecificationof theservicesofferedby theTradingPartner. A BusinessProcessis asetof businessdocumentexchangesbetweentheTradingPartners.CPPscontainindustryclassification,contactinformation,supportedBusinessProcesses,inter-facerequirementsetc.They areregisteredwithin anebXML registry, in which thereis discovery of otherTradingPartnersandthe BusinessProcessesthey support. In this respect,UDDI hassomesimilaritieswith ebXML. However, ebXML leavesto theTradingPartnersthetaskto agreeon themannerin whichthebusinessdocumentsarespecifiedthroughthecreationof aCollaborationProtocolAgreement(CPA).

In conclusion,thekind of functionality, interoperabilityanddynamicmatchmakingcapabilitiespro-vided by DAML-S is only partially supported,asthe standardsarecurrentlypositioned,by WSDL andUDDI. UDDI maybecomemoresophisticatedasit incorporatese-speak-like functionalities,but it wontallow automaticserviceinteroperabilityuntil it will incorporatetheinformationprovidedby DAML-S.

8 Summary and Curr ent Status

DAML-S is anattemptto provide anontology, within theframework of theDARPA AgentMarkupLan-guage,for describingWeb services.It will enableusersandsoftwareagentsto automaticallydiscover,invoke, compose,and monitor Web resourcesoffering services,underspecifiedconstraints. We havereleasedaninitial versionof DAML-S. It canbefoundat theURL: http://www.daml.org/services/daml-s

We expectto enhanceit in the future in waysthatwe have indicatedin thepaper, andin responsetousers’experiencewith it. We believe it will helpmake theSemanticWeba placewherepeoplecannotonly find out informationbut alsogetthingsdone.

Acknowledgments

Theauthorshaveprofitedfrom discussionsaboutthiswork with RonFadel,RichardFikes,JamesHendler,Mark Neighbors,TranCaoSon,andRichardWaldinger. The researchwasfundedby the DefenseAd-vancedResearchProjectsAgency as part of the DARPA Agent Markup Language(DAML) programunderAir Force ResearchLaboratorycontractF30602-00-C-0168to SRI International,F30602-00-2-0579-P00001to StanfordUniversity, andF30601-00-2-0592t0 Carnegie Mellon University. Additionalfundingwasprovidedby NokiaResearchCenter.

19

Page 20: DAML-S:Semantic Markup For W eb Servicessoftagents/papers/daml-s.pdf · 2001-05-24 · provide declarative APIs for Web services that are necessary for automated Web service execution

Refer�

ences

[1] J.F. Allen andH. A. Kautz. A modelof naive temporalreasoning.In J. R. HobbsandR. C. Moore,editors,FormalTheoriesof theCommonsenseWorld, pages251–268.Ablex PublishingCorp.,1985.

[2] T. Berners-Lee,J.Hendler, andO. Lassila.Thesemanticweb. ScientificAmerican, 284(5):34–43,2001.

[3] E. Christensen,F. Curbera,G. Meredith,andS.Weerawarana.Webservicesdescriptionlanguage(wsdl) 1.1.http://www.w3.org/TR/2001/NOTE-wsdl-20010315, 2001.

[4] K. Decker, K. Sycara,andM. Williamson. Middle-agentsfor theinternet.In IJCAI97, 1997.

[5] G. Denker, J.Hobbs,D. Martin, S. Narayanan,andR. Waldinger. Accessinginformationandserviceson thedaml-enabledweb. In Proc.SecondInt’l WorkshopSemanticWeb(SemWeb’2001), 2001.

[6] E-Speak. E-speak architectural specification release a.0. http://www.e-speak.hp.com/media/a0/architecturea0.pdf, 2001.

[7] ebXML. ebxmlwebsite. http://www.ebXML.org/,2000.

[8] M. G.etal. Pddl-theplanningdomaindefinitionlanguagev. 2. TechnicalReport,reportCVC TR-98-003/DCSTR-1165,YaleCenterfor ComputationalVisionandControl,1998.

[9] T. Finin, Y. Labrou,andJ. Mayfield. KQML asan agentcommunicationlanguage.In J. Bradshaw, editor,SoftwareAgents. MIT Press,Cambridge,1997.

[10] J. HendlerandD. L. McGuinness.Darpaagentmarkuplanguage. IEEE Intelligent Systems, 15(6):72–73,2001.

[11] H. Levesque,R. Reiter, Y. Lesperance,F. Lin, andR. Scherl. GOLOG: A logic programminglanguagefordynamicdomains.Journalof Logic Programming, 31(1-3):59–84,April-June1997.

[12] D. Martin, A. Cheyer, andD. Moran. The openagentarchitecture:A framework for building distributedsoftwaresystems.AppliedArtificial Intelligence, 13(1-2):92–128,1999.

[13] S. McIlraith, T. C. Son,andH. Zeng. Mobilizing the webwith daml-enabledweb service. In Proc. SecondInt’l WorkshopSemanticWeb(SemWeb’2001), 2001.

[14] S.McIlraith, T. C. Son,andH. Zeng.Semanticwebservice.IEEE IntelligentSystems, 16(2):46–53,2001.

[15] J.Meseguer. ConditionalRewriting Logic asaUnifiedModelof Concurrency. TheoreticalComputerScience,96(1):73–155,1992.

[16] R. Milner. Communicatingwith mobile agents:The pi-calculus. CambridgeUniversity Press,Cambridge,1999.

[17] S.Narayanan.Reasoningaboutactionsin narrativeunderstanding.In Proc.InternationalJoint ConferenceonArtifical Intelligence(IJCAI’1999), pages350–357.MorganKaufmanPress,SanFrancisco,1999.

[18] U. Ogbuji. Using wsdl in soapapplications:An introductionto wsdl for soapprogrammers.http://www-106.ibm.com/developerworks/library/ws-soap/?dwzone=ws,2001.

[19] K. SycaraandM. Klusch.Brokeringandmatchmakingfor coordinationof agentsocieties:A survey. In A. e.a.Omicini, editor, Coordinationof InternetAgents. Springer, 2001.

[20] K. Sycara,M. Klusch,S. Widoff, andJ. Lu. Dynamicservicematchmakingamongagentsin openinforma-tion environments.ACM SIGMODRecord (SpecialIssueon SemanticInteroperability in Global InformationSystems), 28(1):47–53,1999.

[21] UDDI. Theuddi technicalwhite paper. http://www.uddi.org/,2000.

[22] D. Webber and A. Dutton. Understanding ebxml, uddi and xml/edi.http://www.xml.org/featurearticles/20001107miller.shtml,2000.

[23] H.-C.WongandK. Sycara.A taxonomyof middle-agentsfor theinternet.In ICMAS’2000, 2000.

20