StaticOrderSchedule Class Reference

#include <static_order_schedule.h>

Inheritance diagram for StaticOrderSchedule:
Collaboration diagram for StaticOrderSchedule:

List of all members.

Public Member Functions

 StaticOrderSchedule ()
 ~StaticOrderSchedule ()
void appendActor (SDFactor *a)
void appendScheduleEntry (StaticOrderScheduleEntry &s)
StaticOrderScheduleEntryIter insertActor (StaticOrderScheduleEntryIter position, SDFactor *a)
StaticOrderScheduleEntryIter getScheduleEntry (const uint i)
uint getStartPeriodicSchedule ()
void setStartPeriodicSchedule (const uint i)
uint next (uint current)
uint previous (uint current)
bool isLast (uint current) const
void minimize ()
void changeActorAssociations (SDFgraph *newGraph)
CNodeconvertToXML ()

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

StaticOrderSchedule::StaticOrderSchedule (  )  [inline]

References startPeriodicSchedule.

StaticOrderSchedule::~StaticOrderSchedule (  )  [inline]

Member Function Documentation

void StaticOrderSchedule::appendScheduleEntry ( StaticOrderScheduleEntry s  )  [inline]
void StaticOrderSchedule::changeActorAssociations ( SDFgraph newGraph  ) 

changeActorAssociations () Change the associated actors in the schedule.

References SDFgraph::getActor(), and startPeriodicSchedule.

Referenced by LoadBalanceBinding::constructStaticOrderSchedules(), and LoadBalanceBinding::reconstructStaticOrderSchedules().

Here is the call graph for this function:

CNode * StaticOrderSchedule::convertToXML (  ) 

convertToXML () Convert the schedule to an XML representation.

References ASSERT, CAddAttribute(), CAddNode(), CNewNode(), getScheduleEntry(), and startPeriodicSchedule.

Here is the call graph for this function:

StaticOrderScheduleEntryIter StaticOrderSchedule::getScheduleEntry ( const uint  i  )  [inline]
uint StaticOrderSchedule::getStartPeriodicSchedule (  )  [inline]
StaticOrderScheduleEntryIter StaticOrderSchedule::insertActor ( StaticOrderScheduleEntryIter  position,
SDFactor a 
) [inline]
bool StaticOrderSchedule::isLast ( uint  current  )  const [inline]

Referenced by minimize(), and next().

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

Referenced by Binding::minimizeStaticOrderSchedules().

Here is the call graph for this function:

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

References getStartPeriodicSchedule(), and isLast().

Referenced by minimize().

Here is the call graph for this function:

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

Referenced by minimize().

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

References startPeriodicSchedule.

Referenced by minimize(), and setMappingProcessor().

Member Data Documentation

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