Commit 74519cdb by Alan White

First commitment

parent b8cdbc0d
source.. = src/java,\
src/asl,\
properties/,\
lib/,\
planner,\
src/test/
echo "Cleaning up!"
del planner\*.pddl
del planner\*.SOL
del *.log.*
del lpg-td-1.0.exe.stackdump
pause
\ No newline at end of file
//Truckworld/Pacifica inspired MAS
MAS twtest {
//note; other infrastructures not tested or supported
infrastructure: Centralised
/*
Env args; the properties file used to procedurally generate the world
*/
environment: truckworld.env.TruckworldEnvironment("world2-debil80.properties", "1234567890", "continual-wconf")
/* Agent args;
knownAgents - if set, defines a fixed list of agents from whom we receive capability notices. If
not set, then we just accept advertisements from everyone
doMaintain - if true, attempts maintenance / pre-emptive plan repair tasks
doMaintain - if true, attempts replanning at progressive levels of abstraction when a task or delegated task fails
mpMaxCost - planning cost maximum limit for precond maint tasks
domain - domain name used to get primitive capability/goal task factory object
capabilities - names of primitive capabilities (for use in factory)
advertised - names of capabilities - both composite and primitive - which are to be advertised
to other agent for potential use as delegated tasks.
taskKnowledge - goal tasks known, and which we are interested in externalCapabilities for.
*/
agents:
//STRATEGIC
//logistics / commander
//cargo delivery tasks, road clearance
logisticshq [knownAgents="truck1, truck2, truck3, truck4, helicopter1, bulldozer1, bulldozer2, militaryhq",
doMaintain="false", continuous="true", confConstaint = "true", pmMaxCost=5, domain="truckworld",
advertised="moveCargo, decontaminateRoad, secure, unblock, unstick",
capabilities="consume", //pcs - none, no effectors
taskKnowledge="moveTo, load, unload, decontaminateRoad, secure, unblock, free"]
agentArchClass agent.type.arch.MultiagentArch
agentClass vehicle.TruckworldAgent
beliefBaseClass agent.beliefBase.WorldBeliefBase;
//military HQ
//secure area, decontaminate, high cost cargo move
militaryhq [ knownAgents="hazmat1, apc1, hazmat2, apc2, logisticshq",
doMaintain="false", continuous="true", confConstaint = "true", pmMaxCost=5, domain="truckworld",
advertised="decontaminateRoad, secure, unblock, unstick", //add move-and-clear from organized children...
capabilities="",
taskKnowledge="moveTo, decontaminate, secureArea, unblock, free"]
agentArchClass agent.type.arch.MultiagentArch
agentClass vehicle.TruckworldAgent
beliefBaseClass agent.beliefBase.WorldBeliefBase;
// OPERATIONAL LEVEL AGENTS!
/* Trucks move cargo
* Bulldozers clear roads
* Repair vehicles can tow others to repair sites and fix them
* APCs secure areas and remove danger zones
* Helicopters move cargo, but at high cost
* Hazmats decontaminate toxic roads
*/
truck1 [knownAgents="logisticshq",
doMaintain="false", continuous="true", confConstaint = "true", pmMaxCost=5, domain="truckworld",
capabilities="move, load, unload, free",
advertised="load, unload, moveTo, free",//if we have them...
taskKnowledge="moveAndClear, decontaminateRoad, secure, unblock, unstick"]
agentArchClass agent.type.arch.MultiagentArch
agentClass vehicle.TruckAgent
beliefBaseClass agent.beliefBase.WorldBeliefBase;
truck2 [knownAgents="logisticshq",
doMaintain="false", continuous="true", confConstaint = "true", pmMaxCost=5, domain="truckworld",
capabilities="move, load, unload, free",
advertised="load, unload, moveTo, free",//if we have them...
taskKnowledge="moveAndClear, decontaminateRoad, secure, unblock, unstick"]
agentArchClass agent.type.arch.MultiagentArch
agentClass vehicle.TruckAgent
beliefBaseClass agent.beliefBase.WorldBeliefBase;
truck3 [knownAgents="logisticshq",
doMaintain="false", continuous="true", confConstaint = "true", pmMaxCost=5, domain="truckworld",
capabilities="move, load, unload, free",
advertised="load, unload, moveTo, free",//if we have them...
taskKnowledge="moveAndClear, decontaminateRoad, secure, unblock, unstick"]
agentArchClass agent.type.arch.MultiagentArch
agentClass vehicle.TruckAgent
beliefBaseClass agent.beliefBase.WorldBeliefBase;
//bulldozer agent(s)
bulldozer1 [ knownAgents="logisticshq",
doMaintain="false", continuous="true", confConstaint = "true", pmMaxCost=5, domain="truckworld",
capabilities="move, unblock, free",
advertised="unblock, moveTo, free",
taskKnowledge="decontaminateRoad, secure, unstick"]
agentArchClass agent.type.arch.MultiagentArch
agentClass vehicle.BulldozerAgent
beliefBaseClass agent.beliefBase.WorldBeliefBase;
bulldozer2 [ knownAgents="logisticshq",
doMaintain="false", continuous="true", confConstaint = "true", pmMaxCost=5, domain="truckworld",
capabilities="move, unblock, free",
advertised="unblock, moveTo, free",
taskKnowledge="decontaminateRoad, secure, unstick"]
agentArchClass agent.type.arch.MultiagentArch
agentClass vehicle.BulldozerAgent
beliefBaseClass agent.beliefBase.WorldBeliefBase;
apc1 [ knownAgents="militaryhq",
doMaintain="false", continuous="true", confConstaint = "true", pmMaxCost=5, domain="truckworld",
capabilities="move, secureArea, free",
advertised="moveTo, secureArea",
taskKnowledge="moveAndClear, decontaminateRoad, unblock, unstick"]
agentArchClass agent.type.arch.MultiagentArch
agentClass vehicle.ApcAgent
beliefBaseClass agent.beliefBase.WorldBeliefBase;
apc2 [ knownAgents="militaryhq",
doMaintain="false", continuous="true", confConstaint = "true", pmMaxCost=5, domain="truckworld",
capabilities="move, secureArea, free",
advertised="moveTo, secureArea",
taskKnowledge="moveAndClear, decontaminateRoad, unblock, unstick"]
agentArchClass agent.type.arch.MultiagentArch
agentClass vehicle.ApcAgent
beliefBaseClass agent.beliefBase.WorldBeliefBase;
hazmat1 [ knownAgents="militaryhq",
doMaintain="false", continuous="true", confConstaint = "true", pmMaxCost=5, domain="truckworld",
capabilities="move, decontaminate, free",
advertised="moveTo, decontaminate, free",
taskKnowledge="moveAndClear, secure, unblock, unstick"]
agentArchClass agent.type.arch.MultiagentArch
agentClass vehicle.HazmatAgent
beliefBaseClass agent.beliefBase.WorldBeliefBase;
hazmat2 [ knownAgents="militaryhq",
doMaintain="false", continuous="true", confConstaint = "true", pmMaxCost=5, domain="truckworld",
capabilities="move, decontaminate, free",
advertised="moveTo, decontaminate, free",
taskKnowledge="moveAndClear, secure, unblock, unstick"]
agentArchClass agent.type.arch.MultiagentArch
agentClass vehicle.HazmatAgent
beliefBaseClass agent.beliefBase.WorldBeliefBase;
aslSourcePath: "src/asl/truckworld";
}
\ No newline at end of file
//Truckworld/Pacifica inspired MAS
MAS twtest {
//note; other infrastructures not tested or supported
infrastructure: Centralised
/*
Env args; the properties file used to procedurally generate the world
*/
environment: truckworld.env.TruckworldEnvironment("helitest.properties", "1", "maint")
//87654321
//987654321
//1234567890
/* Agent args;
knownAgents - if set, defines a fixed list of agents from whom we receive capability notices. If
not set, then we just accept advertisements from everyone
doMaintain - if true, attempts maintenance / pre-emptive plan repair tasks
doMaintain - if true, attempts replanning at progressive levels of abstraction when a task or delegated task fails
mpMaxCost - planning cost maximum limit for precond maint tasks
domain - domain name used to get primitive capability/goal task factory object
capabilities - names of primitive capabilities (for use in factory)
advertised - names of capabilities - both composite and primitive - which are to be advertised
to other agent for potential use as delegated tasks.
taskKnowledge - goal tasks known, and which we are interested in externalCapabilities for.
*/
agents:
//STRATEGIC
//logistics / commander
//cargo delivery tasks, road clearance
logisticshq [allowConfRelaxationForPMTs="true",
knownAgents="truck1, truck2, truck3, truck4, helicopter1, bulldozer1, bulldozer2, militaryhq",
doMaintain="true", doReplan="false", pmMaxCost=5, domain="truckworld",
advertised="moveCargo, decontaminateRoad, secure, unblock, unstick",
capabilities="consume", //pcs - none, no effectors
taskKnowledge="moveTo, load, unload, decontaminateRoad, secure, unblock, free"]
agentArchClass agent.type.arch.MultiagentArch
agentClass vehicle.TruckworldAgent
beliefBaseClass agent.beliefBase.WorldBeliefBase;
//military HQ
//secure area, decontaminate, high cost cargo move
militaryhq [ allowConfRelaxationForPMTs="true",
knownAgents="hazmat1, apc1, hazmat2, apc2, logisticshq",
doMaintain="true", doReplan="false", pmMaxCost=5, domain="truckworld",
advertised="decontaminateRoad, secure, unblock, unstick", //add move-and-clear from organized children...
capabilities="",
taskKnowledge="moveTo, decontaminate, secureArea, unblock, free"]
agentArchClass agent.type.arch.MultiagentArch
agentClass vehicle.TruckworldAgent
beliefBaseClass agent.beliefBase.WorldBeliefBase;
// OPERATIONAL LEVEL AGENTS!
/* Trucks move cargo
* Bulldozers clear roads
* Repair vehicles can tow others to repair sites and fix them
* APCs secure areas and remove danger zones
* Helicopters move cargo, but at high cost
* Hazmats decontaminate toxic roads
*/
helicopter1 [ knownAgents="logisticshq",//"militaryhq"?
doMaintain="true", doReplan="false", pmMaxCost=5, domain="truckworld",
capabilities="takeOff, land, fly, load, unload",
advertised="moveTo, load, unload",
taskKnowledge="secure"]
agentArchClass agent.type.arch.MultiagentArch
agentClass vehicle.HeliAgent
beliefBaseClass agent.beliefBase.WorldBeliefBase;
apc1 [ knownAgents="militaryhq",
doMaintain="true", doReplan="false", pmMaxCost=5, domain="truckworld",
capabilities="move, secureArea, free",
advertised="moveTo, secureArea",
taskKnowledge="moveAndClear, decontaminateRoad, unblock, unstick"]
agentArchClass agent.type.arch.MultiagentArch
agentClass vehicle.ApcAgent
beliefBaseClass agent.beliefBase.WorldBeliefBase;
apc2 [ knownAgents="militaryhq",
doMaintain="true", doReplan="false", pmMaxCost=5, domain="truckworld",
capabilities="move, secureArea, free",
advertised="moveTo, secureArea",
taskKnowledge="moveAndClear, decontaminateRoad, unblock, unstick"]
agentArchClass agent.type.arch.MultiagentArch
agentClass vehicle.ApcAgent
beliefBaseClass agent.beliefBase.WorldBeliefBase;
aslSourcePath: "src/asl/truckworld";
}
\ No newline at end of file
<xml>
<!--
MP for use in the demo, intended to trigger maint. whenever roads are slippery...
-->
<maintenancePolicy>
<dropConditions>
<threshold>0.1</threshold>
</dropConditions>
<repair>
<threshold>0.8</threshold>
</repair>
</maintenancePolicy>
</xml>
<xml>
<!--
MP for use in the demo, intended to trigger maint. whenever roads are slippery...
-->
<maintenancePolicy>
<dropConditions>
<threshold>0.6</threshold> <!-- default conf for slippery roads is 0.5... -->
</dropConditions>
<repair>
<threshold>0.7</threshold>
</repair>
</maintenancePolicy>
</xml>
<xml>
<!--
this is a basic example of the format/structure of an MP with all elements, DO NOT USE FOR A RUNNING AGENT. This
xml is obtained (send/loaded) by an agent and used to form a java object. Elements not present will be set to a default specified in
the code. Formulas are expected to be evaluated as asl strings, so write as such.
-->
<maintenancePolicy>
<!-- first part defines which agents and capabilities this policy applies to; if neither is specified, the
mp applies to all agents (i.e. default case) -->
<appliedTo>
<capability>move</capability>
<capability>repair</capability>
<capability>load</capability>
</appliedTo>
<dropConditions>
<threshold>0.5</threshold> <!-- drop if confidence < threshold -->
<state>damaged</state> <!-- parsable into asl logicalFormula; must match capability sig(s) -->
<state>at("JEND") &amp; fuel=0</state>
</dropConditions>
<repair>
<threshold>0.8</threshold> <!-- eff maint if confidence < threshold -->
<!-- note; ignoring constraints/restraints now, so not exemplared here -->
</repair>
</maintenancePolicy>
</xml>
File added
# Jason Default log configuration handlers = java.util.logging.FileHandler, java.util.logging.ConsoleHandler #, jason.runtime.MASConsoleLogHandler # Default logging level. Other values are: # SEVERE (only severe messages) # WARNING (only warnings and severe messages) # INFO (normal output) # FINE (debug level of messages). level = SEVERE ############################################################# Handler specific properties. # Describes specific configuration info for Handlers. ############################################################# Jason Handler parameters jason.runtime.MASConsoleLogHandler.level = WARNING jason.runtime.MASConsoleLogHandler.formatter = jason.runtime.MASConsoleLogFormatter # set one text area for each agent jason.runtime.MASConsoleLogHandler.tabbed = false jason.runtime.MASConsoleLogHandler.colors = true # default file output is in project's directory. #java.util.logging.FileHandler.pattern = TruckWorld.log java.util.logging.FileHandler.pattern = mmas-%u.log java.util.logging.FileHandler.limit = 20000000 java.util.logging.FileHandler.count = 1000 java.util.logging.FileHandler.formatter = jason.runtime.MASConsoleLogFormatter #java.util.logging.FileHandler.formatter = java.util.logging.XMLFormatter # Limit the message that are printed on the console to FINE and above. java.util.logging.ConsoleHandler.level = WARNING java.util.logging.ConsoleHandler.formatter = jason.runtime.MASConsoleLogFormatter java.level=OFF javax.level=OFF sun.level=OFF jade.level=OFF
//Truckworld/Pacifica inspired MAS
MAS twtest {
//note; other infrastructures not tested or supported
infrastructure: Centralised
/*
Env args; the properties file used to procedurally generate the world
*/
environment: truckworld.env.TruckworldEnvironment("world2-severity1.properties", "1", "maint")
//87654321
//987654321
//1234567890
/* Agent args;
knownAgents - if set, defines a fixed list of agents from whom we receive capability notices. If
not set, then we just accept advertisements from everyone
doMaintain - if true, attempts maintenance / pre-emptive plan repair tasks
doMaintain - if true, attempts replanning at progressive levels of abstraction when a task or delegated task fails
mpMaxCost - planning cost maximum limit for precond maint tasks
domain - domain name used to get primitive capability/goal task factory object
capabilities - names of primitive capabilities (for use in factory)
advertised - names of capabilities - both composite and primitive - which are to be advertised
to other agent for potential use as delegated tasks.
taskKnowledge - goal tasks known, and which we are interested in externalCapabilities for.
*/
agents:
//STRATEGIC
//logistics / commander
//cargo delivery tasks, road clearance
logisticshq [allowConfRelaxationForPMTs="true",
knownAgents="truck1, truck2, truck3, truck4, helicopter1, bulldozer1, bulldozer2, militaryhq",
doMaintain="true", doReplan="false", pmMaxCost=5, domain="truckworld",
advertised="moveCargo, decontaminateRoad, secure, unblock, unstick",
capabilities="consume", //pcs - none, no effectors
taskKnowledge="moveTo, load, unload, decontaminateRoad, secure, unblock, free"]
agentArchClass agent.type.arch.MultiagentArch
agentClass vehicle.TruckworldAgent
beliefBaseClass agent.beliefBase.WorldBeliefBase;
//military HQ
//secure area, decontaminate, high cost cargo move
militaryhq [ allowConfRelaxationForPMTs="true",
knownAgents="hazmat1, apc1, hazmat2, apc2, logisticshq",
doMaintain="true", doReplan="false", pmMaxCost=5, domain="truckworld",
advertised="decontaminateRoad, secure, unblock, unstick", //add move-and-clear from organized children...
capabilities="",
taskKnowledge="moveTo, decontaminate, secureArea, unblock, free"]
agentArchClass agent.type.arch.MultiagentArch
agentClass vehicle.TruckworldAgent
beliefBaseClass agent.beliefBase.WorldBeliefBase;
// OPERATIONAL LEVEL AGENTS!
/* Trucks move cargo
* Bulldozers clear roads
* Repair vehicles can tow others to repair sites and fix them
* APCs secure areas and remove danger zones
* Helicopters move cargo, but at high cost
* Hazmats decontaminate toxic roads
*/
//trucks!
//trucks!
truck1 [knownAgents="logisticshq",
doMaintain="true", doReplan="false", pmMaxCost=5, domain="truckworld",
capabilities="move, load, unload, free",
advertised="load, unload, moveTo, free",//if we have them...
taskKnowledge="moveAndClear, decontaminateRoad, secure, unblock, unstick"]
agentArchClass agent.type.arch.MultiagentArch
agentClass vehicle.TruckAgent
beliefBaseClass agent.beliefBase.WorldBeliefBase;
truck2 [knownAgents="logisticshq",
doMaintain="true", doReplan="false", pmMaxCost=5, domain="truckworld",
capabilities="move, load, unload, free",
advertised="load, unload, moveTo, free",//if we have them...
taskKnowledge="moveAndClear, decontaminateRoad, secure, unblock, unstick"]
agentArchClass agent.type.arch.MultiagentArch
agentClass vehicle.TruckAgent
beliefBaseClass agent.beliefBase.WorldBeliefBase;
truck3 [knownAgents="logisticshq",
doMaintain="true", doReplan="false", pmMaxCost=5, domain="truckworld",
capabilities="move, load, unload, free",
advertised="load, unload, moveTo, free",//if we have them...
taskKnowledge="moveAndClear, decontaminateRoad, secure, unblock, unstick"]
agentArchClass agent.type.arch.MultiagentArch
agentClass vehicle.TruckAgent
beliefBaseClass agent.beliefBase.WorldBeliefBase;
//bulldozer agent(s)
bulldozer1 [ knownAgents="logisticshq",
doMaintain="true", doReplan="false", pmMaxCost=5, domain="truckworld",
capabilities="move, unblock, free",
advertised="unblock, moveTo, free",
taskKnowledge="decontaminateRoad, secure, unstick"]
agentArchClass agent.type.arch.MultiagentArch
agentClass vehicle.BulldozerAgent
beliefBaseClass agent.beliefBase.WorldBeliefBase;
bulldozer2 [ knownAgents="logisticshq",
doMaintain="true", doReplan="false", pmMaxCost=5, domain="truckworld",
capabilities="move, unblock, free",
advertised="unblock, moveTo, free",
taskKnowledge="decontaminateRoad, secure, unstick"]
agentArchClass agent.type.arch.MultiagentArch
agentClass vehicle.BulldozerAgent
beliefBaseClass agent.beliefBase.WorldBeliefBase;
/*
helicopter1 [ knownAgents="logisticshq",//"militaryhq"?
doMaintain="true", doReplan="false", pmMaxCost=5, domain="truckworld",
capabilities="takeOff, land, fly, load, unload",
advertised="moveTo, load, unload",
taskKnowledge="secure"]
agentArchClass agent.type.arch.MultiagentArch
agentClass vehicle.HeliAgent
beliefBaseClass agent.beliefBase.WorldBeliefBase;
*/
apc1 [ knownAgents="militaryhq",
doMaintain="true", doReplan="false", pmMaxCost=5, domain="truckworld",
capabilities="move, secureArea, free",
advertised="moveTo, secureArea",
taskKnowledge="moveAndClear, decontaminateRoad, unblock, unstick"]
agentArchClass agent.type.arch.MultiagentArch
agentClass vehicle.ApcAgent
beliefBaseClass agent.beliefBase.WorldBeliefBase;
apc2 [ knownAgents="militaryhq",
doMaintain="true", doReplan="false", pmMaxCost=5, domain="truckworld",
capabilities="move, secureArea, free",
advertised="moveTo, secureArea",
taskKnowledge="moveAndClear, decontaminateRoad, unblock, unstick"]
agentArchClass agent.type.arch.MultiagentArch
agentClass vehicle.ApcAgent
beliefBaseClass agent.beliefBase.WorldBeliefBase;
hazmat1 [ knownAgents="militaryhq",
doMaintain="true", doReplan="false", pmMaxCost=5, domain="truckworld",
capabilities="move, decontaminate, free",
advertised="moveTo, decontaminate, free",
taskKnowledge="moveAndClear, secure, unblock, unstick"]
agentArchClass agent.type.arch.MultiagentArch
agentClass vehicle.HazmatAgent
beliefBaseClass agent.beliefBase.WorldBeliefBase;
hazmat2 [ knownAgents="militaryhq",
doMaintain="true", doReplan="false", pmMaxCost=5, domain="truckworld",
capabilities="move, decontaminate, free",
advertised="moveTo, decontaminate, free",
taskKnowledge="moveAndClear, secure, unblock, unstick"]
agentArchClass agent.type.arch.MultiagentArch
agentClass vehicle.HazmatAgent
beliefBaseClass agent.beliefBase.WorldBeliefBase;
aslSourcePath: "src/asl/truckworld";
}
\ No newline at end of file
//Truckworld/Pacifica inspired MAS
MAS twtest {
//note; other infrastructures not tested or supported
infrastructure: Centralised
/*
Env args; the properties file used to procedurally generate the world
*/
environment: truckworld.env.TruckworldEnvironment("world2-debil80.properties", "1234567890", "none")
/* Agent args;
knownAgents - if set, defines a fixed list of agents from whom we receive capability notices. If
not set, then we just accept advertisements from everyone
doMaintain - if true, attempts maintenance / pre-emptive plan repair tasks
doMaintain - if true, attempts replanning at progressive levels of abstraction when a task or delegated task fails
mpMaxCost - planning cost maximum limit for precond maint tasks
domain - domain name used to get primitive capability/goal task factory object
capabilities - names of primitive capabilities (for use in factory)
advertised - names of capabilities - both composite and primitive - which are to be advertised
to other agent for potential use as delegated tasks.
taskKnowledge - goal tasks known, and which we are interested in externalCapabilities for.
*/
agents:
//STRATEGIC
//logistics / commander
//cargo delivery tasks, road clearance
logisticshq [knownAgents="truck1, truck2, truck3, truck4, helicopter1, bulldozer1, bulldozer2, militaryhq",
doMaintain="false", doReplan="false", pmMaxCost=5, domain="truckworld",
advertised="moveCargo, decontaminateRoad, secure, unblock, unstick",
capabilities="consume", //pcs - none, no effectors
taskKnowledge="moveTo, load, unload, decontaminateRoad, secure, unblock, free"]
agentArchClass agent.type.arch.MultiagentArch
agentClass vehicle.TruckworldAgent
beliefBaseClass agent.beliefBase.WorldBeliefBase;
//military HQ
//secure area, decontaminate, high cost cargo move
militaryhq [ knownAgents="hazmat1, apc1, hazmat2, apc2, logisticshq",
doMaintain="false", doReplan="false", pmMaxCost=5, domain="truckworld",
advertised="decontaminateRoad, secure, unblock, unstick", //add move-and-clear from organized children...
capabilities="",
taskKnowledge="moveTo, decontaminate, secureArea, unblock, free"]
agentArchClass agent.type.arch.MultiagentArch
agentClass vehicle.TruckworldAgent
beliefBaseClass agent.beliefBase.WorldBeliefBase;
// OPERATIONAL LEVEL AGENTS!
/* Trucks move cargo
* Bulldozers clear roads
* Repair vehicles can tow others to repair sites and fix them
* APCs secure areas and remove danger zones
* Helicopters move cargo, but at high cost
* Hazmats decontaminate toxic roads
*/
//trucks!
truck1 [knownAgents="logisticshq",
doMaintain="false", doReplan="false", pmMaxCost=5, domain="truckworld",
capabilities="move, load, unload, free",
advertised="load, unload, moveTo, free",//if we have them...
taskKnowledge="moveAndClear, decontaminateRoad, secure, unblock, unstick"]
agentArchClass agent.type.arch.MultiagentArch
agentClass vehicle.TruckAgent
beliefBaseClass agent.beliefBase.WorldBeliefBase;
truck2 [knownAgents="logisticshq",
doMaintain="false", doReplan="false", pmMaxCost=5, domain="truckworld",
capabilities="move, load, unload, free",
advertised="load, unload, moveTo, free",//if we have them...
taskKnowledge="moveAndClear, decontaminateRoad, secure, unblock, unstick"]
agentArchClass agent.type.arch.MultiagentArch
agentClass vehicle.TruckAgent
beliefBaseClass agent.beliefBase.WorldBeliefBase;
truck3 [knownAgents="logisticshq",
doMaintain="false", doReplan="false", pmMaxCost=5, domain="truckworld",
capabilities="move, load, unload, free",
advertised="load, unload, moveTo, free",//if we have them...
taskKnowledge="moveAndClear, decontaminateRoad, secure, unblock, unstick"]
agentArchClass agent.type.arch.MultiagentArch
agentClass vehicle.TruckAgent
beliefBaseClass agent.beliefBase.WorldBeliefBase;
//bulldozer agent(s)
bulldozer1 [ knownAgents="logisticshq",
doMaintain="false", doReplan="false", pmMaxCost=5, domain="truckworld",
capabilities="move, unblock, free",
advertised="unblock, moveTo, free",
taskKnowledge="decontaminateRoad, secure, unstick"]
agentArchClass agent.type.arch.MultiagentArch
agentClass vehicle.BulldozerAgent
beliefBaseClass agent.beliefBase.WorldBeliefBase;
bulldozer2 [ knownAgents="logisticshq",
doMaintain="false", doReplan="false", pmMaxCost=5, domain="truckworld",
capabilities="move, unblock, free",
advertised="unblock, moveTo, free",
taskKnowledge="decontaminateRoad, secure, unstick"]
agentArchClass agent.type.arch.MultiagentArch
agentClass vehicle.BulldozerAgent
beliefBaseClass agent.beliefBase.WorldBeliefBase;
apc1 [ knownAgents="militaryhq",
doMaintain="false", doReplan="false", pmMaxCost=5, domain="truckworld",
capabilities="move, secureArea, free",
advertised="moveTo, secureArea",
taskKnowledge="moveAndClear, decontaminateRoad, unblock, unstick"]
agentArchClass agent.type.arch.MultiagentArch
agentClass vehicle.ApcAgent
beliefBaseClass agent.beliefBase.WorldBeliefBase;
apc2 [ knownAgents="militaryhq",
doMaintain="false", doReplan="false", pmMaxCost=5, domain="truckworld",
capabilities="move, secureArea, free",
advertised="moveTo, secureArea",
taskKnowledge="moveAndClear, decontaminateRoad, unblock, unstick"]
agentArchClass agent.type.arch.MultiagentArch
agentClass vehicle.ApcAgent
beliefBaseClass agent.beliefBase.WorldBeliefBase;
hazmat1 [ knownAgents="militaryhq",
doMaintain="false", doReplan="false", pmMaxCost=5, domain="truckworld",
capabilities="move, decontaminate, free",
advertised="moveTo, decontaminate, free",
taskKnowledge="moveAndClear, secure, unblock, unstick"]
agentArchClass agent.type.arch.MultiagentArch
agentClass vehicle.HazmatAgent
beliefBaseClass agent.beliefBase.WorldBeliefBase;
hazmat2 [ knownAgents="militaryhq",
doMaintain="false", doReplan="false", pmMaxCost=5, domain="truckworld",
capabilities="move, decontaminate, free",
advertised="moveTo, decontaminate, free",
taskKnowledge="moveAndClear, secure, unblock, unstick"]
agentArchClass agent.type.arch.MultiagentArch
agentClass vehicle.HazmatAgent
beliefBaseClass agent.beliefBase.WorldBeliefBase;
aslSourcePath: "src/asl/truckworld";
}
\ No newline at end of file
<xml>
<maintenancePolicy>
<repair>
<threshold>0.6</threshold>
</repair>
</maintenancePolicy>
</xml>
<xml>
<!--
MP for use in the demo, intended to trigger maint. whenever roads are slippery...
-->
<maintenancePolicy>
<repair>
<threshold>0.75</threshold>
</repair>
<dropConditions>
<state>damaged(AGENTID)</state> <!-- parsable into asl logicalFormula -->
</dropConditions>
</maintenancePolicy>
</xml>
<xml>
<maintenancePolicy>
<repair>
<threshold>1</threshold>
</repair>
</maintenancePolicy>
</xml>
#Fixed dimension(s) of the square world cells, used for distance calculations. All cells are equal size
#Note that this, plus the cell count, defines the world size and thus affects all sizes referred to below...
#(i.e. storm size). also, as of 6/9 will render the world at 1:1 scale.
CellSize = 90
#world size in 2d cells
CellCountX = 10
CellCountY = 10
#=========================================================================================================
#
# World generation properties
#
#=========================================================================================================
# Defines the number of junctions in the world grid
MinJunctions = 12
MaxJunctions = 12
#The most number of roads / neighbours that a junction may have
MaxRoadsPerJunction = 3
# For a boolean; if true, the generation algorithm allows for roads to cross over each other.
#FlyoverAllowed = false
# For validity checking; each time a connection is added, (if true), the algorithm will check that each junction
# can be reached from each other cell. Otherwise, operates on the assumption that they will.
# NOTE: Likely to have high computational speed cost when 'true'
#StrongValidation = true
# Chance of a road being tarmac. If not tarmac, is mud. Chance of mud is 1-this; if add road more types, will need to modify accordingly
TarmacRoadChance = 0.9
# Chance of a (initially) dry road
DryRoadChance = 0.9