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/28 00:13]
miw
pl:miw:miw08_umlandardxtt [2019/06/27 15:50] (aktualna)
Linia 1: Linia 1:
 ====== Opis ====== ====== Opis ======
 +__**Projekt zakończony**__
 +
 Krzysztof Kluza (4AR) <​krzysztof.kluza@uj.edu.pl>​ Krzysztof Kluza (4AR) <​krzysztof.kluza@uj.edu.pl>​
  
Linia 11: Linia 13:
  
 ====== Spotkania ====== ====== Spotkania ======
-===== 08.02.26 ===== +[[pl:miw:​miw08_umlandardxtt:​spotkania]]
-===== 08.03.04 ===== +
-[[hekate:hekate_case_thermostat]]+
  
-===== 080318 ​===== +===== 080527 ​===== 
-[[hekate:​hekate_case_thermostat]] +  * cvs
-  * połączenia między diagramami+
  
 +==== CVS ====
  
-===== 080401 ===== +Some docs: a sane [[http://​furryland.org/​~mikec/​cvs.html|CVS Howto]], ​ 
-  * próba modelowania ARDsar, shi, sha.+[[http://​badgertronics.com/​writings/​cvs/​|MarkD]], 
 +[[http://​ximbiot.com/​cvs/​manual/​|CVS Manual]].
  
 +  export CVSROOT=:​ext:​charon.ia.agh.edu.pl/​mnt/​cvs/​cvs-hekate
 +  export CVS_RSH=ssh
  
-===== 080415 ===== +Naming convention for CVS modules:
-  * model ard, use, trace+
  
 +  p_papername_conferenceYYYY
 +  p_papername
 +  epp_name
 +  hexor_name
 +  mirella_name
 +  xtt_name
 +  ard_name
  
-===== 080429 ​===== +=== Examples ​===
-  * podsumowanie +
-  * http://​www.knowgravity.com/​eng/​index.htm +
-  * http://​home.agh.edu.pl/​~mszpyrka/​index.php?​s=CSLTR+
  
-na przyszłość+Checking out
-  * http://en.wikipedia.org/wiki/Model-driven_architecture +    cvs -d :ext:charon.ia.agh.edu.pl/mnt/cvs/cvs-hekate co p_mypaper_fancyconferece2007 
-  * http://www.omg.org/mda/+Updating: 
 +    cd p_mypaper_fancyconferece2007 
 +    cvs update -Pd 
 +Commiting:​ 
 +    cd p_mypaper_fancyconferece2007 
 +    cvs commit 
 +Importing (creating a new module): 
 +    cd p_otherpaper 
 +    cvs -d :ext:charon.ia.agh.edu.pl/mnt/cvs/​cvs-hekate import -m initial p_otherpaper hekate start
  
-====== Projekt ====== +=== Bibliography ​===
-===== Szkice nad diagramami behawioralnymi (08.02.26, 08.03.04, 08.03.18) =====+
  
-Wobec tego postanowiłem na początek spróbować zamodelować osobno 2 reguły z przykładu w udostępnionej specyfikacji XTT:+Hekate bibliography BibTeX database is available as hekatebib cvs module, to checkout type:
  
-|{{:pl:miw:​miw08_umlandardxtt:​xtt_dt.png|:​pl:​miw:​miw08_umlandardxtt:​xtt_dt.png}}|{{:​pl:​miw:​miw08_umlandardxtt:​xtt_th.png|:pl:​miw:​miw08_umlandardxtt:​xtt_th.png}}|+    cvs -d :ext:charon.ia.agh.edu.pl/​mnt/​cvs/​cvs-hekate co hekatebib
  
-raz przy użyciu diagramów aktywności, ​raz przy użyciu diagramów stanów.+There is main file called ''​hekate.bib''​. 
 +Check it out within your paper directory. 
 +DO NOT REMOVE any entries, please.
  
-Za [[http://​www.borland.pl/​tech/​poradnik_uml.shtml#​Diagramy_aktywnosci]]: +**Warning**:​ ''​hekate.bib''​ is NOT in sync with [[hekatedev:bibliography]] for now :!
-> Diagramy aktywności i diagramy stanów są powiązane. Diagram aktywności skupia się na obiekcie przechodzącym pewien proces  +Hopefully one day will be as soon as we have a sane BibTeX plugin for dokuwiki :-)
-> (albo na procesie traktowanym jak obiekt), natomiast diagram stanów skupia się na operacjach związanych z jednym procesem. ​+
  
-Poniższe podstrony przedstawiają próby modelowania powyższych diagramów XTT: +TODO 
-  ​- [[pl:miw:​miw08_umlandardxtt:​activity_diagrams|za pomocą diagramów aktywności]] ([[pl:​miw:​miw08_umlandardxtt:​activity_diagrams#​section|08.02.26]],​ [[pl:​miw:​miw08_umlandardxtt:​activity_diagrams#​section1|08.03.18]]),​ +  ​* keyformatAuthorLastNameYearConf[-something]
-  ​[[pl:​miw:​miw08_umlandardxtt:​state_diagrams|za pomocą diagramów stanów]] ([[pl:​miw:​miw08_umlandardxtt:​state_diagrams#​section|08.02.26]],​ [[pl:​miw:​miw08_umlandardxtt:​state_diagrams#​section|08.03.04]]).+
  
-==== Zagadnienia problematyczne ==== 
  
-:!: 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: +====== Projekt ======
-  * 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.+
  
 +==== 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]]. ​
  
-===== Szkice nad modelem ARD w UMLu (08.03.04, 08.04.01) ===== 
  
-Podczas konsultacji 08.02.26 zwróciłem uwagę na podobieństwo diagramu [[hekate:​hekate_concepts#​ard|ARD]] do diagramu aktywności ze złączeniem (na podstawie diagramu z książki [[pl:​miw:​miw08_umlandardxtt#​literatura|Pilone 2007]] s. 143). Stąd jako osobny temat do rozważenia jest: [[pl:​miw:​miw08_umlandardxtt:​umlandard| hipotetyczny model diagramu ARD w UMLu]] (08.03.04).+==== 08.03.04 ​====
  
-Po zapoznaniu się z ARD (sar, shi, sha) postanowiłem ​jednak ​użyć diagramów klas do ich przedstawienia ​(08.04.01)+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:​approach1| Pierwsze podejście do problemu]]
-  * [[pl:​miw:​miw08_umlandardxtt:​umlandard:​approach2| Drugie podejście do problemu (bazujące na pierwszym)]] ​([[pl:​miw:​miw08_umlandardxtt:​umlandard:​approach2#​zaleznosci_trace_use_i_derive|08.04.15]])+  * [[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]].\\  
 +Opracowanie krótkiego [[pl:​miw:​miw08_umlandardxtt:​notatki|opisu specyfikacji MOF i standardu XMI]]. 
 + 
 +==== 08.04.29 ==== 
 + 
 +Zmodyfikowane [[pl:​miw:​miw08_umlandardxtt:​umlandard:​approach3|podejście do problemu modelu ARD]].\\  
 +Podsumowanie projektu w części Sprawozdanie.
  
 ====== Sprawozdanie ====== ====== Sprawozdanie ======
  
 Niniejszy projekt przedstawia próbę zamodelowania zarówno diagramów XTT, jak i ARD przy pomocy języka UML. Niniejszy projekt przedstawia próbę zamodelowania zarówno diagramów XTT, jak i ARD przy pomocy języka UML.
 +
 +
  
 ===== Diagramy XTT w UML ===== ===== Diagramy XTT w UML =====
Linia 88: Linia 121:
 > tylko z kilkoma regułami. Nie są jednak odpowiednie dla rzeczywistych systemów regułowych. ([[hekate:​bib:​hekate_bibliography#​gjn2007kese-keuml]] s. 7) > 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 ==== ==== Zaniechane próby modelowania przy pomocy diagramów stanów ====
Linia 112: Linia 147:
  
 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. 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) ====  ==== Proponowany model XTT przy pomocy diagramów aktywności (czynności) ==== 
Linia 133: Linia 170:
  
 ^Diagram aktywności dla diagramu XTT ms:^^ ^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|:​pl:​miw:​miw08_umlandardxtt:​ms_3.png}}|+|{{:​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:^^ ^Diagram aktywności dla diagramu XTT dt:^^
-|{{:​pl:​miw:​miw08_umlandardxtt:​xtt_dt.png|:​pl:​miw:​miw08_umlandardxtt:​xtt_dt.png}}|{{:​pl:​miw:​miw08_umlandardxtt:​dt_3.png|:​pl:​miw:​miw08_umlandardxtt:​dt_3.png}}|+|{{:​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:^^ ^Diagram aktywności dla diagramu XTT th:^^
-|{{:​pl:​miw:​miw08_umlandardxtt:​xtt_th.png?​303|:​pl:​miw:​miw08_umlandardxtt:​xtt_th.png}}|{{:​pl:​miw:​miw08_umlandardxtt:​th_3.png?​528|:​pl:​miw:​miw08_umlandardxtt:​th_3.png}}|+|{{:​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:^^ ^Diagram aktywności dla diagramu XTT os:^^
-|{{:​pl:​miw:​miw08_umlandardxtt:​xtt_os.png?​303|:​pl:​miw:​miw08_umlandardxtt:​xtt_os.png}}|{{:​pl:​miw:​miw08_umlandardxtt:​os_3.png?​528|:​pl:​miw:​miw08_umlandardxtt:​os_3.png}}|+|{{:​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 === === Diagram dla całego XTT termostatu ===
Linia 149: Linia 186:
  
 ^Diagram dla całego termostatu:​^ ^Diagram dla całego termostatu:​^
-|{{:​pl:​miw:​miw08_umlandardxtt:​uml_activity_xtt_3.png|:​pl:​miw:​miw08_umlandardxtt:​uml_activity_xtt_3.png}}|+|{{:​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.\\ 
 + 
 +^ Przykładowy fragment diagramu ukazujący zależność trace w modelu TPH ^ 
 +|{{:​pl:​miw:​miw08_umlandardxtt:​umlandard:​trace_example.png|Przykład występowania zależności trace w modelu TPH}} | 
 + 
  
 ====== Materiały ====== ====== Materiały ======
pl/miw/miw08_umlandardxtt.1209334415.txt.gz · ostatnio zmienione: 2019/06/27 15:58 (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