Both sides previous revision
Poprzednia wersja
Nowa wersja
|
Poprzednia wersja
|
pl:miw:miw08_ardcase_cs [2008/05/24 14:23] miw |
pl:miw:miw08_ardcase_cs [2019/06/27 15:50] (aktualna) |
====== Opis ====== | ====== Opis ====== |
| __**Projekt zakończony**__ |
| |
Marcin Kamiński, <makamin@student.agh.edu.pl> | Marcin Kamiński, <makamin@student.agh.edu.pl> |
| |
| |
| |
| |
| |
:!::!: | :!::!: |
====== 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. |
| |
| |
| |
** 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:** |
| |
** 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):** |
| |
| |
| |
| |
| |
[[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}} |
| |
Wybór, analiza i porownanie [[pl:miw:miw08_ardcase_cs:biletomat|tutaj]] | Wybór, analiza i porownanie [[pl:miw:miw08_ardcase_cs:biletomat|tutaj]] |
| |
| |
| |
| |
| |
| |
| |
| |
* 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ć) | * 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 | * 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) | * 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** | ** 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 | |
* [Zgloszony] 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 | |
* [Zgłoszony] 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 | |
| |
| |
| |
| |
| |
| |
| |
| |
| 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]] |
| |