|
|||||||||
| 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 edges| Method 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()
computeDimensionalitypublic 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 DIFGraphweight - The edge weight to verify.
public boolean validNodeWeight(java.lang.Object weight)
validNodeWeight in class DIFGraphweight - 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 | ||||||||