|
|||||||||
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.mdsdf.MDSDFGraph
public class MDSDFGraph
Information and computations associated with MDSDFGraph. Multidimensional synchronous dataflow is proposed by E. A. Lee and further developed by P. K. Murthy. Please refer to "Multidimensional Synchronous Dataflow" by P. K. Murthy and E. A. Lee.
The algorithm to compute multidimensional repetitions is based on Figure 3.5 in "Software Synthesis from Dataflow Graphs" by S. S. Bhattacharyya, P. K. Murthy, and E. A. Lee, and is modified from that SDF algorithm to support multi-dimensions.
Mix-dimensionality is supported in the MDSDFGraph, which means the multidimensional production rate and consumption rate can have different dimensionality and edges can have different dimensionality.
For synchronizing between mismatched dimensionality, the fewer dimensionality is assumed to be lower ones in the larger dimensionality, and the remaining dimensions are assumed to be 1.
Field Summary | |
---|---|
protected int |
_dimensionality
|
protected java.util.HashMap |
_repetitionMap
|
protected int[][] |
_repetitions
|
Constructor Summary | |
---|---|
MDSDFGraph()
Construct an empty MDSDF graph. |
|
MDSDFGraph(int nodeCount)
Construct an empty MDSDF graph with enough storage allocated for the specified number of nodes. |
|
MDSDFGraph(int nodeCount,
int edgeCount)
Construct an empty MDSDF graph with enough storage allocated for the specified number of edges, and number of nodes. |
Method Summary | |
---|---|
protected boolean |
_checkConsistency()
|
protected void |
_computeNodeRepetition(mocgraph.Node node)
|
int |
computeDimensionality()
Compute the dimensionality of the MDSDF graph. |
java.util.HashMap |
computeRepetitions()
Compute the multidimensional repetitions of the MDSDF graph. |
int |
getDimensionality()
Get the computed dimensionality of the MDSDF graph. |
int[] |
getRepetition(mocgraph.Node node)
Get the computed multidimensional repetition of node. |
java.util.HashMap |
getRepetitions()
Get the computed multidimensional repetitions of the MDSDF graph. |
boolean |
validEdgeWeight(java.lang.Object weight)
Verify edge weight for MDSDF graph. |
boolean |
validNodeWeight(java.lang.Object weight)
Verify node weight for MDSDF 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 |
Field Detail |
---|
protected int _dimensionality
protected java.util.HashMap _repetitionMap
protected int[][] _repetitions
Constructor Detail |
---|
public MDSDFGraph()
public MDSDFGraph(int nodeCount)
nodeCount
- The number of nodes.public MDSDFGraph(int nodeCount, int edgeCount)
nodeCount
- The integer specifying the number of nodesedgeCount
- The integer specifying the number of edgesMethod Detail |
---|
public int computeDimensionality()
public java.util.HashMap computeRepetitions()
HashMap
, i.e.,
Node
to int[].
java.lang.RuntimeException
- If the MDSDF graph is inconsistent.public int getDimensionality()
computeDimensionality
public int[] getRepetition(mocgraph.Node node)
node
-
public java.util.HashMap getRepetitions()
HashMap
, i.e.,
Node
to int[].public 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 boolean _checkConsistency()
protected void _computeNodeRepetition(mocgraph.Node node)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |