CSDFgraph Class Reference
#include <graph.h>
Detailed Description
CSDFgraph Container for CSDF graph.
Member Typedef Documentation
typedef std::vector<int> CSDFgraph::RepetitionVector |
typedef RepetitionVector::const_iterator CSDFgraph::RepetitonVectorCIter |
typedef RepetitionVector::iterator CSDFgraph::RepetitonVectorIter |
Constructor & Destructor Documentation
CSDFgraph::CSDFgraph | ( | CSDFcomponent & | c | ) |
CSDFgraph () Constructor.
Referenced by clone(), create(), and createCopy().
CSDFgraph::~CSDFgraph | ( | ) | [virtual] |
Member Function Documentation
CSDFactorsIter CSDFgraph::actorsBegin | ( | ) | [inline] |
References actors.
Referenced by CSDFstateSpaceThroughputAnalysis::analyze(), CSDFstateSpaceBufferAnalysis::TransitionSystem::analyzePeriodicPhase(), TimedCSDFgraph::clone(), computeGraphPeriod(), createCSDFnode(), createCSDFpropertiesNode(), CSDFstateSpaceThroughputAnalysis::TransitionSystem::execCSDFgraph(), CSDFstateSpaceBufferAnalysis::TransitionSystem::execCSDFgraph(), generateCSDFgraph(), getOutputActor(), getOutputActorRepCnt(), CSDFstateSpaceThroughputAnalysis::TransitionSystem::initOutputActor(), CSDFstateSpaceBufferAnalysis::TransitionSystem::initOutputActor(), TimedCSDFgraph::print(), and printDefinitions().
CSDFactorsCIter CSDFgraph::actorsBegin | ( | ) | const [inline] |
References actors.
CSDFactorsIter CSDFgraph::actorsEnd | ( | ) | [inline] |
References actors.
Referenced by CSDFstateSpaceThroughputAnalysis::analyze(), CSDFstateSpaceBufferAnalysis::TransitionSystem::analyzePeriodicPhase(), TimedCSDFgraph::clone(), computeGraphPeriod(), createCSDFnode(), createCSDFpropertiesNode(), CSDFstateSpaceThroughputAnalysis::TransitionSystem::execCSDFgraph(), CSDFstateSpaceBufferAnalysis::TransitionSystem::execCSDFgraph(), generateCSDFgraph(), getOutputActor(), getOutputActorRepCnt(), CSDFstateSpaceThroughputAnalysis::TransitionSystem::initOutputActor(), CSDFstateSpaceBufferAnalysis::TransitionSystem::initOutputActor(), TimedCSDFgraph::print(), and printDefinitions().
CSDFactorsCIter CSDFgraph::actorsEnd | ( | ) | const [inline] |
References actors.
void CSDFgraph::addActor | ( | CSDFactor * | a | ) |
addActor () Add an actor to a graph.
References actors.
Referenced by clone(), TimedCSDFgraph::clone(), constructCSDFgraph(), constructTimedCSDFgraphStructure(), createActor(), and TimedCSDFgraph::createActor().
void CSDFgraph::addChannel | ( | CSDFchannel * | c | ) |
addChannel () Add a channel to a graph.
References channels.
Referenced by clone(), TimedCSDFgraph::clone(), constructCSDFgraph(), constructTimedCSDFgraphStructure(), createChannel(), and TimedCSDFgraph::createChannel().
void CSDFgraph::calcFractionsConnectedActors | ( | CFractions & | fractions, | |
CSDFactor * | a, | |||
uint | ratePeriod | |||
) | [private] |
calcFractionsConnectedActors () The function calculates and firing ration (as fractions) of all actors connected to actor 'a' based on its firing rate. In case of an inconsistent graph, all fractions are set to 0.
References c, CSDFport::getActor(), CSDFport::getChannel(), CSDFcomponent::getId(), CSDFport::getRate(), CSDFchannel::oppositePort(), CSDFactor::portsBegin(), CSDFactor::portsEnd(), and CSequence< T >::size().
Referenced by getRepetitionVector().
CSDFgraph::RepetitionVector CSDFgraph::calcRepetitionVector | ( | CFractions & | fractions, | |
uint | ratePeriod | |||
) | [private] |
References CFraction::denominator(), g, gcd(), and lcm().
Referenced by getRepetitionVector().
CSDFchannelsIter CSDFgraph::channelsBegin | ( | ) | [inline] |
References channels.
Referenced by CSDFstateSpaceThroughputAnalysis::analyze(), CSDFstateSpaceBufferAnalysis::TransitionSystem::analyzeDeadlock(), TimedCSDFgraph::clone(), computeGraphPeriod(), createCSDFnode(), createCSDFpropertiesNode(), CSDFstateSpaceBufferAnalysis::TransitionSystem::dfsVisitDependencies(), CSDFstateSpaceThroughputAnalysis::TransitionSystem::execCSDFgraph(), CSDFstateSpaceBufferAnalysis::TransitionSystem::execCSDFgraph(), getLbDistributionSz(), CSDFstateSpaceBufferAnalysis::initMinimalChannelSz(), CSDFstateSpaceBufferAnalysis::initMinimalChannelSzStep(), TimedCSDFgraph::print(), printDefinitions(), printMinimalChannelSz(), and printMinimalChannelSzStep().
CSDFchannelsCIter CSDFgraph::channelsBegin | ( | ) | const [inline] |
References channels.
CSDFchannelsIter CSDFgraph::channelsEnd | ( | ) | [inline] |
References channels.
Referenced by CSDFstateSpaceThroughputAnalysis::analyze(), CSDFstateSpaceBufferAnalysis::TransitionSystem::analyzeDeadlock(), TimedCSDFgraph::clone(), computeGraphPeriod(), createCSDFnode(), createCSDFpropertiesNode(), CSDFstateSpaceBufferAnalysis::TransitionSystem::dfsVisitDependencies(), CSDFstateSpaceThroughputAnalysis::TransitionSystem::execCSDFgraph(), CSDFstateSpaceBufferAnalysis::TransitionSystem::execCSDFgraph(), getLbDistributionSz(), CSDFstateSpaceBufferAnalysis::initMinimalChannelSz(), CSDFstateSpaceBufferAnalysis::initMinimalChannelSzStep(), TimedCSDFgraph::print(), printDefinitions(), printMinimalChannelSz(), and printMinimalChannelSzStep().
CSDFchannelsCIter CSDFgraph::channelsEnd | ( | ) | const [inline] |
References channels.
CSDFgraph * CSDFgraph::clone | ( | CSDFcomponent & | c | ) | const [virtual] |
clone () The function returns a pointer to a newly allocated CSDF graph object. All properties, actors and channels of the graph are cloned.
Reimplemented in TimedCSDFgraph.
References a, actors, addActor(), addChannel(), channels, component, CSDFcomponent::CSDFcomponent(), CSDFgraph(), g, CSDFcomponent::getName(), getType(), nrActors(), nrChannels(), CSDFcomponent::setName(), and setType().
Referenced by componentToCSDFgraph().
void CSDFgraph::construct | ( | const CNodePtr | graphNode | ) |
construct () The function initializes all actor properties based on the XML data.
References CGetAttribute(), CHasAttribute(), g, CSDFcomponent::setName(), and setType().
Referenced by constructCSDFgraph(), and constructTimedCSDFgraphStructure().
CSDFgraph * CSDFgraph::create | ( | CSDFcomponent & | c | ) | const [virtual] |
create () The function returns a pointer to a newly allocated CSDF graph object.
Reimplemented in TimedCSDFgraph.
References CSDFgraph().
CSDFactor * CSDFgraph::createActor | ( | ) | [virtual] |
createActor () Create a new actor on the graph.
Reimplemented in TimedCSDFgraph.
References a, addActor(), c, CSDFcomponent::CSDFcomponent(), nrActors(), and CSDFcomponent::setName().
CSDFactor * CSDFgraph::createActor | ( | CSDFcomponent & | c | ) | [virtual] |
createActor () Create a new actor on the graph.
Reimplemented in TimedCSDFgraph.
References a, and addActor().
CSDFchannel * CSDFgraph::createChannel | ( | CSDFcomponent & | c | ) | [virtual] |
createChannel () Create a new channel on the graph.
Reimplemented in TimedCSDFgraph.
References addChannel().
Referenced by createChannel().
CSDFchannel * CSDFgraph::createChannel | ( | CSDFactor * | src, | |
CSDFrate | rateSrc, | |||
CSDFactor * | dst, | |||
CSDFrate | rateDst | |||
) |
createChannel () The function creates a channel between the source and destination actor. Ports with the supplied rates are added to these actors.
Reimplemented in TimedCSDFgraph.
References c, CSDFchannel::connectDst(), CSDFchannel::connectSrc(), createChannel(), CSDFactor::createPort(), CSDFcomponent::CSDFcomponent(), nrChannels(), CSDFactor::nrPorts(), and CSDFcomponent::setName().
CSDFgraph * CSDFgraph::createCopy | ( | CSDFcomponent & | c | ) | const [virtual] |
createCopy () The function returns a pointer to a newly allocated CSDF graph object. All properties of the graph are copied.
Reimplemented in TimedCSDFgraph.
References CSDFgraph(), g, CSDFcomponent::getName(), getType(), CSDFcomponent::setName(), and setType().
getActor () The function returns a reference to an actor with the given name.
References a, actors, and CSDFcomponent::getName().
getActor () The function returns a reference to an actor with the given id.
References a, actors, CSDFcomponent::getId(), and CSDFcomponent::getName().
Referenced by addCSDFchannelToGraph(), analyzeCSDFG(), CSDFchannel::clone(), TimedCSDFchannel::clone(), CSDFchannel::construct(), constructTimedCSDFgraph(), getComponents(), and treeVisitChildren().
CSDFactors& CSDFgraph::getActors | ( | ) | [inline] |
CSDFchannel * CSDFgraph::getChannel | ( | const CId | id | ) |
getChannel () The function returns a reference to a channel with the given id.
References c, channels, CSDFcomponent::getId(), and CSDFcomponent::getName().
Referenced by analyzeCSDFG(), constructTimedCSDFgraph(), and CSDFstateSpaceBufferAnalysis::exploreStorageDistribution().
CSDFchannel * CSDFgraph::getChannel | ( | const CString & | name | ) |
getChannel () The function returns a reference to a channel with the given name.
References c, channels, and CSDFcomponent::getName().
CSDFchannels& CSDFgraph::getChannels | ( | ) | [inline] |
References channels.
CSDFgraph::RepetitionVector CSDFgraph::getRepetitionVector | ( | ) | [virtual] |
getRepetitionVector () The function calculates and returns the repetition vector of the graph.
References a, actors, c, calcFractionsConnectedActors(), calcRepetitionVector(), channels, CSDFchannel::getDstPort(), CSDFcomponent::getId(), CSDFport::getRate(), CSDFchannel::getSrcPort(), lcm(), nrActors(), and CSequence< T >::size().
Referenced by CSDFstateSpaceThroughputAnalysis::analyze(), analyzeCSDFG(), computeNrActorsHSDFG(), getOutputActor(), getOutputActorRepCnt(), CSDFstateSpaceThroughputAnalysis::TransitionSystem::initOutputActor(), CSDFstateSpaceBufferAnalysis::TransitionSystem::initOutputActor(), and isConsistent().
CString CSDFgraph::getType | ( | ) | const [inline] |
References type.
Referenced by clone(), createCopy(), TimedCSDFgraph::createCopy(), createCSDFnode(), print(), and TimedCSDFgraph::print().
bool CSDFgraph::isConnected | ( | ) | const |
isConnected () The function returns true if all actor ports are connected to a channel and all channels are connected to a port. Else it returns false.
References a, actors, c, channels, CSDFchannel::isConnected(), and CSDFactor::isConnected().
bool CSDFgraph::isConsistent | ( | ) |
isConsistent () The function returns true if the graph is consistent (i.e. the repetition vector is non-zero). Else, it returns false.
References getRepetitionVector().
Referenced by analyzeCSDFG().
uint CSDFgraph::nrActors | ( | ) | const [inline] |
References actors.
Referenced by CSDFstateSpaceBufferAnalysis::TransitionSystem::analyzeDeadlock(), CSDFstateSpaceBufferAnalysis::TransitionSystem::analyzePeriodicPhase(), CSDFstateSpaceThroughputAnalysis::TransitionSystem::clockStep(), CSDFstateSpaceBufferAnalysis::TransitionSystem::clockStep(), clone(), TimedCSDFgraph::clone(), createActor(), TimedCSDFgraph::createActor(), dfs(), CSDFstateSpaceBufferAnalysis::TransitionSystem::dfsVisitDependencies(), CSDFstateSpaceThroughputAnalysis::TransitionSystem::execCSDFgraph(), CSDFstateSpaceBufferAnalysis::TransitionSystem::execCSDFgraph(), CSDFstateSpaceBufferAnalysis::TransitionSystem::findStorageDependencies(), getComponents(), getRepetitionVector(), printDefinitions(), stronglyConnectedComponents(), and treeVisitChildren().
uint CSDFgraph::nrChannels | ( | ) | const [inline] |
References channels.
Referenced by CSDFstateSpaceBufferAnalysis::addStorageDistributionToChecklist(), CSDFstateSpaceThroughputAnalysis::analyze(), analyzeCSDFG(), CSDFstateSpaceBufferAnalysis::TransitionSystem::analyzePeriodicPhase(), clone(), TimedCSDFgraph::clone(), createChannel(), TimedCSDFgraph::createChannel(), CSDFstateSpaceThroughputAnalysis::TransitionSystem::execCSDFgraph(), CSDFstateSpaceBufferAnalysis::TransitionSystem::execCSDFgraph(), CSDFstateSpaceBufferAnalysis::execStorageDistribution(), CSDFstateSpaceBufferAnalysis::exploreStorageDistribution(), CSDFstateSpaceBufferAnalysis::findMinimalStorageDistributions(), CSDFstateSpaceBufferAnalysis::findNextStorageDistributionSet(), CSDFstateSpaceBufferAnalysis::TransitionSystem::findStorageDependencies(), CSDFstateSpaceBufferAnalysis::initLbDistributionSz(), CSDFstateSpaceBufferAnalysis::initMinimalChannelSz(), CSDFstateSpaceBufferAnalysis::initMinimalChannelSzStep(), CSDFstateSpaceBufferAnalysis::initSearch(), CSDFstateSpaceBufferAnalysis::newStorageDistribution(), and printDefinitions().
ostream & CSDFgraph::print | ( | ostream & | out | ) |
print () Print the graph to the supplied output stream.
Reimplemented in TimedCSDFgraph.
References a, actors, c, channels, CSDFcomponent::getId(), CSDFcomponent::getName(), getType(), CSDFchannel::print(), and CSDFactor::print().
void CSDFgraph::removeActor | ( | const CString & | name | ) |
removeActor () Remove an actor from a graph.
References a, actors, and CSDFcomponent::getName().
void CSDFgraph::removeChannel | ( | const CString & | name | ) |
removeChannel () Remove a channel from a graph.
References c, channels, and CSDFcomponent::getName().
void CSDFgraph::setType | ( | const CString & | t | ) | [inline] |
References type.
Referenced by clone(), construct(), createCopy(), and TimedCSDFgraph::createCopy().
Friends And Related Function Documentation
ostream& operator<< | ( | ostream & | out, | |
CSDFgraph & | g | |||
) | [friend] |
Member Data Documentation
CSDFactors CSDFgraph::actors [private] |
Referenced by actorsBegin(), actorsEnd(), addActor(), clone(), getActor(), getActors(), getRepetitionVector(), isConnected(), nrActors(), print(), removeActor(), and ~CSDFgraph().
CSDFchannels CSDFgraph::channels [private] |
Referenced by addChannel(), channelsBegin(), channelsEnd(), clone(), getChannel(), getChannels(), getRepetitionVector(), isConnected(), nrChannels(), print(), removeChannel(), and ~CSDFgraph().
CString CSDFgraph::type [private] |
The documentation for this class was generated from the following files: