FSMSADF::StaticOrderSchedule Class Reference

#include <static_order_schedule.h>

Inheritance diagram for FSMSADF::StaticOrderSchedule:
Collaboration diagram for FSMSADF::StaticOrderSchedule:

List of all members.

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 *, uintgetActorCount () 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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

map< Actor *, uint > StaticOrderSchedule::getActorCount (  )  const

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().

Here is the call graph for this function:

StaticOrderSchedule::iterator FSMSADF::StaticOrderSchedule::getScheduleEntry ( const uint  i  )  [inline]

Referenced by convertToXML(), and minimize().

uint FSMSADF::StaticOrderSchedule::getStartPeriodicSchedule (  )  const [inline]
StaticOrderSchedule::iterator FSMSADF::StaticOrderSchedule::insertActor ( StaticOrderSchedule::iterator  position,
Actor a 
) [inline]
bool FSMSADF::StaticOrderSchedule::isLast ( const uint  current  )  const [inline]

References last().

Referenced by minimize(), and next().

Here is the call graph for this function:

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]
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().

Here is the call graph for this function:

uint FSMSADF::StaticOrderSchedule::next ( const uint  current  )  const [inline]

References getStartPeriodicSchedule(), and isLast().

Referenced by minimize().

Here is the call graph for this function:

uint FSMSADF::StaticOrderSchedule::previous ( const uint  current  )  const [inline]

Referenced by minimize().

void FSMSADF::StaticOrderSchedule::setStartPeriodicSchedule ( const uint  i  )  [inline]

Member Data Documentation

The documentation for this class was generated from the following files: