FSMSADF::GraphBinding Class Reference
#include <graph_binding.h>
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().
FSMSADF::GraphBinding::~GraphBinding | ( | ) |
~GraphBinding() Destructor.
References platformBinding.
Member Function Documentation
allocateTDMAslice() Allocate TDMA time slice t on processor p in scenario s.
References FSMSADF::ProcessorBinding::allocateWheelsize(), and getProcessorBinding().
bool FSMSADF::GraphBinding::bindActorToTile | ( | Scenario * | s, | |
Actor * | a, | |||
ActorBinding & | b | |||
) |
bindActorToTile() The function binds actor a in scenario s to a processor and memory. The function returns true when a binding has been made or false when the binding fails.
References actorBindings, FSMSADF::MemoryBinding::addActorBinding(), FSMSADF::ProcessorBinding::addActorBinding(), getMemoryBinding(), getProcessorBinding(), FSMSADF::Memory::getTile(), FSMSADF::Processor::getTile(), FSMSADF::Processor::getType(), FSMSADF::ActorBinding::memory, FSMSADF::ActorBinding::processor, FSMSADF::MemoryBinding::removeActorBinding(), and FSMSADF::ProcessorBinding::removeActorBinding().
bool FSMSADF::GraphBinding::bindChannelToConnection | ( | Scenario * | s, | |
Channel * | c, | |||
ChannelBinding & | b | |||
) |
bindChannelToConnection() The function binds channel c in scenario s to the connection binding cb. The function allocates also resources in the source and destination tile (i.e. on the memory and network interfaces). The function returns true when a binding has been made or false when the binding fails.
References FSMSADF::MemoryBinding::addChannelBinding(), FSMSADF::ConnectionBinding::addChannelBinding(), FSMSADF::NetworkInterfaceBinding::addInChannelBinding(), FSMSADF::NetworkInterfaceBinding::addOutChannelBinding(), channelBindings, FSMSADF::ChannelBinding::connection, FSMSADF::BufferSize::Dst, getConnectionBinding(), FSMSADF::MemoryBinding::getMemory(), getMemoryBinding(), FSMSADF::NetworkInterfaceBinding::getNetworkInterface(), getNetworkInterfaceBinding(), FSMSADF::NetworkInterface::getTile(), FSMSADF::Memory::getTile(), FSMSADF::ChannelBinding::memoryDst, FSMSADF::ChannelBinding::memorySrc, FSMSADF::ChannelBinding::networkInterfaceIn, FSMSADF::ChannelBinding::networkInterfaceOut, FSMSADF::MemoryBinding::removeChannelBinding(), FSMSADF::ConnectionBinding::removeChannelBinding(), FSMSADF::NetworkInterfaceBinding::removeInChannelBinding(), FSMSADF::NetworkInterfaceBinding::removeOutChannelBinding(), and FSMSADF::BufferSize::Src.
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.
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.
void FSMSADF::GraphBinding::computeParetoQuantities | ( | const map< Scenario *, RepetitionVector > & | repetitionVectors, | |
const bool | processingLoadBasedOnTDMAslices | |||
) |
computeParetoQuantities() This function computes the values of the pareto quantanties of this graph binding.
References a, FSMSADF::GraphBinding::ParetoQuantities::communicationLoad, FSMSADF::ProcessorBinding::getActorBindings(), FSMSADF::Actor::getExecutionTimeOfScenario(), FSMSADF::GraphComponent::getId(), FSMSADF::NetworkInterface::getInBandwidth(), FSMSADF::NetworkInterfaceBinding::getInBandwidthUsedForGraph(), FSMSADF::MemoryBinding::getMemory(), FSMSADF::TileBinding::getMemoryBindings(), FSMSADF::MemoryBinding::getMemorySizeUsedForGraph(), FSMSADF::NetworkInterfaceBinding::getNetworkInterface(), FSMSADF::TileBinding::getNetworkInterfaceBindings(), FSMSADF::NetworkInterface::getOutBandwidth(), FSMSADF::NetworkInterfaceBinding::getOutBandwidthUsedForGraph(), FSMSADF::ProcessorBinding::getProcessor(), FSMSADF::TileBinding::getProcessorBindings(), FSMSADF::Memory::getSize(), FSMSADF::PlatformBinding::getTileBindings(), FSMSADF::Processor::getType(), FSMSADF::Processor::getWheelsize(), FSMSADF::ProcessorBinding::getWheelsizeAllocations(), FSMSADF::GraphBinding::ParetoQuantities::memoryLoad, paretoQuantities, platformBinding, and FSMSADF::GraphBinding::ParetoQuantities::processingLoad.
Referenced by FSMSADF::OutputHTML::printPlatformBindings().
void FSMSADF::GraphBinding::extractApplicationBindingFromPlatformBinding | ( | ) | [private] |
extractApplicationBindingFromPlatformBinding() The function extracts the application to platform binding from the platform binding object.
References a, actorBindings, c, channelBindings, FSMSADF::BufferSize::Dst, FSMSADF::MemoryBinding::getActorBindings(), FSMSADF::ProcessorBinding::getActorBindings(), FSMSADF::ConnectionBinding::getChannelBindings(), FSMSADF::MemoryBinding::getChannelBindings(), FSMSADF::ConnectionBinding::getConnection(), FSMSADF::PlatformBinding::getConnectionBindings(), FSMSADF::NetworkInterfaceBinding::getInChannelBindings(), FSMSADF::MemoryBinding::getMemory(), FSMSADF::TileBinding::getMemoryBindings(), FSMSADF::NetworkInterfaceBinding::getNetworkInterface(), FSMSADF::TileBinding::getNetworkInterfaceBindings(), FSMSADF::NetworkInterfaceBinding::getOutChannelBindings(), FSMSADF::ProcessorBinding::getProcessor(), FSMSADF::TileBinding::getProcessorBindings(), FSMSADF::PlatformBinding::getTileBindings(), FSMSADF::BufferSize::Mem, platformBinding, and FSMSADF::BufferSize::Src.
Referenced by GraphBinding().
map<Scenario*, map<Actor*, ActorBinding> >& FSMSADF::GraphBinding::getActorBindings | ( | ) | [inline] |
References actorBindings.
getAllocatedTDMAslice() Get the allocated TDMA time slice on processor p in scenario s.
References FSMSADF::ProcessorBinding::getAllocatedWheelsize(), and getProcessorBinding().
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().
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.
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().
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.
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().
const ParetoQuantities& FSMSADF::GraphBinding::getParetoQuantities | ( | ) | const [inline] |
References paretoQuantities.
Referenced by paretoDominates(), and FSMSADF::OutputHTML::printPlatformBindings().
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().
bool FSMSADF::GraphBinding::paretoDominates | ( | const GraphBinding * | g | ) | const [inline] |
References FSMSADF::GraphBinding::ParetoQuantities::dominates(), getParetoQuantities(), and paretoQuantities.
removeActorToTileBinding() The function removes the binding of actor a in scenario s.
References actorBindings, getMemoryBinding(), getProcessorBinding(), FSMSADF::MemoryBinding::removeActorBinding(), and FSMSADF::ProcessorBinding::removeActorBinding().
removeChannelBinding() The function removes the binding of channel c in scenario s.
References channelBindings, getConnectionBinding(), getMemoryBinding(), getNetworkInterfaceBinding(), FSMSADF::MemoryBinding::removeChannelBinding(), FSMSADF::ConnectionBinding::removeChannelBinding(), and FSMSADF::NetworkInterfaceBinding::removeInChannelBinding().
setMaxTDMAslice() Set the maximum TDMA slice on procssor p in scenario s to t time units.
References maxTDMAslices.
setMinTDMAslice() Set the minimum TDMA slice on procssor p in scenario s to t time units.
References minTDMAslices.
Member Data Documentation
map<Scenario*, map<Actor*, ActorBinding> > FSMSADF::GraphBinding::actorBindings [private] |
map<Scenario*, map<Channel*, ChannelBinding> > FSMSADF::GraphBinding::channelBindings [private] |
map<Processor*, map<Scenario*, Time> > FSMSADF::GraphBinding::maxTDMAslices [private] |
Referenced by clone(), getMaxTDMAslice(), getMaxTDMAslices(), and setMaxTDMAslice().
map<Processor*, map<Scenario*, Time> > FSMSADF::GraphBinding::minTDMAslices [private] |
Referenced by clone(), getMinTDMAslice(), getMinTDMAslices(), and setMinTDMAslice().
Referenced by clone(), computeParetoQuantities(), getParetoQuantities(), and paretoDominates().
The documentation for this class was generated from the following files: