/
TestAgentArch.java
49 lines (40 loc) · 1.44 KB
/
TestAgentArch.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
import jason.architecture.AgArch;
import jason.architecture.MindInspectorAgArch;
import jason.asSemantics.*;
import jason.asSyntax.Literal;
import jason.asSyntax.Structure;
import java.util.logging.Logger;
//public class TestAgentArch extends AgArch {
public class TestAgentArch extends MindInspectorAgArch {
private static Logger logger;
private long reasoningStart;
private long reasoningStop;
private int cycleNumber;
@Override
public void init() {// throws Exception {
super.init();
this.logger = Logger.getLogger("AgentArch");
this.reasoningStart = 0;
this.reasoningStop = 0;
this.cycleNumber = 0;
super.setupMindInspector("file(cycle,html)");
}
@Override
public void broadcast(Message m) throws Exception {
// Make sure sender parameter is set
if (m.getSender() == null) m.setSender(getAgName());
// Log the message (this is a single agent environment, just log the message)
this.logger.info(m.getPropCont().toString());
}
public void reasoningCycleStarting() {
super.reasoningCycleStarting();
this.reasoningStart = System.currentTimeMillis();
this.cycleNumber += 1;
}
public void reasoningCycleFinished() {
super.reasoningCycleFinished();
this.reasoningStop = System.currentTimeMillis();
this.logger.info("Reasoning Cycle: " + Integer.toString(this.cycleNumber));
this.logger.info("Reasoning Period: " + Long.toString(this.reasoningStop - this.reasoningStart));
}
}