Go to the documentation of this file.00001 #ifndef actasp_AspKR_h__guard
00002 #define actasp_AspKR_h__guard
00003
00004 #include <actasp/AspAtom.h>
00005 #include <actasp/AnswerSet.h>
00006 #include <actasp/MultiPlanner.h>
00007
00008 #include <vector>
00009 #include <list>
00010
00011 namespace actasp {
00012
00013 class Action;
00014
00015 struct AspKR : public actasp::MultiPlanner {
00016
00017
00018 virtual ActionSet availableActions() const throw() = 0;
00019
00020 virtual AnswerSet currentStateQuery(const std::vector<actasp::AspRule>& query) const throw() = 0;
00021
00022
00023 virtual bool updateFluents(const std::vector<actasp::AspFluent> &observations) throw() = 0;
00024
00025
00026 virtual std::list< std::list<AspAtom> > query(const std::string &queryString, unsigned int initialTimeStep,
00027 unsigned int finalTimeStep) const throw() = 0;
00028
00029 virtual bool isPlanValid(const AnswerSet& plan, const std::vector<actasp::AspRule>& goal) const throw() = 0;
00030
00031 virtual void reset() throw() = 0;
00032
00033 virtual ~AspKR() {}
00034 };
00035
00036 }
00037 #endif