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 [2008/04/29 08:33]
miw
pl:miw:miw08_umlandardxtt [2008/06/14 15:02]
gjn
Linia 1: Linia 1:
-====== Opis ====== 
-Krzysztof Kluza (4AR) <​krzysztof.kluza@uj.edu.pl>​ 
- 
-:!: 
-Investigate how XTT could be modeled in UML 
-  * input 
-UML, ARD/XTT documentation 
-  * output 
-Sample XTT based rules modelled with UML. 
- 
- 
-====== Spotkania ====== 
-===== 08.02.26 ===== 
-===== 08.03.04 ===== 
-[[hekate:​hekate_case_thermostat]] 
- 
-===== 080318 ===== 
-[[hekate:​hekate_case_thermostat]] 
-  * połączenia między diagramami 
- 
- 
-===== 080401 ===== 
-  * próba modelowania ARD, sar, shi, sha. 
- 
- 
-===== 080415 ===== 
-  * model ard, use, trace 
- 
- 
-===== 080429 ===== 
-  * podsumowanie 
-  * http://​www.knowgravity.com/​eng/​index.htm 
-  * http://​home.agh.edu.pl/​~mszpyrka/​index.php?​s=CSLTR 
- 
-na przyszłość:​ 
-  * http://​en.wikipedia.org/​wiki/​Model-driven_architecture 
-  * http://​www.omg.org/​mda/​ 
- 
-====== Projekt ====== 
- 
-==== 08.02.26 ==== 
- 
-Próby modelowania diagramów XTT: 
-  * [[pl:​miw:​miw08_umlandardxtt:​activity_diagrams#​section|za pomocą diagramów aktywności]],​ 
-  * [[pl:​miw:​miw08_umlandardxtt:​state_diagrams#​section|za pomocą diagramów stanów]]. ​ 
- 
- 
-==== 08.03.04 ==== 
- 
-Dalsze próby modelowania diagramów XTT [[pl:​miw:​miw08_umlandardxtt:​state_diagrams#​section1|za pomocą diagramów stanów]].\\ ​ 
-Propozycja [[pl:​miw:​miw08_umlandardxtt:​umlandard| hipotetycznego modelu diagramu ARD w UMLu]]. 
- 
-==== 08.03.18 ==== 
- 
-Sforumułowanie [[pl:​miw:​miw08_umlandardxtt:​activity_diagrams#​section1|algorytmu przejścia z diagramu XTT na diagram aktywności UML]]. 
- 
-==== 08.04.01 ==== 
- 
-Po zapoznaniu się z ARD (sar, shi, sha) postanowiłem użyć jednak diagramów klas do ich przedstawienia: ​ 
-  * [[pl:​miw:​miw08_umlandardxtt:​umlandard:​approach1| Pierwsze podejście do problemu]] 
-  * [[pl:​miw:​miw08_umlandardxtt:​umlandard:​approach2| Drugie podejście do problemu (bazujące na pierwszym)]] ​ 
- 
-==== 08.04.15 ==== 
- 
-Propozycja wykorzystania [[pl:​miw:​miw08_umlandardxtt:​umlandard:​approach2#​zaleznosci_trace_use_i_derive|zależności trace i derive]]. 
- 
- 
-==== 08.04.29 ==== 
- 
-Zmodyfikowane [[pl:​miw:​miw08_umlandardxtt:​umlandard:​approach3|podejście do problemu modelu ARD]].\\ ​ 
-Podsumowanie projektu w części Sprawozdanie. 
- 
-====== Sprawozdanie ====== 
- 
-Niniejszy projekt przedstawia próbę zamodelowania zarówno diagramów XTT, jak i ARD przy pomocy języka UML. 
- 
- 
- 
-===== Diagramy XTT w UML ===== 
- 
-Tabele decyzyjne diagramu XTT reprezentują pewne reguły, które posiadają tego samego rodzaju atrybuty, a reguły te są przetwarzane sekwencyjnie. Wobec tego nasuwa się uzasadniona chęć użycia diagramów, które nie tyle pokazują strukturę systemu, co jego zachowanie (dynamikę). Są to zatem diagramy tj. przypadków użycia (use case), aktywności [czynności] (activity) i stanów (state), a także diagramy interakcji (sam diagram interakcji to diagram abstrakcyjny,​ który może być reprezentowany przez kilka różnych diagramów). 
- 
-> Żaden z diagramów nie oddaje w pełni przetwarzania regułowego XTT. 
-> Najlepszymi kandydatami są: diagram maszyny stanów oraz diagram aktywności. 
-> Jednakże pomimo, iż możliwe jest wyrażenie w nich reguł i zdefiniowanie stanów systemu,  ​ 
-> tego rodzaju diagramy powiększają się bardzo szybko w miarę rozwoju oprogramowania. 
-> Takie diagramy mogą być efektywnie stosowane w przypadkach,​ gdy mamy do czynienia ​ 
-> tylko z kilkoma regułami. Nie są jednak odpowiednie dla rzeczywistych systemów regułowych. ([[hekate:​bib:​hekate_bibliography#​gjn2007kese-keuml]] s. 7) 
- 
-> Diagramy aktywności i diagramy stanów są powiązane. Diagram aktywności skupia się na obiekcie ​ 
-> przechodzącym pewien proces (albo na procesie traktowanym jak obiekt), natomiast diagram stanów skupia się na  
-> operacjach związanych z jednym procesem.\\ ([[http://​www.borland.pl/​tech/​poradnik_uml.shtml#​Diagramy_aktywnosci]]) 
- 
-==== Zaniechane próby modelowania przy pomocy diagramów stanów ==== 
- 
-Pierwsze próby modelowania XTT prowadzone były na diagramach stanów. ​ 
-Przykładowe podejścia do zamodelowania jednej z reguł XTT: 
- 
-=== Fragment diagramu XTT === 
-{{:​pl:​miw:​miw08_umlandardxtt:​xtt_th.png|:​pl:​miw:​miw08_umlandardxtt:​xtt_th.png}} 
- 
-=== Podejście pierwsze === 
-{{:​pl:​miw:​miw08_umlandardxtt:​th_state1.png?​450|:​pl:​miw:​miw08_umlandardxtt:​th_state1.png}} 
- 
-Problem: brak jednoznaczności,​ które z parametrów przekształcać w stany, a które w warunki dozoru. 
- 
-=== Podejście drugie === 
-{{:​pl:​miw:​miw08_umlandardxtt:​th_state2a.png?​450|:​pl:​miw:​miw08_umlandardxtt:​th_state2a.png}} 
- 
-Problem: przy niewiele większej tablicy XTT diagram staje się słabo czytelny. 
- 
-=== Podejście trzecie === 
-{{:​pl:​miw:​miw08_umlandardxtt:​th_state2b.png?​450|:​pl:​miw:​miw08_umlandardxtt:​th_state2b.png}} 
- 
-Problem: we wszystkich trzech powyższych podejściach brak nazwy atrybutu wyjściowego,​ zaś by uzyskać nazwy atrybutów wejściowych należałoby wyszukiwać ich w warunkach dozoru. 
- 
- 
- 
-==== Proponowany model XTT przy pomocy diagramów aktywności (czynności) ====  
- 
-> Diagramy aktywności mają związek z diagramami przepływu i służą do ilustrowania działań zachodzących w systemie. (...)\\ 
-> W diagramach aktywności można zaprezentować zdarzenia zachodzące równolegle. ([[pl:​miw:​miw08_umlandardxtt#​literatura|Graessle 2006]], s. 66) 
- 
-Rezultatem projektu jest poniższy algorytm przekształcania diagramów XTT na diagramy aktywności (czynności) UML:  ​ 
- 
-=== Algorytm przejścia z diagramów XTT na diagram UML === 
- 
-^ Opis kroku algorytmu ^ Przykładowe przekształcenie ^ 
-|**1)** Wszystkie atrybuty wejściowe stają się parametrami wejściowymi czynności, zaś atrybut wyjściowy staje się parametrem wyjściowym czynności (dla rozgraniczenia można podzielić diagram na partycje).\\ \\ \\ \\ \\ \\ |  {{:​pl:​miw:​miw08_umlandardxtt:​algorithm_step1.png|:​pl:​miw:​miw08_umlandardxtt:​algorithm_step1.png}} ​ | 
-|**2)** Dla każdego takiego atrybutu (parametru czynności),​ jeśli w XTT istnieje więcej niż 1 unikalna jego wartość dodajemy węzeł decyzyjny oraz dla każdej unikalnej wartości atrybutu:\\ **a)** prowadzimy z niego przepływ sterowania opatrzony warunkiem w postaci tej unikalnej wartości,​\\ **b)** jeśli dana wartość występuje wielokrotnie kończymy przepływ rozgałęzieniem z liczbą wyjść równą liczbie krotności występowania danej wartości w tablicy XTT.|  {{:​pl:​miw:​miw08_umlandardxtt:​algorithm_step2.png|:​pl:​miw:​miw08_umlandardxtt:​algorithm_step2.png}} ​ | 
-|**3)** Dla każdej reguły (wiersza w XTT) rysujemy złączenie o liczbie wejść równej liczbie parametrów wejściowych i jednym wyjściu. Każdemu złączeniu:​\\ **a)** do wejść doprowadzamy odpowiednie przepływy sterowania (zgodnie z wartościami atrybutów w danej regule),\\ **b)** z wyjścia prowadzimy przepływ sterowania do  akcji odpowiadającej wartości atrybutu wyjściowego w danej regule:\\ **-** bezpośrednio,​ jeśli wartość atrybutu występowała w XTT tylko raz,\\ **-** poprzez węzeł łączący (scalenie) w przeciwnym wypadku.\\ |{{:​pl:​miw:​miw08_umlandardxtt:​algorithm_step3.png|:​pl:​miw:​miw08_umlandardxtt:​algorithm_step3.png}}| 
-|**4)** Wyjścia z wszystkich akcji scalamy w węźle łączącym (scalającym) i doprowadzamy przepływ sterowania do parametru wyjściowego czynności.\\ \\ \\ \\ \\ \\ \\ |  {{:​pl:​miw:​miw08_umlandardxtt:​algorithm_step4.png|:​pl:​miw:​miw08_umlandardxtt:​algorithm_step4.png}} ​ | 
-  
-=== Poszczególne diagramy dla fragmentów XTT === 
- 
-Diagramy aktywności skonstruowane powyższym algorytmem dla termostatu będą wyglądały następująco:​ 
- 
-^Diagram aktywności dla diagramu XTT ms:^^ 
-|{{:​pl:​miw:​miw08_umlandardxtt:​xtt_ms.png|:​pl:​miw:​miw08_umlandardxtt:​xtt_ms.png}}|{{:​pl:​miw:​miw08_umlandardxtt:​ms_3.png?​427|:​pl:​miw:​miw08_umlandardxtt:​ms_3.png}}| 
- 
-^Diagram aktywności dla diagramu XTT dt:^^ 
-|{{:​pl:​miw:​miw08_umlandardxtt:​xtt_dt.png?​300|:​pl:​miw:​miw08_umlandardxtt:​xtt_dt.png}}|{{:​pl:​miw:​miw08_umlandardxtt:​dt_3.png?​400|:​pl:​miw:​miw08_umlandardxtt:​dt_3.png}}| 
- 
-^Diagram aktywności dla diagramu XTT th:^^ 
-|{{:​pl:​miw:​miw08_umlandardxtt:​xtt_th.png?​300|:​pl:​miw:​miw08_umlandardxtt:​xtt_th.png}}|{{:​pl:​miw:​miw08_umlandardxtt:​th_3.png?​400|:​pl:​miw:​miw08_umlandardxtt:​th_3.png}}| 
- 
-^Diagram aktywności dla diagramu XTT os:^^ 
-|{{:​pl:​miw:​miw08_umlandardxtt:​xtt_os.png?​300|:​pl:​miw:​miw08_umlandardxtt:​xtt_os.png}}|{{:​pl:​miw:​miw08_umlandardxtt:​os_3.png?​400|:​pl:​miw:​miw08_umlandardxtt:​os_3.png}}| 
- 
-=== Diagram dla całego XTT termostatu === 
- 
-Dla przejrzystości,​ modelując diagram całego termostatu, powyższe aktywności przedstawiamy jako zagnieżdżone (aktywność przedstawiona w postaci zagnieżdżonej odwołuje się do szeregu akcji tej aktywności,​ których jednak w celach przejrzystości nie przedstawia się bezpośrednio na danym diagramie). 
- 
-^Diagram dla całego termostatu:​^ 
-|{{:​pl:​miw:​miw08_umlandardxtt:​uml_activity_xtt_3.png?​700|:​pl:​miw:​miw08_umlandardxtt:​uml_activity_xtt_3.png}}| 
- 
- 
- 
-===== Diagramy ARD w UML ===== 
- 
-Diagram ARD (Atribute Relationship Diagram) identyfikuje atrybuty systemu i ukazuje zależności funkcjonalne pomiędzy nimi. 
- 
-Przykładowy diagram ARD na niskim poziomie dla termostatu:​\\ ​ 
-<​graphviz file="​hekate:​therm-a8.dot"></​graphviz>​ 
- 
-W czasie procesu projektowania diagram ARD rozrasta się. Rozrost taki można przedstawić przy pomocy modelu hierarchicznego TPH (Transformation Process History). Dla powyższego diagramu, diagram TPH wygląda następująco:​\\ ​ 
-<​graphviz file="​hekate:​therm-t8.dot"></​graphviz>​ 
- 
- 
-==== Zaniechane próby modelowania przy pomocy diagramów aktywności (czynności) ==== 
- 
- 
-=== Podejście pierwsze === 
- 
-{{:​pl:​miw:​miw08_umlandardxtt:​ard_scalenie1.png|Ryc:​ Diagram aktywności ze scaleniami.}} 
- 
-Problem: Gdy zostanie np. ustalona tylko jedna z wartości //today// albo //hour// sterowanie zostałoby przekazane do //​operation//​. Takie rozwiązanie **nie wydaje się zgodne** z działaniem termostatu. 
- 
- 
-=== Podejście drugie === 
- 
-{{:​pl:​miw:​miw08_umlandardxtt:​ard_zlaczenie1.png|Ryc:​ Diagram aktywności ze złączeniami.}} 
- 
-Problem: W tym wypadku przekazywanie sterowania byłoby zgodne z diagramem ARD. Występuje jednak znaczna różnica semantyczna:​ w diagramie UML aktywności reprezentują czynności, zaś na tym diagramie mają reprezentować cechy (atrybuty) systemu. 
- 
- 
- 
- 
- 
- 
- 
-==== Proponowany model ARD przy pomocy diagramu komponentów UML ==== 
- 
-=== Użyte rodzaje powiązań === 
- 
-W proponowanym modelu zostały użyte następujące rodzaje powiązań: 
- 
-^ UML ^ Nazwa powiązania ^ Znaczenie powiązania ^ 
-| {{:​pl:​miw:​miw08_umlandardxtt:​umlandard:​dependency_derive.png|:​pl:​miw:​miw08_umlandardxtt:​umlandard:​dependency_derive.png}} | Zależność \\ <<​derive>>​ | Określa związek pochodzenia między elementami, będącymi często (ale nie koniecznie) tego samego typu. Związek pochodzenia specyfikuje,​ że klient (B) może być wyznaczony (obliczony) na podstawie dostawcy (A). | 
-| {{:​pl:​miw:​miw08_umlandardxtt:​umlandard:​dependency_refine.png|:​pl:​miw:​miw08_umlandardxtt:​umlandard:​dependency_refine.png}} | Zależność \\ <<​refine>>​ | Specyfikuje zależność usczegółowienia między elementami modelu na różnych poziomach znaczeniowych. B jest uszczegółowioną wersją A. | 
-| {{:​pl:​miw:​miw08_umlandardxtt:​umlandard:​dependency_trace.png|:​pl:​miw:​miw08_umlandardxtt:​umlandard:​dependency_trace.png}} | Zależność \\ <<​trace>>​ | Definiuje związek trace pomiędzy elementami modelu (lub zbiorami elementów),​ które reprezentują to samo pojęcie (tę samą abstrakcję) w różnych modelach. Głównie używane dla śledzenia zmian między modelami. | 
- 
-=== Model diagramu ARD === 
- 
-Proponowany model diagramu ARD bazuje na diagramach komponentów. W części projektowej znajdują się [[pl:​miw:​miw08_umlandardxtt:​umlandard:​approach3#​proponowany_model_diagramow|diagramy dla całego termostatu]]. Poniżej prezentuję diagramy najbardziej szczegółowego poziomu: 
- 
-^  diagram ARD  ^ model UML diagramu ARD ^ 
-| <​graphviz file="​hekate:​therm-a8.dot"></​graphviz> ​ | {{:​pl:​miw:​miw08_umlandardxtt:​umlandard:​approach3_ard_8.png|:​pl:​miw:​miw08_umlandardxtt:​umlandard:​approach3_ard_8.png}} | 
- 
-^ diagram TPH  ^ model UML ^ 
-| <​graphviz file="​hekate:​therm-t8.dot"></​graphviz>​ | {{:​pl:​miw:​miw08_umlandardxtt:​umlandard:​approach3_tph_8.png|:​pl:​miw:​miw08_umlandardxtt:​umlandard:​approach3_tph_8.png}} | 
- 
-^ diagram ARD ^ diagram TPH ^ model UML diagramu THP + ARD ^ 
-| <​graphviz file="​hekate:​therm-a8.dot"></​graphviz> ​ | <​graphviz file="​hekate:​therm-t8.dot"></​graphviz>​ | {{:​pl:​miw:​miw08_umlandardxtt:​umlandard:​approach3_shi_8.png|:​pl:​miw:​miw08_umlandardxtt:​umlandard:​approach3_shi_8.png}} | 
- 
-Zależność //trace// w naszym modelu zachodzi między elementami reprezentującymi tę samą abstrakcję na różnych poziomach szczegółowości np. 
-{{:​pl:​miw:​miw08_umlandardxtt:​umlandard:​trace_example.png|Przykład występowania zależności trace w modelu TPH}}  
- 
- 
- 
-====== Materiały ====== 
- 
- 
- 
-===== XMI ===== 
-patrz nowe [[hekate:​xmi|haslo o XMI]]. 
- 
-może ja Pan rozbudować przy okazji, w tym też poczytać o MOF... 
- 
-:!: oba hasła na razie w brudnopisie,​ gdyż nie mam dostępu do przestrzeni hekate: [[pl:​miw:​miw08_umlandardxtt:​notatki| XMI & MOF]] (08.04.15) 
- 
-===== Źródła internetowe ===== 
-  
-  * [[hekate:​hekate_concepts#​xtt]] 
-  * {{:​hekatedev:​uml-2.0-tutorial_storrle_knapp.pdf|UML-2.0 Tutorial, Prof. Storrle, Prof Knapp.pdf}} :!: PROBLEM Z AUTORYZACJĄ 
-  * [[http://​www.pst.ifi.lmu.de/​veroeffentlichungen/​UML-2.0-Tutorial.pdf]] 
-  * See a //VERY NICE// [[http://​hydrogen.informatik.tu-cottbus.de/​moodle/​course/​enrol.php?​id=24|tutorial]] on the group technologies. Login as //guest//, with key //​RMAI2007//​ 
-  * [[http://​www.omg.org/​cgi-bin/​doc?​formal/​07-11-01|Specyfikacja OMG Unified Modeling Language 2.1.2]] 
- 
-===== Literatura ===== 
- 
-  * Graessle P., Baumann H. i P., UML 2.0 w akcji. Przewodnik oparty na projektach.,​ Helion 2006. 
-  * Pilone D., Pitman N., UML 2.0 Almanach, Helion 2007. 
- 
- 
- 
-===== Oprogramowanie używane w projekcie ===== 
- 
-  * http://​office.microsoft.com/​pl-pl/​visio/​ 
- 
-  * http://​www.artisansw.com/​products/​ 
- 
-  * https://​ai.ia.agh.edu.pl/​wiki/​kese:​kese 
  
pl/miw/miw08_umlandardxtt.txt · ostatnio zmienione: 2019/06/27 15:50 (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