34 std::shared_ptr<SchedulerDomainModel> domainModel = std::make_shared<SchedulerDomainModel>();
43 std::shared_ptr<Mdp::MdpConfiguration> mdpConf = std::make_shared<Mdp::MdpConfiguration>(
"configuration.conf");
45 for (
size_t i = 0;
i < dims.size();
i++)
50 std::shared_ptr<Mdp::StateSpace> stateSpace = builder.
getStateSpace();
57 std::shared_ptr<Mdp::ActionSpace> actionSpace = abuilder.
getActionSpace();
69 static bool first =
true;
91 return "MDP Governor";
void setDomainModel(std::shared_ptr< DomainModel > model)
sets the domain model used by the state space to determine current state
void setDomainModel(std::shared_ptr< DomainModel > model)
sets the domain model used by the actions to act on the environment
virtual void performAction()=0
void addAction(Action *action)
add an action to the actino space
std::shared_ptr< StateSpace > getStateSpace()
call this function last!
virtual bool freqChangeEvent(Scheduler::TriggeringEvent trigger)
std::shared_ptr< ActionSpace > getActionSpace()
get the action space
This class implements the ready queue and the wait queue. Those queues contain processes ready to run...
void addDimension(StateSpaceDimension *dimension)
adds a dimension to the state space
virtual std::string getName()
static System * getInstance()
Action * selectAction(bool updateModel=true)
Returns the optimal action for the current timestep.
static Queue * getReadyQueue()
get a pointer to the system's ready queue
static Queue * getWaitQueue()
get a pointer to the system's wait queue
The main class of the MDP framework.
virtual void printReport(std::string folder) override
virtual void updateFreq(Scheduler::Processor *proc, Scheduler::Queue *readyQueue)
Processor * getProc()
return the processor
void init()
call this function first
void printReportsToFile(std::string folder)
Print reports to file.
virtual std::vector< Mdp::StateSpaceDimension * > getDimensionsFromFile()
builds a domain specific state space