This document discusses diagnosing uncontrollability in services. It explains that uncontrollability can have many different reasons and is independent of specification language. It presents patterns that can cause uncontrollability and discusses the relationship between uncontrollability and soundness. The document proposes an algorithm to diagnose uncontrollability by partitioning graphs into "good" and "bad" parts and analyzing how moves occur from good to bad. Blacklists are used in the algorithm to identify issues like deadlocks.
1. Why does my servicehave no partner? Diagnosing uncontrollability Niels Lohmann WS-FM 2008 ▪ Milan ▪ 5 September 2008 http://service-technology.org/wsfm2008 UNIVERSITÄT ROSTOCK
2. Controllability "soundness for services" answer to "Does my service have partners?" or "Can anyone use my service?" existence of partner proves controllability implemented in tool Fiona (see next talk) 2
12. Uncontrollability can have many different reasons is independent of specification language is a non-local criterion has no relationship to soundness 12
15. Uncontrollability can have many different reasons is independent of specification language is a non-local criterion has no relationship to soundness current algorithm provides no witness next step (very briefly): provide diagnosis information answer "Why does my service have no partners?" 15
16. Diagnosing Uncontrollability goal: find reasonable partof the graph idea: partition graph into two parts: good: no error occurred (yet) bad: error already occurred or unavoidable diagnosis: analyze moves from good to bad part realization: blacklists 16
17. Blacklists preprocessing of the open net deadlocks and livelocks(communication-independent issues) during graph generation covered final marking(can be related to a non-local choice) exceeded message bound 17
18. Diagnosis Algorithm consider states that can be left with sending events if successors are blacklisted, print the reason otherwise consider non-blacklisted successors 18 non-local choice between b and c may yield to cover final marking!
19. Wrap up uncontrollability… is a very undesired property of a service can have a lot of reasons cannot be avoided using anti-patterns can now be diagnosed! next steps: implementation provide assistance towards controllability extend diagnosis to cope with choreographies 19 Thank you! Any questions?
Notas do Editor
important, because Web services may run unobserved
order of A and B cannot be enforced
trivial control flow issues can also avoid controllability
trivial control flow issues can also avoid controllability
hard to oversee (Online Shop IBM)from now on open nets: least constraints (channels, conflicting receives)other languages can be translated to open nets
idea: use anti-patterns to detect uncontrollablity
no structural approaches known
the composed system should be (weak) soundcontrollability is property of _one_ partno relationship to soundness
we cannot recycle existing approaches
we find no graph we can use as counterexample
state of the art: tool tells me THAT net is not controllable, but not WHY
we want to distinguish necessary (safe) communication from unsafe
diagnosis is important, because uncontrollability is very subtle