To jest stara wersja strony!
Opis
Spotkania
08.03.04
08.03.18
user_says(Q,A) :- stored_answer(Q,A).
user_says(Q,A) :- \+ stored_answer(Q,_),
nl,nl,
ask_question(Q),
get_yes_or_no(Response),
asserta(stored_answer(Q,Response)),
Response = A.
user_says(Q,A) :- stored_answer(Q,A).
user_says(Q,A) :- \+ stored_answer(Q,_),
nl,nl,
java_ui_quest(Q,Response),
asserta(stored_answer(Q,Response)),
Response = A.
java_ui_quest(Q,R) :-
ask_qest_in_java(Q),
get_ans_from_java(R).
Przy założeniu Java pyta prolog o diagnozę:
Przerobić to:
try_all_possibilities :- % Backtrack through all possibilities...
defect_may_be(D),
explain(D),
fail.
defect_may_be to zapytanie do prologu…
080401
080415
080422
080429
dynamiczne generowanie zawartości (np. checkbox) okienka do split lub finalize
możliwość odpalenia sar/shi z gui.
kiedy można zrobić split/finalize →
ard_property
ard_hist
ard_dependency
patrz varda_view:dotgen_ard_body
080520
080610
dot -Tsvg us.dot|grep 'text-anchor' us.svg
dot -Tsvg us.dot|grep -A1 'node' us.svg
dot -Tsvg us.dot|grep -A1 'node' us.svg|cut -d ' ' -f 3|grep points|cut -d'„' -f2
080617
FutWork
Projekt
Car expert system
Wersja 1
Wersja 2
Sprawozdanie (jeszcze niepełne)
Uruchamianie projektu
Serwer (Prolog)
-
Rozpakuj:
tar -zxvf varda-prolog-1.0.tar.gz
Wejdź do katalogu:
cd varda-prolog-1.0
Uruchom przykładowy plik:
./varda therm-model.pl
Uruchom serwer na porcie 12345:
:- create_server(12345).
Serwer oczekuje na połączenia.
GUI (Java)
-
Rozpakuj:
tar -zxvf varda-gui-1.0.tar.gz
Wejdź do katalogu:
cd varda-gui-1.0/bin
Uruchom program:
java -cp ../lib/jgraph.jar:./ varda_gui.Main
Protokół komunikacyjny
Wymiana informacji odbywa się na zasadzie komunikacji synchronicznej. Serwer prologowy jest odpytywany przez cześć javową. W poniższej tabeli przedstawiony jest protokół komunikacji.
Ujednolicenie i dopracowanie protokołu
Nazwa | Zapytanie (od strony javy) | Odpowiedź (od prologa) |
Pobieranie atrybutów finalizowalnych Poprawić | list_finalizeables.
| [[el1],[el2],[el3]]
|
Pobieranie atrybutów splitowalnych Poprawić | list_splitables.
| [[el1a,el1b],[el2a,el2b],[el3a,el3b]]
|
Pobieranie połączeń (zależności) | list_deps.
| [[el1]-[el2],[el2]-[el3],[el3]-[el4,el5]]
|
Pobieranie atrybutów z pliku .svg | list_items_from_svg.
| el1@el2@el3,el4@
|
Pobieranie współrzędnych z pliku .svg | list_coords_from_svg.
| 12.5,23.4@12.0,34.5@
|
Można połączyć ze sobą pobieranie atrybutów i współrzędnych. Są one pobierane z tego samego pliku za pomocą poleceń z konsolowych cat, grep, cut, tr.
Pobieranie atrybutów:
cat therm-model.svg | grep 'class="node"' | cut -d '>' -f3 | cut -d '<' -f1 | tr [:cntrl:] @
Pobieranie współrzędnych:
cat therm-model.svg | grep -A1 'class="node"' | grep polygon | cut -d '"' -f4 | cut -d " " -f1 | tr [:cntrl:] @
n-ty atrybut na liście atrybutów odpowiada n-tej współrzędnej na liście współrzędnych.
Materiały