|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectmocgraph.Graph
mocgraph.DirectedGraph
mapss.dif.DIFGraph
mapss.dif.csdf.CSDFGraph
public class CSDFGraph
Information associated with an CSDF graph. This class caches frequently-used data associated with CSDF graphs. It is also useful for intermediate CSDF graph representations that do not correspond to Ptolemy II models, and performing graph transformations (e.g. convertion to and manipulation of single-rate graphs). It is intended for use with analysis/synthesis algorithms that operate on generic graph representations of CSDF models.
CSDFGraph nodes and edges have weights of type CSDFNodeWeight
and \
CSDFEdgeWeight
, respectively.
The repetition vector computed in this class is the minimal integer solution of the topology matrix. Which is different from the repetition vector defined in the "Cyclo-static Dataflow" paper by G. Bilsen, M. Engels, R. Lauwereins, and J. Peperstraete. The repetition vector defined in that paper is the "phase" repetition vector.
CSDFEdgeWeight
,
CSDFNodeWeight
Constructor Summary | |
---|---|
CSDFGraph()
Construct an empty CSDF graph. |
|
CSDFGraph(int nodeCount)
Construct an empty CSDF graph with enough storage allocated for the specified number of nodes. |
|
CSDFGraph(int nodeCount,
int edgeCount)
Construct an empty CSDF graph with enough storage allocated for the specified number of edges, and number of nodes. |
Method Summary | |
---|---|
protected java.util.HashMap |
_checkPeriods()
Computes and checks periods of nodes. |
protected int |
_getPeriod(mocgraph.Node node)
Get the period of a CSDF node. |
protected java.util.HashMap |
_getRepetitionsMap(ptolemy.actor.CompositeActor compositeActor)
Compute the repetitions vector assuming that this CSDF graph has been converted from a Ptolemy II SDF model. |
boolean |
checkRepetitions(mocgraph.Node node)
Check node's repetitions. |
java.util.HashMap |
computeRepetitions()
Compute repetitions vector for a given CSDF graph. |
int |
getRepetitions(mocgraph.Node node)
Get the repetition count of a given CSDF node in this graph. |
boolean |
removeNode(mocgraph.Node node)
Remove a node from the CSDF graph. |
void |
setRepetitions(mocgraph.Node node,
int count)
Set repetition counts for a node. |
boolean |
validEdgeWeight(java.lang.Object weight)
Verify edge weight for CSDF graph. |
boolean |
validNodeWeight(java.lang.Object weight)
Verify node weight for CSDF graph. |
Methods inherited from class mocgraph.DirectedGraph |
---|
_connect, _connectedSubGraph, _disconnect, _initializeAnalyses, backwardReachableNodes, backwardReachableNodes, backwardReachableNodes, backwardReachableNodes, cycleNodeCollection, cycleNodes, edgeExists, edgeExists, inputEdgeCount, inputEdges, isAcyclic, outputEdgeCount, outputEdges, predecessorEdges, predecessors, reachableNodes, reachableNodes, reachableNodes, reachableNodes, sccDecomposition, selfLoopEdgeCount, sinkNodeCount, sinkNodes, sourceNodeCount, sourceNodes, subgraphs, successorEdges, successors, toDirectedAcyclicGraph, topologicalSort, topologicalSort, transitiveClosure |
Methods inherited from class mocgraph.Graph |
---|
_addEdge, _connectEdge, _disconnectEdge, _emptyGraph, _registerChange, addAnalysis, addEdge, addEdge, addEdge, addEdges, addGraph, addNode, addNode, addNodes, addNodeWeight, addNodeWeights, changeCount, clone, cloneAs, connectedComponents, containsEdge, containsEdgeWeight, containsNode, containsNodeWeight, edge, edge, edgeCount, edgeLabel, edgeLabel, edges, edges, edges, edgeWeight, hidden, hiddenEdgeCount, hiddenEdges, incidentEdgeCount, incidentEdges, neighborEdges, neighbors, node, node, nodeCount, nodeLabel, nodeLabel, nodes, nodes, nodes, nodeWeight, selfLoopEdgeCount, selfLoopEdges, selfLoopEdges, toString, validateWeight, validateWeight, validateWeight, validateWeight, weightArray |
Methods inherited from class java.lang.Object |
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public CSDFGraph()
public CSDFGraph(int nodeCount)
nodeCount
- The number of nodes.public CSDFGraph(int nodeCount, int edgeCount)
nodeCount
- The integer specifying the number of nodesedgeCount
- The integer specifying the number of edgesMethod Detail |
---|
public boolean checkRepetitions(mocgraph.Node node)
true
if the repetitions
have been evaluated, otherwise false
. This method is
created to cooperate
new node addition.
node
- The given node
true
if repetitions evaluated,
false
otherwisepublic java.util.HashMap computeRepetitions()
Node
as
the key(s) and Integer
as the repetition value(s).
public int getRepetitions(mocgraph.Node node)
node
- The CSDF node.
public boolean removeNode(mocgraph.Node node)
removeNode()
in Graph
. Besides removing
node from graph, it removes the entry of repetitions map.
removeNode
in class DIFGraph
node
- The node to remove
public void setRepetitions(mocgraph.Node node, int count)
node
- The given nodecount
- The given repetition counts
java.lang.IllegalArgumentException
- If the node is not contained in
the graph.
java.lang.RuntimeException
- Graph not connected
java.lang.RuntimeException
- Inconsistent sample ratespublic boolean validEdgeWeight(java.lang.Object weight)
validEdgeWeight
in class DIFGraph
weight
- The edge weight to verify.
public boolean validNodeWeight(java.lang.Object weight)
validNodeWeight
in class DIFGraph
weight
- The node weight to verify.
protected java.util.HashMap _checkPeriods()
protected int _getPeriod(mocgraph.Node node)
protected java.util.HashMap _getRepetitionsMap(ptolemy.actor.CompositeActor compositeActor)
Node
s of the CSDFGraph,
and the values are Integer representations of the associated
repetitions vector values.
compositeActor
- The Ptolemy II representation of the CSDF graph.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |