1
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
International Conference on Service Oriented Computing
(ICSOC), September, 2004, NY
2
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].
3
Roman Model
• 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
[Berardi et. al. , ICSOC’03]
5
Travel Department of Corp. A:
Travel Dept.
Travel plans
Travel Agency 1
Travel Agency 2itinerary
booking
itinerary
booking
bus flight
hotel
train
Travel Service
Can the Travel Dept. re-use the existing travel services?
6
Service Delegation
bus flight
hotel
train train flight
Agency 1hotel
bus(to Newark)
bus flight
hotelAgency 2requests
Delegator
hotel(Hilton)
flight(to JFK)
train(to LAX)
2
111
Desired Service
User A
User Bflight(to LAX)
hotel(Westin)
2 2
request:
delegation:
request:
delegation:
7
Service Delegation
bus flight
hotel
train
train flight
Agency 1hotel
bus flight
hotelAgency 2
requests
Delegator
Desired Service
Delegator
train / 1
flight / 1
hotel / 1 hotel / 2
bus / 2
flight / 2
requests
8
Can we construct such a delegator?
“Roman” Delegator: Delegation determined with immediate request– can be computed in EXPTIME [Berardi et. al., ICSOC’03]
9
Different Scenario: No delegator?
flight hotel
Agency 3train
flight hotel
busAgency 4
busflight
train
Corporation B
hotel
requests
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 ?
trainhotelflight
?3
request:
delegation: 3 3
10
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.
11
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)
12
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 delegator for (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|-1 a|w|
jj j
service j processes a2 ai a|w|-1
13
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)
000
110 101 111
a/1a/2
a/1,2
…… …
(AT, <A1, A2>)
b/1b/1
b/2
14
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?
15
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’
16
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.
17
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
18
Algorithm: Existence of LA0
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
Exponential
a/i
…
… …
…
a/ja/k a/m
a/pWhich one is correct delegation?
If none is bad, any choice is correct
Linear
19
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 | |
20
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
21
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.
22
Thanks
Questions and Comments
23
Backup Slides
24
Example of a functional delegator
flight hotel
Agency 3train
flight hotel
busAgency 4
busflight
train
hotel
◦ 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
…
Corporation B
25
Delayed delegation: How to represent?
flight / -
hotel / -
train / 1 bus / 2
flight / 1
hotel / 1# / 1
# / 1 # / 2
# / 2 flight / 2
hotel / 2
bus
flight
train
hotel flight hotel
Agency 3
train
flight hotel
bus
Agency 4Corp. B
FSM with outputs (Mealy)
26
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 delegator for (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|-1 a|w|
jj j
service j processes a2 ai a|w|-1
27
Strict hierarchy on the amount of lookahead
• Required amount of lookahead:
(a) 1-lookahead, (b) 2-lookahead, (c) unbounded (full-knowledge)
Services
Desired Service
• How do we determine if there is a functional delegator?