SDFchannel Class Reference

#include <channel.h>

Inheritance diagram for SDFchannel:
Collaboration diagram for SDFchannel:

List of all members.

Public Member Functions

 SDFchannel (SDFcomponent &c)
virtual ~SDFchannel ()
virtual SDFchannelcreate (SDFcomponent &c) const
virtual SDFchannelcreateCopy (SDFcomponent &c) const
virtual SDFchannelclone (SDFcomponent &c) const
void construct (const CNodePtr channelNode)
SDFportgetSrcPort () const
SDFportgetDstPort () const
SDFactorgetSrcActor () const
SDFactorgetDstActor () const
void connectSrc (SDFport *p)
void connectDst (SDFport *p)
SDFportoppositePort (SDFport *p) const
uint getInitialTokens () const
void setInitialTokens (const uint t)
bool isConnected () const
SDFgraphgetGraph () const
ostream & print (ostream &out)

Private Attributes

SDFportsrc
SDFportdst
uint initialTokens

Friends

ostream & operator<< (ostream &out, SDFchannel &c)

Detailed Description

SDFchannel SDF channel.


Constructor & Destructor Documentation

SDFchannel::SDFchannel ( SDFcomponent c  ) 

SDFchannel () Constructor.

Referenced by clone(), create(), and createCopy().

SDFchannel::~SDFchannel (  )  [virtual]

~SDFchannel () Destructor.


Member Function Documentation

SDFchannel * SDFchannel::clone ( SDFcomponent c  )  const [virtual]

clone () The function returns a pointer to a newly allocated SDF channel object. All properties and the connection of the channel are cloned.

Reimplemented in TimedSDFchannel.

References connectDst(), connectSrc(), SDFgraph::getActor(), getDstActor(), getDstPort(), getGraph(), getInitialTokens(), SDFcomponent::getName(), SDFactor::getPort(), getSrcActor(), getSrcPort(), SDFchannel(), setInitialTokens(), and SDFcomponent::setName().

Here is the call graph for this function:

void SDFchannel::connectDst ( SDFport p  ) 

connectDst () The function connects the channel to a destination port and port to channel.

References SDFport::connectToChannel(), dst, getDstPort(), SDFcomponent::getName(), SDFport::getType(), and SDFport::getTypeAsString().

Referenced by clone(), TimedSDFchannel::clone(), construct(), SDFgraph::createChannel(), TimedSDFgraph::createChannel(), and reverseChannelsInSDFgraph().

Here is the call graph for this function:

void SDFchannel::connectSrc ( SDFport p  ) 

connectSrc () The function connects the channel to a source port and port to channel.

References SDFport::connectToChannel(), SDFcomponent::getName(), getSrcPort(), SDFport::getType(), SDFport::getTypeAsString(), and src.

Referenced by clone(), TimedSDFchannel::clone(), construct(), SDFgraph::createChannel(), TimedSDFgraph::createChannel(), and reverseChannelsInSDFgraph().

Here is the call graph for this function:

void SDFchannel::construct ( const CNodePtr  channelNode  ) 

construct () The function initializes all channel properties based on the XML data.

References c, CGetAttribute(), CHasAttribute(), connectDst(), connectSrc(), g, SDFgraph::getActor(), getGraph(), SDFactor::getPort(), setInitialTokens(), and SDFcomponent::setName().

Referenced by SDFgraph::construct().

Here is the call graph for this function:

SDFchannel * SDFchannel::create ( SDFcomponent c  )  const [virtual]

create () The function returns a pointer to a newly allocated SDF channel object.

Reimplemented in TimedSDFchannel.

References SDFchannel().

Here is the call graph for this function:

SDFchannel * SDFchannel::createCopy ( SDFcomponent c  )  const [virtual]

createCopy () The function returns a pointer to a newly allocated SDF channel object. All properties of the channel are copied.

Reimplemented in TimedSDFchannel.

References SDFcomponent::getName(), SDFchannel(), and SDFcomponent::setName().

Referenced by transformSDFtoHSDF(), and unfoldHSDF().

Here is the call graph for this function:

SDFactor* SDFchannel::getDstActor (  )  const [inline]

References dst, and getDstPort().

Referenced by addCSDFchannelToGraph(), LoadBalanceBinding::allocateConnectionResources(), SDFstateSpaceSelfTimedMinimalLatencyAnalysis::analyze(), SDFstateSpaceSelfTimedLatencyAnalysis::analyze(), SDFstateSpaceBufferAnalysisNingGao::TransitionSystem::analyzeDeadlock(), analyzeDeadlock(), SDFstateSpaceBufferAnalysis::TransitionSystem::analyzeDeadlock(), SDFstateSpaceBindingAwareBufferAnalysis::TransitionSystem::analyzeDeadlock(), analyzeSDFG(), assignConsistentRates(), LoadBalanceBinding::changeBandwidthAllocation(), clone(), TimedSDFchannel::clone(), componentToSDFgraph(), SDFstateSpaceMinimalLatencyAnalysis::TransitionSystem::computeDemandList(), computeMinimalChannelSz(), SDFstateSpaceStaticPeriodicSchedulerChao::computeSchedule(), SDFconvertToHTML::convertSDFgraph(), createInitialMCMgraph(), BindingAwareSDFG::createMappedChannelToConnectionMPFlow(), BindingAwareSDFG::createMappedChannelToConnectionNSoC(), BindingAwareSDFG::createMappedChannelToTileMPFlow(), BindingAwareSDFG::createMappedChannelToTileNSoC(), createSDFnode(), SDFstateSpaceBufferAnalysisNingGao::TransitionSystem::dfsVisitDependencies(), dfsVisitDependencies(), SDFstateSpaceBufferAnalysis::TransitionSystem::dfsVisitDependencies(), SDFstateSpaceBindingAwareBufferAnalysis::TransitionSystem::dfsVisitDependencies(), SDF3Flow::estimateLatencyConstraints(), LoadBalanceBinding::estimateMaxCycleMean(), SDFstateSpaceBindingAwareBufferAnalysis::TransitionSystem::execSDFgraph(), exploreStorageDistribution(), SDFstateSpaceBufferAnalysis::exploreStorageDistribution(), SDFstateSpaceBindingAwareBufferAnalysis::exploreStorageDistribution(), SDFstateSpaceBufferAnalysisNingGao::TransitionSystem::findCausalDependencies(), findCausalDependencies(), SDFstateSpaceBufferAnalysis::TransitionSystem::findCausalDependencies(), SDFstateSpaceBindingAwareBufferAnalysis::TransitionSystem::findCausalDependencies(), getAdjacentActors(), SDFstateSpaceBufferAnalysis::initMinimalChannelSz(), SDFstateSpaceBindingAwareBufferAnalysis::initMinimalChannelSz(), SDFstateSpaceTraceInterconnectCommunication::TransitionSystem::initTracing(), LoadBalanceBinding::isChannelBound(), LoadBalanceBinding::isChannelBoundToConnection(), LoadBalanceBinding::isChannelBoundToTile(), makeStronglyConnected(), maximumCycleMeanCycle(), BindingAwareSDFG::modelBindingInMPFlow(), BindingAwareSDFG::modelBindingInNSoCFlow(), modelBufferSizeInSDFgraph(), modelCapacityConstrainedBuffer(), print(), TimedSDFchannel::print(), randomChannelBufferSizes(), LoadBalanceBinding::releaseConnectionResources(), sdfComponentToGraph(), sdfToGraph(), transformHSDFtoAPG(), unfoldHSDF(), updateActorReadyList(), and LoadBalanceBinding::updateStorageSpaceAllocation().

Here is the call graph for this function:

SDFport* SDFchannel::getDstPort (  )  const [inline]

References dst.

Referenced by addCSDFchannelToGraph(), SDFstateSpaceSelfTimedMinimalLatencyAnalysis::analyze(), SDFstateSpaceSelfTimedLatencyAnalysis::analyze(), SDFstateSpaceBufferAnalysisNingGao::TransitionSystem::analyzeDeadlock(), analyzeDeadlock(), SDFstateSpaceBufferAnalysis::TransitionSystem::analyzeDeadlock(), SDFstateSpaceBindingAwareBufferAnalysis::TransitionSystem::analyzeDeadlock(), assignConsistentRates(), calcFractionsConnectedActors(), clone(), TimedSDFchannel::clone(), componentToSDFgraph(), SDFstateSpaceMinimalLatencyAnalysis::TransitionSystem::computeDemandList(), computeMinimalChannelSz(), computeMinimalChannelSzStep(), connectDst(), SDFconvertToHTML::convertSDFgraph(), BindingAwareSDFG::createMappedChannelToConnectionMPFlow(), BindingAwareSDFG::createMappedChannelToConnectionNSoC(), BindingAwareSDFG::createMappedChannelToTileMPFlow(), BindingAwareSDFG::createMappedChannelToTileNSoC(), createSDFnode(), SDF3Flow::estimateLatencyConstraints(), LoadBalanceBinding::estimateMaxCycleMean(), SDF3Flow::estimateStorageConstraints(), FSMSADF::ScenarioGraph::extractSDFgraph(), getDstActor(), getLbDistributionSz(), getUbDistributionSz(), SDFstateSpaceBufferAnalysis::initMinimalChannelSz(), SDFstateSpaceBindingAwareBufferAnalysis::initMinimalChannelSz(), SDFstateSpaceBufferAnalysis::initMinimalChannelSzStep(), SDFstateSpaceBindingAwareBufferAnalysis::initMinimalChannelSzStep(), isConnected(), makeConsistentConnectedActors(), makeStronglyConnected(), modelBufferSizeInSDFgraph(), SDFconvertToHTML::outputPlatformMappingAsDot(), outputSDFasDot(), SDFconvertToHTML::outputSDFgraphAsDot(), print(), TimedSDFchannel::print(), printMaximumChannelSz(), printMinimalChannelSz(), printMinimalChannelSzStep(), randomChannelBufferSizes(), reverseChannelsInSDFgraph(), transformSDFtoHSDF(), and unfoldHSDF().

uint SDFchannel::getInitialTokens (  )  const [inline]

References initialTokens.

Referenced by addCSDFchannelToGraph(), analyzeSDFG(), clone(), TimedSDFchannel::clone(), computeMinimalChannelSz(), SDFstateSpaceStaticPeriodicSchedulerChao::computeSchedule(), SDFconvertToHTML::convertSDFgraph(), createInitialMCMgraph(), BindingAwareSDFG::createMappedChannelToConnectionMPFlow(), BindingAwareSDFG::createMappedChannelToConnectionNSoC(), BindingAwareSDFG::createMappedChannelToTileMPFlow(), BindingAwareSDFG::createMappedChannelToTileNSoC(), createSDFnode(), distributeInitialTokens(), distributeInitialTokensInComponent(), SDF3Flow::estimateLatencyConstraints(), LoadBalanceBinding::estimateMaxCycleMean(), SDF3Flow::estimateStorageConstraints(), SDFstateSpaceSelfTimedMinimalLatencyAnalysis::TransitionSystem::execConstrainedSDFgraph(), SDFstateSpaceBindingAwareThroughputAnalysis::TransitionSystem::execSDFgraph(), SDFstateSpaceThroughputAnalysisNingGao::TransitionSystem::execSDFgraph(), SDFstateSpaceThroughputAnalysis::TransitionSystem::execSDFgraph(), SDFstateSpaceSelfTimedMinimalLatencyAnalysis::TransitionSystem::execSDFgraph(), SDFstateSpaceSelfTimedLatencyAnalysis::TransitionSystem::execSDFgraph(), SDFstateSpacePriorityListScheduler::TransitionSystem::execSDFgraph(), SDFstateSpaceMinimalLatencyAnalysis::TransitionSystem::execSDFgraph(), SDFstateSpaceListScheduler::TransitionSystem::execSDFgraph(), SDFstateSpaceDeadlockAnalysis::TransitionSystem::execSDFgraph(), SDFstateSpaceTraceInterconnectCommunication::TransitionSystem::execSDFgraph(), SDFstateSpaceBufferAnalysisNingGao::TransitionSystem::execSDFgraph(), execSDFgraph(), SDFstateSpaceBufferAnalysis::TransitionSystem::execSDFgraph(), SDFstateSpaceBindingAwareBufferAnalysis::TransitionSystem::execSDFgraph(), SDFstateSpaceStaticPeriodicScheduler::TransitionSystem::execSDFgraphComputeSchedule(), SDFstateSpaceStaticPeriodicSchedulerChao::TransitionSystem::execSDFgraphSelfTimed(), SDFstateSpaceStaticPeriodicScheduler::TransitionSystem::execSDFgraphSelfTimed(), SDFstateSpaceStaticPeriodicSchedulerChao::TransitionSystem::execSDFgraphStaticPeriodic(), SDFstateSpaceStaticPeriodicScheduler::TransitionSystem::execSDFgraphStaticPeriodic(), SDFstateSpaceBindingAwareBufferAnalysis::exploreStorageDistribution(), fireActor(), getLbDistributionSz(), getUbDistributionSz(), MaxPlusAnalysis::GraphDecoration::Graph::Graph(), SDFstateSpaceBufferAnalysisNingGao::initMinimalChannelSz(), SDFstateSpaceBufferAnalysis::initMinimalChannelSz(), SDFstateSpaceBindingAwareBufferAnalysis::initMinimalChannelSz(), isActorReady(), maximumCycleMeanCycle(), modelBufferSizeInSDFgraph(), modelCapacityConstrainedBuffer(), SDFconvertToHTML::outputPlatformMappingAsDot(), outputSDFasDot(), SDFconvertToHTML::outputSDFgraphAsDot(), print(), TimedSDFchannel::print(), printExecSdfGraph(), printMaximumChannelSz(), printMinimalChannelSz(), printSdfGraph(), randomChannelBufferSizes(), transformHSDFtoAPG(), transformSDFtoHSDF(), and unfoldHSDF().

SDFactor* SDFchannel::getSrcActor (  )  const [inline]

References getSrcPort(), and src.

Referenced by SDFstateSpaceThroughputAnalysisNingGao::TransitionSystem::actorReadyToFire(), SDFstateSpaceBufferAnalysisNingGao::TransitionSystem::actorReadyToFire(), addCSDFchannelToGraph(), LoadBalanceBinding::allocateConnectionResources(), SDFstateSpaceSelfTimedMinimalLatencyAnalysis::analyze(), SDFstateSpaceSelfTimedLatencyAnalysis::analyze(), SDFstateSpaceBufferAnalysisNingGao::TransitionSystem::analyzeDeadlock(), analyzeDeadlock(), SDFstateSpaceBufferAnalysis::TransitionSystem::analyzeDeadlock(), SDFstateSpaceBindingAwareBufferAnalysis::TransitionSystem::analyzeDeadlock(), analyzeSDFG(), assignConsistentRates(), LoadBalanceBinding::changeBandwidthAllocation(), clone(), TimedSDFchannel::clone(), componentToSDFgraph(), SDFstateSpaceMinimalLatencyAnalysis::TransitionSystem::computeDemandList(), computeMinimalChannelSz(), SDFconvertToHTML::convertSDFgraph(), createInitialMCMgraph(), BindingAwareSDFG::createMappedChannelToConnectionMPFlow(), BindingAwareSDFG::createMappedChannelToConnectionNSoC(), BindingAwareSDFG::createMappedChannelToTileMPFlow(), BindingAwareSDFG::createMappedChannelToTileNSoC(), createSDFnode(), SDFstateSpaceBufferAnalysisNingGao::TransitionSystem::dfsVisitDependencies(), dfsVisitDependencies(), SDFstateSpaceBufferAnalysis::TransitionSystem::dfsVisitDependencies(), SDFstateSpaceBindingAwareBufferAnalysis::TransitionSystem::dfsVisitDependencies(), SDF3Flow::estimateBandwidthConstraints(), SDF3Flow::estimateLatencyConstraints(), LoadBalanceBinding::estimateMaxCycleMean(), SDFstateSpaceThroughputAnalysisNingGao::TransitionSystem::execSDFgraph(), SDFstateSpaceBufferAnalysisNingGao::TransitionSystem::execSDFgraph(), SDFstateSpaceBindingAwareBufferAnalysis::TransitionSystem::execSDFgraph(), SDFstateSpaceBufferAnalysisNingGao::exploreStorageDistribution(), exploreStorageDistribution(), SDFstateSpaceBufferAnalysis::exploreStorageDistribution(), SDFstateSpaceBindingAwareBufferAnalysis::exploreStorageDistribution(), SDFstateSpaceBufferAnalysisNingGao::TransitionSystem::findCausalDependencies(), findCausalDependencies(), SDFstateSpaceBufferAnalysis::TransitionSystem::findCausalDependencies(), SDFstateSpaceBindingAwareBufferAnalysis::TransitionSystem::findCausalDependencies(), getAdjacentActors(), MaxPlusAnalysis::GraphDecoration::Graph::Graph(), SDFstateSpaceBufferAnalysisNingGao::initMinimalChannelSz(), SDFstateSpaceBufferAnalysis::initMinimalChannelSz(), SDFstateSpaceBindingAwareBufferAnalysis::initMinimalChannelSz(), SDFstateSpaceTraceInterconnectCommunication::TransitionSystem::initTracing(), LoadBalanceBinding::isChannelBound(), LoadBalanceBinding::isChannelBoundToConnection(), LoadBalanceBinding::isChannelBoundToTile(), makeStronglyConnected(), BindingAwareSDFG::modelBindingInMPFlow(), BindingAwareSDFG::modelBindingInNSoCFlow(), modelBufferSizeInSDFgraph(), modelCapacityConstrainedBuffer(), print(), TimedSDFchannel::print(), randomChannelBufferSizes(), LoadBalanceBinding::releaseConnectionResources(), SDFstateSpaceThroughputAnalysisNingGao::TransitionSystem::releaseStorageSpaceSharedOutputBuffer(), SDFstateSpaceBufferAnalysisNingGao::TransitionSystem::releaseStorageSpaceSharedOutputBuffer(), sdfComponentToGraph(), sdfToGraph(), SDFstateSpaceThroughputAnalysisNingGao::TransitionSystem::startActorFiring(), SDFstateSpaceBufferAnalysisNingGao::TransitionSystem::startActorFiring(), transformHSDFtoAPG(), unfoldHSDF(), and LoadBalanceBinding::updateStorageSpaceAllocation().

Here is the call graph for this function:

SDFport* SDFchannel::getSrcPort (  )  const [inline]

References src.

Referenced by addCSDFchannelToGraph(), SDFstateSpaceSelfTimedMinimalLatencyAnalysis::analyze(), SDFstateSpaceSelfTimedLatencyAnalysis::analyze(), SDFstateSpaceBufferAnalysisNingGao::TransitionSystem::analyzeDeadlock(), SDFstateSpaceBufferAnalysis::TransitionSystem::analyzeDeadlock(), assignConsistentRates(), calcFractionsConnectedActors(), clone(), TimedSDFchannel::clone(), componentToSDFgraph(), SDFstateSpaceMinimalLatencyAnalysis::TransitionSystem::computeDemandList(), computeMinimalChannelSz(), computeMinimalChannelSzStep(), connectSrc(), SDFconvertToHTML::convertSDFgraph(), BindingAwareSDFG::createMappedChannelToConnectionMPFlow(), BindingAwareSDFG::createMappedChannelToConnectionNSoC(), BindingAwareSDFG::createMappedChannelToTileMPFlow(), BindingAwareSDFG::createMappedChannelToTileNSoC(), createSDFnode(), SDF3Flow::estimateBandwidthConstraints(), SDF3Flow::estimateStorageConstraints(), FSMSADF::ScenarioGraph::extractSDFgraph(), getLbDistributionSz(), getSrcActor(), getUbDistributionSz(), MaxPlusAnalysis::GraphDecoration::Graph::Graph(), SDFstateSpaceBufferAnalysis::initMinimalChannelSz(), SDFstateSpaceBindingAwareBufferAnalysis::initMinimalChannelSz(), SDFstateSpaceBufferAnalysis::initMinimalChannelSzStep(), SDFstateSpaceBindingAwareBufferAnalysis::initMinimalChannelSzStep(), isConnected(), makeConsistentConnectedActors(), makeStronglyConnected(), modelBufferSizeInSDFgraph(), SDFconvertToHTML::outputPlatformMappingAsDot(), outputSDFasDot(), SDFconvertToHTML::outputSDFgraphAsDot(), print(), TimedSDFchannel::print(), printMaximumChannelSz(), printMinimalChannelSz(), printMinimalChannelSzStep(), randomChannelBufferSizes(), reverseChannelsInSDFgraph(), transformSDFtoHSDF(), and unfoldHSDF().

bool SDFchannel::isConnected (  )  const

isConnected () The function returns true if the channel is connected to a source and destination port.

References getDstPort(), and getSrcPort().

Referenced by print(), and TimedSDFchannel::print().

Here is the call graph for this function:

ostream & SDFchannel::print ( ostream &  out  ) 

print () Print the channel to the supplied output stream.

Reimplemented in TimedSDFchannel.

References getDstActor(), getDstPort(), SDFcomponent::getId(), getInitialTokens(), SDFcomponent::getName(), getSrcActor(), getSrcPort(), and isConnected().

Referenced by SDFgraph::print().

Here is the call graph for this function:


Friends And Related Function Documentation

ostream& operator<< ( ostream &  out,
SDFchannel c 
) [friend]

Member Data Documentation


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