>xabsl   The Extensible Agent Behavior Specification Language

XabslEngine Class Library Reference

 

XabslTeamMessage.h

Go to the documentation of this file.
00001 /**
00002 * @file XabslTeamMessage.h
00003 * 
00004 * Definition of class TeamMessage
00005 *
00006 * @author <a href="http://www.sim.informatik.tu-darmstadt.de/pers/card/risler.html">Max Risler</a>
00007 */
00008 
00009 #ifndef __XabslTeamMessage_h_
00010 #define __XabslTeamMessage_h_
00011 
00012 #include "XabslArray.h"
00013 
00014 namespace xabsl 
00015 {
00016 
00017 /**
00018 * @class TeamMessage
00019 *
00020 * Represents an incoming or outgoing message transmitted from/to other cooperating agents
00021 *
00022 * @author <a href="http://www.sim.informatik.tu-darmstadt.de/pers/card/risler.html">Max Risler</a>
00023 */
00024 class TeamMessage
00025 {
00026 public:
00027   /** 
00028   * Constructor.
00029   */
00030   TeamMessage() : agentPriority(0)
00031   {};
00032 
00033   /** An array containing indexes of currently executed cooperative states */
00034   Array<int> coopStatesExecuted;
00035 
00036   /** An array containing indexes of cooperative states, currently trying to be executed but blocked due to cooperating agents */
00037   Array<int> coopStatesEntering;
00038 
00039   /** An array containing indexes of cooperative states, whose corresponding option is being executed */
00040   Array<int> coopStatesOptionExecuted;
00041 
00042   /** Priority value of the agent, used for solving conflicts in cooperative state assignment */
00043   int agentPriority;
00044 
00045   /** Reset the content of the message */
00046   void reset()
00047   {
00048     coopStatesExecuted.clear();
00049     coopStatesEntering.clear();
00050     coopStatesOptionExecuted.clear();
00051   }
00052 };
00053 
00054 } // namespace
00055 
00056 #endif //__XabslTeamMessage_h_

Up | Main Page | Generated at Wed Aug 19 17:32:29 2009.