mapss.dif.csdf.sdf
Class SingleRateGraph

java.lang.Object
  extended by mocgraph.Graph
      extended by mocgraph.DirectedGraph
          extended by mapss.dif.DIFGraph
              extended by mapss.dif.csdf.CSDFGraph
                  extended by mapss.dif.csdf.sdf.SDFGraph
                      extended by mapss.dif.csdf.sdf.SingleRateGraph
All Implemented Interfaces:
java.lang.Cloneable
Direct Known Subclasses:
HSDFGraph

public class SingleRateGraph
extends SDFGraph

Information associated with a single rate SDF graph. This class caches frequently-used data associated with single rate SDF graphs. Single rate graphs are special cases of SDF Graphs in which the SDF production and consumption rates on its edges are equal. In other words all elements of the repetition vector are identically equal to one. These graphs are a minor generalization of HSDF graphs. This class is intended for use with analysis/synthesis algorithms that operate on single rate SDF Graphs.

SingleRateGraph nodes and edges have weights of type SDFNodeWeight and SingleRateEdgeWeight, respectively.

Version:
$Id: SingleRateGraph.java 406 2007-05-10 14:27:07Z plishker $
Author:
Shahrooz Shahparnia
See Also:
SingleRateEdgeWeight

Constructor Summary
SingleRateGraph()
          Construct an empty single rate graph.
SingleRateGraph(int nodeCount)
          Construct an empty single rate graph with enough storage allocated for the specified number of nodes.
SingleRateGraph(int nodeCount, int edgeCount)
          Construct an empty single rate graph with enough storage allocated for the specified number of edges, and number of nodes.
 
Method Summary
 boolean validEdgeWeight(java.lang.Object weight)
          Verify node weight for single rate graph.
 
Methods inherited from class mapss.dif.csdf.sdf.SDFGraph
ABMLB, ABMLB, BMLB, BMLB, BMUB, BMUB, clusterRepetitions, maxRate, rateOneRatio, TNSE, validNodeWeight
 
Methods inherited from class mapss.dif.csdf.CSDFGraph
_checkPeriods, _getPeriod, _getRepetitionsMap, checkRepetitions, computeRepetitions, getRepetitions, removeNode, setRepetitions
 
Methods inherited from class mapss.dif.DIFGraph
_getAttributeContainer, _registerEdge, _registerNode, _removeAttributeContainer, _removeReferenceFromAttributes, _setAttributeContainer, addEdge, addEdge, equals, getAttribute, getAttribute, getAttributeByContent, getAttributeByContent, getAttributeDescriptions, getAttributeDescriptions, getAttributeNames, getAttributeNames, getAttributes, getAttributes, getAttributesByContent, getAttributesByContent, getEdge, getName, getName, getNode, getObject, getParameter, getParameterNames, getParameters, hashCode, hideEdge, mergeGraph, mirror, mirror, removeAllAttributes, removeAllAttributes, removeAttribute, removeAttribute, removeAttribute, removeAttribute, removeEdge, removeParameter, restoreEdge, setAttribute, setAttribute, setName, setName, setParameter, subgraph, subgraph
 
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

SingleRateGraph

public SingleRateGraph()
Construct an empty single rate graph.


SingleRateGraph

public SingleRateGraph(int nodeCount)
Construct an empty single rate graph with enough storage allocated for the specified number of nodes.

Parameters:
nodeCount - The number of nodes.

SingleRateGraph

public SingleRateGraph(int nodeCount,
                       int edgeCount)
Construct an empty single rate graph with enough storage allocated for the specified number of edges, and number of nodes.

Parameters:
nodeCount - The integer specifying the number of nodes
edgeCount - The integer specifying the number of edges
Method Detail

validEdgeWeight

public boolean validEdgeWeight(java.lang.Object weight)
Verify node weight for single rate graph.

Overrides:
validEdgeWeight in class SDFGraph
Parameters:
weight - The node weight to verify.
Returns:
True if the given node weight is valid for a single rate graph.