Conference presentation given by Niels Lohmann on September 27, 2007 in Brisbane, Australia at the Fifth International Conference on Business Process Management (BPM 2007).
2. Analyzing Interacting Services
Behavioral Constraints for Services
! Controllability: a correctness criterion for a service
P R Composition P!R is
free of deadlocks
! Operating Guideline: characterization of all partners
RR
RR OGP characterizes
all partners of P
! At BPM 2006: Algorithms, Implementation, and a link
to BPEL (“Analyzing Interacting BPEL Processes”)
2
3. Motivation for Today
Behavioral Constraints for Services
! Operating Guideline characterizes all partners
RR
RR
! Can be thousands…
! Are all intended?
! Is a certain feature usable?
This Talk:
Refine controllability + show applications to SOA
! Business rules Service
Broker
! Scenarios find publish
! Causalities Service Service
Requester bind Provider
! Constraints
3
4. Constraints for Services
Behavioral Constraints for Services
Exclude or enforce actions of provider P
with respect to a requestor R
P t7 must fire
always receive
an order
t6 must not fire
never send an
error message
4
5. Constraint Net
Behavioral Constraints for Services
! Describe desired behavior as constraint net:
C
transitions of P
C = “Firstly, fire either t1 or t2, then fire either t3 or t4.”
5
6. Product of P and C
Behavioral Constraints for Services
! “Synchronize” P and C via transition labels
6
7. Product of P and C
Behavioral Constraints for Services
! “Synchronize” P and C via transition labels
P"C
final marking
7
8. First Results
Behavioral Constraints for Services
Service
Broker
Applications to SOA: find publish
1. Validation of services Service Service
2. Restriction of OGs Requester bind Provider
8
9. Application 1: Service Validation
Behavioral Constraints for Services
! Services are subject to change
Not every
P1 P2 P3 change is an
improvement
Goal: make sure the core features are still possible /
unwanted behaviors are still impossible
Solution:
1. Describe feature or “anti-feature” as constraint net
2. Check if product net is controllable/uncontrollable
9
10. Application 1: Service Validation
Behavioral Constraints for Services
! Services are subject to change
Not every
P1 P2 P3 change is an
improvement
This is not testing!
Goal: make sure the core features are still possible /
Constraints do not need
unwanted behaviors are a complete
describe still impossible
conversation!
Solution:
1. Describe feature or “anti-feature” as constraint net
2. Check if product net is controllable/uncontrollable
10
11. Application 2: OG Restriction
Behavioral Constraints for Services
Broker organizes specialized repository:
!
!
! Mastercard payment only
! invoice after delivery
! no o!ering of certain products
! order can always be withdrawn
!…
Solution:
Add constraint to service, re-calculate and publish OG
Advantage:
Many published (restricted) OGs for same service
11
12. Constraints for Services
Behavioral Constraints for Services
! ServiceP itself might not be accessible
! Apply constraint to its published OGP
OGP
! Only communicating transitions can be constrained!
12
13. Constraint Automaton
Behavioral Constraints for Services
! Describe desired communicational behavior as
constraint automaton
C!
?r regular customer
?p premium customer
!cod cash on delivery
!cc credit card
13
14. Product of Operating Guideline and Constraint Automaton
Behavioral Constraints for Services
! “Standard” product automaton
?r regular customer
?p premium customer C!
!cod cash on delivery
!cc credit card
OGP
14
15. Product of Operating Guideline and Constraint Automaton
Behavioral Constraints for Services
! “Standard” product automaton
OGP"C!
?r regular customer
?p premium customer
!cod cash on delivery
!cc credit card
15
16. Further Results
Behavioral Constraints for Services
Service
Broker
Applications to SOA: find publish
3. Selection of services Service Service
4. Construction of services Requester bind Provider
16
17. Service Discovery in a Nutshell
Behavioral Constraints for Services
Broker has a repository of Operating Guidelines
1. Send model of requestor to the broker
P
P P
P
R P P
P
P
P P
2. Broker matches service R P
with OGs in repository P P
3. These OGs are from “fitting” providers
17
18. Application 3: Service Selection (1)
Behavioral Constraints for Services
Goal: Only return services satisfying a constraint
! Describe constraint as constraint automaton
C"P
P
C"P C"P
P P
C C"PP
R C"PP
PC"P
C"P
P
C"P
P
C"P
P C"P
P
C"P
P
! Brokercalculates the product C"P C"P
P P
! Matching
18
19. Application 3: Service Selection (2)
Behavioral Constraints for Services
Goal: Only return services satisfying a constraint
! Describe constraint as constraint net
! Requester calculates the product
P
P P
C P
" P P
P
R P
P P
P
P P
! Matching
19
20. Application 4: Service Construction
Behavioral Constraints for Services
Goal: Find services fulfilling a constraint
! Describe constraint as constraint automaton
! Broker calculates the product
C"P
P
! Remove empty OGs C"P C"P
P P
C"P
P
C C"PP
PC"P
C"P
P
C"P
P
C"PP C"P
P
I want C"P
P
(to receive) C"P C"P
P P
These services
co!ee!
provide co!ee.
20
21. Take-Home Points
Behavioral Constraints for Services
! Two simple constructions, four nice applications
Service
Broker
Selection find publish Restriction
Service Service
Construction Requester bind Provider Validation
!A step towards service composition
Open Tasks
! Enhance expressiveness of constraints (LTL, CTL, …)
! Diagnosis results: Why is constraint unsatisfiable?
Thank you very much! Any Questions? 21