METEOR-S Project Entry for SWS Challenge Phase II Using Planning for Process Mediation

advertisement
METEOR-S Project Entry for SWS
Challenge Phase II
Using Planning for Process Mediation
John Harney, Karthik Gomadam, John Miller,
Amit Sheth, Kunal Verma, Zixin Wu
LSDIS Lab,
University of Georgia
The problem of Process Mediation
Client
I want to
do
something
Mediator
This is how to
do it.
First step,
second step,
etc.
Service Provider
I can
give you
these
Process Mediation –SWS Challenge 2006
Using Planning in Process Mediation
• Planning Problem
– Find an execution path of services (tasks) given some
state of the world to achieve a goal
– Classical planning algorithms use combinatorial search,
backtracking and branching to secure a plan
No Plan
No Plan
Plan
Using Planning in Web Service
Composition
• Planning Problem
– With many operations available, planning using
these techniques:
• Becomes computationally complex (at times
infeasible)
• Gives less desirable plans
– Need a method that alleviates planner
complexity and retrieves “smart” plans
Interaction Protocol Approach for
Process Mediation
Client
Mediator
Requirement
Service Provider(s)
WSDL-S
Planning
Validation
Execute
Create
Interaction
Protocol
Interaction
Protocol
Interaction Protocol Approach for
Process Mediation
• Bottom-up (Process Synthesization)
– Construct a plan given:
• Client’s requirements
i.e. preconditions/input, postconditions/output (goals)
• Provider’s available operations (preconditions/input,
effects/output)
• “Pseudo”-operations – combined operations
determined by the provider; encapsulate human
knowledge.
Interaction Protocol Approach
Consists of four phases:
1. Client presents requirements via semantic
template
2. Provider creates a (set of) valid pseudooperations
3. Planner synthesizes processes using provider
defined interaction protocol (pseudooperations) as well as other operations
4. Final plan validated and used by consumer
(final BPEL process is deployed)
Compose the solution on the fly
Constraints for planning come from:
1.Semantic requirements
(preconditions, post-conditions, input,
and output ) from the client (WSDL-S)
2.Precondition, effect, input, and output
from the providers (WSDL-S)
3.Interaction protocol from the
providers
Interaction Protocol Approach
• Client’s requirements can be captured in
Semantic Template (WSDL-S)
For the SWS Challenge 2006:
<wsdl:operation name="sendPO">
<wssem:precondition expression="haveCompanyInfo"/>
<wsdl:input message="impl:PIP3A4POR"/>
<wssem:postcondition expression="completeOrder ^
closeOrder"/>
</wsdl:operation>
Interaction Protocol Approach
Besides the semantic annotation for “regular”
operatioins, Service Provider specify the
Interaction Protocol which is a set of pseudooperations
<wssem:interactionProtocol>
<wssem:pseudoOperation name="placeOrder">
<wssem:precondition expression="haveCustomerID"/>
<wsdl:input message="impl:PlaceOrderRequestMessage"/>
<wsdl:output
message="impl:CloseOrderResponseMessage"/>
<wssem:effect
expression="haveOrderID^completeOrder^closeOrder"/>
<wssem:process>
mooncompany:OMServicePortType:createNewOrder ;
mooncompany:OMServicePortType:addLineItem * ;
mooncompany:OMServicePortType:closeOrder
</wssem:process>
</wssem:pseudoOperation>
</wssem:interactionProtocol>
Interaction Protocol Approach
• Planner uses GraphPlan algorithm
– Represents possible plans using expandable
graph data structure
– Alternating layers of ground literals and actions
(ground instances of operators)
– Represents the literals and actions that might
occur at each time step
– Attempts to extract plan when goal level of
literals is reached
Interaction Protocol Approach
• GraphPlan example (Preconditions -> “A ^ B” Goal -> “E”)
– If preconditions exist for operation:
• Operation placed in sequential path
• Effects of operation placed in new state
– Expansion continues until goal is reached
– Plan is composed by backtracking to the initial level through
operations
Initial
state
Goal
A
A
O1
A
A
O1
O1
B
B
B
C
C
B
literal
operation
O2
O3
C
O2
D
D
Plan → O1,O2,O4
O4
E
Interaction Protocol Approach
• Graphplan Example with pseudo-operations
– Pseudo-operations reduce graph complexity (execution
path length, number of actions, etc) with human defined
super-operations
Initial
state
Goal
A
PO1
O1
O2
C
A
A
B
B
O3
C
C
literal
O4
Atomic operation
Psuedo operation
D
D
Plan → PO1, O4
E
Interaction Protocol Approach
• GraphPlan extended
– Must also check whether output of one operation
semantically matches the input of the next
operation in sequence
• Need to refer both to ontology
O1
Output
Input
O2
Interaction Protocol Approach
• GraphPlan extracts a sequential “backbone”
execution path that can be converted to BPEL
– Includes pseudo-operation conversion
Plan w/ IP
Plan w/ Atomic
Operations
O1
PO1
BPEL
…
<Invoke O1>
O2
O4
<Invoke O2>
<Invoke O3>
O4
…
• Solution
– Process synthesized
using client’s
requirements and
internal planning.
– Service provider
provides pre-defined
pseudo operations to
make planning easier.
Service Provider 1
(CRM)
CompanyName
Search
Customer
CustId
Service Provider 2 (POM)
authToken
Contact
shipTo
Create
orderId
billTo
authToken
orderId
item
authToken
orderId
Add
orderId
lineItemId
orderId
Close
ItemNo
Architecture
Demo
• Open ProcessMediator.swf in IE or Firefox
(requires Flash)
• Inputs:
– Client Template: Blue_SemanticTemplate.wsdls
– Provider Services: CRMService.wsdls,
OMService.wsdls
• Output
– generatedProcess.bpel
The End
Thanks
Download