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 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


bwi_kr_execution
Author(s): Matteo Leonetti, Piyush Khandelwal
autogenerated on Fri Aug 28 2015 10:14:46