Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
Nowa wersja
Poprzednia wersja
pl:miw:miw08_umlandardxtt:state_diagrams [2008/03/03 02:44]
miw
pl:miw:miw08_umlandardxtt:state_diagrams [2019/06/27 15:50] (aktualna)
Linia 4: Linia 4:
 > Maszyny stanowe mają zastosowanie w prezentacji zachowania wybranych fragmentów systemów za pomocą grafów. ([[pl:​miw:​miw08_umlandardxtt#​literatura|Pilone 2007]], s. 111) > Maszyny stanowe mają zastosowanie w prezentacji zachowania wybranych fragmentów systemów za pomocą grafów. ([[pl:​miw:​miw08_umlandardxtt#​literatura|Pilone 2007]], s. 111)
  
-===== wersja z 08.02.26 =====+===== 08.02.26 =====
  
 W tabelach poniżej przedstawiłem próbę zamodelowania dwóch prostych diagramów XTT przy pomocy diagramów stanów UMLa: W tabelach poniżej przedstawiłem próbę zamodelowania dwóch prostych diagramów XTT przy pomocy diagramów stanów UMLa:
Linia 22: Linia 22:
  
 ==== Zagadnienia problematyczne ==== ==== Zagadnienia problematyczne ====
-W drugim diagramie stanowym jeden z atrybutów tabeli XTT przekształciłem w stan, a drugi w warunek dozoru (warunek zapisany jest nad strzałką pomiędzy stanami, gdy jest on spełniony jeden stan przechodzi w drugi zgodnie z kierunkiem strzałki między nimi). Powoduje to następujący problem: które z parametrów przekształcać w stany, a które w warunki dozoru?+W drugim diagramie stanowym jeden z atrybutów tabeli XTT przekształciłem w stan, a drugi w warunek dozoru (warunek zapisany jest nad krawędzią przejścia ​pomiędzy stanami ​[oznaczona symbolem strzałki], gdy jest on spełniony ​jeden stan przechodzi w drugi zgodnie z kierunkiem strzałki między nimi). Powoduje to następujący problem: które z parametrów przekształcać w stany, a które w warunki dozoru?
  
-===== wersja z 08.03.04 =====+===== 08.03.04 =====
  
 By uniknąć problemu, które atrybuty XTT przekształcać w warunki, a które w stany, ustalam: By uniknąć problemu, które atrybuty XTT przekształcać w warunki, a które w stany, ustalam:
-  * stanami zostaną wartości atrybutów (końcowych ​:?:) tabeli ​XTT,+  * stanami zostaną wartości atrybutów ​wyjściowych tabeli XTT (H w [[hekate:hekate_concepts#​xtt|XTT]]),
   * warunkami dozoru stają się poszczególne wiersze tabeli XTT (koniunkcja wartości w ich komórkach).   * warunkami dozoru stają się poszczególne wiersze tabeli XTT (koniunkcja wartości w ich komórkach).
  
Linia 35: Linia 35:
 |{{:​pl:​miw:​miw08_umlandardxtt:​xtt_th.png?​303|:​pl:​miw:​miw08_umlandardxtt:​xtt_th.png}}|{{:​pl:​miw:​miw08_umlandardxtt:​th_state2a.png?​600|:​pl:​miw:​miw08_umlandardxtt:​th_state2a.png}}| |{{:​pl:​miw:​miw08_umlandardxtt:​xtt_th.png?​303|:​pl:​miw:​miw08_umlandardxtt:​xtt_th.png}}|{{:​pl:​miw:​miw08_umlandardxtt:​th_state2a.png?​600|:​pl:​miw:​miw08_umlandardxtt:​th_state2a.png}}|
  
-Ponadto powyższy diagram byłby zgodny z takim XTT, w których wiersze w tabelach są **interpretowane z góry na dół** oraz mają być **unikalnymi kombinacjami wartości atrybutów**, gdyż w przypadku użycia pseudostanu **wybór** (//decision node//), zgodnie ze [[pl:​miw:​miw08_umlandardxtt#​zrodla_internetowe|specyfikacją OMG UML 2.1.2]] (s. 376) warunki dozoru ​powinnny być wzajemnie wykluczające się.+Powyższy diagram byłby ​tylko częściowo ​zgodny z takim XTT, w których wiersze w tabelach są **interpretowane z góry na dół** oraz mają być **unikalnymi kombinacjami wartości atrybutów**. W przypadku użycia pseudostanu **wybór** (//choice//), zgodnie ze [[pl:​miw:​miw08_umlandardxtt#​zrodla_internetowe|specyfikacją OMG UML 2.1.2]] (s. 556) warunki dozoru ​co prawda nie muszą się wzajemnie wykluczać (tutaj następuje istotna niezgodność),​ ale w przypadku spełnienia więcej niż jednego warunku, wybierany jest tylko jeden z nich (tyle że nie pierwszy od góry, ale dowolny).
  
-Jeśli jednak w XTT mogłyby (choćby na skutek pomyłki) wystąpić w poszczególnych wierszach wartości, które nie wykluczałyby ​wierszy ​wzajemnie, wtedy należałoby użyć ​zgodnie ze [[pl:​miw:​miw08_umlandardxtt#​zrodla_internetowe|specyfikacją OMG UML 2.1.2]] (s. 390) **rozwidlenia** (//fork node//), które ​może duplikować ​wartość wejściową i przechodzić więcej niż jedną krawędzią do kolejnych stanów. Dla tak rozumianego XTT należałoby zmodyfikować diagram następująco:​+Jeśli jednak w XTT mogłyby (choćby na skutek pomyłki) wystąpić w poszczególnych wierszach wartości, które ​**nie wykluczałyby** wzajemnie ​tych wierszy, wtedy należałoby użyć **rozwidlenia** (//fork node//), które ​duplikuje ​wartość wejściową i może przechodzić więcej niż jedną krawędzią do kolejnych stanów. Dla tak rozumianego XTT należałoby zmodyfikować diagram następująco:​
  
 ^Diagram nr 4: Zmodyfikowany diagram stanowy dla diagramu XTT th:^^ ^Diagram nr 4: Zmodyfikowany diagram stanowy dla diagramu XTT th:^^
 |{{:​pl:​miw:​miw08_umlandardxtt:​xtt_th.png?​303|:​pl:​miw:​miw08_umlandardxtt:​xtt_th.png}}|{{:​pl:​miw:​miw08_umlandardxtt:​th_state2b.png?​600|:​pl:​miw:​miw08_umlandardxtt:​th_state2b.png}}| |{{:​pl:​miw:​miw08_umlandardxtt:​xtt_th.png?​303|:​pl:​miw:​miw08_umlandardxtt:​xtt_th.png}}|{{:​pl:​miw:​miw08_umlandardxtt:​th_state2b.png?​600|:​pl:​miw:​miw08_umlandardxtt:​th_state2b.png}}|
 +
  
 ==== Zagadnienia problematyczne ==== ==== Zagadnienia problematyczne ====
  
   * :!: Jak uniknąć braku czytelności w przypadku diagramu nr 3? Przy większej liczbie stanów końcowych i większej liczbie kombinacji warunków dozoru krawędzie przejść między stanami mogą się przecinać, a ponieważ wychodzą z jednego punktu (pseudostanu **wybór**) sprawią, że warunki dozoru je opisujące będą nieczytelne.   * :!: Jak uniknąć braku czytelności w przypadku diagramu nr 3? Przy większej liczbie stanów końcowych i większej liczbie kombinacji warunków dozoru krawędzie przejść między stanami mogą się przecinać, a ponieważ wychodzą z jednego punktu (pseudostanu **wybór**) sprawią, że warunki dozoru je opisujące będą nieczytelne.
-  * :!: Co oznacza ​-X, +Y w [[hekate:​hekate_concepts#​xtt|XTT]]?​+  * :!: Czy i jak realizować ​-X (retract), +Y(assert) ​w [[hekate:​hekate_concepts#​xtt|XTT]]?​ 
 + 
 +:!: Zgodnie ze specyfikacją XTT wiersze w tabelach są interpretowane z góry na dół. W tym momencie ​  
 +diagramy aktywności czy stanów zamodelowane jak wyżej nie dają możliwości oddania tych zależności. Możliwości rozwiązania problemu: 
 +    * numeracja krawędzi i w ten sposób utrzymywanie kontroli przepływu - komplikuje to diagram, prawdopodobnie nie będzie zgodne ze specyfikacją UML. 
 +    * oddanie tych specyficznych zależności na innym rodzaju diagramu.
  
pl/miw/miw08_umlandardxtt/state_diagrams.1204508647.txt.gz · ostatnio zmienione: 2019/06/27 15:59 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0