Both sides previous revision
Poprzednia wersja
Nowa wersja
|
Poprzednia wersja
|
pl:miw:miw08_ruleruntimeg_2 [2008/04/15 11:45] gjn |
pl:miw:miw08_ruleruntimeg_2 [2019/06/27 15:50] (aktualna) |
====== Opis ====== | ====== Opis ====== |
| __**Projekt zakończony**__ |
| |
Damian Janicki <janicki.damian@gmail.com> | Damian Janicki <janicki.damian@gmail.com> |
| |
* approach: 2 -3 app. cases, M prolog, V in Java, C -> JPL/Logtalk, e.g. ready M in Prolog, build V in Java: Car ES, opposite: ready MV i Java, build M in Prolog, make it work with the V | * approach: 2 -3 app. cases, M prolog, V in Java, C -> JPL/Logtalk, e.g. ready M in Prolog, build V in Java: Car ES, opposite: ready MV i Java, build M in Prolog, make it work with the V |
| |
====== Spotkania ====== | [[pl:miw:miw08_ruleruntimeg_2_spotkania|Spotkania]] |
===== 08.03.04 ===== | |
* **MISSED** prototyp dla car, tj. ask_question | |
| |
===== 080311 ===== | |
* problems, problems | |
| |
| |
===== 080318 ===== | |
* przerobienie car na wywołanie V w Javie | |
* jpl pod linuxem na wiki do czwartku | |
| |
| |
| |
===== 080401 ===== | |
MISSED | |
| |
| |
| |
| |
===== 080415 ===== | |
* model z [[hekate:varda]], view w java, funkcjonalność z ''varda_model.pl'' (ew. innych) ma być udostępniania przez jako model, do tego jest view w javie | |
| |
funkcje (proste reqestery, radiobox): | |
split, -> na ile, ktore, jakie nowe czesci | |
finalize -> na ile att, ktore property | |
(new att) | |
sar. show the ARD diagram, can be used sar(File), | |
shi. show the ARD history (TPH), can be used shi(File), | |
sha. show the TPH and ARD combined, with can be used sha(File), | |
| |
setof([A,B],ard_depend(A,B),L). | |
| |
arp. write ARD model in Prolog, can be used arp(File), | |
the file can be subsequently consulted to recreate the model, | |
| |
sprawdz rezultatu!!!! | |
| |
===== 080429 ===== | |
* varda | |
| |
====== Projekt ====== | ====== Projekt ====== |
| |
[[pl:miw:miw08_ruleruntimeg_2:pliki|Źródła projektu]] | [[pl:miw:miw08_ruleruntimeg_2:pliki|Źródła projektu]] |
| |
| |
| |
====== Sprawozdanie ====== | ====== Sprawozdanie ====== |
| [[pl:miw:miw08_ruleruntimeg_2:pliki|Źródła projektu]] |
| |
| ===== Cel projektu ===== |
| Celem projektu było stworzenie aplikacji, której modelem jest jest program Varda napisany w języku prolog, natomiast interfejs miał być stworzony w języku java. Komunikacja pomiędzy java, a prologiem miała odbywać się za pomocą biblioteki JPL. |
| |
| ===== Wykonanie ===== |
| W ramach projektu udało się zrealizować interfejs graficzny napisany w języku Java do programu Varda. Program składa się z klas java, które tworzą GUI, oraz klas, które są odpowiedzialne za komunikacje z prologiem. W projekcie znajduje się także plik prologa, gdzie zdefiniowane są odpowiednie zapytania pobierające informacje z programu varda. |
| |
| |
| |
| ==== Najważniejsze pliki ==== |
| * MainFrame.java - klasa tworząca interfejs użytkownika |
| |
| * SplitData.java - klasa przetrzymująca informacje o elementach, na których należy wykonać operacje split |
| |
| * VardaControl.javc - klasa, która za pomocą odpowiednich predykatów pobiera informacje z programu Varda, które następnie przekazywane są do MainFrame lub do SplitData (dla operacji split). Klasa odpowiada również za wysyłanie danych do prologa gdy wykonujemy operacje takie jak split, finalize. |
| |
| * gui_query.pl - plik prologa, w którym znajdują się predykaty potrzebne do pobierania informacji z programu varda, np. pobieranie atrybutów które możemy zesplitowac, lub zfinalizować w danym momencie. |
| |
| |
| ==== Funkcje programu ==== |
| Program posiada wszystkie możliwości programu Varda. Za pomocą interfejsu graficznego możemy dodawać atrybuty, tworzyć nowe property, a także wykonywac operacje finalize i split. Program jest tak skonstruowany aby użytkownik w danym momencie mógł wykonać tylko dozwolone operacje. |
| Dodatkowo z poziomu programu możemy wyświetlić diagramy ARD, TPH, wygenerować i wyświetlić XTT. |
| |
| |
| |
| |
| ===== Uruchomianie projektu ===== |
| Aby uruchomić program należy posiadać bibliotekę JPL. Sposób instalacji oraz źródła projektu znajdują się [[pl:miw:miw08_ruleruntimeg_2:pliki|tutaj]] |
| $PROLOG_HOME/lib/i386-linux/ - jest scieżka do katalogu w którym znajduje się plik libjpl.so |
| $PROLOG_HOME jest scieżką do katalogu w którym zainstalowany jest Swi-prolog. |
| |
| |
| Istnieją trzy możliwości uruchomienia projektu: |
| |
| * Należy sciągnąć {{:pl:miw:miw08_ruleruntimeg_2:Varda_source.tar.gz|źródła }} projektu i następnie skompilować je za pomocą polecenia javac: |
| |
| javac -classpath $PROLOG_HOME/lib/jpl.jar . |
| gdzie zmienna $PROLOG_HOME jest scieżką do katalogu w którym zainstalowany jest Swi-prolog. |
| |
| Następnie uruchamiamy projekt za pomocą polecenia: |
| |
| java -classpath $PROLOG_HOME/lib/jpl.jar -Djava.library.path=$LD_LIBRARY_PATH:$PROLOG_HOME/lib/i386-linux/ .:$PROLOG_HOME/lib/jpl.jar MainFrame |
| |
| * Drugim sposobem jest ściągniecie już skompilowanego {{:pl:miw:miw08_ruleruntimeg_2:varda_jar.tar.gz|projektu}}, który należy uruchomić poleceniem: |
| |
| java -jar -Djava.library.path=$LD_LIBRARY_PATH:$PROLOG_HOME/lib/i386-linux/ -classpath $PROLOG_HOME/lib/jpl.jar VardaFrame_fat.jar |
| |
| * Trzecim sposobem jest ściągniecie projektu eclipse {{:pl:miw:miw08_ruleruntimeg_2:varda_projektEclipsee.tar.gz|z archiwum tar.gz}} lub z repozytorium SVN: |
| |
| http://svn2.assembla.com/svn/MIVprojekt/VardaFrame |
| |
| |
| |
| |
| |
| |