[[
✎ pl:miw:miw08_prolog_ardxpce
]]
aiWiki
Pokaż stronę
Ostatnie zmiany
Indeks
Zaloguj
Ta strona jest tylko do odczytu. Możesz wyświetlić źródła tej strony ale nie możesz ich zmienić.
====== Opis ====== Wojciech Franczak, <wojciech.franczak@gmail.com>, ARD visualization and interactive, shell-based editing, w/ vis. in XPCE (VARDA shell) ====== Spotkania ====== ===== 08.02.19 ===== Przydzielenie projektu, wstępne omówienie tematu. ===== 08.03.04 ===== Pytania: 1. pytanie dotyczące aplikacji którą pokazywał Pan na pierwszym spotkaniu (jak działa i jak ja zainstalować, i jak wygląda od środka)? 2. czy w razie problemów mogę się zgłaszać do Pana? ===== 08.03.18 ===== * generowanie prostych grafów skierowanych w XPCE * możliwość edycji, sprzężenie zwrotne, t.j. klikam na węźle, krawędzi -> odpala predykat w prologu, callback ===== 08.04.01 ===== * generowanie ARD w XPCE z [[hekate:varda]] ====== Sprawozdanie ====== ==== 1. Wstęp: ==== === a. Środowisko pracy: === Wszystkie przykłady tworzone i testowane były w systemie Ubuntu. === b. Oprogramowanie: === == i. SWI-Prolog == == ii. XPCE == === c. Biblioteka XPCE w Prologu: === XPCE to zestaw narzędzi wspomagający tworzenie GUI pod język Prolog. Jest zorientowane obiektowo, daje możliwość tworzenia klas, metod, waruków, iteracji... Procedury zawarte w XPCE tworzone są w C. Jest możliwe do uruchomienia w różnych środowiskach pracy. Dane z Prologa mogą być powiązane ze zmiennymi w XPCE. Zaimplementowane jest za pomocą własnej biblioteki VWS (Virtual Window System) która, definiuje metody do tworzenia i manipulacji oknami, prostymi obiektami jak: linie, kółka, tekst oraz obsługi zdarzeń. Dzięki swojej budowie, programy używające XPCE są w pełni przenośne pomiędzy różnymi środowiskami pracy. === d. Konstrukcja grafów ARD (Atribute Relationship Diagram): === Diagram ARD identyfikuje atrybuty systemu i wskazuje na zależności pomiędzy nimi. W ARD występują dwa rodzaje elementów: atrybuty (attributes) i właściwości (properties). Poniżej przedstawiam przykład diagramu ARD dla problemu budowy kontrolera temperatury: {{:pl:miw:oraz1.png|:pl:miw:oraz1.png}} ==== 4. Wiadomości wstępne o XPCE: ==== Jednymi z ważniejszych predykatów wykorzystywania XPCE w Prologu są: == a. Tworzenie obiektów NEW: == new(?Reference, +NewTerm) – tworzy obiekt oraz przypisuje do niego dana referencję, która jest wykorzystywana do komunikacji pomiędzy obiektami. Przykład: ?- new(@demo, dialog(‘Okno Dialogowe’)). – tworzy okno dialogowe, w którym umieszcza się napisy, przyciski, itp. == b. Modyfikacja stanu obiektów SEND: == send(+Receiver, +Selector(..Argumenty..)). – za pomocą tej komendy dokonuje się zmiany stanu obiektów. Pierwszy argument tego predykatu jest referencją do obiektu, natomiast drugi to term, którego nazwa jako funktor jest nazwą metody do wywołania, a argumenty są argumentami operacji. Przykład: ?- send (@demo, append(text_item(Nazwa)). – wywołuje metodę append klasy dialog, dodaje komponent do okna dialogowego. == c. Zapytanie do Obiektów GET: == Służy do pobierania informacji o stanie obiektu. Dwa pierwsze argumentu są podobne jak w predykacie SEND, trzeci zwraca wartość. Przykład: ?- get(@demo, display, D). – zwraca obiekt display, na którym @demo jest wyświetlane. == d. Niszczenie obiektów FREE: == Argumentem jest referencja na obiekt (stworzona przy użyciu NEW i GET). Predykat usuwa obiekt. Przykład: ?-free(@demo). ==== 5. Projekt:==== Jedynym pomysłem na tworzenie diagramów ARD w XPCE, jest ręczne przygotowanie pliku *.pce, który po załadowaniu wyświetli zawarte w nim informacje. Uproszczeniem procesu tworzenia pliku była by prosty edytor. Aby móc przygotować potrzebny plik musimy widzieć jak tworzyć odpowiednie figury, jak je ze sobą łączyć, w jaki sposób możemy mieć na nie wpływ. == a. Tworzenie figur: == arrow - Arrow-head. Normally used implicitly by class line. bezier - Bezier curve. Both quadratic and cubic Biezer curves are supported. bitmap - Visualisation of an image. Both monochrome and full-colour images are supported. Images can have shape. See section 10.10. pixmap - Subclass of bitmap only for coloured images. box - Rectangle. Can be rounded and filled. circle - Special case of ellipse. ellipse - Elliptical shape. May be filled. arc - Part of an ellipse. Can have arrows. Can show as pie-slice. line - Straight line segment. Can have arrows. path - Poly-line through multiple points. Can have arrows. Can be smooth. text - Visualisation of a string in some font. Can have various attributes, can be clipped, formatted, etc. Przykład: Kwadrat ?- send(@p, display, new(@box, box(100,100))). == b. Łączenie figur: == == c. Działanie na figurach: == ==== 6. Wnioski: ==== ====== Materiały ====== * {{:pl:miw:referat.pdf|:pl:miw:referat.pdf}} - referat kolegi na temat XPCE, * {{:pl:miw:userguide.pdf|:pl:miw:userguide.pdf}} - opis XPCE, * http://www.hio.hen.nl/faq/xpce-programming.html - przydatne informacje o XPCE (5.05.2008) * http://www.urz.uni-heidelberg.de/UnixCluster/Hinweise/Hilfe/Anwendung/Compiler/Prolog/UserGuide/Contents.html (7.05.2008) * http://gollem.science.uva.nl:8080/ * http://www.swi-prolog.org/packages/xpce/ * https://ai.ia.agh.edu.pl/wiki/pl:prolog:prolog_lab:prolog_lab_xpce * Grzegorz J. Nalepa and Igor Wojnicki. (2008). An ARD+ Design and Visualization Toolchain Prototype in Prolog. * Nalepa, G. J. (2008). UServ Case Study, Conceptual Design with ARD+ Method. Paper presented at the FLAIRS-21: Proceedings of the twenty-first international Florida Artificial Intelligence Research Society conference: 15--17 may 2008, Coconut Grove, Florida, USA, Menlo Park, California. * Nalepa, G. J., & Wojnicki, I. (2008). Towards Formalization of ARD+ Conceptual Design and Refinement Method. Paper presented at the FLAIRS-21: Proceedings of the twenty-first international Florida Artificial Intelligence Research Society conference: 15--17 may 2008, Coconut Grove, Florida, USA, Menlo Park, California.
pl/miw/miw08_prolog_ardxpce.1222641303.txt.gz
· ostatnio zmienione: 2019/06/27 15:58 (edycja zewnętrzna)
Pokaż stronę
Poprzednie wersje
Menadżer multimediów
Do góry