GAMS  1.4.0
gams::algorithms::KarlEvaluator Class Reference

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

#include <KarlEvaluator.h>

Inheritance diagram for gams::algorithms::KarlEvaluator:
gams::algorithms::BaseAlgorithm

Public Member Functions

 KarlEvaluator (const std::string &logic, const std::string &store_result, bool is_wait, double wait_time, madara::knowledge::KnowledgeBase *knowledge=0, platforms::BasePlatform *platform=0, variables::Sensors *sensors=0, variables::Self *self=0, variables::Agents *agents=0)
 Constructor. More...
 
 ~KarlEvaluator ()
 Destructor. More...
 
virtual int analyze (void)
 Analyzes environment, platform, or other information. More...
 
virtual int execute (void)
 Plans the next execution of the algorithm. 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= (KarlEvaluator &rhs)
 Assignment operator. More...
 
virtual int plan (void)
 Plans the next execution of the algorithm. 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...
 
madara::knowledge::CompiledExpression compiled_logic_
 the compiled logic More...
 
madara::utility::EpochEnforcer< std::chrono::steady_clock > enforcer_
 an enforcer for maximum time taken More...
 
unsigned int executions_
 number of executions More...
 
bool is_wait_
 indicates if the logic should be evaluated as a wait statement More...
 
madara::knowledge::KnowledgeBase * knowledge_
 provides access to the knowledge base More...
 
std::string logic_
 original logic for debugging purposes More...
 
platforms::BasePlatformplatform_
 provides access to the platform More...
 
variables::Selfself_
 the algorithm's concept of self More...
 
variables::Sensorssensors_
 provides access to sensor information More...
 
madara::knowledge::EvalSettings settings_
 the evaluation settings More...
 
variables::AlgorithmStatus status_
 provides access to status information for this platform More...
 
double wait_time_
 indicates the time to wait. -1 means wait forever. More...
 

Detailed Description

An algorithm capable of executing other algorithms.

Definition at line 68 of file KarlEvaluator.h.

Constructor & Destructor Documentation

◆ KarlEvaluator()

gams::algorithms::KarlEvaluator::KarlEvaluator ( const std::string &  logic,
const std::string &  store_result,
bool  is_wait,
double  wait_time,
madara::knowledge::KnowledgeBase *  knowledge = 0,
platforms::BasePlatform platform = 0,
variables::Sensors sensors = 0,
variables::Self self = 0,
variables::Agents agents = 0 
)

Constructor.

Parameters
logica KaRL logic to evaluate
store_resultlocation in knowledge base to store result. if empty, do not store the result
is_waitindicates if KaRL should wait for logic to be true
wait_timemaximum time to wait for logic to be true. -1 will wait forever.
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

◆ ~KarlEvaluator()

gams::algorithms::KarlEvaluator::~KarlEvaluator ( )

Destructor.

Member Function Documentation

◆ analyze()

virtual int gams::algorithms::KarlEvaluator::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::KarlEvaluator::execute ( void  )
virtual

Plans the next execution of the algorithm.

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::KarlEvaluator::operator= ( KarlEvaluator rhs)

Assignment operator.

Parameters
rhsvalues to copy

◆ plan()

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

Plans the next execution of the algorithm.

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.

◆ compiled_logic_

madara::knowledge::CompiledExpression gams::algorithms::KarlEvaluator::compiled_logic_
protected

the compiled logic

Definition at line 130 of file KarlEvaluator.h.

◆ enforcer_

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

an enforcer for maximum time taken

Definition at line 146 of file KarlEvaluator.h.

◆ executions_

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

number of executions

Definition at line 204 of file BaseAlgorithm.h.

◆ is_wait_

bool gams::algorithms::KarlEvaluator::is_wait_
protected

indicates if the logic should be evaluated as a wait statement

Definition at line 140 of file KarlEvaluator.h.

◆ knowledge_

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

provides access to the knowledge base

Definition at line 207 of file BaseAlgorithm.h.

◆ logic_

std::string gams::algorithms::KarlEvaluator::logic_
protected

original logic for debugging purposes

Definition at line 137 of file KarlEvaluator.h.

◆ platform_

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

provides access to the platform

Definition at line 210 of file BaseAlgorithm.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.

◆ settings_

madara::knowledge::EvalSettings gams::algorithms::KarlEvaluator::settings_
protected

the evaluation settings

Definition at line 134 of file KarlEvaluator.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.

◆ wait_time_

double gams::algorithms::KarlEvaluator::wait_time_
protected

indicates the time to wait. -1 means wait forever.

Definition at line 143 of file KarlEvaluator.h.


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