E-Service Composition: Models and Frameworks

advertisement
E-Service Composition
and Behavioral Signatures
<< Presentation to Semantic Web Services Langauge Group
http://www.daml.org/services/swsl >>
Rick Hull
Bell Labs Research
October 18, 2003
slides will be available at http://db.bell-labs.com/user/hull
Based in part on the PODS 2003 talk entitled
“E-Services: A Look Behind the Curtain”,
co-authored with
Michael Benedikt (Bell Labs)
Vassilis Christophides (FORTH, Greece)
Jianwen Su (UC Santa Barbara)
October 18, 2003
Behavioral Signatures and E-Service Composition
1
The E-Services Paradigm
• Goal: Simplify and/or automate e-service
•
– Discovery
Our focus: how to build, analyze
– Composition
– Orchestration (invoke, monitor; “choreography”)
– Provenance (e-science, recovery)
Primary roots of e-services paradigm
(a) Process description formalisms
(b) Distributed computing middleware
(c) Data management
• What makes e-services “new”
–
–
–
–
Much more de-centralized than workflow
More flexible, less structured than CORBA
Data management has larger role in (a) and (b)
Importance of standards to enable interoperation
and analysis
October 18, 2003
Behavioral Signatures and E-Service Composition
2
Outline
• Events, messaging, and sequential behavior are
•
•
•
•
facts of life
– We need a notion of “behavioral signature”
An automata-based framework
– Inspired by CSPs, -calculus, verification theory
Analysis “tools”
– Several approaches available
Automated composition
– Including a bridge to DLs
Conclusions
October 18, 2003
Behavioral Signatures and E-Service Composition
3
Web Services Definition Language (WSDL):
Messages and (traditional) I/O signatures
• Peer-to-peer: e-service can act as client or server
– Proactive : send request
send request, block till response
– Reactive : receive request
receive request, send response
bill
order
order
Supplier’
Supplier
receipt
payment
bill_payment
out: bill
in: payment
receipt
• Port: mechanism to cluster operations
– Port as unit of interoperation between services
October 18, 2003
Behavioral Signatures and E-Service Composition
4
E-Commerce: Patterns of Messages
buy
get
authorize
store
ok
supplier1
bank
supplier2
• Certain patterns “acceptable”, others not
• Enactments with different life-cycles
•
– E.g., one credit authorize for many orders
Add new services dynamically
– Does supplier2 fit? (what if supplier2 uses “prepay”)
October 18, 2003
Behavioral Signatures and E-Service Composition
5
Using order to
infer IOPA properties
order
bill
Supplier
receipt
payment
• Conditions on input/output
– if valid client sends order, then bill is created
– if payment is received, then receipt is sent
• Conditions on “state of world”
– Amount of $$ in line of credit
– Supplier ships order when payment is received
• Performing inference (“everything else fixed”)
– Assume the Bank satisfies: if bill received and
sufficient funds, then payment is sent
– Infer that: “an order from a valid client with sufficient
funds will result in a receipt and shipment of the order”
October 18, 2003
Behavioral Signatures and E-Service Composition
6
Services use events
• “Full” plane reservation service includes alerts
•
•
if plane is delayed
– To person flying
– To car rental service, to hotel service, …
Services may have to retain context over a
period of time
– Will be “waiting” for incoming event
– Put it into proper context
– Take appropriate actions
BPEL4WS has explicit constructs for
asynchronous events
– receive, wait, pick
October 18, 2003
Behavioral Signatures and E-Service Composition
7
Telecom/Collaborative Services
Session
Coordinator
Profile
Data
Pre-Pay
Media
Server
(video)
Media
Server
(voice)
Presence
Server
• Emerging standards will enable flexible, dynamic
•
•
invocation of services & incorporation of features
– Can be viewed as a special case of web services
– Bearer traffic vs. signaling/control traffic
Asynchronous events: call dropped, person
becomes present, …
Feature interactions: call screening, call waiting, …
October 18, 2003
Behavioral Signatures and E-Service Composition
8
Outline
• Sequential behavior and messaging are a fact
•
•
•
of life
– We need a notion of “behavioral signature”
An automata-based framework
– Uses a “black-box” perspective
– Contrast to “white-box” formalisms
Some “tools” are available
– Including a bridge to DLs
Conclusions
October 18, 2003
Behavioral Signatures and E-Service Composition
9
Two perspectives on E-Services
• “Black box”: Signature languages
– Web Services Description Language (WSDL)
• Focus on input/output signatures only
– Pre-/post conditions á la OWL-S
– Behavioral:
• Focus on sequencing of messages transmitted
– W3C Choreography group working here
• Focus on sequencing of actions performed
• “White box”: Implementation languages
– Essence of WSFL, XLANG, BPEL4WS*, BPML, etc.
standards
– OWL-S process constructs
– Typically, parallel flowcharts with synchronization,
scopes, some event handling, internal variables
*BPEL4WS
also supports
a “black
box”
view Composition
of e-services
October 18, 2003
Behavioral
Signatures
and E-Service
10
Modeling I: Individual E-services
• In the most general case, an e-service can be a
Turing machine
input
messages
Do until halt
nondeterministic choice:
read an input;
send an output to some
other peer;
halt;
end choice
message log
to other
e-services
local store
• For analysis, optimization, and automation it is
useful to study more restricted models
October 18, 2003
Behavioral Signatures and E-Service Composition
11
Behavioral signatures using messages
• Use Mealy Peers: Finite State Automata with
input/output
– Follows spirit of process algebras, communicating
processes
order
bill
?o !b
rcpt
order
?p !r
bill
?o
pymnt
(a) “cautious” supplier
rcpt
pymnt
(b) “trusting” supplier
• Can model single or sequenced enactments
• Advantages for analysis, e.g., verifying temporal
properties, characterizing global behavior
October 18, 2003
Behavioral Signatures and E-Service Composition
12
Modeling II: A composition framework
Peer 1
Peer 2
...
Peer n
• A peer: autonomous process executing an e-service
• Assume reliable communication
October 18, 2003
Behavioral Signatures and E-Service Composition
13
E-Composition Schema
• An E-C schema is a triple (P, C, M)
Specifies the infrastructure of composition
P : finite set of
peers (e-services)
store
authorize
ok
bank
C : finite set of peerto-peer channels
M : (finite) set of
message classes
supplier1
supplier2
• Many variations on this base model possible, e.g.,
– Different levels of granularities
– Assume finite domains  can model parameters explicitly
October 18, 2003
Behavioral Signatures and E-Service Composition
14
Combining Peer and Composition Models
store
!a
bank
?k
supplier1
?o1 !b1
...
...
?a
!k
supplier2
?o2
...
...
• Peer fsa’s begin in their start states
October 18, 2003
Behavioral Signatures and E-Service Composition
15
Executing a Mealy Composition (cont.)
store
!a
?k
supplier1
?o1 !b1
...
...
a
bank
?a
supplier2
?o2
!k
...
...
• STORE produces letter a and sends to BANK
October 18, 2003
Behavioral Signatures and E-Service Composition
16
Executing a Mealy Composition (cont.)
store
!a
bank
?k
supplier1
?o1 !b1
...
...
?a
supplier2
?o2
!k
...
...
• BANK consumes letter a
• Execution successful if all queues are empty and
fsa’s in final state
October 18, 2003
Behavioral Signatures and E-Service Composition
17
“State” and “Conversation”
store
!a
r2
o1
?k
supplier1
?o1 !b1
• The state
•
...
...
b2 b1 bank
?a
o2 o2 r2
!k
supplier2
?o2
...
...
of the composition is based on
– state of each peer
– contents of the queues
Conversation : one enactment of global process
– Can have “sub-conversations” of a conversation
– Little known about formal properties of conversations
October 18, 2003
Behavioral Signatures and E-Service Composition
18
Important Choices for
Message-based Composition Model
• Representation formalism for
•
•
•
•
•
•
peer implementations
Expressive power of peer
implementations
Bounded vs unbounded queues
Several queues vs one queue
vs heap vs …
Open vs closed
Restricted topologies/control:
peer-to-peer, hub-and-spoke,
hierarchical, …
Show full language or subset
October 18, 2003
Behavioral Signatures and E-Service Composition
Peer 1
Peer 2
...
Peer n
19
Composition Infrastructure
authorize
store
• Peer-to-peer (distributed control)
bank
store
k’
a’
a
b
o
mediator
o1
b1
supplier1
supplier2
k
r
supplier1
bank
ok
r1
p
p2
b2
r2
p1
o2
supplier2
• Hub-and-spoke (centralized control)
• BPEL4WS, BPML, GSFL useful to define mediators
• Composition of compositions  hierarchy . . .
October 18, 2003
Behavioral Signatures and E-Service Composition
20
BPEL4WS: Example white-box language
begin
parallel
Initialize
Receive
Bill1
do until flag
send
Order
end_date
reached
flag
:= true
pick
Send
Bill
receive order
receive
Receipt1
case
suppl1
order
suppl2
order
Receive
Payment
send
Receipt
end case
Send
Payment1
end
parallel
• Flowcharts “with parallelism”
• “Pick” construct to enable waiting for input (or time out)
• Synchronization within parallel threads
• Comparison of supported constructs: see [van der Aalst ’03]
October 18, 2003
Behavioral Signatures and E-Service Composition
21
OWL-S Process Model
• Process class
•
•
– Atomic, composite (mediator), or simple (virtual)
– Inputs, outputs, effects
– Pre-conditions, post-conditions
Constructs for composite processes
– Sequence
– Concurrency: Split; Split+Join; Unordered
– Choice
– If-Then-Else
– Looping: Repeat-Until; Iterate (non-deterministic)
Data Flow
– No explicit variables, no internal data store, no wait
– Predicate “sameValues” to match input of composite
service and input of subordinate service
• Less refined than, e.g., BPEL4WS
October 18, 2003
Behavioral Signatures and E-Service Composition
22
Outline
• Events, messages, and sequential behavior are
•
•
•
•
facts of life
An automata-based framework
Analysis “tools”
– Petri nets
– Tools using temporal logics
– Bounded vs. unbounded queues
Automatic composition
Conclusions
October 18, 2003
Behavioral Signatures and E-Service Composition
23
Verifying Properties of DAML-S
Processes via Petri nets [Narayanan+McIlraith ’02]
• Specify a DAML-S semantics using a situation
calculus
– Includes Knows, Kwhether, Kref for condition testing
– Captures “completion assumptions”: essentially prevents
world from changing without e-service knowing about it
• Operational semantics via Petri nets
– Assume finite domains
– Map to “1-safe” Petri nets, which corresponds to
bounded queue case
• Verify properties such as reachability, termination
• Complexity depends on constructs and model
– Range from PTIME to EXPSPACE-hard
October 18, 2003
Behavioral Signatures and E-Service Composition
24
Verifying Temporal Properties of
Mealy Compositions
store
!a
bank
?k
...
“line-ofcredit
warehouse1
available”
?o1
!b1
...
?a
!k
“shipment
just
made”
...
warehouse2
?o2
...
• Label states with propositions
•
– Level of indirection between states and “observables”
Express temporal formulas, e.g.,
– “shipment just made” only after “line-of-credit avail”
October 18, 2003
Behavioral Signatures and E-Service Composition
25
Results on Temporal Verification
• Long history, e.g., [Clarke et.al. ’00]
• E.g., verification for fsa’s and propositional LTL
– Complexity: PSPACE in size of formula + fsa
linear time in size of fsa
• Application to Mealy compositions
– Results apply to open and closed case
– Bounded queues
• Composition can be simulated as Mealy machine
• Verification is decidable
• Standard techniques to reduce cost
– Unbounded queues
• In general, undecidable
• Approximation techniques can be applied
October 18, 2003
Behavioral Signatures and E-Service Composition
26
Qualitative Analysis of
Unbounded Queue Compositions
• “Conversation Languages”
[Bultan et.al. WWW’03]
Peer 1
• Assume a “watcher” that observes
all messages sent
– In contrast to previous approach,
Peer 2
the “observables” here are simply
the messages sent
...
• Language of peer implementation
is set of words formed by
successful executions of the
implementation
October 18, 2003
Peer n
a k o1 o2 b1 p1 . . .
Behavioral Signatures and E-Service Composition
Watcher
27
Example Conversation Language
store
bank
?k
!a
...
• Language:
!k
...
supplier2
supplier1
?o1
?a
!b1
...
?o2
...
ak SH( (o1 r1 b1 p1)*, (o2 SH(r2,b2p2))* )
– First ak, then a shuffle of orders against Supplier1
and orders against Supplier2
– Supplier1 is “cautious” and Supplier2 is “trusting”
• This language is regular
• Same language for bounded or unbounded queues
October 18, 2003
Behavioral Signatures and E-Service Composition
28
Unbounded Queues  Unexpected Behaviors
!a
!o
(a) Store’
?o
?a
?b
!b
(b) Supplier’
(c) Bank’
• Abstract versions of previous e-services
•
•
– But, no “handshakes” for messages
Conversation language L:
– L  ao*b* = { aonbn | n  0 }, i.e., L is not regular
Take aways:
– “Bottom up” design of compositions may lead to
undesirable global behaviors
– Service mediators can have important role in preventing
behaviors
29
October 18,undesirable
2003
Behavioral Signatures and E-Service Composition
How bad is it ?
• In general, conversation language with Mealy
peers and unbounded queues is context-sensitive
– Accepted by a quasi-realtime automaton with 3 queues
• All conversation languages are closed under two
key properties
– Join: if w is generated, then certain “shuffle
products” of w are also generated
– Prepone: interchange order of input and output
messages of a peer p under certain conditions
• For hierarchical ec-schemas:
Each peer is a Mealy
implementation
October 18, 2003

Conversation language is
join-prepone closure of a
regular language
Behavioral Signatures and E-Service Composition
30
Outline
• Events, messaging, and sequential behavior are
•
•
•
•
facts of life
An automata-based framework
Analysis “tools”
Automatic composition
– Hierarchical composition
– Results from DAML-S community
– Results using Mealy machines
– A bridge to DLs
Conclusions
October 18, 2003
Behavioral Signatures and E-Service Composition
31
Hierarchical Composition
• A pragmatic approach to automating e-service
composition
Customized
Travel
Service
Travel
Service
Templates
Air Travel
Templates
Airport
Transfer
Hotel
Reservation
October 18, 2003
Behavioral Signatures and E-Service Composition
32
Hierarchical Composition (cont.)
• Approach:
– Assume a library of e-service “templates” and ground
specs
– Based on input criteria select a root template, then
fill in “gaps” with other templates and/or ground
specs
– [Christophides et.al. ’01b] does this for “structured
workflows”
• Take-away: Hierarchical structuring is important
for e-service formalisms
– Need to incorporate this into OWL-S, Mealy model
October 18, 2003
Behavioral Signatures and E-Service Composition
33
Automatic Composition for DAML-S
[Narayanan+McIlraith ’02]: Search over all combinations
• Recall simulation of DAML-S via 1-safe Petri nets
1. For set of atomic e-services, create Petri Net that
represents all possible combinations of them
2. Specify desired goal as a state of this Petri Net
3. Determine if this goal state is reachable
• In this framework reachability is PSPACE-
complete in size of Petri net
– Petri net itself may be exponential in size of atomic
e-services
– Heuristics can be used to avoid full construction
[McIlraith+Son ’02] Generic compositions + customization
– develops mapping of DAML-S into ConGolog, and uses to
create compositions
– Approach based on 2-level hierarchy…
October 18, 2003
Behavioral Signatures and E-Service Composition
34
Composition for Mealy Peers
• Traditional synthesis problem statement:
•
– Given: ec-schema and LTL formula 
– Create: an fsa for each peer so that  is satisfied
Synthesis results for Mealy implementations with
bounded queues
– Closed compositions: folklore results imply that
synthesis is decidable
• Propositional LTL description  PSPACE
• -regular set represented as automaton  PTIME
– Open compositions: Undecidable for LTL for arbitrary
ec-schemas [Pnueli+Rosner ’90]
• Decidable for hierarchical topology, but nonelementary even for linear case [Kupferman+Vardi ’01]
October 18, 2003
Behavioral Signatures and E-Service Composition
35
Reformulation of the Synthesis Problem
to use extended “UDDI Repository”
•
•
•
UDDI Repository: globally accessible store for
web service descriptions and locations
– Imagine that it supports Mealy descriptions
Possible approach
– Given: ec-schema, LTL formula , “UDDI repository”
– Find: peers in repository so that  is satisfied
• Variation: allow creation of a mediator to
choreograph the selected peers
Database aspect of this problem
– How to search across large space of Mealy
descriptions?
– What is appropriate query language?
October 18, 2003
Behavioral Signatures and E-Service Composition
36
Synthesis for Unbounded, Closed Case
[Bultan et. al. ’03]
• Use conversation language to express global
behavior
• Problem statement:
– Given: ec-schema and regular language L over messages
– Create: an fsa for each peer so that composition
generates L’ = join-prepone closure of L
• Result: Mealy peers can be constructed whose
composition gives global behavior L’
– Do a “projection” on fsa accepting L
• Can again ask UDDI version of synthesis question
October 18, 2003
Behavioral Signatures and E-Service Composition
37
Recent work from Lenzerini’s group (DL ’03)
[Berardi et al ’03]
• Based on a different model for peers
– Focus on sequences of actions, not messages
– Includes a “user” who repeatedly makes choice
(from limited set) about next action she wants
– All actions “visible” at top level
Client
Service
on-line
music
store
Actions that client can ask for:
• initiate, end
• search
• listen
• cart
• buy
• Abstract behavior of the Service:
Do until Client selects “End”
October 18, 2003
1. Give Client a choice of actions to be performed
2. Wait for Client choice
3. Perform action chosen by Client
Behavioral Signatures and E-Service Composition
38
Solve composition by synthesizing mediator
• Assuming peers and spec are regular, can
– Determine if a composition exists
– If one does, then select peers and construct mediator
Desired
behavior
(as FSA)

Extended UDDI
Mediator
(constructed)
Services
(selected from “UDDI”)
• Using standard automata techniques: NEXPTIME
• Using reduction to ALU DL: EXPTIME
October 18, 2003
Behavioral Signatures and E-Service Composition
39
Conclusions
• Sequential behavior and messaging are a fact
•
of life
– We need a notion of “behavioral signature”
Automata-based perspective
– Provides formal framework that incorporates events
and sequencing
– Can draw on broad theory of analysis “tools”
– Offers a framework for automated composition
– Can represent (at least some) in DLs – link to OWL?
• Automata-based perspective should be
•
exploited in semantic web services
Results suggest key challenges in composition
– Select peers: queries over sets of peers
– Mediator crucial: find/build the mediator
October 18, 2003
Behavioral Signatures and E-Service Composition
40
We are just getting started …
•
•
•
•
•
Enhanced Mealy – can we incorporate
– Messages + actions
– Pre-/post-conditions á la OWL-S
– Hierarchical structure for messages (state charts?)
– Temporal constraints
– (your favorite) PSL constructs
Composition of Mealy++ machines
– Can we adapt the Roman approach ?
– Augment traditional planning with approach for cyclic behaviors
Mealy++ vis-à-vis BPEL4WS, OWL-S process model, PSL,
FIPA A-UML, …
– Jianwen Su et. al. developing tool for translating between Mealy
and BPEL4WS
Searching a large set of Mealy++ signatures
– What is appropriate query language?
Finding relevant results from various communities:
verification, -calculus, planning, DL, DB, agent, …
October 18, 2003
Behavioral Signatures and E-Service Composition
41
Backup Slides
October 18, 2003
Behavioral Signatures and E-Service Composition
42
E-Services
•
•
•
The Web: Flexible human-machine interaction
E-services: Flexible machine-machine interaction
Working Definition: Network-resident software
services accessible via standardized protocols
– Simple Object Access Protocol (SOAP): very flexible
remote procedure call
•
Lots of interest in trade press, academic
community, standards bodies, . . .
•
Applications in e-commerce, telecom, science,
GRID, government, education, . . .
October 18, 2003
Behavioral Signatures and E-Service Composition
43
E-Science
Controller
control and calibrations
Sea
Circulation
Atmospheric
Simulation
notifications and/or
experimental data
Waste
Transport
• E.g., find best location for waste treatment plant
• Possibly 100s of nodes, and running for weeks
• Data size difference:
•
– Control and calibrations (small)
– Experimental data (large)
Provenance: need to access derivation history
October 18, 2003
Behavioral Signatures and E-Service Composition
44
Web Services Protocol Stack*
Web service
composition:
WSFL, XLANG,
BPEL4WS, BPML,
W3C Choreography
Publishing and
discovery:
UDDI
Service Description Layer: WSDL, WSCL, WSCI
XML messaging layer: SOAP
Transport layer: HTTP, SMTP, FTP, etc.
*Based on [van der Aalst ’03]
October 18, 2003
Behavioral Signatures and E-Service Composition
45
Pre-/post-conditions
• DAML-S provides for
order
bill
Supplier
pre- and post-conditions
receipt
payment
• Examples
– if valid client sends Order, then Bill is created
– if Payment is received, then Receipt is sent
• Performing inference (“everything else fixed”)
– Assume a Bank service such that: if bill received and
sufficient funds, then payment is sent
– Then we can infer that: “an order from a valid client
with a sufficient account balance will result in a receipt”
• Reasoning with pre- and post-conditions
– Different models will lead to different complexity
– [Narayanan+McIlraith ’02] axiomatization in situation
calculus for a Petri-net based model
• Complexity from PTIME to EXPSPACE-hard
October 18, 2003
Behavioral Signatures and E-Service Composition
46
Web Services
Conversation Language (WSCL)
• Alternative automata-based approach for describing
behavior of e-services
– States are the WSDL operations (input and/or output)
– Transitions are pairs of operations, with associated condition
•
• Condition refers to type of documents passed as input or
output
Relationship of Mealy machine vs. WSCL machine
remains open
– Mealy machine formalism given above could be extended to
include conditions based on types of documents passed
– Number of states in WSCL machine bounded by number of
WSDL operations
– So Mealy machines (with conditions) appear more expressive
than WSCL machines
October 18, 2003
Behavioral Signatures and E-Service Composition
47
Technical Definition
A Mealy peer is an FSA M = (T, s, F, in, out,  )
– T : a set of states
– s : the initial state
– F : a set of final states
– in : input message classes
– out : output message classes
–  : transition relation that either
consume an input, (s1, ?m, s2), or
produce output, (s1, !m, s2), or
make an empty (internal ) move, (s1, e, s2)
October 18, 2003
Behavioral Signatures and E-Service Composition
48
Abstract model for
e-services with data
• Variation of relational transducer [Abiteboul et al ’00]
• Extend Mealy machine to (Q,q0, F, I, H, O, )
–
–
–
–
Input schema I (can hold data associated with incoming messges)
Internal/hidden schema H
Output schema O
 has tuples (q, q’, G, T)
• G is “guard” -- boolean query on I and H
• T is “transform” - queries that create new H and output O
• Can use different data models (relational, XML, …)
• General decision problems are undecidable
•
– E.g., if use relational calculus as data manipulation language
Restricted cases are decidable, tractable
– E.g., reachability of a state, if using conjunctive queries
– E.g., “Spocus” transducers of [Abiteboul et al ’00] have PTIME
decidability results
October 18, 2003
Behavioral Signatures and E-Service Composition
49
Data Transducers as White-Box Peers
• Add database to fsa
(XML, relational)
• Store e-service with
– Customer_care
– Inventory_replenishment
– Store_database used as
buy
?y
!t
take
customer_care
store_inventory
part qty
...
shared data store
• Cf., XL [Florescu et.al.’03]
– Process + XQuery
• Cf., Relational Transducer
[Abiteboul et. al. ’00]
ok
– Analysis undecidable;
NEXPTIME for restrictions
authorize
October 18, 2003
store_database
order1
!a
?k
inventory_
replenishment
Behavioral Signatures and E-Service Composition
receipt1
order2
receipt2
50
Parting Challenge: Process + Data
store
warehouse1
bank
warehouse2
• Develop a theory for e-service composition that
•
•
incorporates process + data
E.g., “Relational Mealy Machines” (or XML, . . . )
– Cf. Relational Transducers of [Abiteboul et. al. ’00]
– Focus on restricted query/update languages
Extend results previously obtained to include
variables, context, large data
October 18, 2003
Behavioral Signatures and E-Service Composition
51
E-service “Glue” Languages
and Workflow Management
• “Computerised facilitation
•
or automation of a
business process, in whole
or part” [WfMC]
Centralized control
– State of conversation
maintained by WF manager
• Delegation of “almost everything” to the app.s
•
– E.g., application data is not accessible to WF manager
Workflow standardization has mixed success
– Web services must interoperate  standard likely
– Should focus on interfaces, not internals
October 18, 2003
Behavioral Signatures and E-Service Composition
52
ActiveXML: A data-centric white-box
language [Abiteboul et.al. ’03]
• A novel combination of data
and web services
• Three ways to treat remote
data:
– Remote data is virtual, and
materialized when queried
– Pass data pointer as part of
query response
– Materialize remote data periodically
• Alternative to control-flow based languages:
– “Outer process flow” dictated by XML query language
(and structure of data)
– “Remote procedure calls” embedded into XML structure
October 18, 2003
Behavioral Signatures and E-Service Composition
53
White-box Analysis via XML
• Many different kinds of constraints arise in
BPEL4WS spec
a) Referential: service links refer to peers in composition
b) Cardinality: for synchronization links, 1 source and 1
target
c) Structural: internal synchronization links don’t cross
while scopes
d) Value-based: requests matched by responses
e) XPath: query on variable is subtype of a target variable
• For (a): XML Schema suffices
• For (b) - (d): see [Deutsch+Tannen ’01, Benedikt et.al. ’02]
• For (e): Involves a combination of XPath and control
flow analysis
– If XL used, then “everything” is XQuery, and so XQuery
type-checker can assist with type correctness
October 18, 2003
Behavioral Signatures and E-Service Composition
54
AZTEC: A white-box language for sessions
and asynchronous events [Christophides et. al. ’01a]
• Control is hub-and-spoke
• Maintains state of sessions
Session
Coordinator
Profile
Data
Pre-Pay
– Richer than web-service
notion of conversation
Media
Server
(video)
Media
Server
(voice)
Presence
Server
• Queue for incoming
asynchronous events
• Launches instance of event-handling flowchart
for each external event
• Synchronization between flowcharts
– Priority
– Via shared data
– Can interrupt other flowcharts (e.g., if prepay account
runs out of money)
October 18, 2003
Behavioral Signatures and E-Service Composition
55
Agent UML
•
•
•
E.g., [Odell ’00]
An exploration of different ways that UML can be used
to capture agent interactions
Message types based on KQML – request, assert,
refuse, …
– Subset of messages relevant to e-commerce, alerting services,
long-running activities, supply chain life-cycle, manufacturing
life-cycle, collaborative technologies, pervasive computing, …
October 18, 2003
Winograd-Flores
perspective (classical)
Behavioral Signatures and E-Service Composition
56
A-UML: focus on modeling
•
•
Diff. levels: Global, interaction, internal
Focus not on analysis or automated
composition
Packages (with nesting)
[for global aspects]
Collaboration Diagram
October 18, 2003
Sequence Chart
Behavioral Signatures and E-Service Composition
Activity Diagram
(with Swim Lanes and
Object Flow)
Nesting (mix & match) 57
A “Roman” approach to composition
that bridges to DLs [Berardi et al ’03]
• Based on an action-based model
• E-commerce example, with focus on actions
sell_goods
store
authorize_
line_of_credit
supplier1
bank
supplier2
• Higher level of abstraction than messages
• Enactments still have different life-cycles
October 18, 2003
Behavioral Signatures and E-Service Composition
58
Focus on one Client, one Server
• Drill down on customer buying CDs
• Examine sub-actions inside sell_goods
initiate
search
listen
cart
buy
end
October 18, 2003
Frontend
Backend
• Abstract behavior of the Service:
Client
Service
Online
Music Store
Do until Client selects “End”
1. Give Client a choice of actions to
on-line
music
store
be performed
2. Wait for Client choice
3. Perform action chosen by Client
Behavioral Signatures and E-Service Composition
59
“Execution Tree” in Roman model
• (External) execution tree: all possible sequences
of actions supported by service
Action supported
by service
initiate
Client
State at which
client can stop
search
cart
...
cart
buy
search
State at which
client can not stop
...
search
...
Service
listen
on-line
music
store
• Children labeled by distinct actions
• Tree is equivalent to a language over actions
– Typically, focus on regular languages
October 18, 2003
Behavioral Signatures and E-Service Composition
60
Composition in Roman Model
(sketch)
• Internal execution tree holds actions by server
and delegates of that server
Client
initiate, care
search, care
on-line
music
store
search,
care
jukebox
cart, care
cart, buy,
care bank
search,
care
bank
...
cust.
care
...
Service
delegates
listen, juke
...
Service
• All actions are “visible” to client; none “internal”
October 18, 2003
Behavioral Signatures and E-Service Composition
61
Composition in Roman Proposal [Berardi et.al.’03]
initiate
on-line
music
store
search
search

initiate
search
cart
search
listen
custcare
buy
jukebox
Internal
tree for
store listen, juke
search,
care
...
...
External
trees for
cust-care,
jukebox,
bank
buy
...
...
cart
search, care
cart, care
cart, buy,
care bank
• If trees “regular”, can build composition (if exists)
– Includes selecting delegates and constructing mediator
• Using standard automata techniques: NEXPTIME
• Using reduction to ALU DL: EXPTIME
October 18, 2003
Behavioral Signatures and E-Service Composition
bank
initiate, care
...
search
cart
...
listen
search,
care
...
External
tree for
store
62
Citations
•
•
•
•
•
•
[Abiteboul et. al. ’00] S. Abiteboul, V. Vianu, B. Fordham, and Y. Yesha.
Relational Transducers for electronic commerce. JCSS, 61(2):236-269,
2000
[Abiteboul et.al. ’03] S. Abitegoul, A. Bonifati, G. Cobena, I. Manolescu, and
T. Milo. Dynamic XML documents with distribution and replication.
SIGMOD, 2003
[Benedikt et.al. ’02] M. Benedikt, G. Bruns, J. Gibson, R. Kuss, and A. Ng.
Automated update management for XML integrity constraints. Proc.
Workshop on Programming Languages for XML (PLAN-X), 2002
[Berardi et al ’03] D. Berardi, D. Calvanese, G. De Giacomo, M. Lenzerini, and
M. Mecella. E-Service Composition by Description Logics Based Reasoning.
Proc. 2003 Description Logics workshop (DL 2003).
[Bultan et.al. WWW’03] T. Bultan, Z. Fu, R. Hull, and J. Su. Conversation
Specification: A new approach to design and analysis of e-service
composition. WWW, 2003
[Christophides et. al. ’01a] V. Christophides, R. Hull, G. Karnounarakis, A.
Kumar, G. Tong, and M. Xiong. Beyond discrete e-services: Composing
session-oriented services in telecommunications. Proc. Workshop on
Technologies for E-Services (TES), Springer LNCS 2193, Sept, 2001
October 18, 2003
Behavioral Signatures and E-Service Composition
63
Citations (cont)
•
•
•
•
•
•
•
[Christophides et. al. ’01b] V. Christophides, R. Hull, and A. Kumar. Querying
and splicing of XML workflows. CoopIS, 2001
[Clarke et.al. ’00] E. Clarke, O. Grumberg, and D. Peled. Model Checking.
MIT Press, 2000.
[Deutsch+Tannen ’01] A. Deutsch and V. Tannen. Containment for classes of
XPath expressions under integrity constraints. Proc. Workshop on
Knowledge Representation meets Databases (KRDB), 2001
[Florescu et.al.’03] D. Florescu, A. Gruhagen, and D. Kossmann. XL: An XML
programming language for web service specification and composition.
WWW, 2002
[Kupferman+Vardi ’01] O. Kupferman and M. Y. Vardi. Synthesizing
distributed systems. Proc. IEEE Symp. Logic in Computer Science (LICS),
2001
[McIlraith+Son ’02] S. A. McIlraith and T. C. Son. Adapting Golog for
Composition of Semantic Web Services. KR 2002
[Narayanan+McIlraith ’02] S. Narayanan and S. A. McIlraith. Simulation,
verification and automated composition of web services. WWW 2002
October 18, 2003
Behavioral Signatures and E-Service Composition
64
Citations (cont)
•
•
•
•
[Odell ’00] J. Odell, Specifying Agent Interactions using UML. Presentation
to July, 2000, meeting of FIPA. http://www.jamesodell.com/FIPA_UMLAug_2000.pdf
[Pnueli+Rosner ’90] A. Pnueli and R. Rosner. Distributed reactive systems
are hard to synthesize. FOCS, 1990
[van der Aalst ’03] W. M. P. van der Aalst. Don’t go with the flow: Web
services composition standards exposed. IEEE Intelligent Systems,
Jan/Feb, 2003
[WfMC] Workflow Management Coalition. http://www.wfmc.org/
October 18, 2003
Behavioral Signatures and E-Service Composition
65
Download