| CleanerBDIAgent | 
 Separate Maintain and Target Conditions. 
 | 
| CleanerBDIAgentA0 | 
 BDI agent template. 
 | 
| CleanerBDIAgentA1 | 
 First BDI agent with a goal and a plan. 
 | 
| CleanerBDIAgentA2 | 
 Use the recur flag to execute goals periodically. 
 | 
| CleanerBDIAgentA3 | 
 Use many plans for the same goal. 
 | 
| CleanerBDIAgentA4 | 
 Use goal settings to control plan selection. 
 | 
| CleanerBDIAgentB1 | 
 Use a belief to control a declarative goal. 
 | 
| CleanerBDIAgentB2 | 
 Using deliberation settings for managing conflicting goals. 
 | 
| CleanerBDIAgentB3 | 
 Separate maintain and target conditions. 
 | 
| CleanerBDIAgentC0 | 
 Managing known charging stations in a belief set. 
 | 
| CleanerBDIAgentC1 | 
 A subgoal for knowing charging stations 
 | 
| CleanerBDIAgentC2 | 
 A Plan for Finding a Charging Station 
 | 
| CleanerBDIAgentD1 | 
 A cleanup goal for each piece of waste. 
 | 
| CleanerBDIAgentD2 | 
 Separate Maintain and Target Conditions. 
 | 
| CleanerBDIAgentD3a | 
 Separate Maintain and Target Conditions. 
 | 
| CleanerBDIAgentD3b | 
 Separate Maintain and Target Conditions. 
 | 
| CleanerBDIAgentE1 | 
 Using inner classes for plans with conditions. 
 | 
| CleanerBDIAgentFinal | 
 More or less working solution for a BDI cleaner. 
 | 
| SimpleCleanerAgentZero | 
 Possible solution for exercise zero (non-BDI cleaner). 
 |