ea0c76600abdf291c1f424fbd7ef8fe8.ppt
- Количество слайдов: 26
International Conference on Service Oriented Computing (ICSOC), September, 2004, NY Automated Composition of E-Services: Lookaheads *, , Çağdaş EGerede Richard Hull. *, Oscar H. Ibarra. Jianwen * Su University of California, Santa Barbara* & Bell Labs/Lucent Technologies 1
Service Composition § Among the key issues for web services [Tutorial by Hull-Su in SIGMOD ’ 04] § Automated composition: a holy grail problem [Tutorial by Giacomo-Mecella in ICSOC’ 04] § Planning [e. g. , Mc. Ilraith ’ 02, Traverso ’ 03] § Workflow [e. g. , van der Aalst ’ 99, Lu ’ 02] § Synthesis of conversations [e. g. , Fu-Bultan-Su, CIAA’ 03, ICWS ’ 04, WWW’ 04] §. . . § This paper : § Restricted case of the “Roman Model” [Berardi et. al. , WES’ 03, ICSOC 04] where services are FSMs as in [ICSOC’ 03]. 2
Roman Model [Berardi et. al. , ICSOC’ 03] • E-service: software artifact interacting with its clients (human or other e-services) based on activities – Internal Service Schema: • Internal or Business Logic – External Service Schema • Published Service Behavior • Service Instance: – One occurrence of an e-service • Simple vs. Composite e-service – processing on its own vs. invoke others (delegate) • Our study focuses on external service schemas represented as Finite State Machines 3
Travel Department of Corp. A: Travel plans booking Travel Agency 1 itinerary bo Travel Dept. ok itin era ing Travel Agency 2 ry hotel bus flight Can the Travel Dept. re-use the existing travel services? train Travel Service 5
Service Delegation Desired Service hotel bus Agency 1 flight hotel train flight train requests Agency 2 hotel Delegator User A request: delegation: User B request: delegation: bus train flight hotel (to LAX) (to JFK) flight (Hilton) 1 1 1 bus flight hotel (to Newark) (to LAX) (Westin) 2 2 2 6
Service Delegation Desired Service Agency 1 hotel bus hotel flight train requests train / 1 Agency 2 hotel bus / 2 bus Delegator flight /1 flight /2 hotel / 1 hotel / 2 Delegator requests 7
Can we construct such a delegator? v “Roman” Delegator: Delegation determined with immediate request – can be computed in EXPTIME [Berardi et. al. , ICSOC’ 03] 8
Different Scenario: No delegator? Corporation B train flight hotel delegation: 3 ? bus Agency 4 bus hotel train 3 train flight hotel requests request: flight Agency 3 flight hotel 3 v No Roman Delegator v What if the delegator could look ahead? • Broader notion of delegation to allow more re-use of existing services • How to Formulate ? • Decision Problems & Algorithms ? 9
Main Contributions • Developed a notion of “lookahead” to enable richer re-use of existing services • Introduced a broader definition for a delegator that allows the study of lookahead: “functional delegator” – EXPSPACE decision/construction algorithm • Proved that if there is a k-lookahead functional delegator, then there is a k-lookahead FSM-based delegator – EXPTIME decision/construction algorithm – Roman delegator is 0 -lookahead. 10
Service Model • Service: – (Possibly nondetermistic) FSM • Alphabet, Initial state, Accepting states • Transitions: processing of activities • Execution model: focus on the interaction between user and service § Composition System: § a target service and set of available services (AT, <A 1, …, Ar>) • Results will be presented for deterministic FSMs – Same techniques can be applied to Nondetermistic case (check the paper) 11
Functional Delegators • f(w, i) = j : service j processes ith activity of w w = a 1 a 2 …. . ai …. . a|w|-1 a|w| j j j service j processes a 2 ai a|w|-1 – a subsequence is assigned to each service – Actually, f( , ) is a subset of {1, …, r}. • f( , ) is a functional delegator for (AT, <A 1, …, Ar>) if for every string w accepted by the target service, each service accepts the assigned (nonempty) subsequence. • How do we determine if there exist a functional delegator? 12
A proof technique for decidability of functional delegators § Product Machine of a system of FSMs: (AT, <A 1, …, Ar>) variant of standard product construction § FSM with outputs: each state is a configuration of the system § Initial State, Accepting States § Each transition produces an output § size: O(| | * 2 r * s. T) (AT, <A 1, A 2>) 000 a/1 a/2 b/2 § | | : alphabet size § r, s : number and size of available services § s. T : size of target service a/1, 2 110 101 b/1 … 111 b/1 … … § L(product) = language of FSM (outputs are ignored) 13
Complexity of Decidability § Lemma: There is a functional delegator for a system, iff L(product) = L(AT). § Complexity: O(| |2 * 2 r * s 2 T) space (i. e. , EXPSPACE) § language equivalence of two FSMs: polynomial space in size of FSMs § What if we put a bound on the amount of lookahead? 14
Subclass: k-lookahead (functional) delegators § f( , ): LAk (functional) delegator w = a 1. . . ai ai+1 … ai+k+1… a|w| x y z f(xyz, i) = f(xyz’, i) for all z, z’ § Observation: § Roman delegator corresponds to an LA 0 delegator. § How can we determine the existence of a k-lookahead delegator? 15
Decidability of functional LAk • Reduction of a problem with LAk to | |k problems with LA 0 • Roman delegator (LA 0) • can be determined in exponential time in the total size of the input (satisfiability of description logic formula) [Berardi et. al. ICSOC’ 03] • Why if we use FSMs directly? • We achieved a finer characterization of the complexity. 16
Existence of functional LA 0 § Theorem: For a system, there is an LA 0 delegator iff there is a deterministic submachine S such that L(S) = L(AT) where AT is the target service. § Proof idea: § Existence of functional LA 0 implies the existence of an FSM-based delegator. § Splicing argument 17
Algorithm: Existence of LA 0 § Algorithm: Existence Check & Construction § Construct the product § Remove “bad” configurations Exponential Linear § Configurations that a delegator shouldn’t enter § Find a deterministic submachine (same language with target) § Pick one delegation arbitrarily, ignore others § Submachine is an LA 0 delegator … a/i a/j a/m a/k … … a/p Which one is correct delegation? If none is bad, any choice is correct … 18
Analysis for LA 0, LAk Checks § LA 0 § Complexity: O(| | * 22 r * s. T) - time - | | : alphabet size - r, s : number and size of available services - s. T : size of target service § Details: § product machine construction: O(| | * 2 r * s. T) time § submachine construction: polynomial in size of the product machine § LAk: § Complexity: use | |rk+k instead of | | 19
Summary • Introduced a more general class of delegators: – functional delegators • Examined decision problems on functional delegators – decision algorithm: O( |2 * 2 r * s 2 T) space • subclass: k-lookahead delegators – Enables a richer form of delegation and broader re-use of existing services – decision/construction algorithm: O(| |rk+r * 22 r * s. T) time 20
Current and Future Work • Extension to FSM model [Dang-Ibarra-Su, ISAAC’ 04] – FSMs augmented with restricted counters and stacks – decidability/undecidability results • Extension on delegation [submitted] – Cost function associated with each activity in each service – For a given word, computing the cheapest delegation minimizing the total cost is linear time in the length of the word. 21
Thanks Questions and Comments 22
Backup Slides 23
Example of a functional delegator Corporation B train flight hotel Agency 3 train flight hotel bus ◦ f(flight hotel train, 1) = 3 ◦ f(flight hotel bus, 1) = 4 Agency 4 bus flight hotel ◦ f(flight hotel train flight hotel bus, 4) = 4 ◦ f(flight hotel train flight hotel bus, 1) = 3 … 24
Delayed delegation: How to represent? Corp. B Agency 3 train Agency 4 bus train flight hotel bus flight / hotel / train / 1 flight / 1 #/1 bus / 2 #/2 flight / 2 hotel / 1 hotel / 2 #/1 #/2 FSM with outputs (Mealy) 25
Functional Delegators • f(w, i) = j : service j processes ith activity of w w = a 1 a 2 …. . ai …. . a|w|-1 a|w| j j j service j processes a 2 ai a|w|-1 – a subsequence is assigned to each service – Actually, f( , ) is a subset of {1, …, r}. • f( , ) is a functional delegator for (AT, <A 1, …, Ar>) if for every string w accepted by the target service, each service accepts the assigned (nonempty) subsequence. 26
Strict hierarchy on the amount of lookahead Services Desired Service • Required amount of lookahead: (a) 1 -lookahead, (b) 2 -lookahead, (c) unbounded (full-knowledge) • How do we determine if there is a functional delegator? 27
ea0c76600abdf291c1f424fbd7ef8fe8.ppt