CSDFchannel Class Reference
#include <channel.h>
Public Member Functions | |
CSDFchannel (CSDFcomponent &c) | |
virtual | ~CSDFchannel () |
virtual CSDFchannel * | create (CSDFcomponent &c) const |
virtual CSDFchannel * | createCopy (CSDFcomponent &c) const |
virtual CSDFchannel * | clone (CSDFcomponent &c) const |
void | construct (const CNodePtr channelNode) |
CSDFport * | getSrcPort () const |
CSDFport * | getDstPort () const |
CSDFactor * | getSrcActor () const |
CSDFactor * | getDstActor () const |
void | connectSrc (CSDFport *p) |
void | connectDst (CSDFport *p) |
CSDFport * | oppositePort (CSDFport *p) const |
uint | getInitialTokens () const |
void | setInitialTokens (const uint t) |
bool | isConnected () const |
CSDFgraph * | getGraph () const |
ostream & | print (ostream &out) |
Private Attributes | |
CSDFport * | src |
CSDFport * | dst |
uint | initialTokens |
Friends | |
ostream & | operator<< (ostream &out, CSDFchannel &c) |
Detailed Description
CSDFchannel CSDF channel.
Constructor & Destructor Documentation
CSDFchannel::CSDFchannel | ( | CSDFcomponent & | c | ) |
CSDFchannel () Constructor.
Referenced by clone(), create(), and createCopy().
CSDFchannel::~CSDFchannel | ( | ) | [virtual] |
~CSDFchannel () Destructor.
Member Function Documentation
CSDFchannel * CSDFchannel::clone | ( | CSDFcomponent & | c | ) | const [virtual] |
clone () The function returns a pointer to a newly allocated CSDF channel object. All properties and the connection of the channel are cloned.
Reimplemented in TimedCSDFchannel.
References connectDst(), connectSrc(), CSDFchannel(), CSDFgraph::getActor(), getDstActor(), getDstPort(), getGraph(), getInitialTokens(), CSDFcomponent::getName(), CSDFactor::getPort(), getSrcActor(), getSrcPort(), setInitialTokens(), and CSDFcomponent::setName().
void CSDFchannel::connectDst | ( | CSDFport * | p | ) |
connectDst () The function connects the channel to a destination port and port to channel.
References CSDFport::connectToChannel(), dst, getDstPort(), CSDFcomponent::getName(), and CSDFport::getType().
Referenced by clone(), TimedCSDFchannel::clone(), construct(), CSDFgraph::createChannel(), and TimedCSDFgraph::createChannel().
void CSDFchannel::connectSrc | ( | CSDFport * | p | ) |
connectSrc () The function connects the channel to a source port and port to channel.
References CSDFport::connectToChannel(), CSDFcomponent::getName(), getSrcPort(), CSDFport::getType(), and src.
Referenced by clone(), TimedCSDFchannel::clone(), construct(), CSDFgraph::createChannel(), and TimedCSDFgraph::createChannel().
void CSDFchannel::construct | ( | const CNodePtr | channelNode | ) |
construct () The function initializes all channel properties based on the XML data.
References c, CGetAttribute(), CHasAttribute(), connectDst(), connectSrc(), g, CSDFgraph::getActor(), getGraph(), CSDFactor::getPort(), setInitialTokens(), and CSDFcomponent::setName().
Referenced by constructCSDFgraph(), and constructTimedCSDFgraphStructure().
CSDFchannel * CSDFchannel::create | ( | CSDFcomponent & | c | ) | const [virtual] |
create () The function returns a pointer to a newly allocated CSDF channel object.
Reimplemented in TimedCSDFchannel.
References CSDFchannel().
CSDFchannel * CSDFchannel::createCopy | ( | CSDFcomponent & | c | ) | const [virtual] |
createCopy () The function returns a pointer to a newly allocated CSDF channel object. All properties of the channel are copied.
Reimplemented in TimedCSDFchannel.
References CSDFchannel(), CSDFcomponent::getName(), and CSDFcomponent::setName().
CSDFactor* CSDFchannel::getDstActor | ( | ) | const [inline] |
References dst, and getDstPort().
Referenced by CSDFstateSpaceBufferAnalysis::TransitionSystem::analyzeDeadlock(), clone(), TimedCSDFchannel::clone(), componentToCSDFgraph(), createCSDFnode(), CSDFstateSpaceBufferAnalysis::TransitionSystem::dfsVisitDependencies(), CSDFstateSpaceBufferAnalysis::exploreStorageDistribution(), CSDFstateSpaceBufferAnalysis::TransitionSystem::findCausalDependencies(), getAdjacentActors(), getLbDistributionSz(), CSDFstateSpaceBufferAnalysis::initMinimalChannelSz(), print(), TimedCSDFchannel::print(), printDefinitions(), and printMinimalChannelSz().
CSDFport* CSDFchannel::getDstPort | ( | ) | const [inline] |
References dst.
Referenced by CSDFstateSpaceBufferAnalysis::TransitionSystem::analyzeDeadlock(), clone(), TimedCSDFchannel::clone(), componentToCSDFgraph(), computeGraphPeriod(), connectDst(), createCSDFnode(), getDstActor(), getLbDistributionSz(), CSDFgraph::getRepetitionVector(), CSDFstateSpaceBufferAnalysis::initMinimalChannelSz(), CSDFstateSpaceBufferAnalysis::initMinimalChannelSzStep(), isConnected(), print(), TimedCSDFchannel::print(), printDefinitions(), printMinimalChannelSz(), and printMinimalChannelSzStep().
CSDFgraph* CSDFchannel::getGraph | ( | ) | const [inline] |
References CSDFcomponent::getParent().
Referenced by clone(), TimedCSDFchannel::clone(), and construct().
uint CSDFchannel::getInitialTokens | ( | ) | const [inline] |
References initialTokens.
Referenced by clone(), TimedCSDFchannel::clone(), createCSDFnode(), CSDFstateSpaceThroughputAnalysis::TransitionSystem::execCSDFgraph(), CSDFstateSpaceBufferAnalysis::TransitionSystem::execCSDFgraph(), getLbDistributionSz(), CSDFstateSpaceBufferAnalysis::initMinimalChannelSz(), print(), TimedCSDFchannel::print(), printDefinitions(), and printMinimalChannelSz().
CSDFactor* CSDFchannel::getSrcActor | ( | ) | const [inline] |
References getSrcPort(), and src.
Referenced by CSDFstateSpaceBufferAnalysis::TransitionSystem::analyzeDeadlock(), clone(), TimedCSDFchannel::clone(), componentToCSDFgraph(), createCSDFnode(), CSDFstateSpaceBufferAnalysis::TransitionSystem::dfsVisitDependencies(), CSDFstateSpaceBufferAnalysis::exploreStorageDistribution(), CSDFstateSpaceBufferAnalysis::TransitionSystem::findCausalDependencies(), getAdjacentActors(), getLbDistributionSz(), CSDFstateSpaceBufferAnalysis::initMinimalChannelSz(), print(), TimedCSDFchannel::print(), printDefinitions(), and printMinimalChannelSz().
CSDFport* CSDFchannel::getSrcPort | ( | ) | const [inline] |
References src.
Referenced by CSDFstateSpaceBufferAnalysis::TransitionSystem::analyzeDeadlock(), clone(), TimedCSDFchannel::clone(), componentToCSDFgraph(), computeGraphPeriod(), connectSrc(), createCSDFnode(), getLbDistributionSz(), CSDFgraph::getRepetitionVector(), getSrcActor(), CSDFstateSpaceBufferAnalysis::initMinimalChannelSz(), CSDFstateSpaceBufferAnalysis::initMinimalChannelSzStep(), isConnected(), print(), TimedCSDFchannel::print(), printDefinitions(), printMinimalChannelSz(), and printMinimalChannelSzStep().
bool CSDFchannel::isConnected | ( | ) | const |
isConnected () The function returns true if the channel is connected to a source and destination port.
References getDstPort(), and getSrcPort().
Referenced by CSDFgraph::isConnected(), print(), and TimedCSDFchannel::print().
Referenced by CSDFgraph::calcFractionsConnectedActors().
ostream & CSDFchannel::print | ( | ostream & | out | ) |
print () Print the channel to the supplied output stream.
Reimplemented in TimedCSDFchannel.
References getDstActor(), getDstPort(), CSDFcomponent::getId(), getInitialTokens(), CSDFcomponent::getName(), getSrcActor(), getSrcPort(), and isConnected().
Referenced by CSDFgraph::print().
void CSDFchannel::setInitialTokens | ( | const uint | t | ) | [inline] |
References initialTokens.
Referenced by addCSDFchannelToGraph(), clone(), TimedCSDFchannel::clone(), and construct().
Friends And Related Function Documentation
ostream& operator<< | ( | ostream & | out, | |
CSDFchannel & | c | |||
) | [friend] |
Member Data Documentation
CSDFport* CSDFchannel::dst [private] |
Referenced by connectDst(), getDstActor(), getDstPort(), and oppositePort().
uint CSDFchannel::initialTokens [private] |
Referenced by getInitialTokens(), and setInitialTokens().
CSDFport* CSDFchannel::src [private] |
Referenced by connectSrc(), getSrcActor(), getSrcPort(), and oppositePort().
The documentation for this class was generated from the following files: