Вы находитесь на странице: 1из 38

BringingSemanticstoWebServiceswithOWLS

DAVIDMARTIN
ArtificialIntelligenceCenter,SRIInternational,MenloPark,CA,USA

MARKBURSTEIN
IntelligentDistributedComputingDepartment,BBNTechnologies,Cambridge,MA,USA

DREWMcDERMOTT
ComputerScienceDepartment,YaleUniversity,NewHaven,CT,USA

SHEILAMcILRAITH
DepartmentofComputerScience,UniversityofToronto,Toronto,Canada

MASSIMOPAOLUCCI
DoCoMoCommunicationsLaboratoriesEurope,Munich,Germany

KATIASYCARA
RoboticsInstitute,CarnegieMellonUniversity,Pittsburgh,PA,USA

DEBORAHL.McGUINNESS
KnowledgeSystems,ArtificialIntelligenceLaboratory,StanfordUniversity,Stanford,CA,USA

EVRENSIRIN
UniversityofMaryland,CollegePark,MD,USA

NAVEENSRINIVASAN
RoboticsInstitute,CarnegieMellonUniversity,Pittsburgh,PA,USA

Abstract
Current industry standards for describing Web Services are focused on ensuring
interoperabilityacrossdiverseplatforms,butdonotprovideagoodfoundationfor
automatingtheuseofWebServices.Representationaltechniquesbeingdeveloped
fortheSemanticWebcanbeusedtoaugmentthesestandards.TheresultingWeb
Servicespecificationsenablethedevelopmentofautomatedagentsthatcaninterpret
descriptionsofunfamiliarWebServicesandthenemploythoseservicestosatisfy
usergoals.OWLS(OWLforServices)isasetofnotationsforexpressingsuch
specifications,basedontheSemanticWebontologylanguageOWL.Itconsistsof
threeinterrelatedparts:aprofileontology,usedtodescribewhattheservicedoes;a
processontologyandcorrespondingpresentationsyntax,usedtodescribehowthe
serviceisused;andagroundingontology,usedtodescribehowtointeractwiththe
service. OWLS can beused to automate a variety of servicerelated activities
involving service discovery, interoperation, and composition. A large body of
research has been based on OWLS, and it has made possible the creation of a
substantialsetofopensourcetoolsfordeveloping,reasoningabout,anddynamically
utilizingWebServices.

WorkperformedwhilePaolucciwasamemberoftheRoboticsInstitute,CarnegieMellon
University.
Sincethewritingofthispaper,SirinhasmovedtoClark+Parsia,LLC.
Sincethewritingofthispaper,SrinivasanhasmovedtowebMethods,Inc.

1
Keywords:WebServices,SemanticWeb,SemanticWebServices,OWL,OWLS,ServiceDiscovery,
ServiceComposition

1 Introduction

WorkonSemanticWebServices[59]liesattheintersectionoftwoimportanttrends
in the evolution of the World Wide Web (WWW). The first trend is the rapid
developmentofWebServicetechnologies,bywhichoneagencymakesavailablea
servicetoothersthroughanadvertisedprotocol.Thefunctionoftheserviceisoften
tosupplyinformation,butcanalsoinvolveexchangeorsaleofgoodsorobligations.
The second trend is the development of the Semantic Web, a network of sites
containingcomputerinterpretablestructuredinformation(see,e.g.,[12]).
CompilerbasedtoolsmakeiteasyforprogrammerstoincorporateWebServices
intheirapplications.TocallaWebService,aprogrammustsenditamessage,or
series of messages, normally encoded in XML (eXtensible Markup Language),
whichcontaintheinformationorrequesttobesenttotheservice;itthenreceives
XML replies containing the returned values. The datatypes for the information
passedbetweenclient andservice,anditsencodingusingtheXMLbasedSOAP
(SimpleObjectAccessProtocol)notation[16],canbedescribedusingWSDL(Web
ServicesDescriptionLanguage)[19].ExistingcompilersforlanguageslikeJavaand
C#canautomaticallyproducecodetoconvertfromalanguagesdatatypestotheir
SOAPequivalents,makingitalmostaseasytocallaWebServiceastocallan
ordinarysubroutine.
OnethingWSDLdoesnotsupplyisaspecificationofwhathappenswhenaWeb
Serviceisused.Thehumanprogrammerissupposedtofigurethatoutfromreading
anaturallanguagedescription.Supposeyouwantanagenttosolveproblemssuch
asthefollowing:
Makeaperiodicdecisionregardingthechoiceofwhichoftwousual
supplierstoacquiresomerawmaterialsfrom,whilemonitoringforthe
appearanceofnewalternativesupplierssothatyoucanbeinformedif
oneoffersthesamematerialsatalowerprice.
Sendacopyofyourpresentationtoeveryoneattendingthemeetingin
theroomwherethepresentationisbeinggiven.
Find vendors of products described using one or more controlled
vocabularies(whichmightnotbethesameasthevocabulariesusedby
thevendorstodescribethemselves).
Doestheagenthavetobehuman?Orcanitbeautomated?
This is where the Semantic Web comes in. Where interoperability is the
motivation for Web Services, automation of information use and dynamic
interoperabilityaretheobjectivesoftheSemanticWebandSemanticWebServices.
These goals are based on the idea of adopting standard languages for asserting
relationshipsamongentitiesthataredeclaredtobelongtoclasses.Theinformation
about the classes and the relationships among their members is captured in
ontologies.Therulesencodedthereallowprogramstomakeinferencesaboutthe
relationships among the objects they discover at Web sites. A key step in the
realizationoftheSemanticWebhasbeenthedevelopmentofstandardlanguagesfor
recording relationships and ontologies, including RDF (Resource Description
Framework),RDFS(RDFSchemas),andOWL(WebOntologyLanguage)[56],all

2
of which have reached final recommendation status through the standardization
processattheWorldWideWebConsortium(W3C).
ForWebServiceusers,thelogicalnextquestionis,Canweusethesetechniques
toautomatedealingswithWebServices? ThegoaloftheOWLSCoalition 1 isto
showthattheanswerisYes.Wedescribetheeffortsofseveralothergroupsworking
ontherelatedissuesinSection 9. Tomovetowardstherealizationofthisvision,
researchers have been developing languages, ontologies, algorithms, and
architecturesundertheheadingofSemanticWebServices [59].OWLSitselfisan
OWLontologyforServices [64],andassuchprovidesaframeworkfordescribing
both the functions and advertisements for Web Services, including a process
specification language, a notation for defining process results and effects, and a
vocabularyforconnectingthesedescriptionsinOWLwithsyntacticspecificationsof
servicemessagestructureinWSDL(andinotherexistingnotations).
OWLScanbeusedtosolvetheproblemspresentedabove(althoughsomeofthe
Webinfrastructureandreasoningtoolsrequiredforcompletesolutionsisstillthe
subject of ongoing work). In each case, one would likely have a formbased
interface between the human user and the automated agent doing the required
reasoning.
Tosupportaregularchoicebetweensuppliers,anautomatedpurchasing
agent could use automated planning technology [63,84], to access a
registry and find vendors potentially satisfying the users objectives,
then use OWLS descriptions of those vendors service interfaces to
createanOWLSprocesstopollthosevendors.Theagentwouldalso
periodically recompute theset of knownvendors andnotifytheuser
whennewvendorswerefound.
Tosendadocumenttoeveryonecurrentlyinaparticularroomrequires
searchingforaresourcemanagementserviceforthebuildingcontaining
it,thenqueryingitforpeoplewhohavemadetheirwhereaboutsinthat
buildingknown(perhapsjusttootherpeopleinthebuilding)[50].
Tofindavendorof,say,cutlery, itwouldbenecessarytoinclude
companiesthatadvertisethesaleofkitchenware. Asoftwareagent
usingOWLandOWLScouldapplyontologicalknowledgetobroaden
itssearchtoincluderequestsforprovidersofkitchenware, sincethis
would be annotated as a superClass of cutlery. If a vendor used a
differentvocabularywhereknivestooktheplaceofcutlery,cross
ontologicalstatementsinvolvingtheequivalentClassconstructofOWL
wouldenabletheagenttotranslatebetweenthetwo.
ThispapergivesanoverviewofOWLS,technologiesbaseduponit,andselected
research directions baseduponit. Itreflects theauthors'designconsensusasof
OWLSversion1.2,whichisavailableontheOWLSWebsite[64].
Therestofthepaperisorganizedasfollows.InSection2,wediscussthehigh
levelobjectivesofOWLS,andtheoverallstructureoftheframework,intermsof
profiles,processes,andgroundings.InSection3wediscussacentralsetofconcepts
fordescribingservices,namely,theirinputs,outputs,preconditions,andresultsor
IOPRs.InSection4,wedescribethestructureandcontentoftheprofileontology
designedforuseinadvertisingservices.InSection5,wepresenttheprocessmodel

1 MoreabouttheOWLSCoalitioncanbefoundat:http://www.daml.org/services/owls/.In
additiontotheauthorsofthispaper,theCoalitionincludesanumberofothermembers.

3
ontologyandamorehumanreadablenotation,whichallowsthemodeltobeviewed
moreeasilyasarecursivesyntaxfordescribingserviceprocessesratherthansimply
asanontology.InSection6wediscusstheontologyfordescribinggroundingsof
services,enablingservicecallstobetranslatedintoandoutofmessagetransport
protocollanguagessuchasSOAP(anditspartnerWSDL).InSection7,wediscuss
howOWLScanbeusedinvariousWebServiceapplications,focusingonservice
discoveryandservicecomposition.InSection8,wesurveyabroadrangeoftoolsas
wellasresearchandprototypesystemsthathavebeendevelopedbasedonOWLS
andextensionsofOWLS.InSection9,wediscussrelatedeffortstomodelaspects
ofWebServices. Thepaperendswithabriefsummaryanddiscussionoffuture
directionsinSection10.

2 DesignObjectives,Methodology,History

ThehighlevelobjectivesofOWLSincludethefollowing:
1. Provideageneralpurposerepresentationalframeworkinwhichtodescribe
WebServices.
2. Supportautomationofservicemanagementandusebysoftwareagents.
3. BuildonexistingWebServicesstandards.
4. BuildonexistingSemanticWebstandards.
5. Becomprehensiveenoughtosupporttheentirelifecycleofservicetasks.
OWLSstartsoffasanontology,thatis,asavocabularyplusaxiomsconstraining
itsterms.TheaxiomsarestatedinOWL,sotheytalkaboutsubclasshierarchiesand
howrelationsfitintothem. OWLincludesthreesublanguages,OWLLite,OWL
DL, and OWL Full. The first two, but not the third, correspond to decidable
descriptionlogics(DLs)[8]. Topreservedecidabilitywehavemadeaneffortto
keepOWLSexpressibleinOWLDL.
Nevertheless,wehavediscoveredthatforsomepurposesOWLisnotexpressive
enough.Tospecifypreconditionsandeffects,weneedexpressivenesscomparableto
thatoffirstorderlogic,andtospecifyprocesseseffectively,weneedmanyelements
similartothoseofprogramminglanguages.Whilemanyaspectsofprocessescanbe
representedinOWL,andwehavetakenpainstomaketheprocessmodelontologyfit
withinthereasoningframeworkthatOWLsupports,wehavefounditnecessaryto
allow for preconditions and effects to be expressed in logical languages that are
outsideofthatframework.
Furthermore, it became increasingly clear that the amount of repetitive detail
requiredtoexpressthesemanticelementsofprocessesintermsofanontologyof
classesandrelationswouldmakeOWLSunwieldyasalanguagefordevelopers
seekingtodescribetheirservicesevenasitprovidedpreciselythedetailsneededfor
computerstoreasonaboutthoseservicesusingsemanticdescriptions.Asaresult,we
haveprovidedapresentationsyntaxforpeopletousewhenwritingtheirprocess
models,whichcanbeexpandedintoOWLandassociatedrulerepresentationsfor
publicationontheSemanticWeb.
As an ontology, OWLS does not make any commitment with respect to
processing environment or Web Services architecture. Indeed, OWLS has been
usedinverydifferentconfigurations,fromtraditionalWebServicearchitecturesthat
adopttheServiceOrientedArchitecture(SOA)trianglesetofinteractions(amonga
serviceregistry,producer,andconsumer),toPeertoPeer(P2P)systems[26]usinga

4
Gnutellabased
architecture [70], to
the multicasting
basedUniversalPlug
and Play (UPnP)
[50] systems used
with wireless
devices; to
architectures that
exploit a centralized
mediator[46][92]to
manage the
interaction with
Figure1.Topleveloftheserviceontology. servicesandperform
different forms of
translation[78]betweenclientsandservices[71][72].
OWLS is not intended to replace existing Web Services or Semantic Web
standards.Ourgoalistoenhancetheirutilitybyremainingcompliantwithexisting
standardsandaddingexplicitsemanticsthatareoperationalandunderstandableto
computerprograms.Inouropinion,theWebServicescommunityneedsalittlepush
togettothepointwheretheyarecomfortablewithdescriptionsofentitiesoutsidethe
currentworldofWebServicesspecifications. OWLSprovidesthatpush,rightin
thedirectionofthespacetheSemanticWebcommunityalreadyinhabits.
OWLShasevolvedthroughseveralreleases.WorkbeganinFebruary2001on
whatwasoriginallycalledDAMLS,(DAMLstandsforDARPAAgentMarkup
Language)becauseitwasbasedonOWLspredecessorDAML+OIL. Sincethen,
therehavebeen4releasesofDAMLSfollowedby4subsequentreleasesofOWLS
afterDAML+OILevolvedintoOWL. Asofthiswriting,thelatestreleaseis1.2.
Evolutionhasbeenrapid,drivenbyuserfeedback.

2.1 OverallStructureofOWLS

The OWLS ontology includes three primary subontologies: the service profile,
processmodel,andgrounding.
Roughly speaking, the profile is used to describe what the service does, the
processmodelisusedtodescribehowtheserviceisused,andthegroundingisused
todescribe howtointeract withtheservice. Theprofileandprocessmodel are
thoughtofasabstractcharacterizationsofaservice,whereasthegroundingmakesit
possibletointeractwithaservicebyprovidingthenecessaryconcretedetailsrelated
tomessageformat,transportprotocol,etc.Figure1showstherelationshipsbetween
thetoplevelclassesoftheontology.
Each servicedescribedusingOWLS isrepresentedbyaninstanceoftheOWL
classService,whichhaspropertiesthatassociateitwithaprocessmodel,groundings,
and profiles for the service described. A process model provides the complete,
canonicaldescriptionofhowtointeractwiththeserviceatanabstractlevel,andthe
groundingsuppliesthedetailsofhowtoembodythoseinteractionsinrealmessages
toandfromtheservice. Eachprofilemaybethoughtofasasummaryofsalient
aspectsoftheprocessmodelplusadditionalinformationthatissuitableforpurposes

5
ofadvertisingandselection.OWLSallowsaservicetohavemultipleprofilessoas
toallowfortailoringofadvertisementsfordifferentcontexts. Similarly,aservice
mayhavemultiplealternativegroundings,whichcanevenbeaddeddynamically.
These notions are explained more thoroughly in the following sections.
AdditionaldetailsmaybefoundintheTechnicalOverviewat[64].

3 Inputs,Outputs,Preconditions,andResults(IOPRs)

Understanding all three components of an OWLS service model requires


understandingIOPRsinputs,outputs,preconditions,andresults.Theinputsare
theobjectdescriptionstheserviceworkson;theoutputsaretheobjectdescriptions
thatitproduces.Thesedescriptionsareofcoursenotknownwhentheprocessis
defined;allwecanexpectarethespecificationoftheirtypes(asOWLclasses,atthe
mostabstractlevel).
Apreconditionisapropositionthatmustbetrueinorderfortheservicetooperate
effectively. An effect is a proposition that will become true when the service
completes.Thesepropositionsarenotingeneralstatementsaboutthevaluesofthe
inputsandoutputs,butabouttheentitiesreferredtointheinputsandtheoutputs.
Forexample,aservicethatrequiresausertohaveanaccountandacreditcardmight
haveinputsUserandCreditCardandprecondition
hasAcctID(User, AcctID)
& validity(CreditCard, Valid))
(Here AcctIDandValid aretwoother,localvariables,tobeexplainedbelow.)
Notethatthepreconditionrequirestheusertoactuallyhaveanaccount withthe
service,withthegivenaccountID. Italsorequiresthecreditcardtohave some
validitystateValid;thesignificanceofthisisexplainedbelow.
Ingeneral,theeffectsofaservicevarydependingonconditions.Inthecaseat
hand,ifthecreditcardisinfactvalid,thenletussupposetheservicewillreplenish
ones EZPassbalance to$25. (EZPassistheorganization intheNew York
vicinitythatrunsthetollboothlanesthatuseRadioFrequencyIdentification(RFID)
technologytocheckoffyourcarandchargeyouraccounteverytimeyouuseatoll
roadorbridge.)Ifthecreditcardisnotvalid,thenthereisnochangeintheaccount
balance.Thesearetwoseparateresults.Thefirstmightbeindicatedas
Valid = OK |->
output(Outcome<=Success)
& AcctBalance(25)
Thesecondmightbewritten
Valid = Not-OK |->
output(Outcome<=Failure)
Here OK and NotOK are values defined as elements of an OWL class
AccountValidity.
<owl:Class rdf:ID="AccountValidity">
<owl:oneOf rdf:parseType="Collection">
<AccountValidity rdf:ID="OK"/>
<AccountValidity rdf:ID="Not-OK"/>
</owl:oneOf>
</owl:Class>
Thisexampleisoverlysimple,butillustratessomekeypoints:
Thevalueoftheoutput Outcome dependsoneventsorteststhatoccur
duringtheexecutionoftheprocess,asdoestheeffect AcctBalance(25).
They cant in general be predicted in advance, which is why we bundle

6
them as results gated by conditions such as Valid=OK. (Note that this test
is performed by the service, not the client, although if the client knew the
credit-card status it could use that knowledge to predict what the service
would do.)
The values of variables are described as abstract OWL objects such as
Not-OK. These objects must be connected to more concrete messages
in order to be sent or received by an actual programmed agent.
The propositions referred to in preconditions and effects can refer to
arbitrary facts about the world, and are not confined to talking about data
structures. Thats perhaps not entirely obvious in our example, which
refers to statuses and balances, but it will become clearer as we go.
Thelastpointdeservesemphasis.ThewholepointofOWLSistoallowagents
touseWebServicestoaccomplishrealworldgoals.Thevisionistohavetheability
totaskanagenttomakereservations,purchaseitems,schedulemeetings,andmake
othersimilararrangements. Goalsarestatedintermsofpropositionswewantto
make true, constraints on the actions and resources to be used, and objective
functionstobeoptimized. Becausethegoalsaredescribedintermsofrealworld
entities,theservicesmustbeaswell,withconnectionsdowntoconcretemessages
whosetransmissionwillaccomplishwhattheuserwants.
Now that we've outlined IOPRs, we can get back to discussing the three
componentsofanOWLSservicemodel,eachofwhichreferstosomesubsetofthe
IOPRs:theprofile,theprocessmodel,andthegrounding. We'lltaketheminthat
order.

4 TheServiceProfile

TheOWLSprofileprovidesasetofconceptstospecifycapabilitiesofservices,with
thegoalofsupportingcapabilitybaseddiscovery.Specifically,theOWLSprofile
allowsserviceproviderstoadvertisewhattheirservicesdo,andservicerequestersto
specifywhatcapabilitiestheyexpectfromtheservicestheyneedtouse.Crucially,
theprofileprovidesanexplicitdescriptionofthosecapabilities,sothattheydonot
havetobeextractedfromincidentalpropertiessuchasthenameoftheservice,orthe
companythatprovidesit.ByexploitingthestructureofOWLSprofilesandtheir
referencestoOWLconcepts,adiscoveryprocesscanfindthoseservicesthatare
mostlikelytosatisfytheneedsofarequester.

7
TheoverallstructureoftheOWLSprofileisshowninFigure2,inwhichovals
representOWLclassesandarcsrepresentOWLproperties.Aprofileisaninstance
of the class Profile (or an instance of a subclass of Profile). The principal
elements that occur in a profile include the profile type, which is the particular
subclassofProfilethatsbeinginstantiated,andthe inputs,outputs,preconditions,
andresultsassociatedwiththeservice.(TheprofileisnotrequiredtolistallIOPRs;
that is,it is free to omit some IOPRs ifthey are deemed to be unimportant for
purposes of advertisement and discovery.) In addition, a profile may include a
product type, where appropriate; service categories that may be used to refer to
existing business taxonomies that may not be codified in OWL, such as North
American Industry Classification System (NAICS
http://www.census.gov/epcd/www/naics.html);andavarietyof serviceparameters
thatmaybeusedtospecifyadditionalfeaturesoftheservice.Subclassesof Profile
may be created for particular domains or typesof services, and specialized with
appropriate properties. For example, for shipping services, there might be a
ShippingServiceProfile subclass with the additional property
geographicRegionServed, with GeographicRegion (from an appropriate online
ontology)asitsrange.
Broadlyspeaking,theOWLSprofiledescribesthreeaspectsofaservice. The
firstoneisthefunctionalaspectwhichisrepresentedusingIOPRs.Thefunctional
aspectrepresentstheinformationtransformationcomputedbytheservicefromthe
inputsthattheserviceexpectstotheoutputsitgenerates,andthetransformationin
thedomainfromasetofpreconditionsthatneedtobesatisfiedfortheserviceto
executecorrectly,totheeffectsthatareproducedduringtheexecutionoftheservice.

Figure2.ToplevelstructureoftheOWLSprofile.
Apurchaseinanestoreillustratesatypicalsetofthesetransformations:theinputs
arethenameofthedesiredproductandacreditcardnumber,theoutputisareceipt
ofpurchase,thepreconditionsspecifythatthecreditcardisvalid,andtheeffects
specify that the credit card will be charged, and that the goods will change
ownership.

8
Thesecondaspect,theclassificationaspect,supportsthedescriptionofthetypeof
serviceasspecifiedinataxonomyofbusinesses(orothersuitabledomainspecific
ontologies).Theclassificationoftheserviceisindicatedbytheprofiletypeand/or
theservicecategories.Usingtheseelements,theprovidercanspecifyexplicitlywhat
typeofserviceitprovides,andtherequestercanspecifythetypeofservicewith
whichitwouldliketointeract.
The third aspect of the profile is the nonfunctional aspect, which makes
distinctionsbetweenservicesthatdothesamethingbutindifferentwaysorwith
different performance characteristics. Examples of nonfunctional aspects of a
serviceincludetheservicesecurityandprivacyrequirements[34],theprecisionand
timeliness(qualityofservice)oftheserviceprovided,thecoststructure,andaspects
ofprovenance,suchasthosecapturedintheProofMarkupLanguage[74].Sinceit
isimpossibletoprovideacompletesetofattributesfortherepresentationofservice
parameters(manyofwhicharedomainspecific),thesolutionadoptedbyOWLSis
toprovideanextensiblemechanismthatallowstheprovidersandrequesterstodefine
theserviceparameterstheyneed.
Apartialexampleofaprofileforafictitiousairlinebookingservice,expressedin
theRDF/XMLsyntaxofOWL,isshownin Figure 3. Theprofile,aninstanceof
FlightReservationProfile (asubclassof Profile),describesinputsspecifyinga
departureandarrivalairport,andareservationasoutput.Thecrucialaspectofthis
exampleisthatthevaluesusedtospecifythetypesoftheOWLSinputsandoutputs
aretheURIsofconceptsdefinedinsomeontology. Inthisexample,theontology
used is the fictitious ontology http://fly.com/Onto. The advantage of using
conceptsfromWebaddressableontologies,ratherthanXMLschemata,isthatthe
descriptionsusetermswhoseprovenanceisgloballyavailable,whichrefertoentities
likeairportsinsteadof,say,threelettercodes. This,togetherwiththefactthat
thesetermsarearrangedinasemanticabstractionhierarchy,enablesthediscovery
processtoavoidmatchingfailuresduetosyntacticdifferencesandtoverifythat
termsusedbyprovidersandrequestersaredrawnfromthesamevocabulary.Ifthe
vocabulariesaredifferent,itmaystillbeabletofindappropriateservicesaslongas
thedifferenttermsaresuitablyrelatedbytheirontologies.

9
<FlightReservationProfile rdf:ID="BravoAir">
<serviceName>Bravo Air</serviceName>
<contactInformation rdf:resource="#BAco"/>
<hasInput>
<process:Input rdf:about=&bravoAirProcess;#depart>
<process:parameterType rdf:datatype=&xsd;#anyURI>
http://fly.com/Onto#Dep_Airport
</process:parameterType>
</process:Input>
</hasInput>
<hasInput>
<process:Input rdf:about=&bravoAirProcess;#arrive>
<process:parameterType rdf:datatype=&xsd;#anyURI>
http://fly.com/Onto#Arr_Airport
</process:parameterType>
</process:Input>
</hasInput>
<hasOutput>
<process:Output rdf:about=&bravoAirProcess;#reserve>
<process:parameterType rdf:datatype=&xsd;#anyURI>
http://fly.com/Onto#Reservation"
</process:parameterType>
</process:Output>
</hasOutput>

</FlightReservationProfile>

Figure3.Asimple,partialOWLSprofile.

5 TheProcessModel

OnceaWebagenthasidentifiedaserviceaslikelytoberelevanttoitsgoals,it
needsadetailedmodeloftheservicetodeterminewhethertheservicecandothejob,
and,ifso,whatconstraintsmustbesatisfiedandwhatpatternofinteractionswillbe
requiredtogetittodothatjob.

10
Figure4.ToplevelstructureoftheOWLSprocessmodel.

An OWLS process specifies, among other things, the possible patterns of


interactionwithaWebService.Therearetwosortsofprocessesthatcanbeinvoked:
atomicandcomposite. An atomic processisonethathasnointernalstructure.It
correspondstoasingleinterchangeofinputsandoutputsbetweenanagentandthe
service.Acompositeprocessconsistsofasetofcomponentprocesseslinkedtogether
bycontrolflowanddataflowstructures.Thecontrolflowisdescribedusingtypical
programming language or workflow constructs such as sequences, conditional
branches, parallel branches, and loops. Data flow is the description of how
informationisacquiredandusedinsubsequentstepsinthisprocess.Athirdtypeof
process,thesimpleprocess,canbeusedtoprovideabstracted,noninvocableviews
ofatomicorcompositeprocesses.Simpleprocessesarenotdiscussedfurtherinthis
paper;thereaderisreferredtotheTechnicalOverviewat[64]forinformationabout
them.
The concepts used to describe a process are themselves terms in the OWLS
ontology.TheOWLSdefinitionofProcesshasasetofassociatedfeatures(inputs,
outputs,preconditions, results) linked tothe Process concept byOWL properties
(hasInput, hasOutput, etc.). Composite processes are related to their toplevel
control structure using the composedOf property, and other properties, such as
components,areusedtoshowtherelationshipsbetweencontrolstructures. Other
propertiesrelate theprocessmodeltocorrespondingmessages(referencedbythe
grounding),andtoadvertisedcapabilitiesdescriptionsinthecorrespondingOWLS
profile.Figure4showssomeoftheprincipalelementsoftheprocessmodel.

5.1 OWLSProcessModelPresentationSyntax

MachineinterpretationofOWLSprocessmodelsreliesonsystemsthatreadthe
processdefinitionsexpressedinOWLsRDF/XMLserializationsyntax,whichisnot
designedforhumanconsumption.Evensimpleprocessescanbecomeswampedin

11
reefsofanglebracketsthatmakeithardforpeopletoreadandunderstandwhateach
processdoes.Forthisreason,wehaveprovideda presentationsyntax (sometimes
calledsurfacesyntax)thatmakesOWLSprocesseslooklikeprogramsinahigh
level language. This more procedural presentation syntax for OWLS is easily
translatable intothe canonical RDF/XML syntax. Our exposition style here isto
makethepresentationnotationprimary,explainingthetranslationsofitstermsaswe
go.
Forexample,namespacesareacrucial featureofmostXMLapplications,and
OWLS,whichdirectlyutilizesOWL,isnoexception.Inthepresentationsyntaxwe
usethenotation

with_namespaces
(uri"http://www.daml.org/services/owls/1.2/congo.owl",
service:uri"http://www.daml.org/services/owls/1.2/Service.owl",
owlproc:uri"http://www.daml.org/services/owls/1.2/Process.owl",
profile:uri"http://www.daml.org/services/owls/1.2/Profile.owl",
rdf:uri"http://www.w3.org/1999/02/22rdfsyntaxns")
{
defineatomicprocessExpressCongoBuy...
define...
}
IntheRDF/XMLversion,thesedeclarationsgetattachedtotheoutermostRDF
elementintheusualway:
<rdf:RDF
xmlns="http://www.daml.org/services/owl-s/1.2/congo.owl"
xmlns:service
="http://www.daml.org/services/owl-s/1.2/Service.owl"
xmlns:owlproc
="http://www.daml.org/services/owl-s/1.2/Process.owl"
xmlns:profile
="http://www.daml.org/services/owl-s/1.2/Profile.owl"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns">
<process:AtomicProcess rdf:ID="ExpressCongoBuy" ...>
...
</process:AtomicProcess>
< ...>
</...>
</rdf:RDF>

The with-namespaces expressioncanbeusedatanylevel,anditalwaysgets


translated into xmlns declarations, attached to whatever RDF description is most
convenient. Once anamespace hasbeendeclared, we canthenuseprefixes with
colonsaccordingtotheXMLconvention.However,therearefewerplacesinthe
presentationsyntaxwherenamesqualifiedbynamespaceprefixes(socalledqnames)
areneeded.Forinstance,reservedwordsofthenotationarealwaysassumedtobein
theOWLSnamespace.

5.2 AtomicProcesses

Aprocessmodelisadescriptionofwhataclientmustdoinordertocausea
service,oracollectionofservices,todosomething.AsdiscussedinSection3,all
processeshaveinputs,outputs,preconditions,andresults(IOPRs).Hereisaspecific

12
example, from the "CongoBuy scenario, an artificial example that represents a
bookbuyingservice.Thecompleteserviceisdescribedin[64].
with_namespaces
(uri"http://www.daml.org/services/owl-s/1.2/examples/CongoBuy.owl",
process: uri"http://www.daml.org/services/owl-s/1.2/Process.owl",
books: uri
http://www.daml.org/services/owl-s/1.2/examples/BookConcepts.owl,
. . .

rdf: uri"http://www.w3.org/1999/02/22-rdf-syntax-ns")
{
(define atomic process ExpressCongoBuy
(inputs: (ISBN - books:ISBN
SignInInfo - SignInData
CC-Number - xsd:decimal
CC-Type - CreditCardType
CC-ExpirationDate - xsd:YearMonth),
locals: (AcctID - CustomerAcctID
CardUsed - CreditCard),
precondition:
(hasAcctID(SignInInfo, AcctID)
& credit-card-number(CardUsed, CC-Number)
& validity(CardUsed, valid))
outputs: ...
...);
}

Atomicprocesses are defined entirely bytheir inputs,outputs,local variables,


preconditions,andresults.Allthesefieldsareoptional.Dashesareusedtoseparate
variablenamesfromtheirconceptualtypes,whichshouldbeOWLconcepts.For
example, theinput parameter ISBNisoftypebooks:ISBN,whichisaconcept
definedinthenamespacebooks,anOWLdomainontology. Localvariablesare
thoseboundbyoccurringinpreconditionsratherthanbybeingpassedtotheprocess
explicitly.
The results of a process are specifications of its possible outcomes, gated, as
explained in section 3, by result conditions. (To recapitulate: the distinction
betweenpreconditionsandresultconditionsisthatpreconditionsarethingsthatthe
clientmustverifybeforedecidingtorequesttheservice,whereasresultconditions
arethingsthatarecheckedbytheserviceinthecourseofexecutionthatimpactthe
outcomeproduced.)Resultsconsistofeffectandoutputspecifications.Effectsare
simplypropositionswhichbecometrue,whiletheinformationconveyedtooutput
parametersisindicatedbythespecialnotation:
output( output-parameter <= rdf-description ).

Resultconditionsarespecifiedbythenotation p |-> r(read"whenp,thenr"),


whichmeansthatifpistrueinthesituationcheckedbytheservicebeforeitreturns
ananswer,thenitwillhaveresultr,whererconsistsofasetofoutputsandeffects..
Note that from the perspective of a client reading this process description, and
reasoningaboutitwheninteractingwiththeservice,whatitwillobserveistheoutput
message that was emitted. At that point, it could infer, based on the process
description, that a particular result condition p had obtained, and that the listed
effectsoftheprocessforthatresultconditionshouldbetrue.
OurCongoexamplemighthavethefollowingoutputsandconditionalresults:

13
define atomic process ExpressCongoBuy
(,
precondition:
(hasAcctID(SignInInfo, AcctID)
& credit-card-number(CardUsed, CC-Number)
& validity(CardUsed, valid))
outputs (Status - CongoBuyOutputType),
result:
(forall (book - books:Book)
(hasISBN(book, ISBN) & inStockBook(book)
|-> output(Status <= OrderShippedAcknowledgement)
& shippedTo(addressOf(AcctID), book))
&
(hasISBN(book, ISBN) & ~inStockBook(book)
|-> output(Status <= NotifyOutOfStockBook(ISBN)))))

Here,tworesultconditionsaredescribed,onewherethebookisinstock,andone
where it is not (~inStockBook(book)). In the first case, the output
OrderShippedAcknowledgement is produced, which is the presentation syntax
versionofanRDFexpressionrepresentingthemeaningoftheassociatedWSDL
outputmessage. Whentheclientseesthismessage,itislicensedtoinferthatthe
associatedshippedToexpressionistrue,andalsothattheconditioninStockBookwas
truewhentheserviceexecuted.Intheothercase,adifferentmessagewouldhave
been sent by the service, whose meaning is captured by the OWL concept
NotifyOutOfStockBook.
TheequivalentrepresentationofthisprocessinOWLsRDF/XMLsyntaxisas
follows:
<process:AtomicProcess rdf:ID="ExpressCongoBuy">
<process:hasInput>
<process:Input rdf:ID="ExpressCongoBuyBookISBN">
<process:parameterType rdf:datatype="&xsd;#anyURI">
&profileHierarchy;#ISBN
</process:parameterType>
</process:Input>
...
<process:hasPrecondition>
...
</process:hasPrecondition>
...
<process:AtomicProcess>

In the RDF/XML version, instead of results being produced by a recursive


grammar,eachresultisaseparateobject,withassociatedwhenconditionsindicated
usingtheinConditionproperty.Forreasonsthatwillbecomeclearinamoment,we
omitthedetailsoftheseproperties,butfortheRDF/XMLequivalentof outputwe
canbeabitmorecomplete:
<process:AtomicProcess rdf:ID="ExpressCongoBuy">
...
<process:hasResult>
<process:Result>

<process:inCondition>
...
</process:inCondition>
<process:hasEffect>
...
</process:hasEffect>
<process:withOutput>

14
<process:OutputBinding>
<process:toParam rdf:resource="#ExpressCongoBuyStatus"/>
<process:valueData
rdf:resource="#OrderShippedAcknowledgement"/>
</process:OutputBinding>
</process:withOutput>
</process:Result>
</process:hasResult>
</process:AtomicProcess>

This is considerably more verbose than Status <=


OrderShippedAcknowledgement,butthereductionoftheprocessnotationtoOWL
descriptionsallowsustobeclearabouthowentitiesintheprocessmodelarelinked
toentitiesintheprofile(Section 4)andthegrounding(Section 6). Italsoallows
processdescriptionstobeserializedinthestandardRDF/XMLnotationofOWL.
We have left blanks in the RDF wherever the presentation syntax includes a
logicalformula.Therearemanyalternativeapproachestoexpressingformulasand
plantingtheminsideRDF,includingN3[11],RuleML[79],SWRL[42],SWRL
FOL[73],andSPARQL[75].Someoftheseusetheideaoflayeringthenotation
ontopofRDFbyencodingitssyntaxinRDF,butthereiswideningacceptanceof
theideathatformulascanbeembeddedas(stringorquotedXML)constants.Inthis
paperwewillavoidthedetailsofformulatranslations.
Thementionofformularepresentationbringsustothekeyquestionofwhatsorts
of inference we expect the OWLS process models to support. Some of these
questionsdependontheinterpretationofcompositeprocesses,whichwewilldiscuss
shortly. But there are plenty of tasks that can be supported using purely atomic
modelsofprocesses.Givenasetofgoalsandasetofprocessspecifications,onecan
find or check a described sequence of process instances to determine if it can
accomplishthosegoals.FindingoneistheclassicAIplanningproblem,whichinthis
context is called dynamic service composition (see Section 7). Another form of
inferenceweexpectOWLStobeusefulforisplanrecognition:givenoneormore
actionsbyanagent,inferwhatgoalstheagentmighthave.

5.3CompositeProcesses

The possibilitiesfor reasoning about processes broaden considerably when we


allow processes to have internal structure. Such processes are called composite
processes:
define composite process P
(inputs: ()
outputs: ()
preconditions: ()
results: ()
)
{
---body---
}

Inthesimplestcase,the body ofacompositeprocessconsistsofa sequence of


actions,separatedbysemicolons.Thesimplestsortofactionistoexecuteanother
process.Thiskindofactiscalledaperformact.

15
define composite process P(inputs-outputs-preconditions-results)
{
perform Q(V <= E, ...);
perform R(X <= F,...);
...
}

ThisnotationindicatesthatthefirststepofthecompositeprocessPistoperform
theprocess Q (whichmayormaynotbeatomic)withsomespecificparameters.
InputparameterVofprocessQshouldgetvalueE,andsoforth.Inputstothesesteps
maybethesameasorderivedfromaninputtothecompositeprocess,theymaybe
constantvalues,or,forstepsotherthanthefirst,theymaybetheresultofanearlier
stepintheprocess. Hereisaverysimplecompositeprocessinourpresentation
syntax.TheXML/RDFserializationofthissimpleprocesswouldtakenearlyafull
pagetoshow,butseetheOWLSWebsite[64]forexamples.

define composite process BuyBook


(inputs: (ISBN - books:ISBN, user access:UserID))
{ perform Login(UID <= user);
perform requestBuyBook(BookID <= ISBN) }

Ifaplanningsystemisgivenasetofcompositeprocessesdescribingstandard
waysforinteractingwithWebServices,itcangenerateasetofinstancesofthose
processesthatwillaccomplishitsobjectives.Thisparadigmiscalled hierarchical
planning;wediscussrelatedworkinthisareainSection.
Insolvingtheproblemofnondeterminismreduction,aninferenceengineverifies
that in a particular circumstance, there is a set of choices of actions and their
orderings that will allow a plan with underdetermined structure to be executed
successfully[77].Nondeterminismreductionisoftenmoreefficientthanplanning,
becausethesearchspace,i.e.thenumberofprocesschoicestheplannermustmake,
issignificantlyreduced.Thatis,allthepossibilitiesarelaidoutinadvanceandthe
systemmustmerelynarrowthemtothepointthatallremainingexecutiontraces
result in a situation satisfying the goal. There are a couple of OWLS control
constructs for expressing nondeterminism. One is the choice construct, which
appearsinthepresentationsyntaxas:

P1 ;? P2 ;? ;? Pk
and is executed properly when one of the Pj is executed. Another sort of
nondeterminismisembodiedintheanyorderconstruct:
P1 ||; P2 ||; ||; Pk
whichmeansthatallofthePj aretobeexecutedinsomeorder.Otherconstructsin
OWLSincludeconditionalexecution:
If E then A else B
splitjoin:
P1 ||> P2 ||> ||> Pk
andsplit:
P1 ||< P2 ||< ||< Pk

16
Thelasttwoindicateparallel(interleaved)executionofthe Pj. Thedifference
between them isthat splitjoin isfinished whenall the Pj finish,whereas split
terminatesimmediately,afterthesubprocessinstancesarespawned.

5.4TheSemanticsofOWLS

OWLSisanOWLDLontology.SinceOWLhasawelldefinedsemantics,so
toodoesOWLS.However,thisisnotthecompletestory.
OWLDL is a reasonably expressive language, whose expressive power was
limited by design in order to balance expressiveness against the desire for
decidabilityandthecomputationalcomplexityofthedescriptionlogicinferencesit
must support. As a result, many sophisticated definitions and interrelationships
betweenOWLconceptscannotbedescribedwithintheOWLlanguage.Whilethe
OWLS process model subontology has a welldefined OWL semantics, if you
actuallydothemathyouwilldiscoverthatthemeaningofSplit(or||<in
thepresentationsyntax)isthatitisaclasswithcertainrelationshipstootherclasses,
such as ControlConstruct, Sequence, Split-Join, etc. The formal
representation ofthedifferences between theseterms,let alonewhat it meansto
executethem,ismissing.
Wehaveexploredseveralsolutionstothisproblem.Theintendedinterpretation
oftheprocessvocabularywasdefinedinwrittenformintheTechnicalOverviewof
OWLS[64]. Ithasalsobeendefinedbytranslationtofirstorderlogicusingthe
situationcalculus,alanguageforreasoningaboutactionandchange(e.g.,[77]);by
usingPetrinets[61];andbyusinganexecutionsemanticsthatincorporatessubtype
polymorphism[5]. Morerecently,thesemanticsofOWLSwasdescribedinthe
ProcessSpecificationLanguage(PSL)(ISO18629)aformallyaxiomatizedprocess
ontology [40]. The existence of these specifications makes it possible to use
automated systemsforreasoningabout processes that arebuiltaround firstorder
logic,Petrinets,orotherpopularformalframeworks.

6 TheGrounding

ThegroundingontologyofOWLSisusedtospecifyhowtheabstractinformation
exchangesthataredetailedbyatomicprocessdescriptionsarerealizedbyconcrete
informationexchangesbetweentheagentrequestingaserviceandthedeployedWeb
Serviceithaschosentouse.AgroundingmapseachOWLSatomicprocess(ina
collectionofprocessesassociatedwithaservice)toaWSDLoperation(defining
inputandoutputmessages),andrelateseachOWLSprocessinputandoutputto
elementsoftheXMLserializationoftheinputandoutputmessagesofthatoperation.
Thepurposeofthismappingistoenablethetranslationofsemanticinputsgenerated
byanagentintotheappropriateWSDLmessagesfortransmissiontotheservice,and
the translation of service output messages back into appropriate semantic
descriptions(i.e.,OWLdescriptions)forinterpretationbytheagent. 2 Itshouldbe

2 OWLSallowsforgroundingstootherinvocationframeworksbesidesWSDL;forexample,
atleastoneprojecthasutilizedagroundingthatbottomsoutinUPnP. Here,wediscuss
onlytheWSDLgroundingsincethatisincludedwiththeonlinereleases,andisbyfarthe

17
noted that a grounding can be supplied at runtime, so as to allow for dynamic
binding.
WeemphasizethatanOWLS/WSDLgroundinginvolvesacomplementaryuseof
thetwolanguagesinawaythatisinaccordwiththeintentionsoftheauthorsof
WSDL.Bothlanguagesarerequiredforthefullspecificationofagrounding,because
the two languages do not cover the same conceptual space. WSDL, by default,
specifies message types using XML Schema, whereas OWLS allows for the
definition of abstract types as (description logicbased) OWL classes. Thus,it is
naturalthatanOWLS/WSDLgroundingusesOWLclassesastheabstracttypesof
messagepartsdeclaredinWSDL,andthenreliesonWSDLbindingconstructsto
specifytheformattingofthemessages.

Figure5.TherelationshipbetweenOWLSandWSDL.

Figure5showstheoverlappingrelationshipbetweenOWLSandWSDL.WSDL
operations correspondtoOWLS processes (andherewewillconfineourselvesto
atomic processes). The inputs and outputs of an OWLS process correspond to
messages inWSDL. ThegroundingdescribesthemappingbetweentheDLbased
objectsreferred toinprocessI/Ospecsandthecomplexdatatypesreferredtoin
WSDLmessagedefinitions.
OntheWSDL3side,themostabstractdescriptionofaWebServiceisintermsof
messages,operationsandporttypes.Foraservicesupplyinginformationaboutbook
availability,theWSDLporttypeisoftherequestresponsevariety,meaningthat

mostwidelyused.
3 The example that follows uses WSDL 1.1, as do existing tools; when the WSDL 2.0
standard is finalized, we will provide grounding constructs for mapping to its novel
elements.

18
theclientsendsonemessageandreceivesonereply(justlikeanOWLSatomic
process).

<portType name="CongoCheckPortType">
<operation name="CheckBook"
owl-s:owl-s-process
="congoOwl:CongoCheck">
<input message="CongoCheckInput"/>
<output message="CongoCheckOutput"/>
</operation>
</portType>
TheboldfaceattributesareextensionstoWSDLthatwererequiredtoconnectit
toOWLS.4 Theinput and output attributes declarethepresenceandtypesof
therequesttoandresponsefromtheWebService.
Themessagesaredescribedinmessageelements:

<message name="CongoCheckInput">
<part name="BookISBN"
type="xsd:string"
owl-s:owl-s-parameter
="congoOwl:In-BookISBN"/>
<part name="AcctID"
type="xsd:string"
owl-s:owl-s-parameter
="congoOwl:In-AcctID"/>
</message>
<message name="CongoCheckOutput">
<part name="Availability"
type="xsd:Boolean"
owl-s:owl-s-parameter
="congoOwl:Out-Avail"/>
</message>

Here we've chosen the simple type xsd:string for both inputs to the process;
space doesn't permit exploration of more realistic datatypes.
These snippets of XML just displayed are WSDL, not RDF, as extended to
indicate the correspondence of WSDL message parts with OWL-S Parameters. On
the OWL-S side, we must also specify the grounding of the Web Service, which tells
OWL-S tools which messages the inputs and outputs of a process correspond to, and
how to translate the values:

<WsdlAtomicProcessGrounding rdf:ID="CongoCheckGrounding">
<owlsProcess rdf:resource="&congo;#congoCheck"/>
<wsdlOperation>
<WsdlOperationRef>
<portType>
<xsd:uriReference
rdf:value
="&congoWsdl;#CongoCheckPortType"/>
</portType>
<operation>
<xsd:uriReference
rdf:value="&congoWsdl#CheckBook"/>
</operation>
</WsdlOperationRef>
</wsdlOperation>

4 Fortunately,WSDLisextensibleatvariouspoints,soalmostallthechangeswerequireare
justamatterofdefiningnewnamespaces.Fortheexceptions,see[47].

19
<wsdlInputMessage
rdf:resource
="&congoWsdl#CongoBuyInput"/>
<wsdlInput>
<wsdlInputMessageMap>
<owlsParameter rdf:resource="&congo#In-BookISBN"/>
<wsdlMessagePart>
<xsd:uriReference
rdf:value="&congoWsdl#BookName"/>
</wsdlMessagePart>
</wsdlInputMessageMap>
</wsdlInput>
<wsdlInput>
<wsdlInputMessageMap>
<owlsParameter rdf:resource="&congo#AcctID"/>

</wsdlInputMessageMap>
</wsdlInput>

<wsdlOutputMessage rdf:resource
="&congoWsdl#CongoCheckOutput"/>
<wsdlOutput>
<wsdlOutputMessageMap>
<owlsParameter rdf:resource="&congo#Out-Avail"/>
<wsdlMessagePart>

</wsdlMessagePart>
</wsdlOutputMessageMap>
</wsdlOutput>
</WsdlAtomicProcessGrounding>

AlthoughtheRDFbasedOWLSismoreverbosethanWSDL,itshouldbeclear
that it expresses related but complementary information. The wsdlOperation
propertyofaWsdlAtomicProcessGroundingobjectspecifiestheportType/operation
pair from the WSDL spec. The wsdlInputMessage and wsdlOutputMessage
propertiesspecifyhowtheatomicprocessmapsintoarequest/responsepattern.The
wsdlInput and wsdlOutput properties specify "message maps," which are just
associations between OWLS parameters and WSDL message parts. This
informationallowsanOWLSagenttofindintheWSDLspectheinformationabout
theconcreteembodimentoftheabstractparameters.
Further details about OWLS groundings may be found in [47] and in the
TechnicalOverview[64].

7 TechnologyandResearchDirectionsBasedOnOWLS

OWLShasbeenemployedinawiderangeofresearcheffortsaimedatachievingthe
kindofautomationwedescribedinSection1.Inthissection,wedescribesomeof
theexplorationsthathavetakenplace.

7.1 ArchitectureandServiceEnactment

In this section, we describe how OWLS can be used in a typical Web Service
interactioninwhichtheservicerequesterformulatesarequestbasedonitsgoals,

20
queriesaregistrysuchasUDDItofindaprovider,andfinallyinteractswiththe
provider.TheparticipantsandtheirrolesareshowninFigure6.Themainstepsin
thisprocessare:

1. Formulationofarequest: Theclienthasagoalthatneedstobesolved,
anditwouldliketofindaWebServicethatcansatisfythegoal.Tofind
suchaWebService,theclientexpressesitsgoalasanOWLSprofile.The
translationofagoalintoaprofileisanabstractionprocessfromagoalto
thecapabilitiesthatarerequiredtosatisfythatgoal.Suchcapabilitiesare
expressedintermsoftheresultsandinformationproducedaswellasthe
qualityofservicethattheclientexpectsfromaprovider.Analgorithmfor
generatingtheseabstractionsisdescribedin[71].
2. ServiceRequest: Theclientusestheserviceprofilethatitconstructedto
queryaregistrythatcontainsacollectionofofferedservices.
3. Matching: The registry compares the request to its library of service
profilesandreturns(URIreferencesfor)candidatesthatmightachievethat
goal.Thematchingprocessreliesontherelationsbetweenthetermsusedto
specify the advertisements and those in the request, both of which are
definedusingOWLontologies([43][45][67]).
4. Selection: Theclientanalyzesthecandidatesreturnedbytheregistryand
selectsaWebServicetointeractwith.Sinceitispossiblethatnoneofthe
servicesfoundwillpreciselysatisfyalltherequirementsandobjectivesof
therequester,theselectionprocessmayrequireconsiderationofanumber
ofdifferenttradeoffs[9].
5. Invocation: Theclientdetermineshowtomakearequesttotheselected
servicebyunifyingitsgoalsandpreferenceswiththeeffectsspecifiedinthe
serviceprocessmodel,todetermineasemanticallyvalidsetofinputstothe
server.TheseinputsarethenmappedontoaWSDLinputmessagepattern
usingtheOWLSservicegrounding,andtheresultingmessageissent.
6. Reply: The service receives the request, and determines whether it can
performtherequest.Itmayacknowledgetherequest,sendanerror,request
additionalinformation,or(generally,oncompletion)sendareplystatingthe
serviceresults.
7. ReplyInterpretation:Uponreceivingthereply,theclientparsesthereply,
in accordance with its WSDL specification, and uses the grounding
specification to map it into the abstract outputs specified in the process
model[65].Iftheinvocationoftheserviceissuccessful,theeffectsofthe
service hold true in the clients world. This additional knowledge may
satisfypreconditionsforotherservices.
8. Goalsatisfaction:Theclientusestheinstantiatedoutputstodecidewhether
its goal has been achieved successfully, or whether there is a need for
additionalinteractionswiththeWebServiceorforsearchingforanother
WebService[89].

Whentheprocessmodelofaserviceisacompositeprocess,steps5,6and7may
berepeatedanumberoftimes,sincetheinteractionbetweentheclientandtheserver
mayrequirenumerousinformationexchanges.Forexample,anyinteractionwitha
B2C Web site such as Amazons requires the buyer to fill out multiple forms

21
specifying such things as which book to buy, selecting the appropriate edition,
specifyingwheretoshipthebook,describingwhichcreditcardtouse,etc. The
clientmayalsoneedtointeractwithmultipleWebServicesconcurrentlytofindout
whichonewillprovidethebestresult,orwiththebestqualityofservice.Formore
informationaboutthesemanticsandinvocationofcompositeprocessesreferto[65].
This interaction process is consistent with the Service Oriented Architecture
(SOA)interactionprotocolsthatareusedwithUDDI,WSDLandSOAP.Itreflects
the similar rolesplayed bytheservice profile representation ofWeb Services in
OWLSandtheUDDIrepresentationsofWebServices[68][87].
ThedifferencehereisthatUDDIinteractionsrequirehumansoftwaredevelopers
dothejobofinterpretingtheregistryresultsandcreatingthecallstotheservices.
Figure 6showshowtheprocessisimplementedusingOWLSformoredynamic
Web Services interactions. An application using OWLS should not require a
programmertoqueryUDDI,readtheWSDLmodelsfoundthere,andimplement
thoseinterfaces.Theclientsoftwareagentisresponsiblefortheinteractionwiththe
OWLS registry, for the determination of which candidate services are most
appropriate,forthedeterminationoftheinformationrequiredtoinvokeeachservice,
and for the interpretation and response to messages returned by the service.
VariationsonthisexecutionmodelforOWLShavebeenimplementedbyanumber
ofacademicandindustryresearchers(e.g.[65],[84]).

22
Figure6.TypicalOWLSSemanticWebServiceinteractionmodel.

7.2OntologyBasedServiceDiscovery

Thefirstfewphasesoftheprocessdescribedintheprevioussectionareareas
whereSemanticWebServicediscoverybasedontheOWLSprofilesubontology
may be expected to provide valueadded over existing Web Service discovery
standards. Capabilitybased matching enables agents to find services that aptly
match their requirements for particular results, while semantic matching allows
flexibilityinidentifyingtheserviceparametersneeded(andavailabletotheclient)to
specifythecriteriaoftherequestedservice.
UniversalDescription,DiscoveryandIntegration(UDDI)providesanumberof
meansofsearchingitsregistryofservices;servicescanbesearchedbyname,by
business,bybindingsorbytModels.Forexample,itispossibletolookforservices
thatadheretoRosettaNetspecificationsorservicesthatsellnewcars.Unfortunately,
thesearchmechanismsupportedbyUDDIislimitedtokeywordmatchesanddoes
notsupportanyinferencebasedonthetaxonomiesreferredtobythetModels.For
exampleacarsellingservicemaydescribeitselfasNewCarDealerswhichisan
entryintheNorthAmericanIndustryClassificationSystem(NAICS),butasearch
forAutomobileDealersserviceswillnotidentifythecarsellingservicedespitethe
factthatNewCarDealersmayberegardedasasubtypeofAutomobileDealers.
Since OWLS uses OWL ontologies to describe functional and nonfunctional
properties it overcomes the limitationsof syntactic search by providingsemantic
searchbasedonsubsumptionrelations.
Broadlyspeaking,therearetwowaystorepresentcapabilitiesofWebServices.
Thefirstapproachprovidesanextensiveclasshierarchywitheachclassrepresenting

23
asetofsimilarservices.Usingsuchahierarchy,servicesmaybedefinedasinstances
ofclassesthatrepresenttheircapabilities.Amazon,forexample,mayadvertiseitself
asamemberofanOWLclassforbooksellingservices.(Foradvertisingpurposes,
such a class would be a subclass of Profile.) The second way to represent a
servicescapabilitiesistoprovideagenericdescriptionofitsfunctionalityinterms
ofthestatetransformationsthatitproduces.Forexample,Amazonmayspecifythat
itprovidesaservicethattakesasinputabooktitle,author,addressandavalidcredit
card number, and produces a state transition such that the book is delivered to
address,thecreditcardischargedthebookprice,andthebookdeliveredchangesits
ownership.Despitetheirdifferences,bothwaystorepresentcapabilitiesusedomain
specificontologiestoprovidetheconnectionbetweenwhattheWebServicedoes
andthegeneraldescriptionoftheenvironmentinwhichtheWebServiceoperates.
There are tradeoffs between these two styles of representation in service
discovery.Theuseofanexplicitontologyofcapabilitiesfacilitatesthediscovery
process since the matching process is reduced to subsumption tests between the
capabilitiesexpressedinserviceprofilesandthoseexpressedinaservicediscovery
query. Both descriptions reference concepts in the ontologies of the domain the
service covers. On the other hand, enumerating all possible capabilities even in
restricted domains may be difficult. For example, consider the problem of
representingtranslationservicesfromasourcelanguageLStoatargetlanguageLT.
Assumingnpossiblelanguages,therearen2possibletypesoftranslationservices.A
servicetaxonomymighthavedifferentclassesofserviceforeachpairoflanguages
that could be translated, or it might just represent translation services as one
generalcategory,withexplicitpropertiesthatallowparticularservicestodescribethe
languages that they can translate from and translate to. This latter approach is
consistent with describing the capability in terms of a state transformation. It
distinguishes the translators by describing how they produce different kinds of
results.OWLSprovidessupportforbothstylesofservicedescription.
A number of capability matching algorithms using OWLS service profile
descriptionshavebeenproposed.Ingeneral,theyexploitoneofthetwoviewsofthe
capabilitiesdescribedabove.Matchingalgorithms,suchasdescribedin[43],assume
the availability of ontologies of functionalities to express capabilities. Matching
betweenarequestandtheavailableadvertisementsisreducedtotheirsubsumption
relation. Different degrees of match are detected depending on whether the
advertisementandtherequestdescribethesamecapabilityorwhetheronesubsumes
theother.
Othermatchingalgorithms,suchasin[67],[87],and[36],assumethatcapabilities
aredescribedbythestatetransformationproducedbytheWebService.Paolucciet
al.[67]describeamatchmakingalgorithmthatcomparesthestatetransformations
described in the request to the ones described in the advertisements. More
specifically,thesubsumptionrelationbetweeninputandoutputtypesareexamined
togenerateflexiblematches,whicharebeyondtheabilitiesofexistingtextbased
matchingengines.Thealgorithm[67]performstwomatches,onecomparingoutputs
andanothercomparinginputs.Iftheoutputrequiredbytherequesterisofakind
covered(subsumed)bytheadvertisement,thentheinputsarechecked.Iftheinputs
specifiedintherequestaresubsumedbytheinputtypesacceptabletotheservice,
thentheserviceisacandidatetoaccomplishtherequester'srequirement.Numerous
extensionshavebeenproposedtoimprovethematchmakingalgorithmsbyexploiting
morefeaturesofsubsumptionrelations[43].Insteadoflookingatonlytheparameter

24
types,thesematchingalgorithmstreatthewholeOWLSprofiledescriptionasone
OWLconceptandgobeyondequalityandsubsumptionmatching.Researchershave
also pointed out the need to have a ranking mechanism to evaluate the matches
produced. Benatallah et al. [10] describe one such ranking method based on the
algorithms derived from hypergraph theory. Cardoso et al. [18] compute the
syntactic, operational and semantic similarities expressed in OWLS profiles to
generatearankingfunction.
Using OWLS for Web Service discovery has not been limited to matching
algorithms.SeveraldifferentresearchershavealsoinvestigatedhowOWLScanbe
integrated into existing Web Service discovery architectures. The OWLS/UDDI
matchmaker [87] integrates OWLS capability matching into the UDDI registry.
ThisintegrationisbasedonthemappingofOWLSserviceprofilesintoUDDIWeb
Servicerepresentations[68].Akkirajuetal.[1]improvedthiscouplingbyproviding
additionalextensionstotheUDDIinquiryAPIandenhancingtheservicediscovery
ofUDDIbyperformingsemanticmatchingandautomaticservicecompositionusing
planning algorithms. Other efforts show how to integrate OWLS with different
networkprotocolsandP2Pinfrastructure.Specifically,Paoluccietal.[70]presented
anapproachforusingOWLSbaseddiscoveryinGnutellaP2Penvironment,Elenius
and Ingmarsson [26] achieved similar functionality in Juxtapose (JXTA) P2P
infrastructure and Masuoka et al. [50] presented discovery methods in pervasive
environmentsbyutilizingtheUPnPprotocol.

7.3Composition

ThetaskofautomatedWebServicecompositionwasintroducedinSection 5.2.
Automated composition is the process of automatically selecting, combining,
integratingandexecuting WebServicestoachieve ausersobjective. Make the
travelarrangementsformyWWW2005conferencetriporBuymeanAppleiPod
atthebestavailablepriceareexamplesofpossibleuserobjectivesaddressedby
composition.Industrialstandardsprovidetoolsforspecifyingamanuallygenerated
composition so that it can be executed automatically; WSBPEL (Web Service
BusinessProcessExecutionLanguage)[4]isanexampleofsuchatool. Human
beings perform manual Web Service composition by exploiting their cultural
knowledgeofwhataWebServicedoes(e.g.,thatwww.apple.comwilldebityour
creditcardandsendyouaniPod),aswellasinformationprovidedontheservices
Webpages,inordertocomposeandexecuteacollectionofservicestoachievesome
objective. To automate Web Service composition, all this information must be
encodedinacomputerinterpretableform.Noneoftheexistingindustrialstandards
forWebServicedescriptionencodethislevelofdetail
OnekeyadvantageofautomatedWebServicecompositionisthatitallowsthe
flexibility to change the composition structure on the fly to adapt to changing
conditions.Forexample,ifaWebServicethatisneededwithinacompositionisno
longeravailable,oritdoesnothavetheproductthattheclientneeds,theoverall
composition does not fail; rather it can be modified by introducing other Web
Servicesthatsolvetheproblemathand(e.g.,bydynamicallydiscoveringservices
thataresubstitutabletotheonethatdoesnothavetherequiredproduct).Asaresult,
OWLShasthepotentialtosupportaformofdynamicWebService.

25
AutomatedWebServicecompositionisakintobothanAIplanningproblemand
asoftwaresynthesisproblem,anddrawsheavilyonbothoftheseareasofresearch.
ThereareseveraldifferentapproachestoWebServicecompositionbasedonOWLS
descriptions.Forexample,theOWLSprocessmodel hasbeenusedtoconstruct
highlevelgenericproceduresorplansthatapproximatelydescribehowtoachieve
some objective. Then these highlevel plans are expanded and refined using
automated reasoning machinery. This is the task of nondeterminism reduction
discussedpreviously. ThefirstsuchsystemwastheGologbasedsystem[58, 59].
This system interleaves the execution of informationproviding services with the
simulationofworldalteringonestogenerateasequenceofWebServicescustomized
touserspreferencesandconstraints. Inasimilarspirit,severalotherresearchers
[35,84]haveusedtheparadigmofHierarchicalTaskNetwork(HTN)planning[63]
toperformautomatedWebServicecomposition.HTNplanninghasalsobeenusedin
[69,84]tocomposeWebServicesinthetraveldomainandintheorganizationofa
B2B supply chain. Other planning techniques that have been applied to the
compositionofOWLSservices,rangefromsimpleclassicalSTRIPSstyleplanning
[83], to extended estimatedregression planning [51], to Planning as Model
Checking[85]thatdealswithnondeterminism,partialobservability,andcomplex
goals. Some of these systems limit themselves to dealing only with atomic
processes,sinceoperatorbasedplanningsystemsareunabletorepresentcomposite
processes.In[60],theauthorsproposeawayofcompilingalargeclassofcomposite
processspecificationsintoatomicprocessspecifications.
There aremanysystemsthatdeal witharelaxedservice compositionproblem
where preconditions and results (effects) are ignored. Constantinescu et al. (e.g.,
[21])presentsasystemthatconstructschainsofservicesbasedonpartialmatchesof
input/outputtypesdeterminedatruntime.Thesehavegreatutilityforinformation
integration. WebServiceComposer[85]usesaninteractivecompositionmethod
basedonparametertypestoputservicestogetherandfiltersthepotentialmatches
using information from the compositional context. An improved version of this
approachisanenduserinteractivecompositionsystem,STEER[49].STEERlets
fairlyunsophisticatedusersfind,select,composeandexecutelocal,pervasiveand
remoteWebServicestoachievecommontasks.Thesystemcombinesservicesthat
adheretodifferentontologiesbyutilizingsemanticmappingsand/ortransformation
functionswhicharealsopublishedasWebServices.
Another OWLS based approach for composition employed in the Semantic
Discovery Service (SDS) [45] is to augment the standard WSBPEL execution
engine with an OWLS ontology to enable runtime discovery and binding of
services.TheSDSsystemperformssemanticintegrationandinteroperationinthe
contextofdynamiccustomizationofexistingWebServicecompositions(WSBPEL
workflows). Customizing constraints provided by the user enable the dynamic
binding of usercustomized services in the workflow. However, this dynamic
bindingsometimesrequiresfurthersemanticintegration.OWLSisusedtodescribe
theservices,thecustomizinguserconstraints,andtoperformWebServicediscovery
and semantic integration. Certainly we would like everyone to do composition
natively in OWLS, but we also concede that many will stick with IBM and
Microsofttoolsforavarietyofreasons. BydemonstratingthatWSBPELcanbe
augmented with OWLS descriptions to perform dynamic service binding, we
demonstratethesimplevalueaddedofusinganontologysuchasOWLS,either
nativelyortoaugmentexistingsoftware.

26
TheSDSsystemwasmorerecentlyextendedtoaddanexplanationfacilitythat
enablesrichexplanationsofthesystemssuccessorfailureatcreatinganintegrated
composition[55]. TheexplainablesystemintegratesInferenceWeb[57]withthe
existingdiscoverysystemtoaddexplanation,abstraction,andbrowsingcapabilities
alongwithaprovenanceregistryinfrastructure. Compositionstepsareregistered
using the Inference Web and both successful and failed composition efforts are
explained, providing transparency and audit information. The addition of this
explanationfacilityfurtherunderlinesthevalueaddedofsemantictechnologiesfor
WebServiceapplications.Itisalsoanexampleofwhereadditionalnonfunctional
parametersareusedindescribingWebServices.Theinformationisusedtoprovide
moremeaningfulexplanations.
Whileallofthisworkispromising,wearestillsomedistancefromthegoalof
fully automated Web Service composition. With adoption of approaches to Web
ServicedescriptionsuchasOWLSandadvancesinplanningrelatedandprogram
synthesis technologies, we believe that broadscale automated Web Service
compositioniswellwithinreach.

8 ToolsandExtensions

ThereleaseofOWLShasstimulatedalotofinterestingworkintheSemantic
WebServicesarea.Applicationsfromindustryhavebeguntoemergeastheneedfor
extra semantics has become increasingly evident. As a result, a wide variety of
OWLSapplicationsandtoolsarenowavailable.OWLShasalsobeenextendedby
researcherstosupportvariousapplicationspecificrequirements.Inthissection,we
summarizeotherapplications,toolsandextensionsthatbuildonorsupportOWLS.
The OWLS Editor [27], a plugin to the popular ontology development tool,
Protg [34], provides a comprehensive set of capabilities for creating and
maintainingOWLSservicedescriptions.Amongotherthings,theeditorallowsthe
usertobuildcomplexprocessmodelsusingaGUI.AnotherOWLSeditor[80]is
providedbyUniversityofMaltaandprovidesfunctionalitytocreate,validateand
visualizeOWLSservices.DINST[33]isanothergraphical tooltovisuallybuild
OWLSservices. Theservicecreationprocesssetsupalayered serviceontology
whereOWLSisusedasanupperserviceontology.
CMU OWLS Development Environment (CODE) [88] is Eclipsebased and
supportsaSemanticWebServicedeveloperthroughthewholeprocessfromtheJava
generation, to the compilation of OWLS descriptions, to the deployment and
registrationwithUDDI.CODEincludesmodulessuchasWSDL2OWLStranslator,
anEclipsebasededitorforcreatingandeditingOWLSprofile,processmodeland
grounding, and the OWLS Virtual Machine [65]. Mindswap OWLS API [86]
providesaJavaAPIforprogrammaticaccesstoread,executeandwriteOWLS
service descriptions. The API provides functionality for parsing, serializing,
validating,reasoning,andexecutingservicesforvariousdifferentversionsofOWL
S.
TherearealsotoolsthatprimarilyfocusonthegenerationofOWLSdescriptions
fromWSDLfiles.BesidestheWSDL2OWLS[88]converter,anothersuchtoolis
Assam(AutomatedSemanticServiceAnnotationwithMachinelearning)[41]which
assiststheusertosemanticallyannotate(legacy)WSDLservices.Thetoolusesa
combination of different machine learning techniques such as iterative relational

27
classification and ensemble learning to semiautomate the annotation process.
OntoLink (OntologyLinker) [49] is another tool that helps users to generate
executableOWLSdescriptionsfromWSDLfiles.Theemphasisofthetoolisto
semiautomatethegenerationof groundingspecificationsbylettingtheuserdefine
mappings between ontologies and XML schema definitions through a GUI. An
XSLT transformation is automatically generated based on the mappings the user
definedandtheresultingOWLSgroundingisdirectlyexecutable.OntoLinksother
functionalityistospecifysemanticandsyntacticmappings/transformationsbetween
conceptsdefinedindifferentontologies(inasimilarfashion)sothatservicesdefined
usingdisjointontologiescaninteroperatetogether.Mappingsbetweenontologiesare
generated using XSLT and automatically wrapped inside a socalled translator
service.Thesetranslatorservicestransformtheoutputofoneservicetoacompatible
formatthatanotherservicecanconsumesothattwopreviouslyincompatibleservices
canbecomposedtogether.
Inadditiontodevelopingtoolsfor OWLS,researchers haveproposed several
extensions to the OWLS framework. For example, Denker et al. [24] present
securityannotationsforOWLSservicestoenablebrokeringbetweenagentsand
services. A set of ontologies that describe credentials, security mechanisms and
privacy options has been used for this purpose. Kagal et al. [31] extends this
framework to express such annotations in Rei [32], a logicbased language for
defining rules and constraints over domainspecific ontologies. The OWLS
Matchmaker system [67] is also extended for policy matching and the OWLS
Virtual Machine (VM) [65] has been extended to enforce policies and security
mechanisms.SimilarextensionstoOWLShavebeenproposedin[87]tosupport
policy and contract management using KAoS [92] services and tools. A policy
management framework is used as an authorization service in grid computing
environments,asadistributedpolicyspecificationandenforcementcapabilityfora
semanticmatchmaker,andasaverificationtoolforservicecompositionandcontract
management.OtherkindsofextensionstoOWLSincludeaugmentingtheprocess
ontology to model WS brokers [71], extensions to describe concrete application
serverswhichfacilitatereusingandcombiningSemanticWebsoftwaremodules(e.g.
ontologystores,reasoners,etc.),adaptationsofOWLSfordescribingWebServices
inthebioinformaticsdomain[98],enrichingOWLSwithspeechactstodescribe
agent based Web Services[39], andmodelingprocesses for learning software to
assistandtrainUSAirforce PlannersinanewlargeDARPAintegratedlearning
effort[30].
TheOWLSWebsite[64]includespageslistingrelatedpublications,tools,and
usecasesfromthecommunityatlarge.Inaddition,anumberofopensourcetools
arehostedat www.semwebcentral.org. DiscussionofissuesrelatedtoOWLSare
conductedonthepublicmailinglistoftheW3CsSemanticWebServicesInterest
Group[81].

9 RelatedWork

In this section we review related work and compare OWLS to alternative


approaches to linking Web Services and the Semantic Web The technologies
discussedhereare:WSBPEL,CDL,ebXML,Gridservices,SWSF,WSMO,and
WSDLS.

28
The Web Services Business Process Execution Language (WSBPEL) [4]
enablesthespecificationofexecutablebusinessprocesses(includingWebServices)
and business process protocols interms of their execution logic or control flow.
Executablebusinessprocessesspecifythebehaviorofindividualparticipantswithin
Web Service interactions and can be invoked directly, whereas business process
protocols(alsocalledabstractprocesses)abstractfrominternalbehaviortodescribe
themessagesexchangedbythevariousWebServiceswithinaninteraction.
Abstract processes only consider protocolrelevant data and ignore process
internal data and computation. The effects of such computation on the business
protocol are then described using nondeterministic data values. Executable
processes, on the other hand, are described usinga process description language
whichdealswithbothprotocolrelevantandprocessinternaldata.WSBPELalso
definesseveralmechanismsforrecoveryfromfaults,suchascatchingandhandling
offaults,andcompensationhandlerswhichspecifycompensatoryactivitiesinthe
eventofactionsthatcannotbeexplicitlyundone.
Theareaofgreatest overlapbetweenWSBPELandOWLSisintheprocess
model,buttherearesomecrucialdifferences. OWLSsprocessnotationincludes
preconditionsandresults,whichenableautomatedtoolstoselectandcomposeWeb
Services. The WSBPEL notation includes complex control structures and
exceptionrecoveryprotocols.ItwouldbefairlyeasytoaddsuchfeaturestoOWL
S, but we are reluctant to do so without further research on how to automate
reasoningaboutthem.
TheOWLSprocessmodelandWSBPELattempttocoversimilarterritory,but
incomplementaryways.TheemphasisinOWLSisonmakingprocessdescriptions
computerinterpretabledescribedwithsufficientinformationtoenableautomation
ofavarietyoftasksincludingWebServicediscovery,invocation,andcomposition.
WSBPEL provides a language primarily intended for manually constructing
processes and protocols. The two design goals are not really incompatible. For
instance,recentwork[45].hasshownhowWSBPELcanuseOWLSdescriptionsof
servicestoaugmentitsfunctionalitytoincludetaskssuchasdynamicpartnerbinding
andsemanticintegration.
ebXML(ElectronicBusinessusingeXtensibleMarkupLanguage)[25]addresses
the broad problem of B2B interaction from a workflow perspective. Business
interactionsaredescribedthroughtwoviews:aBusinessOperationalView(BOV)
andaFunctionalServiceView(FSV).TheBOVdealswiththesemanticsofbusiness
data transactions, which include operational conventions, agreements, mutual
obligations and the like between businesses. The FSV deals with the supporting
services: their capabilities, interfaces and protocols. Although ebXML does not
restrictthemeansofB2BinteractiontoWebServices,theirfocusisessentiallythe
sameasthatofOWLS.
ebXMLenablesWebServicestodescribethebusinessprocessestheysupportand
the services they offer using Collaboration Protocol Profiles (CPP). A business
processinebXMLisconsideredtobeasetofbusinessdocumentexchangesbetween
a set of Web Services. This is akin to the Web Services message exchange as
commonly described in Web Services standards. CPPs contain industry
classification, contact information, supported business processes, interface
requirementsetc.TheyareregisteredwithinanebXMLregistry(similartoaUDDI
registry), in which other Web Services and their business processes can be
discovered.However,ebXML'sscopedoesnotextendtotheformatinwhichthe

29
businessdocuments are specified. Thisisleft totheinteracting Web Services to
agreeuponaprioribythecreationofaCollaborationProtocolAgreement.Since
OWLSprovidesalanguageforthedescriptionofthebehaviorofWebServices,its
scope is complementary to that of ebXML. In fact, OWLS descriptions could
themselvesbeusedwithinebXMLtodescribethebusinessprocessesofinteracting
WebServices.
TheWebServiceChoreographyDescriptionLanguage(CDL)describesWeb
Service interactions in terms of their externally observable behavior, typically
exposedthoughmessageexchanges.Eachparticipantinaninteractionspecifiesan
interface,describingthetemporalorderingandlogicaldependenceofmessagesit
sendsandreceives.Inaddition,aglobalmodelcanbespecifiedthatdescribesthe
collectivemessageexchangeofinteractingWebServices.UnlikeWSBPEL,CDL
doesnotdescribetheexecutabledetailsofindividualWebServices.Itfocusesonthe
problemofcollaboration(messageexchangebetweendistributedpeers)ratherthan
orchestration (creation of executable Web Services). Consequently, it does not
assumethepresenceofacentralprocessmanagingtheinteractionsbetweenWeb
Services.Forthesamereason,CDLcontrolflowconstructsareconsiderablysimpler
than those of WSBPEL. CDL documents are formal specifications intended for
explication,(automated)verification,andconformancetesting,althoughtheycanbe
usedtoautomaticallygeneratecodeskeletons.
CDLcorrespondsmostcloselytotheOWLSprocessmodel.Bothsharethegoals
ofdescribingthemessageexchangebetweenparticipatingWebServices.However,
unlikeCDL,OWLSmarkupisalsomeanttosupportexecutionandthegeneration
of executable service compositions (e.g., using planning techniques). Also, CDL
specifically eschews any description of the significance, e.g., the business
significance,ofinteractionswhereasOWLSisspecificallyintendedtosupportthe
description of everything from the real world preconditions and results of an
invocationtotheclassificationofservicesbytheirprimarypurpose.
Gridservices.AGridisasystemdesignedtocoordinateresourcesthatarenot
subjecttocentralizedcontrolusingstandard,open,general purposeprotocolsand
interfacestodelivernontrivialqualityofservice[28].Theresourcesavailableona
GridaremodeledasGridserviceswithstate.TheOpenGridServicesInfrastructure
(OGSI)usesextendedWSDLconstructsandXMLschemastointroducethenotion
ofstatefulWebServicesalongwithstandardoperationsforcreatinganddestroying
WebServices,andforrepresenting,querying,andupdatingmetadataassociatedwith
aWebService.Inaddition,OGSIprovidesmechanismsforreferencestoinstancesof
WebServicesandasynchronousnotificationofWebServicestatechanges.OGSI
alsodefinesanXMLSchemafordescribingfaultsthattakeplaceduringWSDL
operations.
TheOGSIframeworkhasbeenrecentlyrefactoredtodefineafamilyofrelated
specificationsthatcouldbeadoptedonapiecemealbasis.Thisrefactoringtogether
withsomeextensionstokeeppacewithchangesinWebServicesstandardsformsthe
WSResourceFramework(WSRF).AlthoughOGSIandWSRFgobeyondWSDL
withthespecificationofseveralkindsofspecializedporttypesandfaultmessages,
theydonotattempttodescribethebehaviorofGridorWebServicesasOWLS
does.Inthissense,OWLSiscomplementarytobothofthesespecifications.
The Semantic Web Services Framework (SWSF) [82], published online
recently by the Semantic Web Services Initiative, builds loosely on OWLS to
provideamorecomprehensiveframework,inthesenseofdefiningalargersetof

30
concepts. It also builds on a mature preexisting ontology of process modeling
concepts, the Process Specification Language (PSL). SWSF specifies a Web
orientedlanguage,SWSL,withalogicprogramminglayerandalsoafirstorderlogic
layer.ItusesSWSLtodefineanontologyofserviceconcepts(SWSO),andtakes
advantageofSWSLsgreaterexpressiveness(relativetoOWL)tomorecompletely
axiomatizetheconcepts.SinceSWSOiscompletelyaxiomatizedinfirstorderlogic,
itavoidstheneedtousehybrid(DLbasedandFOLbased)reasoningasisthecase
withOWLS.
The WebServicesModelingOntology(WSMO) [96]shareswithOWLSand
SWSF the vision that ontologies are essential to support automatic discovery,
interoperation,composition,etc.ofWebServices.LikeSWSF,theWSMOeffort
defines an expressive Weboriented language, WSML [23], which provides a
uniform syntaxforsubdialectsrangingfrom descriptionlogictofirstorderlogic.
LikeOWLS,WSMOdeclaresinputs,outputs,preconditions,andresults(although
usingsomewhat different terminology)associatedwithservices. UnlikeOWLS,
WSMOdoesnotprovideanotationforbuildingupcompositeprocessesintermsof
control flow and data flow. Instead, it focuses on specification of internal and
externalchoreography,usinganapproachbasedonabstractstatemachines. Other
distinguishing characteristics include WSMOs emphasis on the production of a
reference implementation of an execution environment, WSMX, and on the
specification of mediators mapping programs that solve the interoperation
problemsbetweenWebServices.
In WSMOs approach, mediators perform tasks such as translation between
ontologies,orbetweenthemessagesthatoneWebServiceproducesandthosethat
anotherWebServiceexpects.WSMOincludesataxonomyofpossiblemediators
thathelpstoclassifythedifferenttasksthatmediatorsaresupposedtosolve.The
definitionofmediatorsinWSMOcallsattentiontosomeimportanttranslationtasks
associated with Web Services. Not surprisingly, these same translation tasks are
needed in support of interactions with OWLS described Web Services. Some
OWLSbasedsystemsalsomakeuseofmediatorcomponents.However,ratherthan
requiring the existence of a distinguished type of entity in the Web Services
infrastructure, OWLS takes the view that mediators are services (a view that
recently has been espoused by many WSMO researchers) and as such these
mediation services can use the mechanisms provided by OWLS for discovery,
invocation and composition. In addition, mediators could be constructed through
OWLSenabledcomposition[69,72].
WSDLS[2]isasmallsetofproposedextensionstoWSDLbywhichsemantic
annotationsmaybeassociatedwithWSDLelementssuchasoperations,inputand
outputtypeschemas,andinterfaces.WSDLSaimstosupporttheuseofsemantic
concepts analogous to those in OWLS while being agnostic to the semantic
representationlanguage[2]. ThewayinwhichWSDLSallowsonetospecifya
correspondencebetweenWSDLelementsandsemanticconceptsisverysimilarto
how the OWLS grounding works; indeed, something very much like OWLS
declarationscouldbeusedasthereferentsoftheWSDLSattributes. Themost
notabledifferencebetweenWSDLSandtheOWLSgroundingisthatwithWSDL
SthecorrespondencemustbegivenintheWSDLspec,whereaswithOWLSitis
giveninaseparateOWLdocument. (TheOWLSgroundingalsoproposessome
WSDLextensionelements,buttheyareregarded asoptionalformostpurposes.)
Thus, the aims of WSDLS are compatible with those of OWLS, but WSDLS

31
focuses onthepractical advantages ofamorelightweight,incremental approach.
(WenotethatWSDLSisassociatedwithanexecutionenvironmentandtoolsknown
asMETEORS,butcomparisonwithtoolsandenvironmentsisbeyondthescopeof
thispaper.)

10 ConclusionsandFutureDirections

OWLSconsistsofthreeparts:
A vocabulary for describing Web Service profiles, which are highlevel
descriptionsofWebServicessuitableforadvertisingthemandsupporting
reasoningabouttheirapplicabilitytoausersaims.
Anontologyandpresentation languageforspecifying processmodels in
detail.ThemodelsdescribeservicesprimarilyintermsofIOPRsinputs,
outputs, preconditions, and results. The preconditions and effects
(conditionedbyresultconditions)arefinegrainedandpreciseenoughtobe
matchedtotheusersformallyspecifiedgoalsanddescriptionsofavailable
resources. Composite processes addinformationabout processstructure,
behavior,andinteractions.
Anontologyfordescribing groundings ofWebServices,whichmaptheir
inputs and outputs to messages at the communicationprotocol level.
Althoughotherprotocolshavebeenused,SOAPmessaging,asdescribedby
WSDL,hasbeenthemostpopularchoiceforusewithOWLS,andthe
ontologyincludesbuiltinvocabulary for describing mappingstoWSDL
portsandmessages.
FurtherinformationonOWLSisavailableattheWebsite[64].Inadditiontothe
OWL ontology files, the release site includes examples and other forms of
documentation, including a comprehensive technical overview, a tutorial walk
through of a simple example, additional explanatory material regarding the
groundingandtheuseofprofilebasedclasshierarchies,andinformationaboutthe
status of this work. A subset of this material has been presented to the W3C
consortiumasamembersubmission[48].
We measure the success of OWLS by its ability to support research into
automatedreasoningaboutWebServicesandhowtheycanachieveusersgoals.We
areencouragedbythenumberofprojects,tools,andextensionsthatarebuildingon
OWLS(includingagreatmanyeffortsthathavebeencarriedoutbynonmembers
oftheOWLSCoalition).
Thereis,ofcourse,muchthatremainstobedone.Oneobviousgapisthelackof
exceptionhandlingmachineryintheprocessmodel.Anotheristheabsenceofways
of describing security and qualityofservice specifications. (Promising work on
thesethingsisunderway,buthasnotyetbeenincorporatedintoOWLSreleases.)
ForOWLStobecomewidelyuseditmustbecomemoretightlyintegratedwith
commercialWebServicestandardsandthetoolssupportingitmustbemadeeasierto
usefornonexpertdevelopers.Furtherworkonalgorithmsthateffectivelysupport
discovery,selection,andcompositionofservicesinlargescale,complexsettingsis
alsoneeded.Inaddition,itwillbeimportanttoconductempiricalevaluationofthe
applicability and benefits of OWLS in developing and managing servicebased
systemsinbusinessesandothersettings.

32
AsinotherareasoftheSemanticWeb,weneedmoredomainlevelontologies.
Thereisaneedtodevelopspecializationsoftheprofileforavarietyofdomains,and
forbroadcategoriesofservices. Inaddition,forservicesthatsellgoods,ontology
modulesareneededforthespecificationofcostmodels,negotiations,contracts,and
guarantees.Toencouragetheparticipationofcommunitiesofinterestindeveloping
theseextensions,weplantoinvestigatetheuseofanopensourcestyleofevolution.
OWLS provides a representational framework that provides for fuller
specification of the capabilities and behavior of Web Services, so as to support
greaterautomationofservicerelatedactivitiessuchasdiscoveryandcomposition.
We believe that the need to better support such activities in the world of Web
ServiceswillleadtosignificantfurtherevolutionofOWLSandrelatedapproaches.

Acknowledgments
NumerouspeoplehavecontributedtoOWLS,manyofwhomarenotincludedin
theauthorshipofthispaper.Inparticular,wewishtoacknowledgethecontributions
of A. Ankolekar, G. Denker, D. Elenius, J. Hobbs, L. Kagal, O. Lassila, S.
Narayanan,B.Parsia,T.Payne,M.Sabou,C.Schlenoff,M.Solanki,R.Washington
andH.Zeng.WealsowishtothankI.Horrocks,P.PatelSchneiderandM.Uschold
forhelpfulcommentsatvariousstagesofthedevelopmentofthisontology.Weare
indebted to the W3C for providing the use of the publicswsig mailing list for
discussionofOWLSissues,andtothemanyinterestedresearchersanduserswho
have taken the trouble to share their suggestions and questions on the list. We
gratefullyacknowledgefundingfromtheDARPADAMLprogram,withoutwhich
OWLSwouldnothavebeenpossible,andspecialthanksgotoJ.Hendler,M.Burke
andM.Greaves(DAMLprogrammanagers)fortheirtremendoussupportofthis
effort.

References

1. R. Akkiraju, R. Goodwin, P. Doshi, and S. Roeder, A Method for Semantically


Enhancing the Service Discovery Capabilities of UDDI, in Proceedings of IJCAI
InformationIntegrationontheWebWorkshop,Acapulco,Mexico,August2003.
2. R.Akkiraju,J.Farrell,J.Miller,M.Nagarajan,M.Schmidt,A.Sheth,andK.Verma,
Web Service Semantics WSDLS, Technical Note, Version 1.0, April, 2005.
Availableathttp://lsdis.cs.uga.edu/library/download/WSDLSV1.html.
3. J. L. Ambite (Ed.), Proceedings of the ICAPS2003 Workshop on Planning for Web
Services,2003.
4. T.Andrews,F.Curbera,H.Dholakia,Y.Goland,J.Klein,F.Leymann,K.Liu,D.Roller,
D.Smith,S.Thatte(Ed.),I.Trickovic,andS.Weerawarana,BusinessProcessExecution
Language for Web Services, Version 1.1, 2003, at
http://www.ibm.com/developerworks/webservices/library/wsbpel/.
5. A.Ankolekar,F.HuchandK.Sycara,ConcurrentExecutionSemanticsofDAMLS
with Subtypes, in Proceedings of the First International Semantic Web Conference
(ISWC2002),2002.
6. A.Ankolekar,M.Paolucci,andK.Sycara,TowardsaFormalVerificationofOWLS
Process Models, in Proceedings of the International Semantic Web
Conference (ISWC 2005),2005.
7. ApacheAxis,athttp://ws.apache.org/axis/.

33
8. F. Baader, D. Calvanese, D. McGuinness, D. Nardi, and P. PatelSchneider The
Description Logic Handbook; Theory, Implementation, and Applications. Cambridge
UniversityPress,2003.
9. W.T. Balke and M.Wagner, Towards personalized selection of Web Services, in
Proceedings of the International World Wide Web Conference,Budapest,
Hungary,2003.
10. B. Benatallah, M. Hacid, C. Rey and F. Toumani, Request RewritingBased Web
Service Discovery, in Proceedings of the Second International Semantic Web
Conference(ISWC2003),pp335350,October2003.
11. T. BernersLee, Primer: Getting into RDF and the Semantic Web using N3, at
http://www.w3.org/2000/10/swap/Primer.html, 2000.
12. T.BernersLee,J.Hendler,andO.Lassila,TheSemanticWeb, ScientificAmerican,
May2001.
13. A. BernsteinandM.Klein,HighPrecisionServiceRetrieval,in Proceedingsofthe
FirstInternationalSemanticWebConference(ISWC2002),Sardegna,2002.
14. P. Bertoli, A. Cimatti, M. Roveri, and P. Traverso, Planning in Nondeterministic
DomainsunderPartialObservabilityviaSymbolicModelChecking,inProceedingsof
the17thInt.JointConferenceonArtificialIntelligenceConference(IJCAI01),2001.
15. P.Bouquet,F.Giunchiglia,F.vanHarmelen,L.Serafini,H.Stuckenschmidt:COWL:
ContextualizingOntologies,ProceedingsoftheInternationalSemanticWebConference,
pp.164179,October2003.
16. D.Box,D.Ehnebuske,.Kakivaya,A.Layman,N;Mendelsohn,H.F.Nielsen,S.Thatte,
andD.Winer, SimpleObjectAccessProtocol(SOAP)1.1.W3CTechReport,2000,at
http://www.w3.org/TR/SOAP.
17. M.Burstein,C.Bussler,T.Finin,M.Huhns,M.Paolucci,A.Sheth,S.WilliamsandM.
Zaremba , A Semantic Web Services Architecture IEEE Internet Computing,
SeptemberOctober2005.
18. J.CardosoandA.Sheth,SemanticEworkflowComposition, JournalofIntelligent
InformationSystems,Vol.21,No.3,pp.191225,2003.
19. E. Christensen, F. Curbera, G. Meredith, and S. Weerawarana, Web Services
DescriptionLanguage(WSDL)1.1,2001,
athttp://www.w3.org/TR/2001/NOTEwsdl20010315.
20. S.Colucci,T.DiNoia,E.DiSciascio,F.M.Donini,andM.Mongiello,LogicBased
Approach to Web Services Discovery and Matchmaking, in Proceedings of the E
servicesWorkshopat5thInternationalConferenceonElectronicCommerce(ICEC'03),
Pittsburgh,USA,2003.
21. I.Constantinescu,B.Faltings,andW.Binder,LargeScale,TypeCompatibleService
Composition, in Proceedings of the 2nd International Conference on Web Services
(ICWS2004),SanDiego,USA,July2004.
22. M.Dean,D.Connolly,F.vanHarmelen,J.Hendler,I.Horrocks,D.McGuinness,P.F.
PatelSchneider, and L. A. Stein, Web Ontology Language (OWL) W3C Reference
version1.0,18August2003,athttp://www.w3.org/TR/2002/WDowlref20021112.
23. J. De Bruijn, H. Lausen, A. Polleres, and D. Fensel, The Web Service Modeling
Language WSML: An Overview, DERI Technical Report 20050616, 2005, at
http://www.wsmo.org/wsml/wsmlresources/deritr20050616.pdf
24. G.Denker,L.Kagal,T.Finin,M.Paolucci,N.SrinivasanandK.Sycara,SecurityFor
DAML Web Services: Annotation and Matchmaking, in Proceedings of the Second
InternationalSemanticWebConference(ISWC2003),pp.335350,October2003.
25. Electronic Business using eXtensible Markup Language (ebXML) Web site, at
http://www.ebxml.org/.
26. D.Elenius,M.Ingmarsson,OntologybasedServiceDiscoveryinP2PNetworks,in
ProceedingsoftheMobiQuitous'04WorkshoponPeertoPeerKnowledgeManagement
(P2PKM2004),Boston,USA,August2004.

34
27. D. Elenius, G. Denker, D. Martin, F. Gilham, J. Khouri, S. Sadaati, R. Senanayake, The
OWL-S Editor -- A Development Tool for Semantic Web Services, in Proceedings of the
2nd European Semantic Web Conference, May 2005.
28. I. Foster, What is the Grid? A Three Point Checklist, July 20, 2002, at http://www-
fp.mcs.anl.gov/~foster/Articles/WhatIsTheGrid.pdf.
29. E. FriedmanHill, Jess, the Rule Engine for the Java Platform, at
http://herzberg.ca.sandia.gov/jess/.
30. GILA project. DARPA Integrated Learning Program. Available at
http://www.atl.external.lmco.com/news/2006/050906.php.
31. L.Kagal,M.Paoucci,N.Srinivasan,G.Denker,T.Finin,andK.Sycara,Authorization
andPrivacyforSemanticWebServices,IEEEIntelligentSystems, Vol.19,No.4,pp.
5056,July2004.
32. L.Kagal,T.Finin,andA.Joshi,APolicyBasedApproachtoSecurityontheSemantic
Web,in Proceedingsofthe2nd InternationalSemanticWebConference (ISWC2003),
SanibelIsland,FL,October2003.
33. M.KleinandB.KnigRies,AProcessandaToolforCreatingServiceDescriptions
based onDAMLS, in Proceedings of 4th VLDBWorkshop onTechnologies forE
Services(TES'03),Berlin,Germany,September2003.
34. H. Knublauch, R. W. Fergerson, N. F. Noy, and M. A. Musen, The Protg OWL
Plugin: An Open Development Environment for Semantic Web Applications, in
Proceedingsofthe3rdInternationalSemanticWebConference(ISWC2004),Hiroshima,
Japan(2004).
35. U.Kuter,E.Sirin,D.Nau,B.Parsia,andJ.Hendler,InformationGatheringDuring
Planning for Web Service Composition, in Proceedings of the Third International
SemanticWebConference(ISWC2004),Hiroshima,Japan,November2004.
36. T.DiNoia,E.DiSciacio,F.M.DoniniandM.Mongiello,SemanticMatchmakingina
P2PElectronicMarketplace,SAC2003,pp.582586,2003.
37. R.FikesandN.J.Nilsson,STRIPS:ANewApproachtotheApplicationofTheorem
ProvingtoProblemSolving,ArtificialIntelligence2,pp.189208,1971.
38. F.GandonandN.Sadeh,SemanticWebTechnologiestoReconcilePrivacyandContext
Awareness,WebSemanticsJournal,Vol.1,No.3,2004.
39. N. Gibbins, S. Harris, and N. Shadbolt, Agentbased Semantic Web Services, in
Proceedingsofthe12thInternationalWWWConference(WWW2003),2003.
40. M.Gruninger,ApplicationsofPSLtoSemanticWebServices,inProceedingsofthe
WorkshoponSemanticWebandDatabases.VeryLargeDatabasesConference,Berlin
2003.
41. A. He, E. Johnston and N. Kushmerick, ASSAM: A Tool for SemiAutomatically
AnnotatingSemanticWebServices,in Proceedingsofthe3rd InternationalSemantic
WebConference(ISWC2004),Hiroshima,Japan,November2004.
42. I.Horrocks,P.F.PatelSchneider,H.Boley,S.Tabet,B.Grosof,M.Dean,SWRL:A
Semantic Web Rule Language Combining OWL and RuleML, W3C Member
Submission, May 2004, at http://www.w3.org/Submission/2004/SUBMSWRL
20040521/.
43. L.LiandI.Horrocks,ASoftwareFrameworkforMatchmakingBasedonSemantic
Web Technology, in Proceedings of the Twelfth International World Wide Web
Conference(WWW2003),pages331339,ACM,2003.
44. T.W.Malone,K.Crowston,B.P.JintaeLee,C.Dellarocas,G.Wyner,J.Quimby,C.S.
Osborn, A. Bernstein, G. Herman, M. Klein, and E. O'Donnell, Toolsfor Inventing
Organizations:TowardaHandbookofOrganizationalProcesses,ManagementScience,
Vol.45,No.3,pp.425443,March,1997.
45. D.MandellandS.McIlraith,AdaptingBPEL4WSfortheSemanticWeb:TheBottom
Up Approach to Web Service Interoperation, in Proceedings of the Second
InternationalSemanticWebConference(ISWC2003),pp.227241,2003.Codeforthe
workingsystemisavailableat:http://projects.semwebcentral.org/

35
46. D.Martin,A.Cheyer,andD.Moran,TheOpenAgentArchitecture:AFrameworkfor
BuildingDistributedSoftwareSystems,AppliedArtificialIntelligence,Vol.13,Nos.1
and2,1999,pp.91128.
47. D.Martin,M.Burstein,O.Lassila,M.Paolucci,T.Payne,S.McIlraith,DescribingWeb
ServicesusingOWLSandWSDL,inRelease1.2ofOWLS,at
http://www.daml.org/services/owls/1.2/owlswsdl.html
48. D.Martin,M.Burstein,J.Hobbs,O.Lassila,D.McDermott,S.McIlraith,S.Narayanan,
M.Paolucci,B.Parsia,T.Payne,.E.Sirin,N.Srinivasan,K.Sycara,OWLS:Semantic
Markup for Web Services. W3C Member Submission, November 2004, at
http://www.w3.org/Submission/2004/07/.
49. R.Masuoka,Y.Labrou,B.Parsia,andE.Sirin,OntologyEnabledPervasiveComputing
Applications,inIEEEIntelligentSystems,Vol.18,No.10,pp.6872,2003.
50. R.Masuoka,B.ParsiaandY.Labrou,TaskComputingTheSemanticWebmeets
Pervasive Computing, in Proceedings of the Second International Semantic Web
Conference(ISWC2003),SanibelIsland,FL,USA,October2003.
51. D.McDermott,EstimatedRegressionPlanningforInteractionswithWebServices,in
Proceedings of the Sixth International Conference on Artificial Intelligence Planning
Systems(AIPS2002),Toulouse,France,April2002.
52. D McDermott, ThePlanning DomainDefinition LanguageManual, Yale Computer
ScienceReport1165(CVCReport980003),1998.
53. D. McDermott, Presentation Syntax for OWLS, in Release 1.2 of OWLS, at
http://www.daml.org/services/owls/1.2/owlsgram/owlsgramhtm.html.
54. D. McDermott and D. Dou , Representing Disjunction and Quantifiers in RDF,
ProceedingsoftheFirstInternationalSemanticWebConference(ISWC2002),2002.
55. D.L.McGuinness,D.Mandell,S.Mcllraith,P.PinheirodaSilva,ExplainableSemantic
Discovery Services, Stanford NetworkingResearch CenterProject Review, Stanford,
CA,February2005.
56. D.L.McGuinnessandF.vanHarmelen,OWLWebOntologyLanguageOverview,
World Wide Web Consortium (W3C) Recommendation. February 10, 2004, at
http://www.w3.org/TR/owlfeatures/
57. D.L.McGuinnessandP.P.daSilva,ExplainingAnswersfromtheSemanticWeb:The
Inference Web Approach, Journal of Web Semantics, Vol. 1, No. 4, pp. 397413,
October2004.
58. S.McIlraithandT.Son,AdaptingGologforCompositionofSemanticWebServices,
inProceedingsoftheEighthInternationalConferenceonKnowledgeRepresentationand
Reasoning(KR2002),pp.482493,2002.
59. S. McIlraith., T.C. Son and H. Zeng, Semantic Web Services, IEEE Intelligent
Systems,SpecialIssueontheSemanticWeb,Vol.16,No.2,pp.4653,March/April,
2001.
60. S.McIlraithandR.Fadel,PlanningwithComplexActions,inProceedingsoftheNinth
InternationalWorkshoponNonMonotonicReasoning(NMR2002),pages356364,April,
2002.
61. S.NarayananandS.McIlraith,Simulation,VerificationandAutomatedCompositionof
Web Services, in Proceedings of the Eleventh International World Wide Web
Conference(WWW2002),Honolulu,Hawaii,May2002
62. D.S.Nau,Y.Cao,A.Lotem,andH.MuozAvila,SHOP:SimpleHierarchicalOrdered
Planner,inProceedingsoftheInternationalJointConferenceonArtificialIntelligence
(IJCAI99),pp.968973,1999.
63. D.Nau,T.C.Au,O.Ilghami,U.Kuter,W.Murdock,D.Wu,andF.Yaman,SHOP2:
AnHTNPlanningSystem,JournalofArtificialIntelligenceResearch,2003.
64. D.Martin,M.Burstein,D.McDermott,D.McGuinness,S.McIlraith,M.Paolucci,E.
Sirin, N. Srinivasan, K. Sycara, OWLS 1.2 Release, At
http://www.daml.org/services/owls/1.2/.

36
65. M. Paolucci, A. Ankolekar, N. Srinivasan, and K. Sycara, The DAMLS Virtual
Machine,inProceedingsoftheSecondInternationalSemanticWebConference(ISWC
2003),pp335350,October2003.
66. M. Paolucci, N. Srinivasan, K. Sycara, and T. Nishimura, Toward a Semantic
ChoreographyofWebServices:fromWSDLtoDAMLS,inProceedingsofICWS03,
2003.
67. M.Paolucci,T.Kawamura,T.R.Payne,andK.Sycara,SemanticMatchingofWeb
Services Capabilities, in Proceedings of the First International Semantic Web
Conference(ISWC2002),2002.
68. M.Paolucci,T.Kawamura,T.R.Payne,andK.Sycara,ImportingtheSemanticWebin
UDDI,inProceedingsofEServicesandtheSemanticWeb(ESSW02),2002.
69. M. Paolucci, K. Sycara, and T. Kawamura, Delivering Semantic Web Services, in
Proceedings of the Twelfth World Wide Web Conference (WWW2003), Budapest,
Hungary,May2003,pp111118.
70. M. Paolucci, K. Sycara, T. Nishimura, and N. Srinivasan, Using DAMLS for P2P
Discovery, in Proceedings of the First International Conference on Web Services
(ICWS'03),LasVegas,USA,June2003,pp203207.
71. M.Paolucci,J.Soudry,N.Srinivasan,andK.Sycara,UntanglingtheBrokerParadoxin
OWLS,inProceedingsofAAAISpringSymposiumonSemanticWebServices,2004.
72. M.Paolucci,N.SrinivasanandK.Sycara,ExpressingWSMOMediatorsinOWLS,in
Proceedings of the Semantic Web Services Workshop (SWS2004) at the Third
InternationalSemanticWebConference(ISWC2004). CEURWorkshopProceedings,
Vol. 119, paper 10. Online proceedings available at http://sunsite.informatik.rwth
aachen.de/Publications/CEURWS//Vol119/.
73. P.F.PatelSchneider,AProposalforaSWRLExtensionTowardsFirstOrderLogic,
W3CMemberSubmission,April2005,at http://www.w3.org/Submission/2005/SUBM
SWRLFOL20050411/.
74. PauloPinheirodaSilva,DeborahL.McGuinnessandRichardFikes. AProofMarkup
LanguageforSemanticWebServices.InformationSystems,Vol.31,Nos.45,JuneJuly
2006,Pages381395.
75. E. Prud'hommeaux and A. Seaborne, SPARQL Query Language for RDF, at
http://www.w3.org/TR/rdf-sparql-query/2005/.
76. J. Rao, P. Kungas, and M. Matskin, Composition of Semantic Web Services using
Linear Logic theorem proving, Information Systems Journal Special Issue on the
SemanticWebandWebServices,2004.
77. R.Reiter KnowledgeinAction:LogicalFoundationsforSpecifyingandImplementing
DynamicalSystems.Cambridge,Mass.:TheMITPress,2001.
78. D.Roman,H.Lausen,U.Keller,WebServiceModelingOntology,
athttp://www.wsmo.org/TR/d2/v1.1/#mediators.
79. TheRuleMarkupInitiative,athttp://www.dfki.unikl.de/ruleml/.
80. J.Scicluna,C.Abela,andM.Montebello,VisualModellingofOWLSServices,in
ProceedingsoftheIADISInternationalConferenceWWW/Internet(ICWI2004),Madrid,
Spain,October2004.
81. Semantic Web Services Interest Group (a W3C activity) home page, at
http://www.w3.org/2002/ws/swsig/.
82. SemanticWebServicesFramework,version1.0,
athttp://www.daml.org/services/swsf/1.0/.
83. M. Sheshagiri, M. desJardins, and T. Finin, A Planner for Composing Services
DescribedinDAMLS,inthe ProceedingsofAAMAS03WorkshoponWebServices
andAgentbasedEngineering,2003.
84. E.Sirin,B.Parsia,D.Wu,J.Hendler,andD.Nau,HTNPlanningforWebService
CompositionusingSHOP2,JournalofWebSemantics,Vol1,Nol.4,pp.377396,2004.
85. E.Sirin,B.Parsia,andJ.Hendler,FilteringandSelectingSemanticWebServiceswith
InteractiveCompositionTechniques, IEEEIntelligentSystems,Vol.19,No.4,pp.42
49,2004.

37
86. E. Sirin and B. Parsia, The OWLS Java API, Poster, in Proceedings of the 3rd
International Semantic Web Conference (ISWC2004), Hiroshima, Japan, November
2004.
87. N. Srinivasan, M. Paolucci, K. Sycara, An Efficient Algorithm for OWLS Based
SemanticSearchinUDDI,SWSWPC2004:96110.
88. N.Srinivasan,M.Paolucci,andK.Sycara,CODE:ADevelopmentEnvironmentfor
OWLSWebServices,
athttp://projects.semwebcentral.org/projects/owlside/
89. Sycara, K., Paolucci, M. Ankolekar, A., Srinivasan, N. Automated Discovery,
InteractionandCompositionofSemanticWebServices,JournalofWebSemantics,Vol.
1,No.1,December2003,pp.2746.
90. P.TraversoandM.Pistore,AutomatedCompositionofSemanticWebServicesinto
ExecutableProcesses,inProceedingsofthe3rdInternationalSemanticWebConference
(ISWC2004),Hiroshima,Japan,Nov.2004.
91. The Universal Description, Discovery and Integration (UDDI) Protocol, Version 3,
2003,athttp://www.uddi.org/
92. A.Uszok,J.M.Bradshaw,M.Johnson,R.Jeffers,A.Tate,J.Dalton,S.Aitken,KAoS
PolicyManagementforSemanticWebServices,IEEEIntelligentSystems,Vol.19,No.
4,pp.3241,July2004.
93. WebServicesChoreographyWorkingGrouphomepage,
athttp://www.w3.org/2002/ws/chor/.
94. WebServicesDescriptionWorkingGrouphomepage,
athttp://www.w3.org/2002/ws/desc/.
95. Web Services Architecture (Working Group Note), February, 2004, at
http://www.w3.org/TR/wsarch/.
96. WebServiceModelingOntology(WSMO)Website,athttp://www.wsmo.org/.
97. H. Wong and K. Sycara, A Taxonomy of MiddleAgents for the Internet, in
Proceedingsofthe5thInternationalConferenceonMultiAgentSystems(ICMAS2000),
AAAIPress,2000,pp.465466.
98. C.Wroe,R.Stevens,C.Goble,A.Roberts,andM.Greenwood,ASuiteofDAML+OIL
ontologiestodescribeBioinformaticsWebServicesandData,inInternationalJournal
ofCooperativeInformationSystems,Vol.12,No.2,pp.197224,2003.
99. D.Wu,B.Parsia,E.Sirin,J.Hendler,andD.Nau,AutomatingDAMLSWebServices
CompositionUsingSHOP2,inProceedingsoftheSecondInternationalSemanticWeb
Conference(ISWC2003),2003.

38

Вам также может понравиться