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 timestep) const throw() = 0;
00027
00028 virtual bool isPlanValid(const AnswerSet& plan, const std::vector<actasp::AspRule>& goal) const throw() = 0;
00029
00030 virtual void resetCurrentState() throw() = 0;
00031
00032 virtual ~AspKR() {}
00033 };
00034
00035 }
00036 #endif