Workshop presentation given by Niels Lohmann on September 4, 2009 in Bologna, Italy at the 6th International Workshop on Web Services and Formal Methods (WS-FM 2009).
2. Correct Services “correct” interactions deadlock freedom livelock freedom satisfaction of temporal logic formulae language inclusion … two ways to achieve correctness correctness by verification correctness by construction Realizability is Controllability 04.09.09
3. Correctness by Verification bottom-up approach (“interconnected models”): compose given services modelcheck composition languages to specify interconnected models: BPMN BPEL4Chor Petri nets, automata models, process algebras Realizability is Controllability 04.09.09
4. Correctness by Construction for Choreographies top-down approach (“interaction models”): specify desired interactions (“choreography”) project interactions to participants resulting composition is correct by design correctness notion: realizability: are there service that implement choreography? languages to specify choreographies: iBPMN, BPMN 2.0 WS-CDL, UML collaboration diagrams, Let’s Dance interaction Petri nets, message sequence charts Realizability is Controllability 04.09.09
5. Correctness by Construction for Orchestrations partner synthesis approach: specify orchestrator services synthesize compatible partner services resulting composition is correct by design correctness notion: controllability: are there compatible partner services? languages to specify choreographies: BPMN WS-BPEL open Petri nets, service automata Realizability is Controllability 04.09.09
6. Choreography global specification of the interaction behavior who: participants / “peers” how: which message channel is used when: order of messages choreography = set of desired interaction sequences Realizability is Controllability 04.09.09
8. Monitor decides whether interaction sequences belong to choreography ✔ ✘ 04.09.09 Realizability is Controllability
9. Monitor: Internals transform choreography into deterministic finite state machine 04.09.09 Realizability is Controllability
10. Monitor Service change perspective: monitor is a service itself monitor service orchestrates the participating services 04.09.09 Realizability is Controllability
11. Controllability asks for the existence of compatible partner services ? ? 04.09.09 Realizability is Controllability
12. Main Result * for three notions of realizability: complete realizability (= realizability) distributed realizability partial realizability (= local enforcability) Choreography is realizable* if and only if monitor service is controllable. 04.09.09 Realizability is Controllability
13. Distributed Realizability additional scenario: problem: Bob and Alice need to coordinate their actions: either Bob chooses “Deal” or Alice chooses “Order” choreography cannot be completely realized 04.09.09 Realizability is Controllability
14. Distributed Realizability behavior can be implemented by several tuples of services each tuple specifies a coordinated set of services implementation 1 implementation 2 04.09.09 Realizability is Controllability
15. Distributed Realizability in hierarchy of realizabilitynotions between completeand partial realizability decision algorithm provides diagnosis information: “Deal” and “Order” are not independent (coordination required) decision algorithm returns strongest applicable realizability notion 04.09.09 Realizability is Controllability
16. Asynchronous Communication refine atomic interaction: decoupling of sending (!) and receiving (?) algorithm remains unchanged assumes bounded channels 04.09.09 Realizability is Controllability
17. Take home points Realizability (property of choreographies) and controllability (property of orchestrations) are very closely related novel concept: distributed realizability uniform theory and algorithms definition motivated by interaction, not by decomposition Future work: combination of interaction models and interconnected models finish implementation of prototype http://service-technology.org http://slideshare.net/correctsystems Thank you! Questions? 04.09.09 Realizability is Controllability