260 likes | 350 Views
International Conference on Service Oriented Computing (ICSOC) , September, 2004, NY. Automated Composition of E-Services: Lookaheads. Çağdaş E . Gerede * , Richard Hull , Oscar H. Ibarra * , Jianwen Su * University of California, Santa Barbara * & Bell Labs/Lucent Technologies .
E N D
International Conference on Service Oriented Computing (ICSOC), September, 2004, NY Automated Composition of E-Services: Lookaheads Çağdaş E. Gerede*, Richard Hull, Oscar H. Ibarra*, Jianwen Su* University of California, Santa Barbara* & Bell Labs/Lucent Technologies
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., McIlraith ’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’03, ICSOC04] where services are FSMs as in [ICSOC’03].
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
Travel Agency 1 Travel plans booking itinerary Travel Dept. Travel Agency 2 booking itinerary hotel flight bus train Travel Department of Corp. A: Can the Travel Dept. re-use the existing travel services? Travel Service
Service Delegation Desired Service hotel bus (to Newark) Agency 1 flight bus hotel train flight train requests Agency 2 hotel Delegator bus flight train (to LAX) flight (to JFK) hotel (Hilton) request: User A 1 1 1 delegation: hotel (Westin) flight (to LAX) request: User B 2 2 2 delegation:
bus/ 2 train/ 1 flight / 1 flight / 2 hotel/ 1 hotel/ 2 hotel flight bus train Service Delegation Desired Service Agency 1 hotel train flight Agency 2 requests hotel bus flight Delegator requests Delegator
Can we construct such a delegator? • “Roman” Delegator: Delegation determined with immediate request • can be computed in EXPTIME [Berardi et. al., ICSOC’03]
Different Scenario: No delegator? Corporation B Agency 3 train train flight hotel flight hotel bus Agency 4 requests bus flight hotel request: flight hotel train delegation: 3 3 3 ? • No Roman Delegator • 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 ?
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.
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, <A1,…,Ar>) • Results will be presented for deterministic FSMs • Same techniques can be applied to Nondetermistic case (check the paper)
Functional Delegators • f(w,i) = j : service j processes ith activity of w • a subsequence is assigned to each service • Actually, f(,) is a subset of {1, …, r}. • f(,) is a functional delegatorfor (AT, <A1,…,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? w = a1 a2 ….. ai ….. a|w|-1a|w| j j j service j processes a2 ai a|w|-1
A proof technique for decidability of functional delegators • Product Machine of a system of FSMs: (AT, <A1,…,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(|| * 2r * sr * sT) • || : alphabet size • r, s : number and size of available services • sT : size of target service • L(product) = language of FSM (outputs are ignored) (AT, <A1, A2>) 000 a/1 a/1,2 a/2 b/2 110 101 111 b/1 b/1 … … …
Complexity of Decidability • Lemma: There is a functional delegator for a system, iff L(product) = L(AT). • Complexity: O(||2 * 2r * sr * s2T) 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?
Subclass: k-lookahead (functional) delegators • f(,): LAk (functional) delegator • Observation: • Roman delegator corresponds to an LA0 delegator. • How can we determine the existence of a k-lookahead delegator? w = a1 ... ai ai+1 … ai+k ai+k+1… a|w| x y z f(xyz, i) = f(xyz’, i) for all z, z’
Decidability of functional LAk • Reduction of a problem with LAk to ||k problems with LA0 • Roman delegator (LA0) • 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.
Existence of functional LA0 • Theorem: For a system, there is an LA0 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 LA0 implies the existence of an FSM-based delegator. • Splicing argument
… a/i a/p a/j a/m a/k … … … Algorithm: Existence of LA0 Exponential Linear • Algorithm: Existence Check & Construction • Construct the product • Remove “bad” configurations • Configurations that a delegator shouldn’t enter • Find a deterministic submachine (same language with target) • Pick one delegation arbitrarily, ignore others • Submachine is an LA0 delegator Which one is correct delegation? If none is bad, any choice is correct
Analysis for LA0, LAk Checks • LA0 • Complexity: O(|| * 22r * sr * sT) - time - | | : alphabet size - r, s : number and size of available services - sT : size of target service • Details: • product machine construction: O(|| * 2r * sr * sT) time • submachine construction: polynomial in size of the product machine • LAk: • Complexity: use | |rk+k instead of | |
Summary • Introduced a more general class of delegators: • functional delegators • Examined decision problems on functional delegators • decision algorithm: O(|2 * 2r * sr * s2T) space • subclass: k-lookahead delegators • Enables a richer form of delegation and broader re-use of existing services • decision/construction algorithm: O(||rk+r * 22r * sr * sT) time
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.
Thanks Questions and Comments
Example of a functional delegator Corporation B Agency 3 train train flight hotel flight hotel bus Agency 4 • f(flight hotel train, 1) = 3 • f(flight hotel bus, 1) = 4 • f(flight hotel train flight hotel bus, 4) = 4 • f(flight hotel train flight hotel bus, 1) = 3 • f(flight hotel train flight hotel bus, 1) = 3 • … bus flight hotel
Delayed delegation: How to represent? Corp. B Agency 3 Agency 4 train bus train FSM with outputs (Mealy) flight hotel flight hotel flight hotel bus flight / - hotel / - bus / 2 train / 1 flight / 1 # / 1 # / 2 flight / 2 hotel / 1 hotel / 2 # / 2 # / 1
Functional Delegators • f(w,i) = j : service j processes ith activity of w • a subsequence is assigned to each service • Actually, f(,) is a subset of {1, …, r}. • f(,) is a functional delegatorfor (AT, <A1,…,Ar>) if for every string w accepted by the target service, each service accepts the assigned (nonempty) subsequence. • f has “full knowledge” of word w for each delegation decision. Does the amount of knowledge (lookahead) matter? w = a1 a2 ….. ai ….. a|w|-1a|w| j j j service j processes a2 ai a|w|-1
Strict hierarchy on the amount of lookahead Services Desired Service • Required amount of lookahead: • 1-lookahead, (b) 2-lookahead, (c) unbounded (full-knowledge) • How do we determine if there is a functional delegator?