24 #include "model/DomainFact.h" 25 #include "model/DomainObject.h" 26 #include "model/DomainOperator.h" 27 #include "model/DomainPreconditionAtom.h" 28 #include "model/DomainPreconditionCompound.h" 29 #include "model/DomainPredicate.h" 30 #include "model/Goal.h" 31 #include "model/Plan.h" 33 #include <aspect/logging.h> 34 #include <aspect/webview.h> 35 #include <clipsmm/fact.h> 36 #include <core/threading/thread.h> 37 #include <core/utils/lockptr.h> 38 #include <plugins/clips/aspect/clips_manager.h> 39 #include <webview/rest_api.h> 40 #include <webview/rest_array.h> 60 typedef std::pair<std::string, std::string> PlanKey;
61 typedef std::tuple<std::string, std::string, int64_t> PlanActionKey;
62 typedef std::list<CLIPS::Fact::pointer> ClipsFactList;
63 typedef std::map<PlanActionKey, ClipsFactList> PreCompoundMap;
64 typedef std::map<PlanActionKey, ClipsFactList> PreAtomMap;
65 typedef std::map<PlanKey, CLIPS::Fact::pointer> PlanMap;
66 typedef std::map<PlanKey, ClipsFactList> PlanActionMap;
79 Goal generate_goal(CLIPS::Fact::pointer fact);
80 void gen_plan_precompute(std::map<PlanKey, CLIPS::Fact::pointer> &plans,
81 std::map<PlanKey, ClipsFactList> & plan_actions,
82 PreCompoundMap & prec,
84 std::shared_ptr<DomainPreconditionAtom>
85 gen_domain_precondition_atom(
const CLIPS::Fact::pointer fact);
87 std::shared_ptr<DomainPreconditionCompound>
88 gen_domain_precondition_compound(
const CLIPS::Fact::pointer fact,
89 const PlanActionKey & plan_action_key,
90 PreCompoundMap & prec,
93 Plan gen_plan(
const PlanKey & plan_key,
94 const CLIPS::Fact::pointer fact,
95 PlanActionMap & plan_actions,
96 PreCompoundMap & prec,
Webview REST API component.
Plan representation for JSON transfer.
~ClipsExecutiveRestApi()
Destructor.
Thread class encapsulation of pthreads.
ClipsExecutiveRestApi()
Constructor.
Thread aspect access the CLIPS environment manager.
REST API backend for the CLIPS executive.
REST parameters to pass to handlers.
virtual void init()
Initialize the thread.
Thread aspect to log output.
virtual void finalize()
Finalize the thread.
Container to return array via REST.
virtual void loop()
Code to execute in the thread.
Thread aspect to provide web pages via Webview.
Goal representation for JSON transfer.
Environment representation for JSON transfer.