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_ardcase_cs [2008/05/24 14:08]
miw
pl:miw:miw08_ardcase_cs [2019/06/27 15:50] (aktualna)
Linia 1: Linia 1:
 ====== Opis ====== ====== Opis ======
 +__**Projekt zakończony**__
 +
 Marcin Kamiński, <​makamin@student.agh.edu.pl>​ Marcin Kamiński, <​makamin@student.agh.edu.pl>​
 +
 +
 +
 +
  
 :!::!: :!::!:
Linia 11: Linia 17:
 ====== Projekt ====== ====== Projekt ======
 Cele projektu - wyszukanie dobrze udokumentowanych systemów sterujących w języku UML, próba zamodelowania znalezionych przykładów w ARD/​XTT. ​ Cele projektu - wyszukanie dobrze udokumentowanych systemów sterujących w języku UML, próba zamodelowania znalezionych przykładów w ARD/​XTT. ​
 +
  
  
Linia 29: Linia 36:
 **   1. Wyszukanie case** **   1. Wyszukanie case**
  
-W trakcie tego etapu wybrano cztery przykłady systemów sterujących [[pl:​miw:​miw08_ardcase_cs:​bankomat|bankomatu]],​ [[pl:​miw:​miw08_ardcase_cs:​bankomat|biletomatu]],​ [[pl:​miw:​miw08_ardcase_cs:​pralka|pralki]],​ oraz [[pl:​miw:​miw08_ardcase_cs:​winda|windy]],​ oraz wyszukanie dla tych systemów modeli w języku UML.+W trakcie tego etapu wybrano cztery przykłady systemów sterujących [[pl:​miw:​miw08_ardcase_cs:​bankomat|bankomatu]],​ [[pl:​miw:​miw08_ardcase_cs:​biletomat|biletomatu]],​ [[pl:​miw:​miw08_ardcase_cs:​pralka|pralki]],​ oraz [[pl:​miw:​miw08_ardcase_cs:​winda|windy]],​ oraz wyszukanie dla tych systemów modeli w języku UML.
  
 **   2. Selekcja case, próby modelowania różnic i podobieństw w modelowaniu UML vs ARD/XTT:** **   2. Selekcja case, próby modelowania różnic i podobieństw w modelowaniu UML vs ARD/XTT:**
Linia 44: Linia 51:
  
 **   3. Wybór, implementacja ARD i XTT dla case bankomatu, biletomatu i windy  (szczegóły na podstronach):​** **   3. Wybór, implementacja ARD i XTT dla case bankomatu, biletomatu i windy  (szczegóły na podstronach):​**
 +
  
  
Linia 51: Linia 59:
  
  
-[[http://​www.soi.wide.ad.jp/​class/​20040034/​slides/​07/​|Very well documented Elevator Model slide I (7)]] {{:​pl:​miw:​miw08_ardcase_cs:​download.zip|local copy}}+[[http://​www.soi.wide.ad.jp/​class/​20040034/​slides/​07/​|Very well documented Elevator Model slide I (7)]] {{:​pl:​miw:​miw08_ardcase_cs:​download.zip|local copy}} {{:​pl:​miw:​miw08_ardcase_cs:​elevator.zip|alternative ​local copy}}
  
-[[http://​www.soi.wide.ad.jp/​class/​20040034/​slides/​08/​|Very well documented Elevator Model slide II (8)]] {{:​pl:​miw:​miw08_ardcase_cs:​download.zip|local copy}}+[[http://​www.soi.wide.ad.jp/​class/​20040034/​slides/​08/​|Very well documented Elevator Model slide II (8)]] {{:​pl:​miw:​miw08_ardcase_cs:​download.zip|local copy}} {{:​pl:​miw:​miw08_ardcase_cs:​elevator.zip|alternative ​local copy}}
  
-[[http://​www.soi.wide.ad.jp/​class/​20040034/​slides/​09/​|Very well documented Elevator Model slide III (9)]] {{:​pl:​miw:​miw08_ardcase_cs:​download.zip|local copy}}+[[http://​www.soi.wide.ad.jp/​class/​20040034/​slides/​09/​|Very well documented Elevator Model slide III (9)]] {{:​pl:​miw:​miw08_ardcase_cs:​download.zip|local copy}} {{:​pl:​miw:​miw08_ardcase_cs:​elevator.zip|alternative ​local copy}}
  
-[[http://​www.soi.wide.ad.jp/​class/​20040034/​slides/​10/​|Very well documented Elevator Model slide IV (10)]] {{:​pl:​miw:​miw08_ardcase_cs:​download.zip|local copy}}+[[http://​www.soi.wide.ad.jp/​class/​20040034/​slides/​10/​|Very well documented Elevator Model slide IV (10)]] {{:​pl:​miw:​miw08_ardcase_cs:​download.zip|local copy}} {{:​pl:​miw:​miw08_ardcase_cs:​elevator.zip|alternative ​local copy}}
  
-[[http://​www.soi.wide.ad.jp/​class/​20040034/​slides/​12/​|Very well documented Elevator Model slide V (12)]] {{:​pl:​miw:​miw08_ardcase_cs:​download.zip|local copy}}+[[http://​www.soi.wide.ad.jp/​class/​20040034/​slides/​12/​|Very well documented Elevator Model slide V (12)]] {{:​pl:​miw:​miw08_ardcase_cs:​download.zip|local copy}} {{:​pl:​miw:​miw08_ardcase_cs:​elevator.zip|alternative ​local copy}}
  
 [[http://​regulus.ia.agh.edu.pl/​gjn-Regulus-WWW/​miw2002/​MIW02-projekty/​MIW02-Winda.pdf|Students MiW Project by J.Sysak, P.Zieliński]] {{:​pl:​miw:​miw08_ardcase_cs:​miw02-winda.pdf|local copy}} [[http://​regulus.ia.agh.edu.pl/​gjn-Regulus-WWW/​miw2002/​MIW02-projekty/​MIW02-Winda.pdf|Students MiW Project by J.Sysak, P.Zieliński]] {{:​pl:​miw:​miw08_ardcase_cs:​miw02-winda.pdf|local copy}}
Linia 112: Linia 120:
  
  
-====== ====== 
  
  
-**   4. Ciekawe problemy napotkane w trakcie pracy** 
-  * Porównanie atrybut do atrybutu - przykładowo PIN wpisany z PINem w bazie. Można zapisać to na dwa równoważne sposoby - PIN w bazie dowolny, a PIN wpisany równy PINowi w bazie <=> PIN wpisany dowolny, PIN w bazie równy wpisanemu (dwie reguły, ale równoważne) - w pracach zakładałem prawy atrybut jako dowolny a lewy jako porównywany w sytuacjach porównywania atrybutu z atrybutem. {{pl:​miw:​miw08_ardcase_cs:​miw-cashpoint-xtt.pdf|Przykład}} - w tabeli 1 przyjęto koncepcje, iż atrybut z prawej jest dowolny, a z prawej porównywany,​ w drugiej odwrotnie. 
-  * TBC: Co w przypadku porównywania większej ilości atrybutów 
-  * Należy unikać działań po stronie warunków, aby je wyeliminować należy wprowadzać dodatkowe atrybuty pojęciowe (conceptual attributes) - należy unikać zapisów jak w pierwszej tabeli {{pl:​miw:​miw08_ardcase_cs:​miw-vendingmachine-xtt.pdf|Przykład}} (przykład jak nie powinno sie robić) 
-  * ARD nie specyfikuje struktur danych, więc może okazać się ciężkim zdefiniowanie danej pochodzącej z tablicy np. cena wybranego produktu z listy cen dlatego zapis jak w pierwszej tabeli jest niepoprawny {{pl:​miw:​miw08_ardcase_cs:​miw-vendingmachine-xtt.pdf|Przykład}} (przykład jak nie powinno się robić) 
-  * Jeżeli na skutek działania reguły ma się zmienić wartość jednego z atrybutów biorących udział w odpaleniu reguły to należy go zdefiniować zarówno po stronie warunków jak i po stronie konkluzji 
-  * Odnośnie powyższego - często jeśli reguła/​tabela ma mieć więcej niż jedną konkluzje lepiej zdefiniować dodatkową tabelę (w przykładzie {{:​miw:​miw08_ardcase_cs:​bankomat}} Logical design v3) można zauważyć, iż najpierw wyznaczana jest aktywność bankomatu, a następnie na tej podstawie uaktualniane są środki, którymi dysponuje bankomat (formalnie można by to było zrobić w jednej tabeli, ale pomimo prób nie udało mi się i otrzymywałem dwie tabele z identycznymi warunkami i innymi konkluzjami zamiast jednej tabeli z dwiema konkluzjami) 
  
-**   5. Uwagi do wiki,VARDA, HqEd** 
-  * [Zgloszony] HqEd: Problemy z typami danych - dwie dane typu integer czasem (nie wiadomo czemu) nie mogą być porównywane 
-  * [Zgloszony] HqEd: Problemy z typami danych - dla typów wyliczeniowych zdarza się, iż poprawna wartość jest identyikowana jako błąd 
-  * HqEd: Problemy z zapisem typów tablicowych - cena=lista[produkt] - jak to zapisać, czy tak jak w [[pl:​miw:​miw08_ardcase_cs:​biletomat]] Logical design v3 jest OK? 
-  * [Zgloszony] HqEd: Tabele bardzo gonią, a przy większych tabelach może to uniemożliwiać pracę 
-  * [Zgloszony] HqEd: Jeśli istnieje wiele podobnych atrybutów to początkowo otrzymują one takie same akronimy i na etapie dodefiniowywania/​zmiany typu pojawiają się błędy 
-  * VARDA: W przypadku gdy po stronie decyzji maja się zmienić dwa atrybuty czasem ciężko zrobić odpowiednią tabele bez ręcznego dodawania zależności 
-  * VARDA: Należy zwracać uwagę, aby po każdym użyciu usuwać fakty lub restartować prolog i VARDE, ponieważ czasem poprawy kod nie może zostać uzgodniony 
-  * wiki: Integracja Graphviza z wiki bardzo udana! Ze względu na niedoskonałości przeglądarki,​ aby diagramy były widoczne pod IE należy ustalać wymiary grafu, w przeciwnym przypadku żadne grafy z Graphviza nie będą widoczne pod IE 
  
  
Linia 137: Linia 128:
  
  
 +====== ======
  
  
 +**   4. Ciekawe problemy napotkane w trakcie pracy**
 +  * Porównanie atrybut do atrybutu - przykładowo PIN wpisany z PINem w bazie. Można zapisać to na dwa równoważne sposoby - PIN w bazie dowolny, a PIN wpisany równy PINowi w bazie <=> PIN wpisany dowolny, PIN w bazie równy wpisanemu (dwie reguły, ale równoważne) - w pracach zakładałem prawy atrybut jako dowolny a lewy jako porównywany w sytuacjach porównywania atrybutu z atrybutem. {{pl:​miw:​miw08_ardcase_cs:​miw-cashpoint-xtt.pdf|Przykład}} - w tabeli 1 przyjęto koncepcje, iż atrybut z prawej jest dowolny, a z prawej porównywany,​ w drugiej odwrotnie.
 +  * TBC: Co w przypadku porównywania większej ilości atrybutów
 +  * Należy unikać działań po stronie warunków, aby je wyeliminować należy wprowadzać dodatkowe atrybuty pojęciowe (conceptual attributes) - należy unikać zapisów jak w pierwszej tabeli {{pl:​miw:​miw08_ardcase_cs:​miw-vendingmachine-xtt.pdf|Przykład}} (przykład jak nie powinno sie robić)
 +  * ARD nie specyfikuje struktur danych, więc może okazać się ciężkim zdefiniowanie danej pochodzącej z tablicy np. cena wybranego produktu z listy cen dlatego zapis jak w pierwszej tabeli jest niepoprawny {{pl:​miw:​miw08_ardcase_cs:​miw-vendingmachine-xtt.pdf|Przykład}} (przykład jak nie powinno się robić)
 +  * Jeżeli na skutek działania reguły ma się zmienić wartość jednego z atrybutów biorących udział w odpaleniu reguły to należy go zdefiniować zarówno po stronie warunków jak i po stronie konkluzji
 +  * Odnośnie powyższego - często jeśli reguła/​tabela ma mieć więcej niż jedną konkluzje lepiej zdefiniować dodatkową tabelę (w przykładzie [[pl:​miw:​miw08_ardcase_cs:​bankomat#​Logical design]] można zauważyć, iż najpierw wyznaczana jest aktywność bankomatu, a następnie na tej podstawie uaktualniane są środki, którymi dysponuje bankomat (formalnie można by to było zrobić w jednej tabeli, ale pomimo prób nie udało mi się i otrzymywałem dwie tabele z identycznymi warunkami i innymi konkluzjami zamiast jednej tabeli z dwiema konkluzjami - {{:​pl:​miw:​miw08_ardcase_cs:​cashpoint_case.pl|Plik .pl}} więcej szczegółów [[pl:​miw:​miw08_ardcase_cs:​bankomat#​case|tutaj]] ​
 +**   5. Uwagi do wiki,VARDA, HqEd**
  
 + ​Wszystkie uwagi do wykorzystywanych narzędzi zostały zgłoszone przez system [[hekate:​hqed#​report_bugs'​|CVSTrac]]
  
 ====== Materiały ====== ====== Materiały ======
 [[pl:​miw:​miw08_ardcase_cs:​matrialy|Materialy]] [[pl:​miw:​miw08_ardcase_cs:​matrialy|Materialy]]
  
pl/miw/miw08_ardcase_cs.1211630894.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