4
5:- nl, write('sciff_java_gui.pl: Starts consulting...'), nl. 6
7:- use_module(library(chr)). 8:- use_module( library(lists)). 9:- use_module(library(terms),
10 [term_variables/2]). 11:- use_module(library(jasper)). 12:- use_module(library(system)). 13:- use_module( library(charsio)). 14
15
16:- load_files(sciff). 17:- use_module(proof_util). 18
19
20:- nl, write('sciff_java_gui.pl: consulted all external files.'), nl. 21
22
23
24
25
26
30run_with_gui:-
31 set_option(violation_causes_failure, no),
32 load_ics,
33 current_time(0),
34 society_goal,
35 setReady,
36 cicle(-1).
37
38
39
40
41cicle(Last) :-
42 fetchNew(NMsg, Last, Actual),
43 doContinue(NMsg, Last, Actual).
44
45doContinue(_NMsg, _Last, -100) :-
46 !,
47 true.
48doContinue(close_history, _Last, Actual) :-
49 !,
50 call(close_history),
51 ( findall_constraints(viol(_), [_|_])
52 -> !,
53 printConstraints,
54 fail
55 ; printConstraints(Actual)
56 ).
57doContinue(NMsg, _Last, Actual) :-
58 call(NMsg),
59 ( findall_constraints(viol(_), [_|_])
60 -> !,
61 printConstraints,
62 fail
63 ; printConstraints(Actual)
64 ),
65 cicle(Actual).
66
67
68
69
73:- prolog_flag(redefine_warnings,_, off). 74
75
76check_unification(T1,T2,B,_,_):-
77 ccopy(p(T1,T2),p(U1,U2)),
78 reif_unify(U1,U2,B),!.
79check_unification(T1,T2,_,S1,S2):-
80 T1=..[_|A1],
81 T2=..[_|A2],
82 R1=..[S1|A1],
83 R2=..[S2|A2],
84 inconsistent(R1,R2),
85 ( current_predicate(printConstraints/0)
86 -> printConstraints
87 ; true
88 ),
89 fail.
90
91
92
93
94
98fetchNew(TMsg, Last, Actual) :-
99 clause(scv(OBJ), true),
100 jasper_initialize([classpath(['.'])], JVM),
101 jasper_call(JVM,
102 method('SocialComplianceVerifier', 'fetchNew', [instance]),
103 fetch_new(+object(''), +integer, [-string]),
104 fetch_new(OBJ, Last, Msg) ),
105 atom_to_chars(Msg, LMsg),
106 read_from_chars(LMsg, java_event(TMsg, Last, Actual)).
107
108
112setReady :-
113 clause(scv(OBJ), true),
114 jasper_initialize([classpath(['.'])], JVM),
115 jasper_call(JVM,
116 method('SocialComplianceVerifier', 'setInitialized', [instance]),
117 set_initialized(+object('SocialComplianceVerifier')),
118 set_initialized(OBJ) ).
119
120
122
123print_all_state_java(Msg) :-
124 clause(scv(OBJ), true),
125 !,
126 jasper_initialize([classpath(['.'])], JVM),
127 jasper_call(JVM,
128 method('SocialComplianceVerifier', 'printState', [instance]),
129 print_state(+object('SocialComplianceVerifier'), +chars),
130 print_state(OBJ, Msg) ).
131print_all_state_java(_).
132
133print_all_state_java(Msg, Pos) :-
134 clause(scv(OBJ), true),
135 !,
136 jasper_initialize([classpath(['.'])], JVM),
137 jasper_call(JVM,
138 method('SocialComplianceVerifier', 'printState', [instance]),
139 print_state(+object('SocialComplianceVerifier'), +chars, +integer),
140 print_state(OBJ, Msg, Pos) ).
141print_all_state_java(_, _).
142
143
144
148printConstraints :-
149 print_all_constraints.
150
151printConstraints(Pos) :-
152 print_all_constraints(Pos).
153
154
156print_all_constraints :-
157 findall_constraints(_, X),
158 crea_lista_chars(X, Lista),
159 print_all_state_java(Lista).
160
161print_all_constraints(Pos) :-
162 findall_constraints(_, X),
163 crea_lista_chars(X, Lista),
164 print_all_state_java(Lista, Pos).
165
166
167
168
169user:unknown_predicate_handler(society_goal, _, true) :-
170 nl, write('WARNING: the society_goal predicate has not been defined!!!'), nl.
171
172
173:- nl, write('sciff_java_gui.pl: consulted everything.'), nl.