Opis
Projekt zakończony
Krzysztof Kluza (4AR) krzysztof.kluza@uj.edu.pl
Investigate how XTT could be modeled in UML
UML, ARD/XTT documentation
Sample XTT based rules modelled with UML.
Spotkania
080527
CVS
Some docs: a sane CVS Howto,
MarkD,
CVS Manual.
export CVSROOT=:ext:charon.ia.agh.edu.pl/mnt/cvs/cvs-hekate
export CVS_RSH=ssh
Naming convention for CVS modules:
p_papername_conferenceYYYY
p_papername
epp_name
hexor_name
mirella_name
xtt_name
ard_name
Examples
Checking out:
cvs -d :ext:charon.ia.agh.edu.pl/mnt/cvs/cvs-hekate co p_mypaper_fancyconferece2007
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
Bibliography
Hekate bibliography BibTeX database is available as hekatebib cvs module, to checkout type:
cvs -d :ext:charon.ia.agh.edu.pl/mnt/cvs/cvs-hekate co hekatebib
There is a main file called hekate.bib
.
Check it out within your paper directory.
DO NOT REMOVE any entries, please.
Warning: hekate.bib
is NOT in sync with bibliography for now
Hopefully one day will be as soon as we have a sane BibTeX plugin for dokuwiki
TODO
Projekt
08.02.26
Próby modelowania diagramów XTT:
08.03.04
08.03.18
08.04.01
Po zapoznaniu się z ARD (sar, shi, sha) postanowiłem użyć jednak diagramów klas do ich przedstawienia:
08.04.15
08.04.29
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. (
gjn2007kese-keuml s. 7)
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
Podejście pierwsze
Problem: brak jednoznaczności, które z parametrów przekształcać w stany, a które w warunki dozoru.
Podejście drugie
Problem: przy niewiele większej tablicy XTT diagram staje się słabo czytelny.
Podejście trzecie
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. (
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).
| |
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. | |
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.
| |
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.
| |
Poszczególne diagramy dla fragmentów XTT
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: |
|
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
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
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ń
Model diagramu ARD
Materiały
XMI
patrz nowe 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: XMI & MOF (08.04.15)
Źródła internetowe
-
-
-
See a
VERY NICE tutorial on the group technologies. Login as
guest, with key
RMAI2007
-
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