4
5:- nl, write('sciff_agent.pl: Starts consulting...'), nl. 6
7:- use_module(library(chr)). 8:- use_module(quantif). 9:- use_module(ccopy). 10:- use_module(ics_quant). 11:- use_module( library(lists)). 12:- use_module(library(terms),
13 [term_variables/2]). 14:- use_module(domains). 15:- use_module(library(jasper)). 16:- use_module(proof_util). 17:- use_module(library(system)). 18:- use_module( library(charsio)). 19:- load_files(sciff). 20
21:- nl, write('sciff_agent.pl: consulted all external files...'), nl. 22
23
24
25
29run_with_gui:-
30 load_ics,
31 current_time(0),
32 society_goal,
33 setReady,
34 cicle(-1).
35
36query_the_brain(MsgList) :-
37 nl, write('query_the_brain: '), write(MsgList), nl,
38 load_ics,
39 current_time(0),
40 society_goal,
41 evalMsg(MsgList),
42 get_orders(List),
43 send_orders_java(List).
44
45
46evalMsg([]).
47evalMsg([H|T]) :-
48 call(H),
49 evalMsg(T).
50
51
52cicle(Last) :-
53 fetchNew(NMsg, Last, Actual),
54 doContinue(NMsg, Last, Actual).
55
56doContinue(_NMsg, _Last, -100) :-
57 !,
58 true.
59doContinue(close_history, _Last, Actual) :-
60 !,
61 call(close_history),
62 printConstraints(Actual).
63doContinue(NMsg, _Last, Actual) :-
64 call(NMsg),
65 printConstraints(Actual),
66 cicle(Actual).
67
68
69
70
71
72
76fetchNew(TMsg, Last, Actual) :-
77 clause(scv(OBJ), true),
78 jasper_initialize([classpath(['.'])], JVM),
79 jasper_call(JVM,
80 method('SocialComplianceVerifier', 'fetchNew', [instance]),
81 fetch_new(+object(''), +integer, [-string]),
82 fetch_new(OBJ, Last, Msg) ),
83 atom_to_chars(Msg, LMsg),
84 read_from_chars(LMsg, java_event(TMsg, Last, Actual)).
85
86
90setReady :-
91 clause(scv(OBJ), true),
92 jasper_initialize([classpath(['.'])], JVM),
93 jasper_call(JVM,
94 method('SocialComplianceVerifier', 'setInitialized', [instance]),
95 set_initialized(+object('SocialComplianceVerifier')),
96 set_initialized(OBJ) ).
97
98
100
101print_all_state_java(Msg) :-
102 clause(scv(OBJ), true),
103 !,
104 jasper_initialize([classpath(['.'])], JVM),
105 jasper_call(JVM,
106 method('SocialComplianceVerifier', 'printState', [instance]),
107 print_state(+object('SocialComplianceVerifier'), +chars),
108 print_state(OBJ, Msg) ).
109print_all_state_java(_).
110
111print_all_state_java(Msg, Pos) :-
112 clause(scv(OBJ), true),
113 !,
114 jasper_initialize([classpath(['.'])], JVM),
115 jasper_call(JVM,
116 method('SocialComplianceVerifier', 'printState', [instance]),
117 print_state(+object('SocialComplianceVerifier'), +chars, +integer),
118 print_state(OBJ, Msg, Pos) ).
119print_all_state_java(_, _).
120
121
122
126printConstraints :-
127 print_all_constraints.
128
129printConstraints(Pos) :-
130 print_all_constraints(Pos).
131
132
134print_all_constraints :-
135 findall_constraints(_, X),
136 crea_lista_chars(X, Lista),
137 print_all_state_java(Lista).
138
139print_all_constraints(Pos) :-
140 findall_constraints(_, X),
141 crea_lista_chars(X, Lista),
142 print_all_state_java(Lista, Pos).
143
144
146
147get_orders(List) :-
148 findall_constraints(_, X),
149 crea_lista_chars(X, List).
150
151send_orders_java(Msg) :-
152 clause(scv(OBJ), true),
153 !,
154 jasper_initialize([classpath(['.'])], JVM),
155 jasper_call(JVM,
156 method('SCIFFBehaviour', 'sendOrders', [instance]),
157 print_state(+object('SCIFFBehaviour'), +chars),
158 print_state(OBJ, Msg) ).
159send_orders_java(_).
160
161
163
164
165user:unknown_predicate_handler(society_goal, _, true) :-
166 nl, write('WARNING: the society_goal predicate has not been defined!!!'), nl.
167
168
169:- nl, write('sciff_agent.pl: consulted everything.'), nl.