To jest stara wersja strony!


Opis

Marcin Kamiński, makamin@student.agh.edu.pl

:!::!: Design ARD+, XTTv2: Control System Cases – A search for well documented Control System examples/designs, esp. robot control, autonomous robots etc.; evaluation of the existing cases; modelling selected examples with ARD+/XTT+(v2)

Spotkania

Projekt

Cele projektu - wyszukanie dobrze udokumentowanych systemów sterujących w języku UML, próba zamodelowania znalezionych przykładów w ARD/XTT.

Sprawozdanie

0. Zapoznanie sie z literatura z wiki dotyczącą ARD/XTT

1. Wyszukanie case

2. Selekcja case, próby modelowania różnic i podobieństw w modelowaniu UML vs ARD/XTT:

Modelowanie UML a modelowanie ARD/XTT, uwagi:

  • W zależności od systemu - zdarza się, iż dobrze zamodelowany w UML system przy użyciu DFD i Use-case pozwala łatwo wyodrębnić wejścia i wyjścia systemu co jest dobrym początkiem dla wyszukiwania atrybutów dla ARD. Np. dla biletomatu wejścia i wyjścia wynikają jasno z diagramów DFD i Use-case tj. z use-case można było rozpoznać możliwe akcje, a z diagramu DFD odczytać interesujące informacje. Dla windy use-case mówi niewiele, potrzebne od wyselekcjonowania atrybutów dane znaleźć za to można na diagramie klas (gorsze rozwiązanie) lub na diagramie współpracy
  • Diagramy stanów mogą być bardzo przydatne przy określaniu reguł. Tj. wiedząc, że system może przejść z jednego stanu do drugiego mamy już pewną regułę, więc pozostaje tylko (na diagramie współpracy, bądź DFD) uzupełnić przejście ze stanu o warunki jakie muszą zajść, aby to przejście miało miejsce (niestety w przypadku bardziej złożonych warunków przejścia tej informacji nie da się łatwo wywnioskować z UML).
  • Jeden przypadek użycia bądź aktywność na diagramach UML mogą mieć bardzo skomplikowaną budowę w ARD/XTT

3. Wybór, implementacja ARD i XTT dla case bankomatu, biletomatu i windy (szczegóły na podstronach)

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. 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 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 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 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

  • HqEd: Problemy z typami danych - dwie dane typu integer czasem (nie wiadomo czemu) nie mogą być porównywane
  • 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 biletomat Logical design v3 jest OK?
  • HqEd: Tabele bardzo gonią, a przy większych tabelach może to uniemożliwiać pracę
  • 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!

Materiały

ARD

https://ai.ia.agh.edu.pl/wiki/hekate:bib:hekate_bibliography#gjn2008flairs-userv-submitted

Nalepa, G. J. (2008). UServ Case Study, Conceptual Design with ARD+ Method. Paper presented at the FLAIRS2008.

https://ai.ia.agh.edu.pl/wiki/hekate:bib:hekate_bibliography#gjn2008flairs-ardformal-submitted

Nalepa, G. J., & Wojnicki, I. (2008). Towards Formalization of ARD+ Conceptual Design and Refinement Method. Paper presented at the FLAIRS2008.

https://ai.ia.agh.edu.pl/wiki/hekate:bib:hekate_bibliography#gjn2008flairs-ardprolog-submitted

Nalepa, G. J., & Wojnicki, I. (2008). An ARD+ Design and Visualization Toolchain Prototype in Prolog. Paper presented at the FLAIRS2008.

XTT

https://ai.ia.agh.edu.pl/wiki/hekate:bib:hekate_bibliography#gjn2007ruleapps

Nalepa, G. J. (2007). Proposal of business process and rules modeling with the XTT method. Paper presented at the Symbolic and numeric algorithms for scientific computing : SYNASC'07 : 9th international symposium : RuleApps'2007~– workshop on Rule-based applications : Timisoara, Romania, September 26–29, 2007 : IeAT Technical Report 07-11, Timisoara : West University.

https://ai.ia.agh.edu.pl/wiki/hekate:bib:hekate_bibliography#gjn2007safecomp

Nalepa, G. J. (2007). Application of the XTT rule-based model for formal design and verifcation of Internet security systems. Paper presented at the Computer safety, reliability, and security : 26th international conference, SAFECOMP 2007 : Nuremberg, Germany, September 18–21, 2007 : proceedings, Berlin ; Heidelberg.

https://ai.ia.agh.edu.pl/wiki/hekate:bib:hekate_bibliography#gjn2007icss

Nalepa, G. J., & Mach, M. A. (2007). Intelligent business web applications design using the XTT approach. Paper presented at the Proceedings of the 16th international conference on Systems science. Vol. 2, Manufacturing systems ; Distributed computer systems and computer networks ; Knowledge-based and intelligent systems ; Decision support and expert systems : 4–6 September 2007, Wrocław, Poland, Wrocław.

https://ai.ia.agh.edu.pl/wiki/hekate:bib:hekate_bibliography#ali2007cms-xtt-extended

Ligęza, A. (2007). An Improved Knowledge Representation Language for XTT. Extended Tabular Graphs with Variables, Constraints and Control. Paper presented at the Proceedings of the International Conference Computer Methods and Systems.

https://ai.ia.agh.edu.pl/wiki/hekate:bib:hekate_bibliography#gjn2007cms-destls

Nalepa, G. J. (2007). Visual Design Tools for XTT-based Rulebases. Paper presented at the Proceedings of the international Conference Computer Methods and Systems.

https://ai.ia.agh.edu.pl/wiki/hekate:bib:hekate_bibliography#gjn2007cms-knowtrans

Nalepa, G. J., & Wojnicki, I. (2007). XML-based Knowledge Translation Methods for XTT-based Expert Systems.

https://ai.ia.agh.edu.pl/wiki/hekate:bib:hekate_bibliography#gjn2007cms-busproc

Nalepa, G. J., & Mach, M. A. (2007). Conceptual Modeling of Business Rules and Processes with the XTT Method.

Control System Models

Elevator:

Cashpoint:

Washing-machine:

Vending Machine:

pl/miw/miw08_ardcase_cs.1211584849.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