54 #ifndef _GAMS_ALGORITHMS_KARL_H_ 55 #define _GAMS_ALGORITHMS_KARL_H_ 59 #include "madara/utility/EpochEnforcer.h" 87 const std::string & logic,
88 const std::string & store_result,
91 madara::knowledge::KnowledgeBase * knowledge = 0,
112 virtual int analyze (
void);
118 virtual int execute (
void);
124 virtual int plan (
void);
144 madara::utility::EpochEnforcer<std::chrono::steady_clock>
enforcer_;
168 const madara::knowledge::KnowledgeMap & args,
169 madara::knowledge::KnowledgeBase * knowledge,
178 #endif // _GAMS_ALGORITHMS_KARL_H_ Base class for algorithm factories that classes derived from.
madara::knowledge::CompiledExpression compiled_logic_
the compiled logic
std::string logic_
original logic for debugging purposes
An algorithm capable of executing other algorithms.
Copyright (c) 2014 Carnegie Mellon University.
std::map< std::string, Sensor * > Sensors
a map of sensor names to the sensor information
std::vector< Agent > Agents
An array of agent knowledge.
madara::knowledge::EvalSettings settings_
the evaluation settings
A factory class for creating KarlEvaluator algorithms.
madara::utility::EpochEnforcer< std::chrono::steady_clock > enforcer_
an enforcer for maximum time taken
Contains all GAMS-related tools, classes and code.
A container for self referencing information.
double wait_time_
indicates the time to wait. -1 means wait forever.
The base class that algorithms in GAMS use.
Copyright (c) 2014 Carnegie Mellon University.
bool is_wait_
indicates if the logic should be evaluated as a wait statement