ebook img

Web Service Composition - Current Solutions and Open Problems PDF

8 Pages·0.131 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Web Service Composition - Current Solutions and Open Problems

Web Service Composition - Current Solutions and Open Problems Biplav Srivastava Jana Koehler IBM India Research Laboratory IBM Zurich Research Laboratory Block 1, IIT, New Delhi 110016, India CH-8803 Ru(cid:127)schlikon, Switzerland [email protected] [email protected] Abstract acomputerprogram. Inwhichordermessageshavetobe exchangedbetweenservicesmustbedescribedseparately CompositionofWebserviceshasreceivedmuch ina(cid:13)owspeci(cid:12)cation. TherearemanyWebservices(cid:13)ow interest to support business-to-business or en- speci(cid:12)cation languages like BPEL4WS [Curbera & oth- terprise application integration. On the one ers, 2002] and WSCI [Arkin & others, 2002]. The com- side, the business world has developed a num- positionofthe(cid:13)ow(i.e.,plan)isstillmanuallyobtained. ber of XML-based standards to formalize the Semantic annotations have been widely discussed in the speci(cid:12)cationofWebservices,their(cid:13)owcompo- SemanticWebcommunity[Berners-Lee,Hendler,&Las- sition and execution. This approachis primar- sila,2001]wherepreconditionsande(cid:11)ectsofservicesare ily syntactical: Web service interfaces are like explicitly declared in the Resource Description Format remote procedure call and the interaction pro- (RDF) [RDF, 1999]usingterms frompre-agreedontolo- tocolsaremanuallywritten. Ontheotherside, 1 gies. Consequently, understanding the meaning of the the Semantic Web community focuses on rea- messages poses no problem at all in this approach. For soningaboutwebresourcesbyexplicitlydeclar- composing Web services, the semantic-web community ing their preconditions and e(cid:11)ects with terms drawson AI planning, whichfor overthreedecades, has precisely de(cid:12)ned in ontologies. For the com- investigated the problem of how to synthesize complex position of Web services, they draw on the behaviorsgivenaninitialstate,anexplicitgoalrepresen- goal-orientedinferencingfromplanning. Sofar, tation, and a set of possible state transitions. It is often bothapproacheshavebeendevelopedratherin- assumed that a business process or application is asso- dependently from each other. ciated with some explicit business goal de(cid:12)nition that Wecomparetheseapproachesanddiscusstheir can guide a planning-based composition tool to select solutionstotheproblemsofmodeling,compos- the right service [McIlraith & Son, 2002]. ing, executing, and verifying Web services. We Unfortunately,wefoundthatexplicitgoalsareusually discuss what makes the Web service composi- not available from an industrial perspective. A business tion sospecial and derive challenges for the AI processmodeldescribestheprocessingofpersistentdata planning community. objects in discrete process steps. The real \goal" of a business often remains implicit in these models and is 1 Introduction rather expressed at a higher level using often using bal- anced score cards, while the implicit goal of a business The growing trend in software architecture is to build processisthecorrecthandlingorthecreationofdataob- platform-independent software components, called Web jects manifested in persistent documents. For example, services, that are available in the distributed environ- the explicit goalof atravelreservationprocessistoper- ment of the Internet. Applications are to be assembled fectlyorganizethetravel,whileits(moreorless)implicit from a set of appropriate Web services and no longer goal is the creation of the required travel documents in be written manually. Seamless composition of Web ser- some data base. vices has enormous potential in streamlining business- We believe that understanding this and other related to-business or enterprise application integration. issues will pave the way for research directions in plan- The functionality of a Web service needs to be de- ning to e(cid:11)ectively address the Web services composi- scribed with additional pieces of information, either by tion problem. To that end, we take a realistic appli- asemantic annotation of whatitdoesand/orbyafunc- cation domain for Web services (speci(cid:12)cally, trip plan- tional annotation of howit behaves. The industry views ning) and highlight to what extent business needs are Webservicesasabstract,standardizedinterfacestobusi- ness processes. The speci(cid:12)cation of a Web service is ex- 1WewillqualifyWebserviceswiththepre(cid:12)xsemanticfor pressed in WSDL [Christensen & others, 2001], which Web services expressed in RDF and reserve the term Web speci(cid:12)es only the syntax of messages that enter or leave services for business process interfaces expressed in WSDL. addressed bythe WSDL Web servicesand the Semantic tripplan. Ifoneoftheservicesfails,thecancellationpro- Web approaches. We investigate how these approaches cesssteptellstheotherservicetoputallreservationson di(cid:11)er with respect to the modeling, veri(cid:12)cation,andde- hold and contacts the customer to revise his trip. ployment of services and the respective inference meth- In the open-world variant of this example scenario, ods and runtime support that they assume. We con- we see properties that are quite typical for real-world clude with a discussion of related work and describe an planning scenarios: industry-relevant,yetunsolved,practicalplanningprob- (cid:15) a number of processes or agents concurrently and lem. cooperatively try to achieve some goal, (cid:15) processes can spawn o(cid:11) other processes at runtime 2 An Example Scenario e.g.,,foreachhotelrequestahotelservicecould be We describe in detail the Web service application sce- invoked. This number is not known at design time, nario of booking travel packages in a travel agency2 but only becomes known at runtime. and consider how a simple, closed-world travel example (cid:15) the processes partially interleave with each other, evolves into a dynamic, integrated solution. synchronize or run fully independent of each other, Intheclosed-worldcase,acustomertalkstothetravel (cid:15) each process exhibits a complex behavior, agentwhonotesthecustomer’srequestsandgeneratesa trip request document that may contain several needed (cid:15) certain planned operations may fail and require to (cid:13)ight and hotel reservations. The travel agent performs recoverfrom a failed execution. all bookings and when he is done, he puts the trip re- In the following, we are going to discuss how Web quest either into the cancelled requests or the completed services are used to implement open-world business so- requestsdatabase,seeFigure1. Acompleted document lutions. is sent to the customer as an answer to his request. If the booking fails, the customer is contacted again and 3 Web Services the whole process re-iterates. Webservicesarede(cid:12)nedasself-contained,modularunits of application logic which provide business functional- ity to other applications via an Internet connection. Web services support the interaction of business part- ners and their processes by providing a stateless model of \atomic" synchronous or asynchronous message ex- changes. These\atomic"messageexchangescanbecom- posedintolongerbusinessinteractionsbyprovidingmes- sage exchange protocols that show the mutually visible message exchange behavior of each of the partners in- volved. Theissueofhowwebservicesaretobedescribed can be resolved in various ways. Figure 1: The closed-worldtravel agency. 3.1 Web Services in WSDL Let us assume that our travel agency wants to co- The Web Services De(cid:12)nition language (WSDL) [Chris- operate with external specialized service providers that tensen&others,2001]isanXML-basedlanguage,which o(cid:11)erhoteland(cid:13)ightreservations. Theprocessisnowno speci(cid:12)esaWebservicebyde(cid:12)ningmessagesthatprovide longeraclosed-worldsolution,butrequirestoreorganize anabstractde(cid:12)nitionof the data beingtransmittedand the entireprocessingofcustomerrequests. Newservices operations that a Web service provides to transmit the have to be integrated and all services must correctly in- messages. Four types of communication are de(cid:12)ned in- teract with each other. volving a service’s operation (endpoint): the endpoint Inthisnewsituation,uponreceivingthe customeror- receivesamessage(one-way),sends amessage(noti(cid:12)ca- der, the travel agent will still create a trip request and tion), the endpoint receives a message and sends a cor- derive the required hotel and (cid:13)ight reservations for it. related message (request-response), and it sends a mes- These are now sent to specialized services, which work sageandreceivesacorrelatedmessage(solicit-response). independently of each other and try to book the de- Operations are grouped into port types, which describe siredreservations. Thecoordinationisachievedthrough abstract end points of a Web service such as a logical the travel agent process to whom the services report address under which an operation can be invoked. A their success or failure in making the requested book- WSDL message element de(cid:12)nes the data elements of ings. When both services have been successfully com- an operation. XML Schema syntax is used to de(cid:12)ne pleted, thecon(cid:12)rmationprocessstepputsalldocuments platform-independent data types which messages can togetherand informs the customer about the completed use. Eachmessagecanconsistofoneormoreparts. The parts can be compared to the parameters of a function 2See http://www.w3.org/2002/04/17-ws-usecase. call in a traditional programming language. Concrete protocol bindings and physical address port speci(cid:12)ca- verbandobjectofasentence. Eachelementofthetriple tions complete a Web service speci(cid:12)cation. is represented by a Universal Resource Identi(cid:12)er (URI). We show a sample WSDL fragment for a possible RDF canbewritten inmultiplenotations- XML,Nota- travel agency service. Port type names are simple de- tion3, etc. Along with RDF, one can use RDF Schema faultstringsandoperationnamesillustratetheinteract- (RDFS) to express classes, properties, ranges and doc- ing process steps. For example, \Customer to Create umentation for resources and the DAML-S [Ankolenkar Itinerary"isabbreviatedwith CToCI,\CreateItinerary & others, 2002] ontology to represent further relation- to Flight Service" is abbreviated with CIToFS, RIToFS ships and/orpropertieslikeequivalences, lists,and data stands for \Replan Itinerary to Flight Service". types. DAML-S has de(cid:12)ned Service class to model Web services with the properties presents, describedBy and <definitions targetNamespace="http://..." supports. The properties in turn have classes Service- xmlns="http://schemas.xmlsoap.org/wsdl/"> <message name = "OrderEvent"></message> Pro(cid:12)le, ServiceModel and ServiceGrounding as their re- <message name = "TripRquest"></message> spective ranges. <message name = "FlightRequest"></message> For the travel reservation example, we will model <message name = "HotelRequest"></message> the di(cid:11)erent participating Web services in terms of the <message name = "BookingFailure"></message> DAML-Sontology. Letusassumethatourtravelagency will use the Web service interface similar to the (cid:12)ctious <portType name ="pt1"> airline,BravoAir,whoseDAML-Sdescriptionispublicly <operation name ="CToCI"> available.3 <input message ="TripRequest"/> </operation> TheServicePro(cid:12)legivesahigh-leveldescriptionofthe </portType> service that can be used to advertise its features and <portType name ="pt2"> used by clients to select and locate the servicefrom reg- <operation name ="CIToHS"> istries. The most important information it contains are <output message ="HotelRequest"/> the inputs, outputs, preconditionsandpostconditionsof </operation> theservice. Forexample,the(cid:13)ightitineraryoutputfrom </portType> the airline is shown below. It is a specialization of the <portType name ="pt3"> general (cid:13)ight itinerary concept de(cid:12)ned elsewhere4 and <operation name ="CIToFS"> also refers to the round trip resource. <output message ="FlightRequest"/> </operation> <profile:output> </portType> <profile:ParameterDescription ... rdf:ID="FlightItinerary"> <portType name ="pt9"> <profile:parameterName> <operation name ="RIToFS"> FlightItinerary <output message ="BookingFailure/> </profile:parameterName> </operation> <profile:restrictedTo </portType> rdf:resource=".../concepts.daml </definitions> #FlightItinerary"/> From the de(cid:12)nition, once can see that a Web service <profile:refersTo isviewed likearemoteprocedurecall(RPC). The exact rdf:resource="#roundTrip_In"/> </profile:ParameterDescription> controlanddata(cid:13)owthatdetermineswhenanoperation </profile:output> can execute, is provided in a (cid:13)ow composition language likeBPEL4WS|weshowthe(cid:13)owforthetravelexample The ServiceModel is a detailed description of the ser- in Section 4.1. A service is invoked and it either gets a vice in which it is modeled as a process. This descrip- synchronous or an asynchronous response. In this frag- tion is further sub-divided into a process model, which ment,alloperationsareasynchronous,i.e.,noneofthem describes the sub-components of the service and a pro- speci(cid:12)esaninput andanoutputmessage. Themessages cess control model, which provides a runtime frame- aresimplesyntacticdescriptions(usuallygivenasanas- work to monitor the execution of the service. In the sociatedXMLschemathatwedonotshow)withoutany process model description of a composite process, the semantics. sub-processes dependencies and interactions can be ex- pressedbySequence,Split,Unordered,etc. Wewillshow 3.2 Web Services in the Semantic Web therepresentationofastatic(sub-)(cid:13)owforthe(cid:13)ightSer- The Semantic Web [Berners-Lee, Hendler, & Lassila, vice at BravoAir in Section 4.2. 2001] views the World Wide Web as a globally linked Finally, the ServiceGrounding provides the binding databasewherewebpagesaremarkedwithsemantican- level information of how a client can access the service, notations. At the core, semantic annotations are asser- e.g.,byusingSOAPorJavaRMI.Inthefragmentshown tionsaboutwebresourcesandtheirproperties(example, \AissubclassofB")expressedinthe ResourceDescrip- 3See http://www.daml.org/services/daml-s/0.7/. tionFormat(RDF) [RDF,1999]. AnRDFdescriptionis 4See http://www.daml.ri.cmu.edu/ont/DAML-S/ con- a set of triples where each triple is akin to the subject, cepts.daml. below, DAML-S parameters are mapped to WSDL de- <process name ="TripHandling"> scriptions which in turn have protocol-level binding in- <partners> formation. <partner name ="Customer" myRole ="TripHandlingAgent" <grounding:wsdlOutputMessageParts serviceLinkType ="ExternalServiceLink" rdf:parseType="daml:collection"> partnerRole ="CustomerAgent"/> <grounding:WsdlMessageMap> <grounding:damlsParameter <partner name ="FlightService" rdf:resource=".../FlightItinerary"/> myRole ="TripHandlingAgent" <grounding:wsdlMessagePart> serviceLinkType ="InternalServiceLink" <xsd:uriReference partnerRole ="FlightServiceAgent"/> rdf:value=".../availFlightItinerary"/> </grounding:wsdlMessagePart> <partner name ="HotelService" </grounding:WsdlMessageMap> myRole ="tripHandlingAgent" </grounding:wsdlOutputMessageParts> serviceLinkType ="InternalServiceLink" partnerRole ="HotelServiceAgent"/> With the Semantic Web infrastructure in place, prac- </partners> tical and powerful applications can be written that use annotations and suitable inference engines to automati- <containers> ... <containers> cally discover, execute, compose, and interoperate Web ... services. While type and consistency checking are cur- </process> rently possible and inferencing with Horn-clauses will For each WSDL message, a corresponding container soon be available, larger subsets of (cid:12)rst-order predicate to hold that message must be speci(cid:12)ed. logicarenotyetsupportedbytheSemanticWeb,i.e.,the degree of logical expressivity as it has been achieved in <containers> <container name ="OrderEvent" today’s planning languages has not yet been reached. messageType ="OrderEventType"/> <container name ="TripRequest" 3.3 Discussion messageType ="TripRequestType"/> WSDL provides a function-centric description of Web <container name ="FlightRequest" services covering inputs, outputs, and exception han- messageType ="FlightRequestType"/> <container name ="HotelRequest" dling. The Semantic Web provides a process level de- messageType ="HotelRequestType"/> scription of the service which, in addition to functional <container name ="BookingFailure" information, models the preconditions and postcondi- messageType ="BookingFailureType"/> tions of the process so that the evolution of the domain </containers> canbelogicallyinferred. Itreliesonontologiestoformal- The most di(cid:14)cult task for an IT specialist is to ize domain concepts which are shared among services. specify the logic of the message (cid:13)ow.5 For this pur- pose, BPEL4WS provides programming-language like 4 Modeling Flow Composition constructs (sequence, switch, while, pick) as well as graph-basedlinksthatrepresentadditionalorderingcon- WenowdiscusshowthetwoapproachesaddresstheWeb straints on the constructs. The language is fairly com- service composition problem. Given the di(cid:11)erent infor- plex as the example below illustrates. mationthatisavailabletospecifyaWebserviceineither Theprocessstartswhenitreceivesatriprequestfrom approach, it is not very surprising that the solutions to the customer. Afterthe requesthasbeenreceived,hotel the (cid:13)ow composition problem come out in apparently and (cid:13)ight request messages can be sent in any order to di(cid:11)erent (albeit not so divergent) ways, too. the two partner services. 4.1 Industry Solution: WSDL + <sequence> BPEL4WS <receive partner="Customer" portType ="pt1" We saw the interface description of the travel agent operation ="CToCI" WebserviceinWSDL.Theinteractionsandmessageex- container ="OrderEvent"> changes between the travel agent and its partners|the </receive> customer,the (cid:13)ightandhotelservicesaredescribedina businessprotocolspeci(cid:12)cationlanguage(wewillconcen- <flow> trate on the standard BPEL4WS proposed by IBM and <invoke partner ="HotelService" Microsoft), which speci(cid:12)es the roles of each of the part- portType ="pt2" operation ="CIToHS" ners and the logical (cid:13)ow of the message exchangesfrom inputContainer ="HotelRequest"> the perspective of the travel agent process. To make the examplemore interesting,we assume that the inter- 5Developmente(cid:11)orttosupportorpartiallyautomatethis action with the customer will also proceed via a Web task is under way in the industry, but this goes beyond the service interface. scope of our paper. </invoke> inputContainer ="BookingFailure"> <invoke partner ="FlightService" </invoke> portType ="pt3" </case> operation ="CIToFS" <otherwise> inputContainer ="FlightRequest"> <invoke partner ="FlightService" </invoke> portType ="pt9" </flow> operation ="EVAL2ToFS" inputContainer ="BookingFailure"> Afterthe partnerserviceshavebeen invoked,the pro- </invoke> cess waits for the services to send the results of their </otherwise> bookingoperations,whichagaincanarriveinanyorder. ... </switch> <flow> <receive partner ="HotelService" Each of the partner processes needs to be speci(cid:12)ed portType ="pt4" in a similar way and it must be made sure that these operation ="HSToEVAL1" speci(cid:12)cations (cid:12)t to each other. We will get back to this container ="HotelRequest"> problem in Section 5. </receive> 4.2 Semantic Web Solution: <receive partner ="FlightService" RDF/DAML-S + Golog/Planning portType ="pt5" operation ="FSToEVAL1" Let us now try to solve the service composition prob- container ="FlightRequest"> lem of the traveldomain from a Semantic Web perspec- </receive> tive. We again focus on one of the partners and con- </flow> sider the static (sub-)(cid:13)ow for the (cid:13)ight reservation at After the answers have been received, the process BravoAir, which is speci(cid:12)ed in the process model of the needs to branch depending on whether the trip could ServiceModel. The service model states that the (cid:13)ight be bookedornotbythe services. Thisintroducesa(cid:12)rst reservationatBravoAirisacompositeprocess(service) <switch>constructinthe process. Weonlyshowavery realized by invokingthe sequence of sub-processes: Get- abstractrepresentationofthecondition,whichinreality DesiredFlightDetails, SelectAvailableFlight, and Book- will be a complex XPATH expression on the contents of Flight. Basically, the ServiceModel construct of each thearrivingmessage. Inthe(cid:12)rstbranch(ConIToC),the service will be used to describe its (static) process level processneedstoinform the customer aboutthe success- description, and the complete speci(cid:12)cation is compara- fulcompletionofhisreservationandsendsthecompleted ble to a BPEL4WS process speci(cid:12)cation. trip request documents. In the second branch (RIToC), <daml:Class rdf:ID="BravoAir_Process"> it needs to inform the customer about the booking fail- <daml:subClassOf rdf:resource= ureand decide, which of the serviceshasto be informed ".../Process.daml#CompositeProcess"/> about the failure of the other partner. The partners <daml:subClassOf> can be informed in any order, which again introduces a <daml:Restriction> <flow>construct into the process. Within the (cid:13)ow, an- <daml:onProperty rdf:resource= ".../Process.daml#composedOf"/> other <switch> construct is nested that decides which <daml:toClass> partner is informed. <daml:Class> <switch> <daml:intersectionOf rdf:parseType= <case condition ="condition1"> "daml:collection"> <invoke partner ="Customer" <daml:Class rdf:about= portType ="pt6" "process:Sequence"/> operation ="ConIToC" <daml:Restriction> inputContainer ="TripRequest"> <daml:onProperty rdf:resource= </invoke> ".../Process.daml#components"/> </case> <daml:toClass> <daml:Class> <otherwise> <flow> <process:listOfInstancesOf rdf:parseType= <invoke partner ="Customer" "daml:collection"> portType ="pt7" <daml:Class rdf:about="#GetDesiredFlightDetails"/> operation ="RIToC" <daml:Class rdf:about="#SelectAvailableFlight"/> inputContainer ="BookingFailure"> <daml:Class rdf:about="#BookFlight"/> </invoke> </process:listOfInstancesOf> <switch> <case condition="condition2"> </daml:Class> <invoke partner ="HotelService" ... portType ="pt8" </daml:Class> operation ="EVAL2ToHS" In [McIlraith & Son, 2002], a method is presented to mation that can be bound to di(cid:11)erent protocols. One compose Web services by applying logical inferencing thingtonoteisthatthereissigni(cid:12)cantlymoreemphasis techniques on pre-de(cid:12)ned plan templates. The service inBPEL4WSonerrorhandlingandmessagecorrelation. capabilities are annotated in DAML-S/RDF and then In BPEL4WS, it is possible to express choice among manually translated into Prolog. Now, given a goal multiple process activities using the pick and switch description, the logic programming language of Golog constructs, but the set of choices is pre-determined and [Levesque et al., 1997] (which is implemented over Pro- eachactivityisconditionedontheoccurrenceofanevent log) is used to instantiate the appropriate plan for com- or a speci(cid:12)c message contents. A similar construct in posingtheWebservices. Gologisbasedonthesituation DAML-S is the Choice construct for selecting a sub- calculus and it supports speci(cid:12)cation and execution of set of sub-processes from a composite process. The Se- complex actions in dynamical systems. The authors ex- mantic Web composition solution with RDF/DAML-S tendittosupportsensingactionsthatcan(cid:12)ndvaluesof and Golog seems to be comparable to the BPEL4WS variables at runtime. speci(cid:12)cation|both allow the customization of the plan execution at runtime, i.e., to select a particular branch (cid:22) proc(travel(D1, D2, 0, D) ofexecutionortoloopuntilanexitconditionissatis(cid:12)ed, (cid:0) and support the binding of variables to concrete values (cid:0) bookRAirticket(O, D, D1, D2), discovered at runtime. bookCar(D, D, D1, D2) The industry approach looks at composite services (cid:1) j mainly from the runtime perspective of functions, data bookCar(O, O, D1, D2), and control (cid:13)ow. Under this angle, the essential infor- bookHotel(D, D1, D2), mationforreasoningaboutaserviceareinputs, outputs sendEmail, and exception handlers. Schemasde(cid:12)ne and restrictthe updateExpenseClaim formatof data andde(cid:12)netheirrelationships. Flexibility (cid:1) ). in dynamically adapting the plan is limited to the spec- i(cid:12)cation of binding details at runtime and to executing speci(cid:12)c branches in it. Table 1: Travel reservation procedure using Golog. O, The planning approachesin the SemanticWeb arefo- D, D1 and D2 stand for Origin, Destination, Departure cusedontheprocess-centricdescriptionofservicesasac- time and Return time. tions that are applicable in states. State transitions are de(cid:12)ned based on preconditions of actions and a transi- Table 1 shows the generalized plan taken from [McIl- tions leads to new states where the e(cid:11)ects of the action raith & Son, 2002]that is input totheir Gologreasoner. are valid. They need a representation of state, actions, Theplanspeci(cid:12)esthatinordertomakeatravelbooking, goals, events and optionally, an ontology of standard i.e., to achieve the goal travel(D1, D2, 0, D), either terms. The plan can be adapted both o(cid:15)ine and on- a return air and subsequent car reservation have to be line. There is more (cid:13)exibility in terms of considering madebetweenthe originanddestination,oradirectcar di(cid:11)erent choices of services (plans) based on goals, but reservation has to be made. This will be followed by the goals are explicitly given. making hotel reservations, sending an email about the It is our impression that none of the approaches has overall reservation to the user and (cid:12)nally updating the developed a true planning solution to the service com- expense claim forms. Similar plan/action templates for position problem so far. Both, BPEL4WSspeci(cid:12)cations individualprocesseslikebookRAirTickethavetobede- andGologprograms,arewrittenmanuallyandnoassem- (cid:12)ned as well. bling of complex (cid:13)ows from atomic message exchanges The Golog reasoner, given the plan and action tem- based on a search process takes place. We also see the plates, evaluates non-deterministic choices and executes following characteristics that make current AI planning the plan. Since execution is in the Prolog environment, technologynot directly applicable to the servicecompo- the non-deterministic choice is actually made according sition problem: tothedefaultevaluationorder(i.e., theorderofappear- ance of literals). Essentially, Golog programs are user- (cid:15) The action representations can be kept rather sim- providedplantemplateswhicharecustomized(boundat ple and only need to model the receiving or send- runtime) to goal instances. The system uses hand-built ing of a particular message type. However, plans wrappers to transform semantic annotations into Golog need to contain complex control structures involv- representations, and vice-versa. ing loops,nondeterminism, and choice. So far, only Inthe followingsection,wecomparethe speci(cid:12)c char- the planning as model checking approach has been acteristics of the two approaches with each other and abletoprovideinitialsolutionstothe generationof derive challenges for AI planning research. such complex plans [Giunchiglia & Traverso, 1999]. (cid:15) The planning problem cannot reallybe expected to 5 Discussion take placeat the level of primitive actions and con- Thespeci(cid:12)cationofthecompositeservice,whetherspec- trol structures, but seems to require to take com- i(cid:12)ed in BPEL4WS or DAMLS-S, encodes process infor- plex plans as building blocks and synthesize multi- partnerinteractionsfromthem. Wediscussthisfur- can these partners successfully communicate with each ther below. other? No results are available so far. From this discussion, it becomes apparent that the (cid:15) The\objects"manipulatedbytheactionsaretyped web service composition problem is very similar to the messages,whichhaveaveryrichstructure. Atyped designand speci(cid:12)cationof computerprotocols, with the message may contain identi(cid:12)able parts that can be essential di(cid:11)erence that the semantics of the new busi- arbitrarily complex descriptions. This resembles ness protocol languages is not precisely de(cid:12)ned. This muchmorethe objectrepresentationsfromdescrip- major de(cid:12)ciency attracts more and more critics [Staab tion logics than the sparseobjects that are used by & others, 2003]. We see several possible candidates on the planning community. The rich structure of the which a formal semantics could be built: process alge- messageobjects isessentialtospecify the (cid:13)owlogic bras[Milner, 1989], automatamodels [Brand & Za(cid:12)rop- andtoprovidemechanismsformessagecorrelation. ulo, 1983; Holzmann, 1991], and the situation calculus (cid:15) Finally,weremarkthatincontrasttoclassicalplan- [Reiter,1997](recalltheworkinGologthatwediscussed ning, where all objects are available in the initial above). A related issue is how to give semantics to state and the actions change the state of objects, the input and output speci(cid:12)cation of a composite ser- webservicescreatenewobjectsatruntime,i.e.,they vicewhere di(cid:11)erent outputs canbe produced onlywhen producemessageobjectsduringtheirexecutionthat certaincomplexconditionsaresatis(cid:12)edalongsomecom- then can be further processed by other services. It position paths [Ankolenkar & others, 2002]. isanopenproblemwhetherthisbehaviorcanbead- The industry has high performance and availability equatelymodeledwith the currentlyavailableplan- requirements on Web services when they are deployed ning techniques. in a production environment. They want the Web ser- If one models Web services as action speci(cid:12)cations vices to be robust, meterable (so that service usage can similar to those used by AI planning, one can provide be charged), secure (if needed), and veri(cid:12)able. Some of a more generic and powerful solution to the (cid:13)ow com- these requirements are re(cid:13)ected in their speci(cid:12)cations positionproblem,i.e., build new(cid:13)owplansfromscratch like BPEL4WS and there are initial attempts to verify [McDermott,2002;Srivastava,],butscalablealgorithms them using formal methods [Fu, Bultan, & Su, 2002]. tosynthesizetherequiredcontrolstructuresarenoteasy The Semantic Web has also started to look at the ver- to provide. Considering the BPEL4WS example, this i(cid:12)cation problem of (cid:13)ows. In [Narayanan & McIlraith, would require to wrap the receive and invoke activi- 2002],the semanticsofasubsetofDAML-S isexpressed ties asthe actions in the plan and specify their pre-and in a (cid:12)rst order language and Petri nets are used to sim- postconditions in an explicit way by referring to struc- ulate, compose, and verify Web services. tural properties of incoming and outgoingmessages and perhaps to the internal state of the BPEL4WS process. 6 Related Work Note that no assumptions about the internal state of a partner process can be made as this information is not The literature on Web services and the Semantic Web available. It is a fundamental assumption that partners is abundant [Staab & others, 2003] and the need for can hide and constantly modify their processes behind a more rigorous formal foundation is widely discussed. thestandardizedmessageexchangeinterfacesasexposed Currently, most of the work is in the description of by Web services. Web services, the syntax of their (cid:13)ows, and how they A currently very relevant problem is the following: could be executed. In the future, it is necessary to view Given the message exchange behavior of one partner, Webservicesinthecontextofspecifying,validating,and i.e.,the businessprotocolthatheruns, constructavalid automatically synthesizing complex, reactive processes. counterpart foranother partner such that both can suc- Many areas of planning could become relevant in the cessfully communicate with each other. BPEL4WS is future: the area of distributed planning [DesJardins et a very complex language for specifying business proto- al., 1999], planning as model checking [Giunchiglia & cols and it is unknown how di(cid:14)cult the construction of Traverso, 1999], or approaches that are between plan- a \dual" protocol is. From a planning perspective, it ning and the problem of synthesizing controllers [Bar- is challenging how to map this problem to the classical beau&others,1998],justtonameafew. Automata-like representation involving initial states and goals. A sim- representationshavealreadybeenexploredinaplanning pler approach to business protocol speci(cid:12)cation is the context[Dal-Lago,Pistore,&Traverso,],butsofarthey Web Services Conversation Language (WSCL) [Banerji werefocused onthe representationof goals, not actions. & others, 2002], which uses simple UML activity dia- In HTN planning [Erol, Hendler, & Nau, 1994] opera- grams to specify a protocol. The 2-partnerproblem can tors can express aggregate behavior that can be further beeasilysolvedinWSCL, butthe problembecomesdif- re(cid:12)ned, but how to express nondeterminism and iter- (cid:12)cultagainforamulti-partnerscenario. Theproblemis ations in compound tasks is still an unexplored issue. also discussed in [Piccinelli & others, 2002] and a very Using planning for the travel domain has been demon- preliminary solution is provided. strated in [Ambite & others, 2002], where aninteractive The decision-problem variant is also of highly prac- framework of CSP solving is used to build travel plans tical relevance: Given two or more partner protocols, in conjunction with inputs from the user. However, this approach does not involve the usage of nondeterminis- [Dal-Lago, Pistore, & Traverso, ] Dal-Lago,U.; Pistore, tic or iterative operators. Planning has recently been M.; and Traverso, P. Planning with a language for explored for generating work(cid:13)ows in the Grid, but an extended goals. In Proc. AAAI, 447{454. explicit goal speci(cid:12)cation must be given [Blythe & oth- [DesJardins et al., 1999] DesJardins, M.; Durfee, E.; ers,2003]. AnapplicationofregressionplanningtoWeb Ortiz, C.; and Wolverton, M. 1999. A survey of re- services is described in [McDermott, 2002]. searchindistributed,continualplanning.AIMagazine 20(4):13{22. 7 Conclusion and Future Work [Erol, Hendler, & Nau, 1994] Erol, K.; Hendler, J.; and Starting from the current interest in Web services, we Nau, D. 1994. UMCP: A sound and complete proce- exploredthe web servicecompositionproblemand com- dure for hierarchical task-network planning. In Proc. pared the two major approaches to this problem|the AIPS, 249{254. industrial approach and the Semantic Web approach| [Fu, Bultan, & Su, 2002] Fu, X.; Bultan, T.; and Su, J. with each other. We identi(cid:12)ed several, highly relevant 2002. Formal veri(cid:12)cation of e-services and work(cid:13)ows. subproblems and related them to the AI planning per- Proc. ESSW. spective. Although these problems resemble planning problems, it does not seem possible to directly apply [Giunchiglia & Traverso, 1999] Giunchiglia, F., and current AI planning technology to them. We discussed Traverso, P. 1999. Planning as model checking. In the characteristics of these problems, which make them Proc. ECP. di(cid:11)erent from the commonly studied planning scenarios [Holzmann, 1991] Holzmann, G. 1991. Design and Val- and we identi(cid:12)ed future researchdirections. idation of Computer Protocols. Prentice Hall, New Jersey. References [Levesque et al., 1997] Levesque, H. J.; Reiter, R.; Les- [Ambite & others, 2002] Ambite,J.L.,etal. 2002. Get- perance,Y.;Lin,F.;andScherl,R.B. 1997. GOLOG: ting from here to there: Interactive planning and A logic programming language for dynamic domains. agent execution for optimizing travel. In Proc. IAAI. Journal of Logic Programming 31(1-3):59{83. [Ankolenkar & others, 2002] Ankolenkar, [McDermott, 2002] McDermott, D. 2002. Estimated- A., et al. 2002. DAML services. regressionplanningforinteractionswith webservices. http://www.daml.org/services/. In Proc. AIPS. [Arkin & others, 2002] Arkin, A., et al. 2002. [McIlraith & Son, 2002] McIlraith, S., and Son, T. C. Web services choreography interface WSCI. 2002. Adaptinggologforcompositionofsemanticweb http://www.w3.org/TR/wsci/. services. In Proc. KRR, 482{493. [Banerji & others, 2002] Banerji, A., et al. 2002. [Milner, 1989] Milner, R. 1989. Communication and WSCL: The web services conversation language. Concurrency. Prentice Hall. http://www.w3.org/TR/wscl10/. [Narayanan & McIlraith, 2002] Narayanan, S., and [Barbeau & others, 1998] Barbeau, M., et al. 1998. McIlraith, S. 2002. Simulation, veri(cid:12)cationand auto- A method for the synthesis of controllers to handle mated composition of web services. In Proceedings of safety,liveness,andreal-timeconstraints.IEEETrans the World Wide Web Conference. on Automatic Control 43(22):1543{1559. [Piccinelli & others, 2002] Piccinelli, G., et al. 2002. [Berners-Lee, Hendler, & Lassila, 2001] Berners-Lee, Web service interfaces for inter-organisational busi- T.; Hendler, J.; and Lassila, O. 2001. The semantic ness processes - an infrastructure for automated rec- web. Scienti(cid:12)c American, May issue. onciliation. In Proc. EDOC, 285{292. [Blythe & others, 2003] Blythe, J.,et al. 2003. Therole [RDF, 1999] RDF. 1999. RDF: Resource description of planning in grid computing. Proc. ICAPS. framework. http://www.w3.org/RDF/. [Brand & Za(cid:12)ropulo, 1983] Brand, D., and Za(cid:12)ropulo, [Reiter, 1997] Reiter, R. 1997. Knowledge in Action: P. 1983. On communicating (cid:12)nite-state machines. Logical Foundations for Describing and Implementing Journal of the ACM 30(2):323{342. Dynamical Systems. Preprint Version. [Christensen & others, 2001] Christensen, E., [Srivastava, ] Srivastava, B. Automatic web services et al. 2001. The web services de- compositionusingplanning. InProc. KBCS,467{477. scription language WSDL. http://www- [Staab & others, 2003] Staab, S., et al. 2003. Web ser- 4.ibm.com/software/solutions/webservices/resources.html. vices: Been there, done that? IEEE Intelligent Sys- [Curbera & others, 2002] Curbera, F., et al. tems, Jan-Feb issue. 72{85. 2002. Business process execution lan- guage for web services. http://www- 106.ibm.com/developerworks/webservices/library/ws- bpel/.

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.