RemoteReasoner.h
Go to the documentation of this file.
00001 
00002 #ifndef bwi_krexec_RemoteReasoner_h__guard
00003 #define bwi_krexec_RemoteReasoner_h__guard
00004 
00005 #include "actasp/AspAtom.h"
00006 #include "actasp/AspKR.h"
00007 #include "actasp/reasoners/Clingo.h"
00008 
00009 namespace bwi_krexec {
00010   
00011   class RemoteReasoner : public actasp::AspKR {
00012   public:
00013     
00014     RemoteReasoner(unsigned int max_n,
00015          const std::string& queryDir,
00016          const std::string& domainDir,
00017          const actasp::ActionSet& actions,
00018          unsigned int max_time = 0);
00019     
00020   actasp::ActionSet availableActions() const throw();
00021   
00022   actasp::AnswerSet currentStateQuery(const std::vector<actasp::AspRule>& query) const throw();
00023   
00024   bool updateFluents(const std::vector<actasp::AspFluent> &observations) throw();
00025   
00026   bool isPlanValid(const actasp::AnswerSet& plan, const std::vector<actasp::AspRule>& goal)  const throw();
00027   
00028   std::vector< actasp::AnswerSet > computeAllPlans(const std::vector<actasp::AspRule>& goal, double suboptimality) const throw (std::logic_error);
00029   
00030   void reset() throw();
00031 
00032   actasp::MultiPolicy computePolicy(const std::vector<actasp::AspRule>& goal, double suboptimality) const throw (std::logic_error);
00033   
00034   actasp::AnswerSet computePlan(const std::vector<actasp::AspRule>& goal) const throw (std::logic_error);
00035   
00036   std::list< std::list<actasp::AspAtom> > query(const std::string &queryString, unsigned int initialTimeStep,
00037                                    unsigned int finalTimeStep) const throw();
00038   
00039   private:
00040     actasp::Clingo local;
00041   
00042   };
00043 }
00044 
00045 #endif


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