Realizability is Controllability


Published on

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).

Published in: Business, Design
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Realizability is Controllability

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