To jest stara wersja strony!


Opis

Filip Haftek filiphaftek@o2.pl

Investigate runtime integration aspects, mainly semi-automatical building of a GUI for Prolog programs possibilities XPCE, Static QT/Gtk, Gtk-Server, Java (Swing), Eclipse (SWT)

  • input

XPCE, QT, GTK, GtkServer, Java etc., SWI Prolog documentation

  • output

Feasibility study, a prototype.

  • integration options for Java: JPL (SWI),Logtalk (OO Prolog), architecture: MVC
  • approach: 2 -3 app. cases, M prolog, V inv 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

SWING LogTalk

Spotkania

080304

080318

  • car.pl skoncz

080401

080422

  • xshell oops

080520

  • zarys sprawozd, opis alternatywnych realizacji, pliki java w wiki we wlasnym namespace

Projekt

1. PROSTY SYSTEM EKSPERCKI

Predykat tworzący okno z pytaniem:
question(Result,T):-
   jpl_call('javax.swing.JOptionPane','showConfirmDialog',[(@null),T,'Question',0],X),
   change(X,Result).  
Predykat pokazujący informacje:
info(X):-
   jpl_call('javax.swing.JOptionPane','showMessageDialog',[(@null),X],F).
Predykat get_yes_or_no:

Przed:

get_yes_or_no(Result) :- get(Char),              
                         get0(_),                
                         interpret(Char,Result),
                         !.     

Po:

get_yes_or_no(Q,Result) :- 
                           ask_question(Q,X),
                           question(Result,X).   
Predykat ask_question:

Przed:

ask_question(fuel_is_ok) :-
   write('Look in the carburetor.  Can you see or smell gasoline?'),nl.

Po zmianach stał się termem:

ask_question(fuel_is_ok,'Look in the carburetor.  Can you see or smell gasoline?').
Predykat user_says:

Przed:

user_says(Q,A) :- \+ stored_answer(Q,_),
                  nl,nl,
                  ask_question(Q),
                  get_yes_or_no(Response),
                  asserta(stored_answer(Q,Response)),
                  Response = A.

Po:

user_says(Q,A) :- \+ stored_answer(Q,_),
                  get_yes_or_no(Q,Response),
                  asserta(stored_answer(Q,Response)),
                  Response = A.

Plik car.pl

2. ZAAWANSOWANE SYSTEMY EKSPERCKIE

GUI wykonane w Javie, logika w Prologu.

2.1 XSHELL System do rozpoznowania ryb.

Plik xshell.pl

2.2 OOPS System do produkcji zabawek.

Problem - animal_kb.pl

2.3 Wymagane pliki Spakowany miw2.jar - zawiera niezbędne klasy: miw2.zip

Sprawozdanie

1. Klasy Javy wykorzystywane z poziomu języka Prolog:

  • Info
  • MyRBForm
  • MyCBForm
  • YNQuestion
  • MainForm
  • PlFileChooser

2. Predykaty wykorzystyjuące klasy Javy:

  • myQuestion(Question,Choices,Response)
  • question2(Result,Question)
  • info(X)

Materiały

Pytania: - nazwa zwierzaka w MyCBForm - rozmiar Frame - 2 opcje

pl/miw/miw08_ruleruntimeg.1211222360.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