FSMSADF::GraphBinding Class Reference

#include <graph_binding.h>

Collaboration diagram for FSMSADF::GraphBinding:

List of all members.

Classes

class  ParetoQuantities

Public Member Functions

 GraphBinding (PlatformBinding *b)
 ~GraphBinding ()
GraphBindingclone ()
PlatformBindinggetPlatformBinding () const
map< Scenario *, map< Actor
*, ActorBinding > > & 
getActorBindings ()
map< Scenario *, map< Channel
*, ChannelBinding > > & 
getChannelBindings ()
bool bindActorToTile (Scenario *s, Actor *a, ActorBinding &b)
void removeActorToTileBinding (Scenario *s, Actor *a)
bool bindChannelToTile (Scenario *s, Channel *c, ChannelBinding &b)
bool bindChannelToConnection (Scenario *s, Channel *c, ChannelBinding &b)
void removeChannelBinding (Scenario *s, Channel *c)
map< Processor *, map
< Scenario *, Time > > & 
getMinTDMAslices ()
Time getMinTDMAslice (Scenario *s, Processor *p) const
void setMinTDMAslice (Scenario *s, Processor *p, Time t)
map< Processor *, map
< Scenario *, Time > > & 
getMaxTDMAslices ()
Time getMaxTDMAslice (Scenario *s, Processor *p) const
void setMaxTDMAslice (Scenario *s, Processor *p, Time t)
bool allocateTDMAslice (Scenario *s, Processor *p, Time t)
Time getAllocatedTDMAslice (Scenario *s, Processor *p)
void computeParetoQuantities (const map< Scenario *, RepetitionVector > &repetitionVectors, const bool processingLoadBasedOnTDMAslices)
const ParetoQuantitiesgetParetoQuantities () const
bool paretoDominates (const GraphBinding *g) const

Private Member Functions

void extractApplicationBindingFromPlatformBinding ()
ProcessorBindinggetProcessorBinding (Processor *p) const
MemoryBindinggetMemoryBinding (Memory *m) const
NetworkInterfaceBindinggetNetworkInterfaceBinding (NetworkInterface *n) const
ConnectionBindinggetConnectionBinding (Connection *c) const

Private Attributes

PlatformBindingplatformBinding
map< Scenario *, map< Actor
*, ActorBinding > > 
actorBindings
map< Scenario *, map< Channel
*, ChannelBinding > > 
channelBindings
map< Processor *, map
< Scenario *, Time > > 
minTDMAslices
map< Processor *, map
< Scenario *, Time > > 
maxTDMAslices
ParetoQuantities paretoQuantities

Detailed Description

class GraphBinding This class annotates the platform binding with information used by the tile binding algorithm.


Constructor & Destructor Documentation

FSMSADF::GraphBinding::GraphBinding ( PlatformBinding b  ) 

GraphBinding() Constructor. Note that the constructor creates a clode of the platform binding. This clone is automatically destroyed when the GraphBinding destructor is called. A pointer to the cloned platfrom binding can be retrieved using the function getPlatformBinding.

References extractApplicationBindingFromPlatformBinding().

Referenced by clone().

Here is the call graph for this function:

FSMSADF::GraphBinding::~GraphBinding (  ) 

~GraphBinding() Destructor.

References platformBinding.


Member Function Documentation

bool FSMSADF::GraphBinding::allocateTDMAslice ( Scenario s,
Processor p,
Time  t 
)

allocateTDMAslice() Allocate TDMA time slice t on processor p in scenario s.

References FSMSADF::ProcessorBinding::allocateWheelsize(), and getProcessorBinding().

Here is the call graph for this function:

bool FSMSADF::GraphBinding::bindActorToTile ( Scenario s,
Actor a,
ActorBinding b 
)
bool FSMSADF::GraphBinding::bindChannelToTile ( Scenario s,
Channel c,
ChannelBinding b 
)

bindChannelToTile() The function binds channel c in scenario s to memory m. The function returns true when a binding has been made or false when the binding fails.

References FSMSADF::MemoryBinding::addChannelBinding(), channelBindings, getMemoryBinding(), FSMSADF::BufferSize::Mem, and FSMSADF::ChannelBinding::memoryMem.

Here is the call graph for this function:

GraphBinding * FSMSADF::GraphBinding::clone (  ) 

clone() Create a clone of this graph binding. The cloned copy will contain a cloned platfom binding object.

References actorBindings, channelBindings, GraphBinding(), maxTDMAslices, minTDMAslices, paretoQuantities, and platformBinding.

Here is the call graph for this function:

map<Scenario*, map<Actor*, ActorBinding> >& FSMSADF::GraphBinding::getActorBindings (  )  [inline]

References actorBindings.

Time FSMSADF::GraphBinding::getAllocatedTDMAslice ( Scenario s,
Processor p 
)

getAllocatedTDMAslice() Get the allocated TDMA time slice on processor p in scenario s.

References FSMSADF::ProcessorBinding::getAllocatedWheelsize(), and getProcessorBinding().

Here is the call graph for this function:

map<Scenario*, map<Channel*, ChannelBinding> >& FSMSADF::GraphBinding::getChannelBindings (  )  [inline]

References channelBindings.

ConnectionBinding * FSMSADF::GraphBinding::getConnectionBinding ( Connection c  )  const [private]

getConnectionBinding() The function returns a pointer to the connection binding in the platform binding which is associated with connection c.

References FSMSADF::PlatformBinding::getConnectionBinding(), and platformBinding.

Referenced by bindChannelToConnection(), and removeChannelBinding().

Here is the call graph for this function:

Time FSMSADF::GraphBinding::getMaxTDMAslice ( Scenario s,
Processor p 
) const

getMaxTDMAslice() The function returns the maximum time slice for processor p in scenario s. When no maximum has been set, the function returns the available time wheel size on processor p.

References FSMSADF::ProcessorBinding::getAvailableWheelsize(), getProcessorBinding(), and maxTDMAslices.

Here is the call graph for this function:

map<Processor*, map<Scenario*, Time> >& FSMSADF::GraphBinding::getMaxTDMAslices (  )  [inline]

References maxTDMAslices.

MemoryBinding * FSMSADF::GraphBinding::getMemoryBinding ( Memory m  )  const [private]

getMemoryBinding() The function returns a pointer to the memory binding in the platform binding which is associated with memory m.

References FSMSADF::Memory::getTile(), FSMSADF::PlatformBinding::getTileBinding(), and platformBinding.

Referenced by bindActorToTile(), bindChannelToConnection(), bindChannelToTile(), removeActorToTileBinding(), and removeChannelBinding().

Here is the call graph for this function:

Time FSMSADF::GraphBinding::getMinTDMAslice ( Scenario s,
Processor p 
) const

getMinTDMAslice() The function returns the minimum time slice for processor p in scenario s. When no minimum has been set, the function returns zero.

References minTDMAslices.

map<Processor*, map<Scenario*, Time> >& FSMSADF::GraphBinding::getMinTDMAslices (  )  [inline]

References minTDMAslices.

NetworkInterfaceBinding * FSMSADF::GraphBinding::getNetworkInterfaceBinding ( NetworkInterface n  )  const [private]

getNetworkInterfaceBinding() The function returns a pointer to the network interface binding in the platform binding which is associated with network interface n.

References FSMSADF::NetworkInterface::getTile(), FSMSADF::PlatformBinding::getTileBinding(), and platformBinding.

Referenced by bindChannelToConnection(), and removeChannelBinding().

Here is the call graph for this function:

const ParetoQuantities& FSMSADF::GraphBinding::getParetoQuantities (  )  const [inline]
PlatformBinding* FSMSADF::GraphBinding::getPlatformBinding (  )  const [inline]

References platformBinding.

ProcessorBinding * FSMSADF::GraphBinding::getProcessorBinding ( Processor p  )  const [private]

getProcessorBinding() The function returns a pointer to the processor binding in the platform binding which is associated with processor p.

References FSMSADF::Processor::getTile(), FSMSADF::PlatformBinding::getTileBinding(), and platformBinding.

Referenced by allocateTDMAslice(), bindActorToTile(), getAllocatedTDMAslice(), getMaxTDMAslice(), and removeActorToTileBinding().

Here is the call graph for this function:

bool FSMSADF::GraphBinding::paretoDominates ( const GraphBinding g  )  const [inline]

References FSMSADF::GraphBinding::ParetoQuantities::dominates(), getParetoQuantities(), and paretoQuantities.

Here is the call graph for this function:

void FSMSADF::GraphBinding::removeActorToTileBinding ( Scenario s,
Actor a 
)

removeActorToTileBinding() The function removes the binding of actor a in scenario s.

References actorBindings, getMemoryBinding(), getProcessorBinding(), FSMSADF::MemoryBinding::removeActorBinding(), and FSMSADF::ProcessorBinding::removeActorBinding().

Here is the call graph for this function:

void FSMSADF::GraphBinding::removeChannelBinding ( Scenario s,
Channel c 
)
void FSMSADF::GraphBinding::setMaxTDMAslice ( Scenario s,
Processor p,
Time  t 
)

setMaxTDMAslice() Set the maximum TDMA slice on procssor p in scenario s to t time units.

References maxTDMAslices.

void FSMSADF::GraphBinding::setMinTDMAslice ( Scenario s,
Processor p,
Time  t 
)

setMinTDMAslice() Set the minimum TDMA slice on procssor p in scenario s to t time units.

References minTDMAslices.


Member Data Documentation


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