47 std::unique_ptr<SchedulingDiscipline> disc{
nullptr};
50 disc = std::make_unique<EdfDiscipline>(std::dynamic_pointer_cast<SchedulerConfiguration>(shared_from_this()));
52 disc = std::make_unique<FcfsDiscipline>(std::dynamic_pointer_cast<SchedulerConfiguration>(shared_from_this()));
54 disc = std::make_unique<FixedPriorityDiscipline>(std::dynamic_pointer_cast<SchedulerConfiguration>(shared_from_this()));
56 disc = std::make_unique<RmsDiscipline>(std::dynamic_pointer_cast<SchedulerConfiguration>(shared_from_this()));
58 disc = std::make_unique<RoundRobinDiscipline>(std::dynamic_pointer_cast<SchedulerConfiguration>(shared_from_this()));
59 return std::move(disc);
67 std::string value =
getStringValue(
"scheduler",
"temperatureModel");
82 std::shared_ptr<Utils::BoundedRandomDistribution>
86 std::shared_ptr<Utils::BoundedRandomDistribution> ret =
nullptr;
87 if (!value.compare(
"uniform"))
89 ret = std::make_shared<Utils::UniformDistribution>(gen);
91 if (!value.compare(
"none") || !value.compare(
"deterministic"))
93 ret = std::make_shared<Utils::DiracOneDistribution>(gen);
95 if (!value.substr(0, 9).compare(
"bernoulli"))
97 double p = std::stod(value.substr(9, std::string::npos));
98 ret = std::make_shared<Utils::Bernoulli>(gen, p);
static constexpr const char * configKey
static constexpr const char * configKey
static constexpr const char * configKey
virtual TemperatureModel * getTemperatureModelFromFile()
static constexpr const char * configKey
virtual double getRunningTime()
virtual double getDoubleValue(std::string section, std::string key)
virtual std::unique_ptr< SchedulingDiscipline > getDisciplineFromFile()
static constexpr const char * configKey
static constexpr const char * configKey
static constexpr const char * configKey
static constexpr const char * configKey
virtual std::shared_ptr< Utils::BoundedRandomDistribution > getDistributionFromFile(Utils::RandomGenerator *gen)
virtual FreqGovernor * getFreqGovernorFromFile()
static constexpr const char * configKey
static constexpr const char * configKey
virtual std::string getStringValue(std::string section, std::string key)