Modelowanie w języku UML (listopad 2016)

Pytanie zawarte w tym artykule pojawiło się podczas szkolenia Modelowanie w języku UML realizowanego w dniach 8-10.11.2016r.


Na diagramie stanów UML: czym się różni węzeł "junction" od decyzji "choice", skoro i tu, i tu na przejściach wychodzących muszą być warunki określające, które przejście wybrać?

Oba rodzaje węzłów są bardzo podobne. Różnią się tym, że dla węzła "junction" warunki sa obliczane statyczniue, czyli przed rozpoczęciem wykonywania całego przejścia złożonego. Natomiast dla węzła "choice" warunki są liczone dynamicznie: najpierw dochodzimy do węzła "choice", i dopiero wtedy obliczamy warunki na wyjściach z "choice". Może się zdarzyć, że na wejściach do "choice" będą wykonane pewne akcje, które wpłyną na warunki obliczane na wyjściach z "choice", a więc ostatecznie wpłyną na to, która ścieżka będzie wybrana.