FSMSADF::StaticOrderSchedule Class Reference
#include <static_order_schedule.h>
Public Member Functions | |
StaticOrderSchedule () | |
~StaticOrderSchedule () | |
void | constructFromXML (ScenarioGraph *g, const CNodePtr scheduleNode) |
void | convertToXML (const CNodePtr scheduleNode) |
void | appendActor (Actor *a) |
void | appendScheduleEntry (StaticOrderScheduleEntry &s) |
StaticOrderSchedule::iterator | insertActor (StaticOrderSchedule::iterator position, Actor *a) |
StaticOrderSchedule::iterator | getScheduleEntry (const uint i) |
uint | getStartPeriodicSchedule () const |
void | setStartPeriodicSchedule (const uint i) |
uint | next (const uint current) const |
uint | previous (const uint current) const |
uint | last () const |
bool | isLast (const uint current) const |
void | minimize () |
void | changeActorAssociations (ScenarioGraph *newGraph) |
bool | isPeriodic () const |
map< Actor *, uint > | getActorCount () const |
uint | getIterationLength (ScenarioGraph *g, Scenario *s) const |
Private Attributes | |
uint | startPeriodicSchedule |
Detailed Description
Static-order schedule A static-order schedule provides a sequence of actor firings. The schedule may contain a cycle which makes it effectively an infinite schedule.
Constructor & Destructor Documentation
FSMSADF::StaticOrderSchedule::StaticOrderSchedule | ( | ) | [inline] |
References startPeriodicSchedule.
FSMSADF::StaticOrderSchedule::~StaticOrderSchedule | ( | ) | [inline] |
Member Function Documentation
void FSMSADF::StaticOrderSchedule::appendActor | ( | Actor * | a | ) | [inline] |
Referenced by constructFromXML().
void FSMSADF::StaticOrderSchedule::appendScheduleEntry | ( | StaticOrderScheduleEntry & | s | ) | [inline] |
void StaticOrderSchedule::changeActorAssociations | ( | ScenarioGraph * | newGraph | ) |
changeActorAssociations () Change the associated actors in the schedule.
References FSMSADF::ScenarioGraph::getActor(), and startPeriodicSchedule.
Referenced by FSMSADF::EarliestDeadLineFirstScheduling::scheduleScenario().
void StaticOrderSchedule::constructFromXML | ( | ScenarioGraph * | g, | |
const CNodePtr | scheduleNode | |||
) |
constructFromXML () Constructs the schedule from an XML representation.
References a, appendActor(), CGetAttribute(), CGetChildNode(), CHasAttribute(), CNextNode(), FSMSADF::ScenarioGraph::getActor(), last(), and setStartPeriodicSchedule().
Referenced by FSMSADF::ProcessorBinding::constructFromXML().
void StaticOrderSchedule::convertToXML | ( | const CNodePtr | scheduleNode | ) |
convertToXML () Convert the schedule to an XML representation.
References ASSERT, CAddAttribute(), CAddNode(), getScheduleEntry(), and startPeriodicSchedule.
Referenced by FSMSADF::ProcessorBinding::convertToXML().
getActorCount() The function returns the number of schedule entries of each actor which appears in the schedule.
uint StaticOrderSchedule::getIterationLength | ( | ScenarioGraph * | g, | |
Scenario * | s | |||
) | const |
getIterationLength() The function returns the iteration length of the schedule considering this schedule and the scenario graph g under the scenario s.
References FSMSADF::computeRepetitionVector(), CFraction::denominator(), getStartPeriodicSchedule(), last(), and CFraction::lowestTerm().
StaticOrderSchedule::iterator FSMSADF::StaticOrderSchedule::getScheduleEntry | ( | const uint | i | ) | [inline] |
Referenced by convertToXML(), and minimize().
uint FSMSADF::StaticOrderSchedule::getStartPeriodicSchedule | ( | ) | const [inline] |
References startPeriodicSchedule.
Referenced by getIterationLength(), minimize(), next(), and FSMSADF::OutputHTML::printPlatformBinding().
StaticOrderSchedule::iterator FSMSADF::StaticOrderSchedule::insertActor | ( | StaticOrderSchedule::iterator | position, | |
Actor * | a | |||
) | [inline] |
References startPeriodicSchedule.
Referenced by FSMSADF::EarliestDeadLineFirstScheduling::scheduleScenario().
bool FSMSADF::StaticOrderSchedule::isLast | ( | const uint | current | ) | const [inline] |
bool StaticOrderSchedule::isPeriodic | ( | ) | const |
isPeriodic() The function returns true when the static-order schedule is a periodic schedule. Otherwise it returns false.
References startPeriodicSchedule.
uint FSMSADF::StaticOrderSchedule::last | ( | ) | const [inline] |
Referenced by constructFromXML(), getIterationLength(), and isLast().
void StaticOrderSchedule::minimize | ( | ) |
minimize () The function returns a new static-order schedule in which the length of the current schedule is reduced as much as possible. This new schedule contains the smallest repeated part in the periodic phase of the schedule. From the transient phase, all complete repetitions of the periodic phase are removed. The schedule entries in the minimized schedule are assigned new id's once the minimization is completed.
References ASSERT, getScheduleEntry(), getStartPeriodicSchedule(), isLast(), next(), previous(), and setStartPeriodicSchedule().
References getStartPeriodicSchedule(), and isLast().
Referenced by minimize().
Referenced by minimize().
void FSMSADF::StaticOrderSchedule::setStartPeriodicSchedule | ( | const uint | i | ) | [inline] |
References startPeriodicSchedule.
Referenced by constructFromXML(), minimize(), and FSMSADF::EarliestDeadLineFirstScheduling::scheduleScenario().
Member Data Documentation
The documentation for this class was generated from the following files: