41 #define ACTION_DIMS 0 //FIXME: not working because of the do-while loop... the dynamic cast fails... 74 int nbOfPos = conf->getIntValue(
"rlDiscipline",
"nbTemperatureStates");
80 return conf->getBoolValue(
"rlDiscipline",
"temperatureState",
false);
88 std::vector<std::shared_ptr<Scheduler::Process>>
90 assert(processes.size() > 0);
91 double hyperperiod = (double)
lcm(processes);
92 for (
size_t i = 0;
i < processes.size();
i++)
94 nbTimeZones += hyperperiod/processes[
i]->getPeriod();
102 return conf->getBoolValue(
"rlDiscipline",
"timeState",
false);
123 static const double eps = 0.000001;
124 std::vector<int> array(processes.size());
125 for (
size_t i = 0;
i < processes.size();
i++)
127 assert(processes[
i]->getPeriod() <= floor(processes[
i]->getPeriod()) + eps);
128 array[
i] = (int) floor(processes[
i]->getPeriod());
static void addTimeStates(Mdp::Builder *builder, std::shared_ptr< Configuration > conf)
int lcm(std::vector< int > array)
static size_t getNbOfTasks()
void addAction(Action *action)
static bool useTimeStates(std::shared_ptr< Configuration > conf)
static System * getInstance()
void addDimension(StateSpaceDimension *dimension)
static double lcm(std::vector< std::shared_ptr< Scheduler::Process >>)
static bool useTemperatureStates(std::shared_ptr< Configuration > conf)
void addActionDimension(ActionDimension *dim)
static void addStates(Mdp::Builder *builder, std::shared_ptr< Configuration > conf)
static void addActions(Mdp::Builder *builder)
static void addTaskStates(Mdp::Builder *builder)
std::vector< std::shared_ptr< Process > > getStaticTaskSet()
get the list of real-time tasks in the system
static void addTemperatureStates(Mdp::Builder *builder, std::shared_ptr< Configuration > conf)