Both sides previous revision
Poprzednia wersja
Nowa wersja
|
Poprzednia wersja
|
pl:miw:miw08_ardcase_cs:biletomat [2008/05/19 19:42] miw |
pl:miw:miw08_ardcase_cs:biletomat [2019/06/27 15:50] (aktualna) |
====== Analiza biletomatu i design ====== | ====== Analiza biletomatu i design ====== |
| |
| |
| |
==== Wybrany przykład: ==== | ==== Wybrany przykład: ==== |
[[http://student.agh.edu.pl/~makamin/MiW/TPa%b3osz,MMazur%20-%20Automat.pdf|Well documented Vending Machine Model by T. Pałosz, M. Mazur (AiR IV)]] {{:pl:miw:miw08_ardcase_cs:tpa_b3osz_mmazur_-_automat.pdf|localcopy}} | {{:pl:miw:miw08_ardcase_cs:tpa_b3osz_mmazur_-_automat.pdf|Well documented Vending Machine Model by T. Pałosz, M. Mazur (AiR IV) <localcopy> }} |
| |
== Pozostałe przykłady == | == Pozostałe przykłady == |
| |
===== Analysis ===== | ===== Analysis ===== |
| |
| |
| |
Poziom 23: Ręczne dodanie zależności pieniądze w biletomacie -> pieniądze w biletomacie (konieczne do pomniejszenia ilości pieniędzy po ich wydaniu) | Poziom 23: Ręczne dodanie zależności pieniądze w biletomacie -> pieniądze w biletomacie (konieczne do pomniejszenia ilości pieniędzy po ich wydaniu) |
| |
Poziom 21: Ręczne dodanie zależności cena -> pieniądze w biletomacie (konieczne do pomniejszenia ilości pieniędzy po ich wydaniu) | Poziom 24: Ręczne dodanie zależności cena -> pieniądze w biletomacie (konieczne do pomniejszenia ilości pieniędzy po ich wydaniu) |
| |
Poziom 21: Ręczne dodanie zależności aktywność bilatomatu -> pieniądze w biletomacie (konieczne do pomniejszenia ilości pieniędzy po ich wydaniu) | Poziom 25: Ręczne dodanie zależności aktywność bilatomatu -> pieniądze w biletomacie (konieczne do pomniejszenia ilości pieniędzy po ich wydaniu) |
| |
==== General Conceptual Design ==== | ==== General Conceptual Design ==== |
| |
| |
====== V3 ====== | |
link do strony z plikami http://student.agh.edu.pl/~makamin/MiW/v3/biletomat/ | |
==== Directed Conceptual Design ==== | |
=== Full ARD Model === | ==== V3 ==== |
==== Refined Conceptual Design ==== | |
====== V2 ====== | |
==== Directed Conceptual Design ==== | ==== Directed Conceptual Design ==== |
| |
Chwilowo spakowane kody tutaj: http://student.agh.edu.pl/~makamin/MiW/ARD%20XTT/ jeśli będą dobrze to upload na wiki, żeby nie smiecić | Kody w PROOGu, kod .dot i rysunki ARD/TPH i XTT wygenerowane przez VARDA dostępne dodatkowo pod linkiem poniżej |
| |
| {{:pl:miw:miw08_ardcase_cs:vendingmachine_v3.pl|Kod w PROLOGu}} |
| |
| {{:pl:miw:miw08_ardcase_cs:vendimgmachine-ard_v3.dot|Plik .dot ARD}} |
| |
**TBC: JAK ZAPISAC zmienna++ w tabelach XTT? Czy trzeba wtedy inkrametowany atrybut dawać po obu stronach tabeli? Jak zrobić z autoryzacja, bo mam wrażenie, że tak jak teraz jest nie koniecznie jest dobrze ; Co z czerwonymi polami ; Jak sie definiuje dziedziny dla atrybutów ** | {{:pl:miw:miw08_ardcase_cs:vendimgmachine-tph_v3.dot|Plik .dot TPH}} |
| |
=== Full ARD Model === | === Full ARD Model === |
ARD: | ARD: |
| |
<graphviz url="http://student.agh.edu.pl/~makamin/MiW/ARD%20XTT/biletomat/vendingmachine-ard.dot"> | <graphviz file="pl:miw:miw08_ardcase_cs:vendimgmachine-ard_v3.dot"> |
</graphviz> | </graphviz> |
| |
TPH: | TPH: |
| |
<graphviz url="http://student.agh.edu.pl/~makamin/MiW/ARD%20XTT/biletomat/vendingmachine-tph.dot"> | <graphviz file=":pl:miw:miw08_ardcase_cs:vendimgmachine-tph_v3.dot"> |
</graphviz> | </graphviz> |
| |
XTT: | |
| |
<graphviz url="http://student.agh.edu.pl/~makamin/MiW/ARD%20XTT/biletomat/vendingmachine-xtt.dot"> | |
| |
| ==== Refined Conceptual Design ==== |
| ==== V2 ==== |
| |
| |
| ==== Directed Conceptual Design ==== |
| |
| Kody w PROOGu, kod .dot i rysunki ARD/TPH i XTT wygenerowane przez VARDA dostępne dodatkowo pod linkiem poniżej |
| |
| {{:pl:miw:miw08_ardcase_cs:vendingmachine_v2.pl|Kod w PROLOGu}} |
| |
| {{:pl:miw:miw08_ardcase_cs:vendingmachine-ard_v2.dot|Plik .dot ARD}} |
| |
| {{:pl:miw:miw08_ardcase_cs:vendingmachine-tph_v2.dot|Plik .dot TPH}} |
| |
| === Full ARD Model === |
| |
| ARD: |
| |
| <graphviz file="pl:miw:miw08_ardcase_cs:vendingmachine-ard_v2.dot"> |
</graphviz> | </graphviz> |
| |
Plik HQED http://student.agh.edu.pl/~makamin/MiW/ARD%20XTT/biletomat/vendingmachine.svg | TPH: |
| <graphviz file="pl:miw:miw08_ardcase_cs:vendingmachine-tph_v2.dot"> |
| </graphviz> |
| |
==== Refined Conceptual Design ==== | ==== Refined Conceptual Design ==== |
| |
====== V1 ====== | ==== V1 ==== |
| |
| |
| |
==== Directed Conceptual Design ==== | ==== Directed Conceptual Design ==== |
| |
=== Full ARD Model === | |
Kody w PROOGu, kod .dot i rysunki ARD/TPH i XTT wygenerowane przez VARDA dostępne dodatkowo pod linkiem poniżej | Kody w PROOGu, kod .dot i rysunki ARD/TPH i XTT wygenerowane przez VARDA dostępne dodatkowo pod linkiem poniżej |
| |
{{:pl:miw:miw08_ardcase_cs:vendingmachine-tph.dot|Plik .dot TPH}} | {{:pl:miw:miw08_ardcase_cs:vendingmachine-tph.dot|Plik .dot TPH}} |
| |
http://student.agh.edu.pl/~makamin/MiW/Graph/biletomat/ | === Full ARD Model === |
| |
ARD: | ARD: |
| |
===== Logical design ===== | ===== Logical design ===== |
| |
| |
| |
| |
| |
| |
| |
| |
| ==== V3 ==== |
| {{:pl:miw:miw08_ardcase_cs:vendimgmachine-xtt_v3.dot|Plik .dot XTT}} |
| |
| XTT: |
| |
| <graphviz file="pl:miw:miw08_ardcase_cs:vendimgmachine-xtt_v3.dot"> |
| </graphviz> |
| |
| Plik HQED {{vendingmachine-xttml_v3.xttml|XTTML}} |
| |
| |
| |
| ==== V2 ==== |
| {{:pl:miw:miw08_ardcase_cs:vendingmachine-xtt_v2.dot|Plik .dot XTT}} |
| |
| XTT: |
| |
| <graphviz file="pl:miw:miw08_ardcase_cs:vendingmachine-xtt_v2.dot"> |
| </graphviz> |
| |
| Plik HQED {{vendingmachine_v2.xttml|XTTML}} |
| |
| |
| |
| |
{{:pl:miw:miw08_ardcase_cs:vendingmachine-xtt.dot|Plik .dot XTT}} | {{:pl:miw:miw08_ardcase_cs:vendingmachine-xtt.dot|Plik .dot XTT}} |
| |
| {{:pl:miw:miw08_ardcase_cs:miw-vendingmachine-xtt.pdf|Nieoficjalna (bez użycia HqEd) wersja XTT}} |
| |
| |
XTT: | XTT: |
<graphviz file="pl:miw:miw08_ardcase_cs:vendingmachine-xtt.dot"> | <graphviz file="pl:miw:miw08_ardcase_cs:vendingmachine-xtt.dot"> |
</graphviz> | </graphviz> |
| |
Wstępna wersja xtt (nie wrzucana na wiki, ponieważ jest wstępna) tutaj: http://student.agh.edu.pl/~makamin/MiW/Graph/biletomat/MiW-vendingmachine-xtt.pdf | |
| |
| |
| |
- fizyczna możliwość wypłaty (czy jest tusz do drukowania/pieniądze do wydania reszty) | - fizyczna możliwość wypłaty (czy jest tusz do drukowania/pieniądze do wydania reszty) |
| |
| |
| |
| |
===== Ostatnie zmiany ===== | ===== Ostatnie zmiany ===== |
| 24.05.2008 - usunięcie linków zewnętrznych, dodane kopii lokalnych, drobne zmiany |
| |
28.04.2008 - od poprzedniej wersji ARD/XTT (v1) przy użyciu nowej wersji VARDA wygenerowano poprawione ARD, a za pomocą HQed XTT (v2). Ważne - w wersji v1 w tabelach reguł występowały działania, które należało wyeliminować. W tym celu wprowadzono nowy atrybut - reszta. Po zmianach okazało się, iż aby wyliczyć, w jakiej kwocie należy wydać resztę należy odjąć atrybut - cena produktu (priceList[chosenProduct]), od atrybutu wpłacona przez klienta kwota (remittance). Reszta=wpłata-cena. Tak powstały atrybut należy dalej wykorzystać do sprawdzenia, czy biletomat posiada środki do wydania reszty. Powoduje to porównanie atribute2atribute, które może zostać zapisane niejednoznacznie tj. gdy fundsInMachine<change lub change>fundsInMachine atrybut enoughCashToChange jest prawdą, aby nie powodować reguł redundantnych koniecznym wydaje się przyjęcie jednolitej konwencji np w postaci ustalania jednego (np. skrajnie prawego w tabeli) jako dowolnego/stałego i dopasowywanie prawego jako większego/mniejszego niż prawy. Pytanie co stanie się przy większej ilości atrybutów | 28.04.2008 - od poprzedniej wersji ARD/XTT (v1) przy użyciu nowej wersji VARDA wygenerowano poprawione ARD, a za pomocą HQed XTT (v2). Ważne - w wersji v1 w tabelach reguł występowały działania, które należało wyeliminować. W tym celu wprowadzono nowy atrybut - reszta. Po zmianach okazało się, iż aby wyliczyć, w jakiej kwocie należy wydać resztę należy odjąć atrybut - cena produktu (priceList[chosenProduct]), od atrybutu wpłacona przez klienta kwota (remittance). Reszta=wpłata-cena. Tak powstały atrybut należy dalej wykorzystać do sprawdzenia, czy biletomat posiada środki do wydania reszty. Powoduje to porównanie atribute2atribute, które może zostać zapisane niejednoznacznie tj. gdy fundsInMachine<change lub change>fundsInMachine atrybut enoughCashToChange jest prawdą, aby nie powodować reguł redundantnych koniecznym wydaje się przyjęcie jednolitej konwencji np w postaci ustalania jednego (np. skrajnie prawego w tabeli) jako dowolnego/stałego i dopasowywanie prawego jako większego/mniejszego niż prawy. Pytanie co stanie się przy większej ilości atrybutów |
| |