300 likes | 422 Views
Automatic Composition of Transition-based Semantic Web Services with Messaging. Daniela Berardi, Diego Calvanese, Guiseppe De Giacomo, Richard Hull, and Massimo Mecella September 2, 2005. Affiliations: Berardi, De Giacomo, Mecella: Università di Roma “ La Sapienza ”
E N D
Automatic Composition ofTransition-based Semantic Web Services with Messaging Daniela Berardi, Diego Calvanese, Guiseppe De Giacomo, Richard Hull, and Massimo Mecella September 2, 2005 Affiliations: Berardi, De Giacomo, Mecella: Università di Roma “La Sapienza” Calvanese: Libera Università di Bolzano/Bozen Hull: Bell Labs Research, Lucent Technologies
The Web:Yesterday, today, tomorrow 10 years ago • HTML, Web browsers established • Amazon.com launched • Web access only by landline Today • Trillions of content-based web pages • Thousands of human-machine e-commerce/e-service sites, some offering programmatic interfaces • Keyword-based search for web sites • Broadband wireless access to laptops; web on cell phones 10 years from now • Proliferation of “converged” services; always-on connectivity • 100Ks or Ms of machine-machine e-commerce/e-service sites • The “semantic web”: search based on web contents/services Automatic Composition of Semantic Web Services, VLDB 2005
Working with web services10 years from now • Automation of: • Web service discovery • Find me a shipping service that will transport fresh seafood from Trondheim to Paris. • Web service invocation • Obtain 100 kilos of Norwegian herring for Paris Fish Market • Web service selection, composition and interoperation • Establish on-going shipments of Norwegian herring. • Web service execution monitoring • Has the herring shipment been delayed this week? • Web service simulation, verification, exception handling Broad application in retail e-commerce, supply chain, e-government, communications, entertainment/gaming Automatic Composition of Semantic Web Services, VLDB 2005
Key Building Blocks for this Vision • Reasoning about message passing • Cf. Conversation model [Bultan et al, WWW ’03], etc. • FSM internal model for receive/send messages • Relating local/global messaging behavior • Reasoning about semantics, i.e., “impact on the world” • Cf. OWL-S [OWL-S Coalition, ’03], etc. • Composition results typically focus on single-use • Reasoning about the internal processes of web services • Cf. “Roman” model [Berardi et al, ICSOC ’03], etc. • Alphabet of abstract “actions” • FSM internal model • Results construct re-usable compositions • Early foundations work focuses on building blocks individually • It is now time to use a single, unified model Automatic Composition of Semantic Web Services, VLDB 2005
Focus of talk: a web service model inspired by aspects of these standards Web Services Standards Stack: Key Elements UDDI Discovery WS- Choreography Choreography BPEL4WS OWL-S ServiceModel Composition 3GPP IMS WSCL (Individual)ServiceDescription WSDL OWL-S ServiceProfile SIP PayloadMessaging SOAP HTTP, SMTP, FTP, etc. Network Automatic Composition of Semantic Web Services, VLDB 2005
Outline • Background • Colombo: A formal model that combines the key building blocks for semantic web services • Automated synthesis of “mediators” and “choreographies” in Colombo • Related work and conclusions Automatic Composition of Semantic Web Services, VLDB 2005
Messages between services – modeled as relations or FOL • Impact on “real world” Colombo: Combining the key building blocks, while respecting existing standards, approaches Bank Client (human or machine) Store Ware- House “Real World” – automata based • “View” of internal process model Automatic Composition of Semantic Web Services, VLDB 2005
Colombo: A general model, with specialization to achieve first results • The general model incorporates • Impact on “real world”: cf. OWL-S atomic process • Incorporate explicit database manipulations • Message passing: cf. WSDL and other standards • Process model inside web service: FSM-based • As in Roman, Conversation, Guarded Automata models • “System”: Collection of interoperating services • For our first results (this paper) • Willing to impose many restrictions • Key-based relations, limitations on recursion, … • Hopefully, can generalize the results in subsequent research Automatic Composition of Semantic Web Services, VLDB 2005
World, Access Functions, Accessible Terms Shipment Inventory delivery date available warehouse price order# status code address Restriction • World relations have keys (can be k-ary) Access functions, e.g., f2Inventory(HP15) = “NGW” Accessible terms over constants C, variables V: Elements of C or V; fjR(1,…,m) for accessible terms j Restriction • All database access is via key-based look-up, using accessible terms Automatic Composition of Semantic Web Services, VLDB 2005
Atomic Process (Typed) input arguments checkItem: I: item:Dom=; O: avail:Bool; wh:Dom=; price:Dom; Effects: if f1Inventory(item) = T then avail:= T and wh := f2Inventory(item) and p := f3Inventory(item) and either no-op on Inventory or modify Inventory(item;F, -, -) if f1Inventory(c) = F then avail:= F • Atomic process is “stateless” • World relations provide some state • Execution is atomic in transactional sense (Typed) output arguments Conditional effects • Effect expressed in terms of • Impact on output arguments • Insert, delete, modify on world relations • (These express full set of effects) • Effects can be non-deterministic on world relations • Reflects possibility that the abstract model of the world is incomplete Automatic Composition of Semantic Web Services, VLDB 2005
Advertised behavior of web service as guarded automaton • Local store • Edge conditions based on local store (and incoming message) • Edge actions • Atomic Process • Create/send message • Read message Restriction • Queue length: 1 • “Blocking” reads ?requestOrder( payBy,cartNum,addr,price) (payBy == CC) (price > 10)/! requestCCCheck(cartNum) (payBy == PREPAID) (price 10)/charge(cartNum; paymentOK) ?replyCCCheck( approved) paymentOK == F/! replyOrder(“fail”) paymentOK == T / requestShip(wh,addr; oid,date,status) approved == F /! replyOrder(“fail”) ! shipStatus( oid,date,status) approved == T / requestShip( wh,addr; oid,date,status) ? requestShipStatus(oid) checkShipStatus( oid; date,status) ! shipStatus( oid,date,status) Automatic Composition of Semantic Web Services, VLDB 2005
Web Services “System” S = (C , F = {S1,…,Sn} , L ) More Restrictions • No External Access: for now, no other systems impact world • “Blocking” behavior: Services block when waiting for a read “Client”– sends/receives messages; Largely non-deterministic Linkage: specifies channels between services (and client) Services S1 C S3 S2 The Si’s impact “real world” via embedded atomic processes Automatic Composition of Semantic Web Services, VLDB 2005
Execution Trees and Equivalence S = (C , F = {S1,…,Sn} , L ) • Essence of an execution tree: Project onto • Atomic process invocations • Messages from/to client • Intuitively: the observables to client, external world • Equivalence of two systems: • If essences of execution trees are isomorphic Each node labeled (id, I ) . . . Each edge satisfies , and labeled by “trace”, which records ground message sent/received or atomic process invoked . . . . . . . . . . . . . . . . . . Automatic Composition of Semantic Web Services, VLDB 2005
Outline • Background • Colombo: A formal model that combines the key building blocks for semantic web services • Automated synthesis of “mediators” and “choreographies” in Colombo • Related work and conclusions Automatic Composition of Semantic Web Services, VLDB 2005
S14 S2 S8 “UDDI” S2 S3 . . . S1 Mediator-centric Composition C C • Select from UDDI, construct mediator and linkage • Interaction with C, and with “real world”, should copy G M ? ? ? G Automatic Composition of Semantic Web Services, VLDB 2005
Composition Synthesis Result • Goal system:S = (C , G = {G} , L ) • “Goal” G has atomic processes and messages to C • Problem: Given Goal system and UDDI directory, • Select {S1,…,Sn}from UDDI • Build mediator M • Build linkage L’ so that (C , S = {M, S1,…,Sn} , L’ ) is equivalent to the goal system • Thm:Can determine existence of (and build) a (p,q)-bounded mediator in doubly exptime • Restrict to “fully mediated” systems: Client communicates only with mediator; mediator has no atomic processes • (p,q)-bounded: M has at most p states, q variables Automatic Composition of Semantic Web Services, VLDB 2005
S14 S2 S8 “UDDI” S2 S3 . . . S1 Choreography Synthesis C C • Select from UDDI, and construct a linkage • Again, interaction with C and real world should copy G G ? ? ? Automatic Composition of Semantic Web Services, VLDB 2005
Choreography Synthesis Result • Goal system:S = (C , G = {G} , L ) • “Goal” G has atomic processes and messages to C • Problem: Given Goal system and UDDI directory, • Select {S1,…,Sn}from UDDI • Build linkage L’ so that (C , S = {S1,…,Sn} , L’ ) is equivalent to the goal system (no mediator) • Thm:Can determine existence of (and build) a choreography in doubly exptime • Variant of previous proof, in which mediator is severely restricted (so (p,q)-bounded is implicit) Automatic Composition of Semantic Web Services, VLDB 2005
Proof highlights (1):Infinite to Finite • Working with data • Data domains are unbounded size • Execution trees have unbounded branching • How do we turn this into a finitely branching system? • Use “symbolic values” instead of “concrete values” • Rely on key-based look-ups • Symbolic values may be related in different ways • Focus on “Symbolic Value Characterization” (svc) • Work with “complete” boolean formula about relationships of all symbolic variables to each other, and to constants • Accessible terms • Act kind of like Skolem terms, but distinct terms may evaluate to same concrete value • Lemma: There is natural homomorphism from “concrete” exec trees to “symbolic” exec trees Automatic Composition of Semantic Web Services, VLDB 2005
Proof highlights (2):Embedding symbolic world into PDL • Generalization of approach taken by Roman composition synthesis results [Berardi et al, ICSOC ’03] • Propositions for each state of each UDDI service, Goal service, relationships between symbolic values • Sentences for new symbolic values coming from DB reads • Sentences that address FSM properties • Sentences for Mediator/Linkage vis-à-vis Goal service • Generalizations needed • Working with (symbolic) model of world instance • Non-determinism from possible values in world instance • Non-determinism from non-deterministic conditional effects • In Roman results, things are more synchronized • (We need to analyze our embedding more carefully – may obtain tighter complexity bounds) Automatic Composition of Semantic Web Services, VLDB 2005
Outline • Background • Colombo: A formal model that combines the key building blocks for semantic web services • Automated synthesis of “mediators” and “choreographies” in Colombo • Related work and conclusions Automatic Composition of Semantic Web Services, VLDB 2005
Selected related work • ASTRO: Composition with planning via symbolic modeling [Pistore et al, ISWC ’04, ICWS ’05] • Service models are inspired by OWL-S, BPEL • Uses MBP planner to build mediator satisfying the CTL-based goal • First-order Logic Ontology for Web Services (FLOWS) [http://www.daml.org/services/swsf/1.0/overview/] • An extension of PSL – a first-order situation calculus • Impact on world, messages as first-class citizens • Agnostic on process model – can model flowcharts, Golog, FSMs, … • Web Services Modeling Ontology (WSMO) [www.wsmo.org] • An ontology for web services • Follows OWL-S notion of service profile (input, output, condition, effect) • Uses Abstract State Machines as basic model for service descriptions • [Deutsch et al, PODS ’04] • Verification for single web service • Based on Abstract State Machines, with impact on relational database • Meteor-S framework (also WSDL-S) [Sheth et al ’03, ’04, ’05] • Position WSDL input/output types in domain ontologies • Composition by selecting atomic processes and placing into stylized workflow template • See also recent Hull-Su survey in SIGMOD Record, June, 2005 Automatic Composition of Semantic Web Services, VLDB 2005
Conclusions • Semantic Web Services should combine: • “Semantic” atomic processes that “change the world” • Messages for communication between web services • Ability to describe process model inside web services • Colombo • Targeted model for Semantic Web Services, with guarded automata as internal process model • Mediator and Choreography synthesis, against a “UDDI” populated with richly described services • Many restrictions in order to achieve first family of results • Emphasis on re-usable composition, rather than use-once • Some next steps • Optimize our reduction, e.g., remove some restrictions, get to EXPTIME • Relax notion of “goal”, e.g., along lines of ASTRO • Develop a theory of queries over Colombo (or FLOWS) services, to support web services discovery Automatic Composition of Semantic Web Services, VLDB 2005
Backup Slides Automatic Composition of Semantic Web Services, VLDB 2005
Colombo Model: Overview • Real world modeled by keyed relations • Atomic Processes modeled after OWL-S • Atomic Process can read/write selected world relations • Web Service: Guarded automaton • Local store (with scalars) • Transitions have conditions based on local store • Transitions have actions: • Atomic Process • Send message • Receive message • Ports (reminiscent of WSDL) • System: family of web services, with linkage • Instantaneous description, (id,I ) (id’,I‘) • Execution tree • Focus on • Systems with a “client” • Web services drawn from pre-existing set (UDDI directory) Automatic Composition of Semantic Web Services, VLDB 2005
Mapping symbolic worldinto Propositional Dynamic Logic • Propositional Dynamic Logic (PDL) • Well-known modal logic for reasoning about programs • [e.g., short intro in The Description Logic Handbook] Formulas: built from “propositional letters” (or “fluents”) == f | | ’ | [r] | r “starting from current state, every execution of r leads to state in which is true” “starting from current state, some execution of r leads to state in which is true” “f is true in current state” Programs: built from atomic Programs r == P | r r’ | r;r’ | r* ( | ? | r – ) Automatic Composition of Semantic Web Services, VLDB 2005
| | | | = = = = Semantics for PDL • Models have the form (a Kripke structure) M = ( S , {R P}, ) :S 2{fluents} For each atomic program P, a binary relation over S – “transition relation” Set of “states” (for each state s, which fluents are true in s) M,sf if f (s) M,s ’ if M,s and M,s’ . . . R P S x S for each atomic program P R r;r ’= R r R r’ . . . Automatic Composition of Semantic Web Services, VLDB 2005
| | | = = = Key results for PDL • Msatisfies if for some state s, M,s is valid in M if for each state s, M,s if is valid in every M that satisfies • Thm: • Satisfiability is ExpTime complete • is satisfiable iff there is a model with size at most exponential in || (and this can be constructed in exponential time) • Tree model property: each model can be “unwound” to form a model that has a tree structure Automatic Composition of Semantic Web Services, VLDB 2005
Composition withPlanning via Symbolic Modeling[Pistore, Traverso et. al.] Approach taken • Start with a targeted model of available services • [ISWC ’04] Start with OWL-S services • Models conditions about “state of world” but not “impact on the world” • [ICWS ’05] Start with BPEL services • Specify desired goal in terms of EaGle • Variant of CTL, incorporates preferences, handling of failure of subgoals • Attempts to build a mediator to satisfy goal • Applies a “Planning as Model Checking” tool • Various restrictions, e.g., synchronous messages, bounded ranges, • End-to-end implementation, using MBP planner Comparison to Colombo synthesis results • Focus on theoretical result, with absolute answers • Combines OWL-S + automata-based process model • “Impact on world” modeled explicitly • “Key-based access” restriction Automatic Composition of Semantic Web Services, VLDB 2005
Selected References • R. Hull and J. Su, “Tools for Composite Web Services: A Short Overview”, ACM SIGMOD Record, Volume 34, Number 2, June 2005. http://www.sigmod.org/sigmod/record/issues/0506/p86-column-libkin.pdf (Many references are available here.) • R. Hull, “Web Services Composition: A Story of Models, Automata and Logics”, keynote at Intl. Conf. on Web Services (ICWS), June 2005, Orlando, Fl, available at http://db.bell-labs.com/project/e-services-composition/2005-07-13-hull-on-web-services-at-ICWS.ppt • D. Berardi, D. Calvanese, G. De Giacomo, R. Hull, M. Marcella, “Automatic Composition of Transition-based Semantic Web Services with Messaging”, VLDB 2005 (focus of this talk), available at http://www.vldb2005.org/program/paper/thu/p613-berardi.pdf. Appendix available as Tech. Report 06-2005, Universita di Roma “La Sapienza”, http://www.dis.uniroma1.it/~mecella/publications/eService/AppendixVLDB2005.pdf • Semantic Web Services Framework: http://www.daml.org/services/swsf/. In particular, in version 1.0 the document “The Semantic Web Services Ontology (SWSO)”. (This is a draft document and will evolve.) • OWL-S: http://www.daml.org/services/owl-s/, and in particular version 1.1 (dated 11/2004) and the OWL-S white paper http://www.daml.org/services/owl-s/1.1/overview • The ASTRO project at the University of Trente, Italy, including P. Traverso, M. Pistore and others: http://sra.itc.it/projects/astro/ • The Meteor-S project at University of Georgia, including A. Sheth and others, including pointers to WSDL-S activities: http://lsdis.cs.uga.edu/projects/meteor-s/ • A. Deutsch, L. Sui, and V. Vianu. Specification and verification of data-driven web services. In Proc. ACM Symp. on Principles of Database Systems, 2004. Automatic Composition of Semantic Web Services, VLDB 2005