maint-paper-quality.mas2j 7.5 KB
Newer Older
1 2 3
//Truckworld/Pacifica inspired MAS

MAS twtest {
Alan White committed
4
   infrastructure: Centralised
5
   environment: truckworld.env.Cargoworld("paperWorld1.properties", "nrisk3/ndebil075.properties", "10", "maint-quality")
Alan White committed
6

7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
   /* 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", 
26
   				doMaintain="true", doReplan="false", pmMaxCost=25, domain="truckworld", planningMode="-quality", 
27 28 29 30 31 32 33 34 35 36 37
			   	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",
38
   				doMaintain="true", doReplan="false", pmMaxCost=25, domain="truckworld", planningMode="-quality", 
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
			   	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
   * Cranes move cargo between colocated vehicles (TODO)
   */
  //trucks!
   	truck1 [knownAgents="logisticshq",
57
   			doMaintain="true", doReplan="false", pmMaxCost=25, domain="truckworld", planningMode="-quality", 
58 59 60 61 62 63 64
		   	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",
65
   			doMaintain="true", doReplan="false", pmMaxCost=25, domain="truckworld", planningMode="-quality", 
66 67 68 69 70 71 72
		   	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",
73
   			doMaintain="true", doReplan="false", pmMaxCost=25, domain="truckworld", planningMode="-quality", 
74 75 76 77 78 79 80 81 82
		   	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",
83
   					doMaintain="true", doReplan="false", pmMaxCost=25, domain="truckworld", planningMode="-quality", 
84 85 86 87 88 89 90 91
					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",
92
   					doMaintain="true", doReplan="false", pmMaxCost=25, domain="truckworld", planningMode="-quality", 
93 94 95 96 97 98
					capabilities="move, unblock, free",
		   			advertised="unblock, moveTo, free",
		   			taskKnowledge="decontaminateRoad, secure, unstick"] 
       		agentArchClass agent.type.arch.MultiagentArch
       		agentClass vehicle.BulldozerAgent 
       		beliefBaseClass agent.beliefBase.WorldBeliefBase;
99 100
 
  helicopter1	[	knownAgents="logisticshq",
101
   				doMaintain="true", doReplan="false", pmMaxCost=25, domain="truckworld", planningMode="-quality", 
102 103 104 105 106 107
  				capabilities="takeOff, land, fly, load, unload",
		   		advertised="moveTo, load, unload",
  				taskKnowledge="secure"] 
       		agentArchClass agent.type.arch.MultiagentArch
       		agentClass vehicle.HeliAgent 
       		beliefBaseClass agent.beliefBase.WorldBeliefBase; 
108
 
109
  	apc1	[	knownAgents="militaryhq", 
110
   				doMaintain="true", doReplan="false", pmMaxCost=25, domain="truckworld", planningMode="-quality", 
111 112 113 114 115 116 117
  				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", 
118
   				doMaintain="true", doReplan="false", pmMaxCost=25, domain="truckworld", planningMode="-quality", 
119 120 121 122 123 124 125 126
  				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",
127
   				doMaintain="true", doReplan="false", pmMaxCost=25, domain="truckworld", planningMode="-quality",  
128 129 130 131 132 133 134 135
  				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",
136
   				doMaintain="true", doReplan="false", pmMaxCost=25, domain="truckworld", planningMode="-quality", 
137 138 139 140 141 142 143 144 145
  				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"; 
}