Why does my service have no partners?

502 views

Published on

Workshop presentation given by Niels Lohmann on September 5, 2008 in Milan, Italy at the 5th International Workshop on Web Services and Formal Methods (WS-FM 2008).

Published in: Education, Business, Technology
  • Be the first to comment

  • Be the first to like this

Why does my service have no partners?

  1. 1. Why does my servicehave no partner?<br />Diagnosing uncontrollability<br />Niels Lohmann<br />WS-FM 2008 ▪ Milan ▪ 5 September 2008<br />http://service-technology.org/wsfm2008<br />UNIVERSITÄT ROSTOCK<br />
  2. 2. Controllability<br />&quot;soundness for services&quot;<br />answer to &quot;Does my service have partners?&quot; or &quot;Can anyone use my service?&quot;<br />existence of partner proves controllability<br />implemented in tool Fiona (see next talk)<br />2<br />
  3. 3. Uncontrollable services<br />3<br />decision not communicated (non-local choice): resubmission necessary?<br />
  4. 4. Uncontrollable services (2)<br />4<br />infinite message queue necessary: not controllable<br />
  5. 5. Uncontrollable services (3)<br />5<br />WS-BPEL<br />asynchronous message transfer yields non-local choice:which branch was taken?<br />
  6. 6. Uncontrollable services (4)<br />6<br />YAWL<br />decision communicated, but control flow may deadlock<br />
  7. 7. Uncontrollable services (5)<br />7<br />Open Petri Net<br />control flow may run into livelock<br />
  8. 8. Uncontrollability<br />can have many different reasons<br />is independent of specification language<br />8<br />
  9. 9. Patterns for Uncontrollability<br />9<br />controllable net containing the pattern<br />pattern for non-local choice<br />controllable net containing the pattern<br />
  10. 10. Uncontrollability<br />can have many different reasons<br />is independent of specification language<br />is a non-local criterion<br />10<br />
  11. 11. Relationship to Soundness<br />11<br />unsound, uncontrollable<br />sound, uncontrollable<br />sound, controllable<br />relaxed sound, uncontrollable<br />unsound, controllable<br />
  12. 12. Uncontrollability<br />can have many different reasons<br />is independent of specification language<br />is a non-local criterion<br />has no relationship to soundness<br />12<br />
  13. 13. Witness for controllability<br />13<br />✗<br />remaining graph iswitness for controllability<br />
  14. 14. Witness for uncontrollability<br />14<br />✗<br />✗<br />✗<br />✗<br />✗<br />no graph left to witness<br />uncontrollability<br />
  15. 15. Uncontrollability<br />can have many different reasons<br />is independent of specification language<br />is a non-local criterion<br />has no relationship to soundness<br />current algorithm provides no witness<br />next step (very briefly):<br />provide diagnosis information<br />answer &quot;Why does my service have no partners?&quot;<br />15<br />
  16. 16. Diagnosing Uncontrollability<br />goal: find reasonable partof the graph<br />idea: partition graph into two parts:<br />good: no error occurred (yet)<br />bad: error already occurred or unavoidable<br />diagnosis: analyze moves from good to bad part<br />realization: blacklists<br />16<br />
  17. 17. Blacklists<br />preprocessing of the open net<br />deadlocks and livelocks(communication-independent issues)<br />during graph generation<br />covered final marking(can be related to a non-local choice)<br />exceeded message bound<br />17<br />
  18. 18. Diagnosis Algorithm<br />consider states that can be left with sending events<br />if successors are blacklisted, print the reason<br />otherwise consider non-blacklisted successors<br />18<br />non-local choice between b and c may yield to cover final marking!<br />
  19. 19. Wrap up<br />uncontrollability…<br />is a very undesired property of a service<br />can have a lot of reasons<br />cannot be avoided using anti-patterns<br />can now be diagnosed!<br />next steps:<br />implementation<br />provide assistance towards controllability<br />extend diagnosis to cope with choreographies<br />19<br />Thank you!<br />Any questions?<br />

×