#include "base/base.h"
#include "../../csdf.h"
#include "../../csdf.h"
Typedefs | |
typedef CSDFactors | CSDFgraphComponent |
typedef list< CSDFgraphComponent > | CSDFgraphComponents |
typedef CSDFgraphComponents::iterator | CSDFgraphComponentsIter |
typedef CSDFgraphComponents::const_iterator | CSDFgraphComponentsCIter |
Functions | |
CSDFgraphComponents | stronglyConnectedComponents (CSDFgraph *g) |
bool | actorInComponent (CSDFactor *a, CSDFgraphComponent &component) |
bool | isStronglyConnectedGraph (CSDFgraph *g) |
CSDFgraph * | componentToCSDFgraph (CSDFgraphComponent &component) |
Typedef Documentation
typedef CSDFactors CSDFgraphComponent |
CSDFgraphComponent(s) CSDF graph strongly connected component(s)
typedef list<CSDFgraphComponent> CSDFgraphComponents |
typedef CSDFgraphComponents::const_iterator CSDFgraphComponentsCIter |
typedef CSDFgraphComponents::iterator CSDFgraphComponentsIter |
Function Documentation
bool actorInComponent | ( | CSDFactor * | a, | |
CSDFgraphComponent & | component | |||
) |
actorInComponent () The function check wether an actor is in a component. If so, the function returns true. Else it returns false.
References CSDFcomponent::getId().
Referenced by componentToCSDFgraph(), componentToSDFgraph(), makeStronglyConnected(), and sdfComponentToGraph().
CSDFgraph* componentToCSDFgraph | ( | CSDFgraphComponent & | component | ) |
componentToSDFgraph () The function returns an CSDF graph containing all actors and channels inside the component.
componentToSDFgraph () The function returns an SDF graph containing all actors and channels inside the component.
References a, actorInComponent(), c, CSDFgraph::clone(), g, CSDFchannel::getDstActor(), CSDFchannel::getDstPort(), CSDFcomponent::getId(), CSDFcomponent::getName(), CSDFcomponent::getParent(), CSDFchannel::getSrcActor(), CSDFchannel::getSrcPort(), CSDFactor::removePort(), and v.
Referenced by CSDFstateSpaceThroughputAnalysis::analyze().
bool isStronglyConnectedGraph | ( | CSDFgraph * | g | ) |
isStronglyConnectedGraph () The function checks that the graph is a strongly connnected component.
References c, and stronglyConnectedComponents().
Referenced by SDFstateSpaceBindingAwareThroughputAnalysis::analyze(), SDFstateSpaceThroughputAnalysis::analyze(), CSDFstateSpaceThroughputAnalysis::analyze(), SDFstateSpaceSelfTimedMinimalLatencyAnalysis::analyze(), SDFstateSpaceSelfTimedLatencyAnalysis::analyze(), SDFstateSpaceMinimalLatencyAnalysis::analyze(), SDFstateSpaceMinimalLatencyAnalysis::analyzeSingleProc(), makeStronglyConnected(), maximumCycleMeanDasdanGupta(), maximumCycleMeanHoward(), maximumCycleMeanKarp(), maximumCycleYoungTarjanOrlin(), SDFstateSpaceStaticPeriodicSchedulerChao::schedule(), SDFstateSpaceStaticPeriodicScheduler::schedule(), SDFstateSpacePriorityListScheduler::schedule(), SDFstateSpaceListScheduler::schedule(), stateSpaceAbstractDepGraph(), and SDFstateSpaceTraceInterconnectCommunication::trace().
CSDFgraphComponents stronglyConnectedComponents | ( | CSDFgraph * | g | ) |
stronglyConnectedComponents () The function determines the strongly connected components in the graph.
References ASSERT, dfs(), getComponents(), CSDFgraph::nrActors(), and pi.
Referenced by SDFstateSpaceThroughputAnalysis::analyze(), CSDFstateSpaceThroughputAnalysis::analyze(), analyzeSDFG(), distributeInitialTokens(), findSimpleCycle(), findSimpleCycles(), isAcyclic(), isStronglyConnectedGraph(), makeStronglyConnected(), and mcmSimpleCycles().