
scenarioTWO.agents.EvacResident Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of bushfire-tutorial Show documentation
Show all versions of bushfire-tutorial Show documentation
Application using JACK-MATSim integration
The newest version!
/*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
This code is generated by JAC version 5.6 by
Agent Oriented Software. http://www.agent-software.com.au
DO NOT ALTER THIS CODE AND DO NOT REMOVE THIS COMMENT
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*/
package scenarioTWO.agents;
import aos.jack.jak.agent.Agent;
import scenarioTWO.data.depTime;
import scenarioTWO.events.EvacAlert;
import scenarioTWO.events.AssessThreatG;
import scenarioTWO.events.RelsG;
import scenarioTWO.events.KidsG;
import io.github.agentsoz.abmjack.env.UpdateAction;
import scenarioTWO.events.LeaveFromHome;
import scenarioTWO.plans.AlreadyPreparedP;
import scenarioTWO.plans.RelsP;
import scenarioTWO.plans.PrepareP;
import scenarioTWO.plans.KidsP;
import scenarioTWO.plans.GoHomeP;
import scenarioTWO.plans.LeaveNowP;
import scenarioTWO.plans.LeaveHomeP;
import io.github.agentsoz.abmjack.env.GenericActions;
import java.lang.String;
import io.github.agentsoz.bushfiretute.bdi.IBdiConnector;
import io.github.agentsoz.abmjack.shared.ActionManager;
import java.io.PrintStream;
import io.github.agentsoz.bdiabm.data.ActionContent.State;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.Random;
import io.github.agentsoz.abmjack.shared.GlobalTime;
public class EvacResident extends aos.jack.jak.agent.Agent {
final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger("");
java.util.Random rand = new java.util.Random();
public java.io.PrintStream out;
public java.lang.String agentID;
public io.github.agentsoz.abmjack.shared.ActionManager actionManager;
public io.github.agentsoz.bushfiretute.bdi.IBdiConnector bdiConnector;
public double curTime = 100.0;
public boolean evac_started_flag;
public boolean fireResponse = false;
public boolean kidsNeedPickUp = false;
public boolean relsNeedPickUp = false;
public boolean waitAtHomeFlag = false;
public double depTime;
public boolean prepared_to_evac_flag = true;
public long travelTime = 0L;
public double[] startLocation;
public double[] endLocation;
public double[] currentDestination;
public double[] schoolLocation;
public java.lang.String targetDestination;
public java.lang.String initiatedAction = " ";
public java.lang.String currentLocation = " ";
public scenarioTWO.data.depTime depTimesBDB_dat;
public io.github.agentsoz.abmjack.env.GenericActions genericactions_cap;
private scenarioTWO.events.AssessThreatG assessthreatg_p;
private scenarioTWO.events.RelsG relsg_p;
private scenarioTWO.events.KidsG kidsg_p;
private io.github.agentsoz.abmjack.env.UpdateAction updateaction_p;
private scenarioTWO.events.EvacAlert evacalert_h;
private scenarioTWO.events.LeaveFromHome leavefromhome_h;
/* Constructor */
public EvacResident(java.lang.String id, io.github.agentsoz.bushfiretute.bdi.IBdiConnector ibdiConnector, io.github.agentsoz.abmjack.shared.ActionManager am, java.io.PrintStream out)
{
super(id);
boolean __b = getAgentType() == scenarioTWO.agents.EvacResident.class;
if (__b) {
__init1();
__init2();
}
this.out = out;
this.agentID = id;
this.bdiConnector = ibdiConnector;
this.evac_started_flag = false;
this.actionManager = am;
if (__b)
startAgent();
}
public void postEvacAlert(java.lang.String msg)
{
postEvent(evacalert_h.fireAlert(msg));
}
public void postLeaveGoal()
{
logger.trace("agent posting LeaveHome goal..");
postEvent(leavefromhome_h.leaveHome());
}
public void updateCurrentLocation()
{
if (targetDestination.equals(" ")) {
logger.error("attempt to update current location while target destination is empty for agent " + this.agentID);
}
else {
this.currentLocation = this.targetDestination;
logger.debug("updated current location to " + this.currentLocation + " for agent " + this.agentID);
}
}
public void removeTargetDestination()
{
this.targetDestination = " ";
this.initiatedAction = " ";
logger.debug("completed resetting target destination and initiatedAction attributes for agent " + this.agentID);
}
//initialising the depTime
public void setDepTime(double depTime)
{
//this.depTime = depTime;
try {
depTimesBDB_dat.add(this.agentID,depTime);
}
catch (java.lang.Exception e) {
java.lang.System.out.println("unable to set depTime to agent " + this.agentID);
}
}
public double[] getStartLocation()
{
return startLocation;
}
public void setDestination()
{
double[] dest = {
634810.1718,
5888786.360};
currentDestination = dest;
}
public io.github.agentsoz.abmjack.shared.ActionManager getActionManager()
{
return actionManager;
}
public void updateActionState(java.lang.String actionID, io.github.agentsoz.bdiabm.data.ActionContent.State state, java.lang.Object[] params)
{
postEvent(updateaction_p.postEvent(actionID,state,params));
logger.debug("agent posted updateActionState event..");
}
public long getCurrentTime()
{
return io.github.agentsoz.abmjack.shared.GlobalTime.time.getTime();
}
public double getTimeLeftToEvac()
{
double deptime = depTimesBDB_dat.getDepartureTime(this.agentID);
if (deptime == -1.0) {
logger.error("agent: " + this.agentID + " - incorrect departure time returned from the belief DB");
}
logger.trace("agent deptime :" + deptime + "current Time : " + getCurrentTime());
return deptime - getCurrentTime();
}
public void setEvacStartedFlagTrue()
{
this.evac_started_flag = true;
}
public boolean getEvacStartedFlag()
{
return this.evac_started_flag;
}
//preparedToEvac flag
public void setPreparedToEvacFlagTrue()
{
this.prepared_to_evac_flag = true;
}
public boolean getPreparedToEvacFlag()
{
return this.prepared_to_evac_flag;
}
//travel time
public void addToTravelTime(long tripTime)
{
this.travelTime = this.travelTime + tripTime;
}
public double getTravelTime()
{
return this.travelTime;
}
public void log(java.lang.String msg)
{
java.lang.Object[] o = {
java.lang.Long.toString(getCurrentTime()),
this.agentID,
msg};
out.println(java.lang.String.format("Time %-6s, Agent %-5s: %s",o));
}
public java.lang.Class getAgentType()
{
return scenarioTWO.agents.EvacResident.class;
}
public void __init1()
{
super.__init1();
setNamedCreator("depTimesBDB_dat","scenarioTWO.data.depTime",new aos.jack.jak.agent.DataCreator(true){
public java.lang.Object create()
{
return __named_data_depTimesBDB_dat();
}
},true);
if (genericactions_cap == null) {
genericactions_cap = new io.github.agentsoz.abmjack.env.GenericActions(this);
genericactions_cap.__initCapability(this,"genericactions_cap");
}
genericactions_cap.__init1();
}
public void __init2()
{
super.__init2();
getNamedObject("depTimesBDB_dat","scenarioTWO.data.depTime");
assessthreatg_p = (scenarioTWO.events.AssessThreatG) findEvent("scenarioTWO.events.AssessThreatG");
relsg_p = (scenarioTWO.events.RelsG) findEvent("scenarioTWO.events.RelsG");
kidsg_p = (scenarioTWO.events.KidsG) findEvent("scenarioTWO.events.KidsG");
updateaction_p = (io.github.agentsoz.abmjack.env.UpdateAction) findEvent("io.github.agentsoz.abmjack.env.UpdateAction");
evacalert_h = (scenarioTWO.events.EvacAlert) findEvent("scenarioTWO.events.EvacAlert");
leavefromhome_h = (scenarioTWO.events.LeaveFromHome) findEvent("scenarioTWO.events.LeaveFromHome");
genericactions_cap.__init2();
}
synchronized private void __init_desc()
{
addNamedObject("depTimesBDB_dat","scenarioTWO.data.depTime",0);
genericactions_cap = new io.github.agentsoz.abmjack.env.GenericActions(this);
genericactions_cap.__initCapability(this,"genericactions_cap");
genericactions_cap.init_desc();
addEvent("scenarioTWO.events.EvacAlert",aos.jack.jak.agent.Agent.HANDLED_EVENT);
addEvent("scenarioTWO.events.AssessThreatG",aos.jack.jak.agent.Agent.HANDLED_EVENT);
addEvent("scenarioTWO.events.RelsG",aos.jack.jak.agent.Agent.HANDLED_EVENT);
addEvent("scenarioTWO.events.KidsG",aos.jack.jak.agent.Agent.HANDLED_EVENT);
addEvent("io.github.agentsoz.abmjack.env.UpdateAction",aos.jack.jak.agent.Agent.HANDLED_EVENT);
addEvent("scenarioTWO.events.LeaveFromHome",aos.jack.jak.agent.Agent.HANDLED_EVENT);
addEvent("scenarioTWO.events.AssessThreatG",aos.jack.jak.agent.Agent.POSTED_EVENT);
addEvent("scenarioTWO.events.RelsG",aos.jack.jak.agent.Agent.POSTED_EVENT);
addEvent("scenarioTWO.events.KidsG",aos.jack.jak.agent.Agent.POSTED_EVENT);
addEvent("io.github.agentsoz.abmjack.env.UpdateAction",aos.jack.jak.agent.Agent.POSTED_EVENT);
addEvent("scenarioTWO.events.EvacAlert",aos.jack.jak.agent.Agent.POSTED_EVENT);
addEvent("scenarioTWO.events.LeaveFromHome",aos.jack.jak.agent.Agent.POSTED_EVENT);
addPlan("scenarioTWO.plans.AlreadyPreparedP",0);
addPlan("scenarioTWO.plans.RelsP",0);
addPlan("scenarioTWO.plans.PrepareP",0);
addPlan("scenarioTWO.plans.KidsP",0);
addPlan("scenarioTWO.plans.GoHomeP",0);
addPlan("scenarioTWO.plans.LeaveNowP",0);
addPlan("scenarioTWO.plans.LeaveHomeP",0);
}
public void init_desc()
{
newAgentDesc("EvacResident");
super.init_desc();
__init_desc();
}
synchronized public void __bindNames()
{
super.__bindNames();
genericactions_cap.__bindNames();
}
private scenarioTWO.data.depTime __named_data_depTimesBDB_dat()
{
if (depTimesBDB_dat != null)
return depTimesBDB_dat;
depTimesBDB_dat = (scenarioTWO.data.depTime) findShared("depTimesBDB_dat","scenarioTWO.data.depTime");
if (depTimesBDB_dat != null) {
setNamedObject("depTimesBDB_dat","scenarioTWO.data.depTime",depTimesBDB_dat);
return depTimesBDB_dat;
}
depTimesBDB_dat = new scenarioTWO.data.depTime();
if (!depTimesBDB_dat.attach(this))
depTimesBDB_dat = null;
addShared("depTimesBDB_dat","scenarioTWO.data.depTime",depTimesBDB_dat);
setNamedObject("depTimesBDB_dat","scenarioTWO.data.depTime",depTimesBDB_dat);
return depTimesBDB_dat;
}
public void setEnabled(boolean t)
{
super.setEnabled(t);
genericactions_cap.setEnabled(t);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy