AspKR.h
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   //actions available in this state
00018   virtual ActionSet availableActions() const throw() = 0;
00019 
00020         virtual AnswerSet currentStateQuery(const std::vector<actasp::AspRule>& query) const throw() = 0;
00021         
00022         //false if the new fluents are incompatible with the KB
00023         virtual bool updateFluents(const std::vector<actasp::AspFluent> &observations) throw() = 0;
00024   
00025   //most general query, doesn't try to parse the result into fluents
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


bwi_kr_execution
Author(s): Matteo Leonetti, Piyush Khandelwal
autogenerated on Thu Jun 6 2019 17:57:36