GAMS  1.4.0
gams::algorithms::Executor Class Reference

An algorithm capable of executing other algorithms. More...

#include <Executor.h>

Inheritance diagram for gams::algorithms::Executor:
gams::algorithms::BaseAlgorithm

Public Member Functions

 Executor (AlgorithmMetaDatas algorithms, int repeat, madara::knowledge::KnowledgeBase *knowledge=0, platforms::BasePlatform *platform=0, variables::Sensors *sensors=0, variables::Self *self=0, variables::Agents *agents=0)
 Constructor. More...
 
 ~Executor ()
 Destructor. More...
 
virtual int analyze (void)
 Analyzes environment, platform, or other information. More...
 
virtual int execute (void)
 Executes the next step. More...
 
variables::Agentsget_agents (void)
 Gets the list of agents. More...
 
variables::AlgorithmStatusget_algorithm_status (void)
 Gets algorithm status variables. More...
 
madara::knowledge::KnowledgeBase * get_knowledge_base (void)
 Gets the knowledge base. More...
 
platforms::BasePlatformget_platform (void)
 Gets the platform. More...
 
variables::Selfget_self (void)
 Gets self-defined variables. More...
 
variables::Sensorsget_sensors (void)
 Gets the available sensor information. More...
 
void operator= (Executor &rhs)
 Assignment operator. More...
 
virtual int plan (void)
 Plans the next execution. More...
 
virtual void set_agents (variables::Agents *agents)
 Sets the list of agents in the swarm. More...
 
virtual void set_platform (platforms::BasePlatform *platform)
 Sets the platform. More...
 
virtual void set_self (variables::Self *self)
 Sets the map of sensor names to sensor information. More...
 
virtual void set_sensors (variables::Sensors *sensors)
 Sets the map of sensor names to sensor information. More...
 

Protected Attributes

variables::Agentsagents_
 the list of agents potentially participating in the algorithm More...
 
size_t alg_index_
 current algorithm More...
 
AlgorithmMetaDatas algorithms_
 for keeping track of algorithms More...
 
BaseAlgorithmcurrent_
 current executing algorithm More...
 
int cycles_
 tracks the number of cycles completed through algorithms More...
 
madara::utility::EpochEnforcer< std::chrono::steady_clock > enforcer_
 enforcer for time More...
 
unsigned int executions_
 number of executions More...
 
madara::knowledge::KnowledgeBase * knowledge_
 provides access to the knowledge base More...
 
platforms::BasePlatformplatform_
 provides access to the platform More...
 
bool precond_met_
 indicates if the precondition has been met for current algorithm More...
 
int repeat_
 number of times to repeat More...
 
variables::Selfself_
 the algorithm's concept of self More...
 
variables::Sensorssensors_
 provides access to sensor information More...
 
variables::AlgorithmStatus status_
 provides access to status information for this platform More...
 

Detailed Description

An algorithm capable of executing other algorithms.

Definition at line 96 of file Executor.h.

Constructor & Destructor Documentation

◆ Executor()

gams::algorithms::Executor::Executor ( AlgorithmMetaDatas  algorithms,
int  repeat,
madara::knowledge::KnowledgeBase *  knowledge = 0,
platforms::BasePlatform platform = 0,
variables::Sensors sensors = 0,
variables::Self self = 0,
variables::Agents agents = 0 
)

Constructor.

Parameters
algorithmslist of algorithms to execute
repeatnumber of times to repeat. -1 is infinite
knowledgethe context containing variables and values
platformthe underlying platform the algorithm will use
sensorsmap of sensor names to sensor information
selfself-referencing variables
agentsvariables referencing agents

◆ ~Executor()

gams::algorithms::Executor::~Executor ( )

Destructor.

Member Function Documentation

◆ analyze()

virtual int gams::algorithms::Executor::analyze ( void  )
virtual

Analyzes environment, platform, or other information.

Returns
bitmask status of the platform.
See also
Status.

Implements gams::algorithms::BaseAlgorithm.

◆ execute()

virtual int gams::algorithms::Executor::execute ( void  )
virtual

Executes the next step.

Returns
bitmask status of the platform.
See also
Status.

Implements gams::algorithms::BaseAlgorithm.

◆ get_agents()

variables::Agents* gams::algorithms::BaseAlgorithm::get_agents ( void  )
inherited

Gets the list of agents.

◆ get_algorithm_status()

variables::AlgorithmStatus* gams::algorithms::BaseAlgorithm::get_algorithm_status ( void  )
inherited

Gets algorithm status variables.

◆ get_knowledge_base()

madara::knowledge::KnowledgeBase* gams::algorithms::BaseAlgorithm::get_knowledge_base ( void  )
inherited

Gets the knowledge base.

◆ get_platform()

platforms::BasePlatform* gams::algorithms::BaseAlgorithm::get_platform ( void  )
inherited

Gets the platform.

◆ get_self()

variables::Self* gams::algorithms::BaseAlgorithm::get_self ( void  )
inherited

Gets self-defined variables.

◆ get_sensors()

variables::Sensors* gams::algorithms::BaseAlgorithm::get_sensors ( void  )
inherited

Gets the available sensor information.

◆ operator=()

void gams::algorithms::Executor::operator= ( Executor rhs)

Assignment operator.

Parameters
rhsvalues to copy

◆ plan()

virtual int gams::algorithms::Executor::plan ( void  )
virtual

Plans the next execution.

Returns
bitmask status of the platform.
See also
Status.

Implements gams::algorithms::BaseAlgorithm.

◆ set_agents()

virtual void gams::algorithms::BaseAlgorithm::set_agents ( variables::Agents agents)
virtualinherited

Sets the list of agents in the swarm.

Parameters
agentslist of agents

◆ set_platform()

virtual void gams::algorithms::BaseAlgorithm::set_platform ( platforms::BasePlatform platform)
virtualinherited

Sets the platform.

Parameters
platformthe underlying platform the algorithm will use

◆ set_self()

virtual void gams::algorithms::BaseAlgorithm::set_self ( variables::Self self)
virtualinherited

Sets the map of sensor names to sensor information.

Parameters
selfpointer to self-referencing variables container

◆ set_sensors()

virtual void gams::algorithms::BaseAlgorithm::set_sensors ( variables::Sensors sensors)
virtualinherited

Sets the map of sensor names to sensor information.

Parameters
sensorsmap of sensor names to sensor information

Member Data Documentation

◆ agents_

variables::Agents* gams::algorithms::BaseAlgorithm::agents_
protectedinherited

the list of agents potentially participating in the algorithm

Definition at line 201 of file BaseAlgorithm.h.

◆ alg_index_

size_t gams::algorithms::Executor::alg_index_
protected

current algorithm

Definition at line 156 of file Executor.h.

◆ algorithms_

AlgorithmMetaDatas gams::algorithms::Executor::algorithms_
protected

for keeping track of algorithms

Definition at line 150 of file Executor.h.

◆ current_

BaseAlgorithm* gams::algorithms::Executor::current_
protected

current executing algorithm

Definition at line 162 of file Executor.h.

◆ cycles_

int gams::algorithms::Executor::cycles_
protected

tracks the number of cycles completed through algorithms

Definition at line 159 of file Executor.h.

◆ enforcer_

madara::utility::EpochEnforcer<std::chrono::steady_clock> gams::algorithms::Executor::enforcer_
protected

enforcer for time

Definition at line 168 of file Executor.h.

◆ executions_

unsigned int gams::algorithms::BaseAlgorithm::executions_
protectedinherited

number of executions

Definition at line 204 of file BaseAlgorithm.h.

◆ knowledge_

madara::knowledge::KnowledgeBase* gams::algorithms::BaseAlgorithm::knowledge_
protectedinherited

provides access to the knowledge base

Definition at line 207 of file BaseAlgorithm.h.

◆ platform_

platforms::BasePlatform* gams::algorithms::BaseAlgorithm::platform_
protectedinherited

provides access to the platform

Definition at line 210 of file BaseAlgorithm.h.

◆ precond_met_

bool gams::algorithms::Executor::precond_met_
protected

indicates if the precondition has been met for current algorithm

Definition at line 165 of file Executor.h.

◆ repeat_

int gams::algorithms::Executor::repeat_
protected

number of times to repeat

Definition at line 153 of file Executor.h.

◆ self_

variables::Self* gams::algorithms::BaseAlgorithm::self_
protectedinherited

the algorithm's concept of self

Definition at line 213 of file BaseAlgorithm.h.

◆ sensors_

variables::Sensors* gams::algorithms::BaseAlgorithm::sensors_
protectedinherited

provides access to sensor information

Definition at line 216 of file BaseAlgorithm.h.

◆ status_

variables::AlgorithmStatus gams::algorithms::BaseAlgorithm::status_
protectedinherited

provides access to status information for this platform

Definition at line 219 of file BaseAlgorithm.h.


The documentation for this class was generated from the following file: