FSMSADF::ProcessorBinding Class Reference

#include <processor.h>

Inheritance diagram for FSMSADF::ProcessorBinding:
Collaboration diagram for FSMSADF::ProcessorBinding:

List of all members.

Public Member Functions

 ProcessorBinding (GraphComponent c, Processor *p)
 ~ProcessorBinding ()
ProcessorBindingclone (GraphComponent c)
void constructFromXML (Scenario *s, const CNodePtr processorNode)
void constructResourceUsageFromXML (const CNodePtr processorNode)
void convertToXML (Scenario *s, const CNodePtr processorNode)
void convertResourceUsageToXML (const CNodePtr processorNode)
ProcessorgetProcessor () const
map< Scenario *, Actors > & getActorBindings ()
void setActorBindings (const map< Scenario *, Actors > &a)
bool addActorBinding (Scenario *s, Actor *a)
void removeActorBinding (Scenario *s, const Actor *a)
bool hasActorBinding (Scenario *s, const Actor *a) const
TileBindinggetTileBinding () const
map< Scenario
*, StaticOrderSchedule > & 
getStaticOrderSchedules ()
void setStaticOrderSchedules (const map< Scenario *, StaticOrderSchedule > &s)
StaticOrderSchedulegetStaticOrderSchedule (Scenario *s)
void setStaticOrderSchedule (Scenario *s, StaticOrderSchedule &so)
void removeStaticOrderSchedule (Scenario *s)
bool hasStaticOrderSchedule (Scenario *s) const
map< Scenario *, Time > & getWheelsizeAllocations ()
void setWheelsizeAllocations (const map< Scenario *, Time > &w)
bool hasResourcesWheelSize (Scenario *s, Time t) const
bool allocateWheelsize (Scenario *s, Time t)
Time getAvailableWheelsize (Scenario *s) const
Time getAllocatedWheelsize (Scenario *s) const
Time getWheelsizeUsedForGraph () const
Time getWheelsizeUsedForOtherGraphs () const
void setWheelsizeUsedForOtherGraphs (Time sz)

Private Attributes

Processorprocessor
map< Scenario *, ActorsactorBindings
map< Scenario
*, StaticOrderSchedule
staticOrderSchedules
map< Scenario *, Timewheelsize
Time wheelsizeUsedForOtherGraphs

Detailed Description

ProcessorBinding Container for processor binding.


Constructor & Destructor Documentation

FSMSADF::ProcessorBinding::ProcessorBinding ( GraphComponent  c,
Processor p 
)

ProcessorBinding() Constructor.

Referenced by clone().

FSMSADF::ProcessorBinding::~ProcessorBinding (  ) 

~ProcessorBinding() Destructor.


Member Function Documentation

bool FSMSADF::ProcessorBinding::addActorBinding ( Scenario s,
Actor a 
)

addActorBinding() The function binds actor a in scenario s to this processor. The function returns true on success. Otherwise it returns false.

References actorBindings, and hasActorBinding().

Referenced by FSMSADF::GraphBinding::bindActorToTile(), FSMSADF::bindThreadToTile(), and constructFromXML().

Here is the call graph for this function:

bool FSMSADF::ProcessorBinding::allocateWheelsize ( Scenario s,
Time  t 
)

allocateWheelsize() The function changes the TMDA timewheel allocation of the application graph on this processor to time t.

References hasResourcesWheelSize(), and wheelsize.

Referenced by FSMSADF::GraphBinding::allocateTDMAslice(), and constructFromXML().

Here is the call graph for this function:

void FSMSADF::ProcessorBinding::constructFromXML ( Scenario s,
const CNodePtr  processorNode 
)
void FSMSADF::ProcessorBinding::constructResourceUsageFromXML ( const CNodePtr  processorNode  ) 

constructFromXML() This function sets the resource usgae of the processor.

References CGetAttribute(), CGetChildNode(), CHasChildNode(), and setWheelsizeUsedForOtherGraphs().

Referenced by FSMSADF::TileBinding::constructResourceUsageFromXML().

Here is the call graph for this function:

void FSMSADF::ProcessorBinding::convertResourceUsageToXML ( const CNodePtr  processorNode  ) 

convertToXML() This function converts the resource usage of this processor binding to an XML object.

References CAddAttribute(), CAddNode(), FSMSADF::GraphComponent::getName(), getWheelsizeUsedForGraph(), and getWheelsizeUsedForOtherGraphs().

Here is the call graph for this function:

void FSMSADF::ProcessorBinding::convertToXML ( Scenario s,
const CNodePtr  processorNode 
)

convertToXML() This function converts the processor binding to an XML object.

References actorBindings, CAddAttribute(), CAddNode(), FSMSADF::StaticOrderSchedule::convertToXML(), getAllocatedWheelsize(), FSMSADF::GraphComponent::getName(), getStaticOrderSchedule(), and hasStaticOrderSchedule().

Here is the call graph for this function:

Time FSMSADF::ProcessorBinding::getAllocatedWheelsize ( Scenario s  )  const
Time FSMSADF::ProcessorBinding::getAvailableWheelsize ( Scenario s  )  const

getAvailableWheelsize() The function returns the wheelsize which is available on this processor in scenario s.

References getAllocatedWheelsize(), FSMSADF::Processor::getWheelsize(), processor, and wheelsizeUsedForOtherGraphs.

Referenced by FSMSADF::GraphBinding::getMaxTDMAslice(), and hasResourcesWheelSize().

Here is the call graph for this function:

StaticOrderSchedule & FSMSADF::ProcessorBinding::getStaticOrderSchedule ( Scenario s  ) 

setStaticOrderSchedule() The function associates the static order schedule so with scenario s.

References FSMSADF::GraphComponent::getName(), hasStaticOrderSchedule(), and staticOrderSchedules.

Referenced by convertToXML(), FSMSADF::OutputHTML::printPlatformBinding(), and FSMSADF::EarliestDeadLineFirstScheduling::scheduleScenario().

Here is the call graph for this function:

map<Scenario*, StaticOrderSchedule>& FSMSADF::ProcessorBinding::getStaticOrderSchedules (  )  [inline]
TileBinding* FSMSADF::ProcessorBinding::getTileBinding (  )  const [inline]

References FSMSADF::GraphComponent::getParent().

Referenced by getWheelsizeUsedForGraph().

Here is the call graph for this function:

map<Scenario*, Time>& FSMSADF::ProcessorBinding::getWheelsizeAllocations (  )  [inline]
Time FSMSADF::ProcessorBinding::getWheelsizeUsedForGraph (  )  const

getWheelsizeUsedForGraph() The function returns the maximal wheel size which has been allocated to the application in any of its scenarios.

References g, getAllocatedWheelsize(), FSMSADF::PlatformBinding::getApplicationGraph(), FSMSADF::TileBinding::getPlatformBinding(), FSMSADF::Graph::getScenarios(), getTileBinding(), and MAX.

Referenced by convertResourceUsageToXML(), and FSMSADF::OutputHTML::printPlatformBinding().

Here is the call graph for this function:

Time FSMSADF::ProcessorBinding::getWheelsizeUsedForOtherGraphs (  )  const [inline]
bool FSMSADF::ProcessorBinding::hasActorBinding ( Scenario s,
const Actor a 
) const

hasActorBinding() The function returns true when a binding of actor a in scenario s to this processor exists. Otherwise it returns false.

References actorBindings.

Referenced by addActorBinding(), and FSMSADF::OutputHTML::convertPlatformBindingToPNG().

bool FSMSADF::ProcessorBinding::hasResourcesWheelSize ( Scenario s,
Time  t 
) const

hasResourcesWheelSize() The function checks wether the size of timewheel which is allocated to the application can be extended to time t.

References getAllocatedWheelsize(), and getAvailableWheelsize().

Referenced by allocateWheelsize().

Here is the call graph for this function:

bool FSMSADF::ProcessorBinding::hasStaticOrderSchedule ( Scenario s  )  const

hasStaticOrderSchedule() The function returns true when scenario s has a static order schedule.

References staticOrderSchedules.

Referenced by convertToXML(), getStaticOrderSchedule(), FSMSADF::OutputHTML::printPlatformBinding(), and removeStaticOrderSchedule().

void FSMSADF::ProcessorBinding::removeActorBinding ( Scenario s,
const Actor a 
)

removeActorBinding() The function removes the binding of actor a in scenario s to this processor.

References actorBindings.

Referenced by FSMSADF::GraphBinding::bindActorToTile(), FSMSADF::GraphBinding::removeActorToTileBinding(), and FSMSADF::unbindThreadToTile().

void FSMSADF::ProcessorBinding::removeStaticOrderSchedule ( Scenario s  ) 

removeStaticOrderSchedule() The function removes the static-order schedule of scenario s.

References hasStaticOrderSchedule(), and staticOrderSchedules.

Here is the call graph for this function:

void FSMSADF::ProcessorBinding::setActorBindings ( const map< Scenario *, Actors > &  a  )  [inline]

References actorBindings.

Referenced by clone().

void FSMSADF::ProcessorBinding::setStaticOrderSchedule ( Scenario s,
StaticOrderSchedule so 
)

setStaticOrderSchedule() The function associates the static order schedule so with scenario s.

References staticOrderSchedules.

Referenced by constructFromXML(), and FSMSADF::EarliestDeadLineFirstScheduling::scheduleScenario().

void FSMSADF::ProcessorBinding::setStaticOrderSchedules ( const map< Scenario *, StaticOrderSchedule > &  s  )  [inline]

References staticOrderSchedules.

Referenced by clone().

void FSMSADF::ProcessorBinding::setWheelsizeAllocations ( const map< Scenario *, Time > &  w  )  [inline]

References wheelsize.

Referenced by clone().

void FSMSADF::ProcessorBinding::setWheelsizeUsedForOtherGraphs ( Time  sz  )  [inline]

Member Data Documentation


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