csdf/base/algo/components.h File Reference

#include "base/base.h"
#include "../../csdf.h"
#include "../../csdf.h"
Include dependency graph for csdf/base/algo/components.h:
This graph shows which files directly or indirectly include this file:

Typedefs

typedef CSDFactors CSDFgraphComponent
typedef list< CSDFgraphComponentCSDFgraphComponents
typedef
CSDFgraphComponents::iterator 
CSDFgraphComponentsIter
typedef
CSDFgraphComponents::const_iterator 
CSDFgraphComponentsCIter

Functions

CSDFgraphComponents stronglyConnectedComponents (CSDFgraph *g)
bool actorInComponent (CSDFactor *a, CSDFgraphComponent &component)
bool isStronglyConnectedGraph (CSDFgraph *g)
CSDFgraphcomponentToCSDFgraph (CSDFgraphComponent &component)

Typedef Documentation

CSDFgraphComponent(s) CSDF graph strongly connected component(s)

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function: