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/15 14:32]
gjn
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 ardusetrace+ 
 +  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 moduleto 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 entriesplease. 
 + 
 +**Warning**:​ ''​hekate.bib''​ is NOT in sync with [[hekatedev:​bibliography]] for now :!: 
 +Hopefully one day will be as soon as we have a sane BibTeX plugin for dokuwiki :-) 
 + 
 +TODO 
 +  * keyformat: AuthorLastNameYearConf[-something]
  
  
-===== 080429 ===== 
-  * podsumowanie 
- http://​www.knowgravity.com/​eng/​index.htm 
-  * http://​home.agh.edu.pl/​~mszpyrka/​index.php?​s=CSLTR 
  
 ====== Projekt ====== ====== Projekt ======
  
-na przyszłość: +==== 08.02.26 ==== 
-http://en.wikipedia.org/​wiki/​Model-driven_architecture + 
-http://www.omg.org/mda/+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]].\\  
 +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 ======
  
-===== Szkice nad diagramami behawioralnymi (08.02.26, 08.03.04, 08.03.18) ​===== +Niniejszy projekt przedstawia próbę zamodelowania zarówno diagramów XTT, jak i ARD przy pomocy języka 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), 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).+ 
 + 
 + 
 +===== 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. > Żaden z diagramów nie oddaje w pełni przetwarzania regułowego XTT.
Linia 51: 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)
  
-Wobec tego postanowiłem ​na początek spróbować zamodelować osobno 2 reguły z przykładu w udostępnionej specyfikacji XTT:+> 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]])
  
-|{{:​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}}|+==== Zaniechane próby modelowania przy pomocy diagramów stanów ====
  
-raz przy użyciu diagramów aktywności,​ a raz przy użyciu 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:
  
-Za [[http://​www.borland.pl/​tech/​poradnik_uml.shtml#​Diagramy_aktywnosci]]: +=== Fragment diagramu XTT === 
-> Diagramy aktywności i diagramy stanów są powiązaneDiagram aktywności skupia się na obiekcie przechodzącym pewien proces  +{{:pl:miw:​miw08_umlandardxtt:​xtt_th.png|:​pl:​miw:​miw08_umlandardxtt:​xtt_th.png}}
-> (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: +=== Podejście pierwsze === 
-  - [[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]]),​ +{{:​pl:​miw:​miw08_umlandardxtt:​th_state1.png?450|:​pl:​miw:​miw08_umlandardxtt:​th_state1.png}}
-  - [[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 ====+Problem: brak jednoznaczności,​ które z parametrów przekształcać w stany, a które w warunki dozoru.
  
-:!Zgodnie ze specyfikacją XTT wiersze w tabelach są interpretowane z góry na dółW tym momencie ​  +=== Podejście drugie === 
-diagramy aktywności czy stanów zamodelowane jak wyżej nie dają możliwości oddania tych zależności.+{{:pl:miw:​miw08_umlandardxtt:​th_state2a.png?​450|:​pl:​miw:​miw08_umlandardxtt:​th_state2a.png}}
  
-Możliwości rozwiązania problemu: +Problemprzy niewiele większej tablicy XTT diagram ​staje się słabo czytelny.
-  * 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.+
  
 +=== 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.
  
-===== 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). 
  
-Po zapoznaniu ​się z ARD (sarshishapostanowiłem jednak użyć diagramów klas do ich przedstawienia ​(08.04.01):  +==== Proponowany model XTT przy pomocy diagramów aktywności (czynności) ====  
-  [[pl:​miw:​miw08_umlandardxtt:​umlandard:approach1Pierwsze podejście do problemu]] + 
-  * [[pl:​miw:​miw08_umlandardxtt:​umlandard:approach2Drugie podejście do problemu ​(bazujące na pierwszym)]] ([[pl:​miw:​miw08_umlandardxtt:​umlandard:​approach2#zaleznosci_trace_use_i_derive|08.04.15]])+> 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ł(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.\\ 
 + 
 +^ 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}} | 
  
  
Linia 113: Linia 283:
 ===== Oprogramowanie używane w projekcie ===== ===== Oprogramowanie używane w projekcie =====
  
-  * [[http://​office.microsoft.com/​pl-pl/​visio/​]] +  * http://​office.microsoft.com/​pl-pl/​visio/​
  
-http://​www.artisansw.com/​products/​+  * http://​www.artisansw.com/​products/​
  
-https://​ai.ia.agh.edu.pl/​wiki/​kese:​kese+  * https://​ai.ia.agh.edu.pl/​wiki/​kese:​kese
  
pl/miw/miw08_umlandardxtt.1208262740.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