mcmhoward.cc File Reference

#include "mcmgraph.h"
#include "../../base/hsdf/check.h"
#include "../../base/algo/components.h"
#include <stdlib.h>
#include <stddef.h>
#include <stdio.h>
#include <math.h>
Include dependency graph for mcmhoward.cc:

Defines

#define MAX_NIterations   1000
#define EPSILON   -HUGE_VAL

Functions

static void Epsilon (double *a, int narcs, double *epsilon)
static void Initial_Policy ()
static void New_Build_Inverse ()
static void Init_Depth_First ()
static void New_Depth_First_Label (int i)
static void Visit_From (int initialpoint, int color)
static void Value ()
static void Init_Improve ()
static void First_Order_Improvement (int *improved)
static void Second_Order_Improvement (int *improved)
static void Improve (int *improved)
static void Allocate_Memory ()
static void Free_Memory ()
static void Check_Rows ()
static void Security_Check ()
static void Import_Arguments (int *IJ, double *A, int NNODES, int NARCS, double *CHI, double *V, int *POLICY, int *NITERATIONS, int *NCOMPONENTS)
static void Update_Policy ()
static void End_Message ()
static void Howard (int *IJ, double *A, int NNODES, int NARCS, double *CHI, double *V, int *POLICY, int *NITERATIONS, int *NCOMPONENTS)
static void convertMCMgraphToMatrix (MCMgraph *g, int *IJ, double *A)
static CFraction mcmHoward (TimedSDFgraph *g)
CFraction maximumCycleMeanHoward (TimedSDFgraph *g)

Variables

static int * ij
static double * a
static int nnodes
static int narcs
static double * chi
static double * v
static int * pi
static int * NIterations
static int * NComponents
static int * newpi = NULL
static int * piinv_idx = NULL
static int * piinv_succ = NULL
static int * piinv_elem = NULL
static int * piinv_last = NULL
static double * c = NULL
static double * vaux = NULL
static double * newc = NULL
static double * newchi = NULL
static int * visited = NULL
static int * component = NULL
static double lambda = 0
static double epsilon = 0
static int color = 1

Define Documentation

#define EPSILON   -HUGE_VAL

Referenced by Initial_Policy().

#define MAX_NIterations   1000

Referenced by End_Message(), and Howard().


Function Documentation

static void Allocate_Memory (  )  [static]
static void Check_Rows (  )  [static]

References ij, narcs, and nnodes.

Referenced by Security_Check().

static void convertMCMgraphToMatrix ( MCMgraph g,
int *  IJ,
double *  A 
) [static]

convertMCMgraphToMatrix () The function converts a weighted directed graph used in the MCM algorithms to a sparse amtrix input for Howard's algorithm.

References _MCMedge::dst, MCMgraph::edges, _MCMnode::id, MCMgraph::nodes, _MCMedge::src, _MCMedge::visible, _MCMnode::visible, and _MCMedge::w.

Referenced by mcmHoward().

static void End_Message (  )  [static]

References MAX_NIterations, and NIterations.

Referenced by Howard().

static void Epsilon ( double *  a,
int  narcs,
double *  epsilon 
) [static]

Epsilon () The termination tests are performed up to an epsilon constant, which is fixed heuristically by the following routine.

Referenced by Howard().

static void First_Order_Improvement ( int *  improved  )  [static]

References a, chi, ij, narcs, newc, newchi, and newpi.

Referenced by Improve().

static void Free_Memory (  )  [static]
static void Howard ( int *  IJ,
double *  A,
int  NNODES,
int  NARCS,
double *  CHI,
double *  V,
int *  POLICY,
int *  NITERATIONS,
int *  NCOMPONENTS 
) [static]

Howard () Howard Policy Iteration Algorithm for Max Plus Matrices.

INPUT of Howard Algorithm: ij,A,nnodes,narcs : sparse description of a matrix.

OUTPUT: chi cycle time vector v bias pi optimal policy NIterations: Number of iterations of the algorithm NComponents: Number of connected components of the optimal policy

REQUIRES: O(nnodes) SPACE One iteration requires: O(narcs+nnodes) TIME

The following variables should be defined in the environment from which the Howard routine is called.

INPUT VARIABLES int NNODES; number of nodes of the graph int NARCS; number of arcs of the graph int *IJ; array of integers of size 2*narcs for (0 <=k <narcs), the arc numbered k goes from IJ[k][0] =(IJ[2k]) to IJ[k][1] (=IJ[2k+1]) double *A; array of double of size narcs A[k]=weight of the arc numbered k

OUTPUT VARIABLES double *V; array of double of size nnodes (the bias vector) double *CHI; array of double of size nnodes (the cycle time vector) int *POLICY; array of integer of size nnodes (an optimal policy) int NITERATIONS; the number of iterations of the algorithm int NCOMPONENTS; the number of connected components of the optimal policy which is returned.

References a, Allocate_Memory(), End_Message(), epsilon, Epsilon(), Free_Memory(), Import_Arguments(), Improve(), Initial_Policy(), MAX_NIterations, narcs, New_Build_Inverse(), NIterations, Security_Check(), Update_Policy(), and Value().

Referenced by mcmHoward().

Here is the call graph for this function:

static void Import_Arguments ( int *  IJ,
double *  A,
int  NNODES,
int  NARCS,
double *  CHI,
double *  V,
int *  POLICY,
int *  NITERATIONS,
int *  NCOMPONENTS 
) [static]

References a, chi, ij, narcs, NComponents, NIterations, nnodes, pi, and v.

Referenced by Howard().

static void Improve ( int *  improved  )  [static]

References First_Order_Improvement(), Init_Improve(), NComponents, and Second_Order_Improvement().

Referenced by Howard().

Here is the call graph for this function:

static void Init_Depth_First (  )  [static]

References component, nnodes, and visited.

Referenced by Value().

static void Init_Improve (  )  [static]

References c, chi, newc, newchi, newpi, nnodes, pi, v, and vaux.

Referenced by Improve().

static void Initial_Policy (  )  [static]

Initial_Policy Build an admissible policy pi and its associated cost vector c from ij and A. Reasonable greedy rule to determine the first policy. pi(node i) = arc with maximal weigth starting from i for full random matrices, this choice of initial policy seems to cut the number of iterations by a factor 1.5, by comparison with a random initial policy.

References a, c, EPSILON, ij, narcs, nnodes, pi, and vaux.

Referenced by Howard().

CFraction maximumCycleMeanHoward ( TimedSDFgraph g  ) 

maximumCycleMeanHoward () The function computes the maximum cycle mean of a HSDF graph using Howard's algorithm.

References isHSDFgraph(), isStronglyConnectedGraph(), and mcmHoward().

Referenced by analyzeSDFG().

Here is the call graph for this function:

static CFraction mcmHoward ( TimedSDFgraph g  )  [static]

mcmHoward () The function computes the maximum cycle mean of a HSDF graph using Howard's algorithm.

References chi, convertMCMgraphToMatrix(), Howard(), MCMgraph::nrEdges(), MCMgraph::nrNodes(), stronglyConnectedMCMgraph(), transformHSDFtoMCMgraph(), and v.

Referenced by maximumCycleMeanHoward().

Here is the call graph for this function:

static void New_Build_Inverse (  )  [static]

References nnodes, pi, piinv_elem, piinv_idx, piinv_last, and piinv_succ.

Referenced by Howard().

static void New_Depth_First_Label ( int  i  )  [static]

Given the value of v at initial point i, we compute v[j] for all predecessor j of i, according to the spectral equation, v[j]+ lambda = A(arc from j to i) v[i] the array visited is changed by side effect.

References a, c, chi, color, component, lambda, piinv_elem, piinv_idx, piinv_succ, v, and visited.

Referenced by Visit_From().

static void Second_Order_Improvement ( int *  improved  )  [static]

References a, chi, epsilon, ij, narcs, NComponents, newc, newchi, newpi, v, and vaux.

Referenced by Improve().

static void Security_Check (  )  [static]

References Check_Rows(), narcs, and nnodes.

Referenced by Howard().

Here is the call graph for this function:

static void Update_Policy (  )  [static]

References c, newc, newpi, nnodes, pi, v, and vaux.

Referenced by Howard().

static void Value (  )  [static]

Value() Computes the value (v,chi) associated with a policy pi.

References color, component, Init_Depth_First(), NComponents, nnodes, and Visit_From().

Referenced by Howard(), and SparseMatrix::set().

Here is the call graph for this function:

static void Visit_From ( int  initialpoint,
int  color 
) [static]

References c, chi, component, lambda, New_Depth_First_Label(), pi, v, and vaux.

Referenced by Value().

Here is the call graph for this function:


Variable Documentation

double* a [static]

Referenced by SDFstateSpaceBufferAnalysisNingGao::addStorageDistributionToChecklist(), LoadBalanceBinding::allocateTDMAtimeSlices(), SDFstateSpaceMinimalLatencyAnalysis::analyze(), SDFstateSpaceBufferAnalysisNingGao::TransitionSystem::analyzePeriodicPhase(), analyzePeriodicPhase(), SDFstateSpaceBufferAnalysis::TransitionSystem::analyzePeriodicPhase(), CSDFstateSpaceBufferAnalysis::TransitionSystem::analyzePeriodicPhase(), SDFstateSpaceBindingAwareBufferAnalysis::TransitionSystem::analyzePeriodicPhase(), analyzeSDFG(), SDFstateSpaceMinimalLatencyAnalysis::analyzeSingleProc(), Binding::analyzeThroughputApplication(), FSMSADF::RandomGraph::assignProperties(), FSMSADF::RandomGraph::assignRatesAndInitialTokens(), LoadBalanceBinding::bindActorsToTiles(), LoadBalanceBinding::bindSDFGtoTiles(), FSMSADF::bindThreadToTile(), SDFstateSpaceBindingAwareThroughputAnalysis::TransitionSystem::clockStep(), SDFstateSpaceStaticPeriodicSchedulerChao::TransitionSystem::clockStep(), SDFstateSpaceStaticPeriodicScheduler::TransitionSystem::clockStep(), SDFstateSpaceThroughputAnalysisNingGao::TransitionSystem::clockStep(), SDFstateSpaceThroughputAnalysis::TransitionSystem::clockStep(), CSDFstateSpaceThroughputAnalysis::TransitionSystem::clockStep(), SDFstateSpaceSelfTimedMinimalLatencyAnalysis::TransitionSystem::clockStep(), SDFstateSpaceSelfTimedLatencyAnalysis::TransitionSystem::clockStep(), SDFstateSpacePriorityListScheduler::TransitionSystem::clockStep(), SDFstateSpaceMinimalLatencyAnalysis::TransitionSystem::clockStep(), SDFstateSpaceListScheduler::TransitionSystem::clockStep(), SDFstateSpaceTraceInterconnectCommunication::TransitionSystem::clockStep(), SDFstateSpaceBufferAnalysisNingGao::TransitionSystem::clockStep(), clockStep(), SDFstateSpaceBufferAnalysis::TransitionSystem::clockStep(), CSDFstateSpaceBufferAnalysis::TransitionSystem::clockStep(), SDFstateSpaceBindingAwareBufferAnalysis::TransitionSystem::clockStep(), SDFgraph::clone(), TimedSDFgraph::clone(), FSMSADF::ScenarioGraph::clone(), CSDFgraph::clone(), TimedCSDFgraph::clone(), SDFactor::clone(), TimedSDFactor::clone(), FSMSADF::Actor::clone(), CSDFactor::clone(), TimedCSDFactor::clone(), componentToCSDFgraph(), componentToSDFgraph(), computeGraphPeriod(), FSMSADF::GraphBinding::computeParetoQuantities(), computeRepetitionVector(), SDF3Flow::computeStorageDistributions(), SDFstateSpaceBindingAwareThroughputAnalysis::TransitionSystem::computeTileUtilization(), SDFgraph::construct(), TimedSDFgraph::construct(), SDFactor::construct(), CSDFactor::construct(), constructCSDFgraph(), FSMSADF::StaticOrderSchedule::constructFromXML(), FSMSADF::ProcessorBinding::constructFromXML(), FSMSADF::MemoryBinding::constructFromXML(), FSMSADF::ScenarioGraph::constructFromXML(), FSMSADF::ScenarioGraph::constructPropertiesFromXML(), constructTimedCSDFgraph(), constructTimedCSDFgraphStructure(), convertMCMgraphToYTOgraph(), FSMSADF::OutputHTML::convertPlatformBindingToPNG(), SDFconvertToHTML::convertPlatformMapping(), FSMSADF::OutputHTML::convertScenarioGraphToPNG(), SDFconvertToHTML::convertSDFgraph(), convertSDFGtoCSDFG(), MaxPlusAnalysis::Exploration::convertToHSDFByMP(), MaxPlusAnalysis::Exploration::convertToMaxPlusMatrix(), SDFgraph::createActor(), TimedSDFgraph::createActor(), FSMSADF::ScenarioGraph::createActor(), CSDFgraph::createActor(), TimedCSDFgraph::createActor(), createActor(), FSMSADF::RandomGraph::createActor(), createAcyclicGraph(), createCapacityConstrainedModel(), SDFactor::createCopy(), TimedSDFactor::createCopy(), FSMSADF::Actor::createCopy(), CSDFactor::createCopy(), TimedCSDFactor::createCopy(), createCSDFnode(), createCSDFpropertiesNode(), createDependencies(), createGraph(), createInitialMCMgraph(), createSDFnode(), createSDFpropertiesNode(), dfs(), dfsMCMgraph(), distributeInitialTokensInComponent(), FSMSADF::GraphConversion::ensureStronglyBounded(), SDF3Flow::estimateLatencyConstraints(), LoadBalanceBinding::estimateMaxCycleMean(), SDFstateSpaceSelfTimedMinimalLatencyAnalysis::TransitionSystem::execConstrainedSDFgraph(), CSDFstateSpaceThroughputAnalysis::TransitionSystem::execCSDFgraph(), CSDFstateSpaceBufferAnalysis::TransitionSystem::execCSDFgraph(), SDFstateSpaceBindingAwareThroughputAnalysis::TransitionSystem::execSDFgraph(), SDFstateSpaceThroughputAnalysisNingGao::TransitionSystem::execSDFgraph(), SDFstateSpaceThroughputAnalysis::TransitionSystem::execSDFgraph(), SDFstateSpaceSelfTimedMinimalLatencyAnalysis::TransitionSystem::execSDFgraph(), SDFstateSpaceSelfTimedLatencyAnalysis::TransitionSystem::execSDFgraph(), SDFstateSpacePriorityListScheduler::TransitionSystem::execSDFgraph(), SDFstateSpaceMinimalLatencyAnalysis::TransitionSystem::execSDFgraph(), SDFstateSpaceListScheduler::TransitionSystem::execSDFgraph(), SDFstateSpaceDeadlockAnalysis::TransitionSystem::execSDFgraph(), SDFstateSpaceTraceInterconnectCommunication::TransitionSystem::execSDFgraph(), SDFstateSpaceBufferAnalysisNingGao::TransitionSystem::execSDFgraph(), execSDFgraph(), SDFstateSpaceBufferAnalysis::TransitionSystem::execSDFgraph(), SDFstateSpaceBindingAwareBufferAnalysis::TransitionSystem::execSDFgraph(), SDFstateSpaceStaticPeriodicScheduler::TransitionSystem::execSDFgraphComputeSchedule(), SDFstateSpaceStaticPeriodicSchedulerChao::TransitionSystem::execSDFgraphSelfTimed(), SDFstateSpaceStaticPeriodicScheduler::TransitionSystem::execSDFgraphSelfTimed(), SDFstateSpaceStaticPeriodicSchedulerChao::TransitionSystem::execSDFgraphStaticPeriodic(), SDFstateSpaceStaticPeriodicScheduler::TransitionSystem::execSDFgraphStaticPeriodic(), SDFstateSpaceMinimalLatencyAnalysis::TransitionSystem::execSDFgraphUsingDemandList(), MaxPlusAnalysis::Exploration::explore(), MaxPlusAnalysis::Exploration::explore_backward(), MaxPlusAnalysis::Exploration::exploreDelayForSchedule(), FSMSADF::MPExplore::Exploration::exploreDelayForSchedule(), MaxPlusAnalysis::Exploration::exploreEigen(), FSMSADF::MPExplore::Exploration::exploreEigen(), FSMSADF::BindingAwareGraph::extractActorMapping(), FSMSADF::GraphBinding::extractApplicationBindingFromPlatformBinding(), FSMSADF::ScenarioGraph::extractSDFgraph(), SDFstateSpacePriorityListScheduler::TransitionSystem::findAllDependencies(), SDFstateSpaceBufferAnalysisNingGao::findMinimalStorageDistributions(), findOutputActor(), First_Order_Improvement(), generateCSDFgraph(), generateSDFgraphProperties(), SDFgraph::getActor(), FSMSADF::ScenarioGraph::getActor(), CSDFgraph::getActor(), FSMSADF::MemoryBinding::getAllocatedMemorySize(), getLbOutputInterval(), getMaxExecTime(), getMaximumExecTime(), getNextActor(), getNextNode(), getOutputActor(), getOutputActorRepCnt(), CSDFgraph::getRepetitionVector(), MaxPlusAnalysis::GraphDecoration::Graph::Graph(), hapiNetworkConstructor(), hapiNetworkDeclaration(), hapiNetworkDeclarationH(), FSMSADF::ScenarioGraph::hasActor(), Howard(), Import_Arguments(), SDFstateSpacePriorityListScheduler::TransitionSystem::initActorPriorities(), initDependencies(), Initial_Policy(), SDFstateSpaceBufferAnalysisNingGao::initLbDistributionSz(), SDFstateSpaceBufferAnalysisNingGao::initMinimalChannelSz(), SDFstateSpaceBufferAnalysisNingGao::initMinimalChannelSzStep(), SDFstateSpaceBindingAwareThroughputAnalysis::TransitionSystem::initOutputActor(), SDFstateSpaceStaticPeriodicSchedulerChao::TransitionSystem::initOutputActor(), SDFstateSpaceStaticPeriodicScheduler::TransitionSystem::initOutputActor(), SDFstateSpaceThroughputAnalysisNingGao::TransitionSystem::initOutputActor(), SDFstateSpaceThroughputAnalysis::TransitionSystem::initOutputActor(), CSDFstateSpaceThroughputAnalysis::TransitionSystem::initOutputActor(), SDFstateSpaceSelfTimedLatencyAnalysis::TransitionSystem::initOutputActor(), SDFstateSpacePriorityListScheduler::TransitionSystem::initOutputActor(), SDFstateSpaceMinimalLatencyAnalysis::TransitionSystem::initOutputActor(), SDFstateSpaceListScheduler::TransitionSystem::initOutputActor(), SDFstateSpaceTraceInterconnectCommunication::TransitionSystem::initOutputActor(), SDFstateSpaceBufferAnalysisNingGao::TransitionSystem::initOutputActor(), SDFstateSpaceBufferAnalysis::TransitionSystem::initOutputActor(), CSDFstateSpaceBufferAnalysis::TransitionSystem::initOutputActor(), SDFstateSpaceBindingAwareBufferAnalysis::TransitionSystem::initOutputActor(), CSDFgraph::isConnected(), isConnected(), isHSDFgraph(), FSMSADF::ScenarioGraph::isolateScenario(), makeConsistent(), makeSimpleGraph(), FSMSADF::mapApplicationGraphToArchitectureGraph(), mcmSimpleCycles(), modelAutoConcurrencyInSDFgraph(), BindingAwareSDFG::modelBindingInMPFlow(), BindingAwareSDFG::modelBindingInNSoCFlow(), FSMSADF::BindingAwareGraph::modelBindingInNSoCFlow(), modelCapacityConstrainedBuffer(), New_Depth_First_Label(), LoadBalanceBinding::optimizeActorToTileBindings(), SDFconvertToHTML::outputPlatformMappingAsDot(), outputSDFasDot(), outputSDFasHAPI(), SDFconvertToHTML::outputSDFgraphAsDot(), FSMSADF::PrecedenceGraph::PrecedenceGraph(), SDFgraph::print(), TimedSDFgraph::print(), FSMSADF::ScenarioGraph::print(), CSDFgraph::print(), TimedCSDFgraph::print(), printAnalyzeDeadlock(), printAnalyzePeriodicPhase(), printDefinitions(), printExecSdfGraph(), FSMSADF::OutputHTML::printPlatformBinding(), FSMSADF::OutputHTML::printScenario(), printSdfGraph(), printSdfHeader(), MTRand::rand53(), LoadBalanceBinding::releaseResources(), SDFstateSpaceThroughputAnalysisNingGao::TransitionSystem::releaseStorageSpaceSharedOutputBuffer(), SDFstateSpaceBufferAnalysisNingGao::TransitionSystem::releaseStorageSpaceSharedOutputBuffer(), SDFgraph::removeActor(), FSMSADF::ScenarioGraph::removeActor(), CSDFgraph::removeActor(), FSMSADF::EarliestDeadLineFirstScheduling::scheduleScenario(), sdfComponentToGraph(), sdfToGraph(), Second_Order_Improvement(), FSMSADF::RandomGraph::selectInitialTokenChannels(), setMappingMemory(), setMappingProcessor(), FSMSADF::MPExploreBindingAware::SGraph::SGraph(), FSMSADF::MPExplore::SGraph::SGraph(), transformGraph(), transformHSDFtoAPG(), transformSDFtoHSDF(), FSMSADF::unbindThreadToTile(), unfoldHSDF(), CSDFgraph::~CSDFgraph(), FSMSADF::ScenarioGraph::~ScenarioGraph(), and SDFgraph::~SDFgraph().

double* c = NULL [static]

Referenced by SDFstateSpaceBindingAwareThroughputAnalysis::TransitionSystem::actorReadyToFire(), SDFstateSpaceStaticPeriodicSchedulerChao::TransitionSystem::actorReadyToFire(), SDFstateSpaceStaticPeriodicScheduler::TransitionSystem::actorReadyToFire(), SDFstateSpaceThroughputAnalysisNingGao::TransitionSystem::actorReadyToFire(), SDFstateSpaceThroughputAnalysis::TransitionSystem::actorReadyToFire(), CSDFstateSpaceThroughputAnalysis::TransitionSystem::actorReadyToFire(), SDFstateSpaceSelfTimedMinimalLatencyAnalysis::TransitionSystem::actorReadyToFire(), SDFstateSpaceSelfTimedLatencyAnalysis::TransitionSystem::actorReadyToFire(), SDFstateSpacePriorityListScheduler::TransitionSystem::actorReadyToFire(), SDFstateSpaceMinimalLatencyAnalysis::TransitionSystem::actorReadyToFire(), SDFstateSpaceListScheduler::TransitionSystem::actorReadyToFire(), SDFstateSpaceDeadlockAnalysis::TransitionSystem::actorReadyToFire(), SDFstateSpaceTraceInterconnectCommunication::TransitionSystem::actorReadyToFire(), SDFstateSpaceBufferAnalysisNingGao::TransitionSystem::actorReadyToFire(), actorReadyToFire(), SDFstateSpaceBufferAnalysis::TransitionSystem::actorReadyToFire(), CSDFstateSpaceBufferAnalysis::TransitionSystem::actorReadyToFire(), SDFstateSpaceBindingAwareBufferAnalysis::TransitionSystem::actorReadyToFire(), MaxPlus::Matrix::add(), addDependencyEdgeForActor(), addStorageDistributionToChecklist(), SDFstateSpaceBufferAnalysis::addStorageDistributionToChecklist(), CSDFstateSpaceBufferAnalysis::addStorageDistributionToChecklist(), SDFstateSpaceBindingAwareBufferAnalysis::addStorageDistributionToChecklist(), Allocate_Memory(), LoadBalanceBinding::allocateResources(), SDFstateSpaceThroughputAnalysis::analyze(), CSDFstateSpaceThroughputAnalysis::analyze(), analyzeCSDFG(), SDFstateSpaceBufferAnalysisNingGao::TransitionSystem::analyzeDeadlock(), analyzeDeadlock(), SDFstateSpaceBufferAnalysis::TransitionSystem::analyzeDeadlock(), CSDFstateSpaceBufferAnalysis::TransitionSystem::analyzeDeadlock(), SDFstateSpaceBindingAwareBufferAnalysis::TransitionSystem::analyzeDeadlock(), analyzePeriodicPhase(), analyzeSDFG(), Binding::analyzeThroughputApplication(), assignConsistentRates(), FSMSADF::RandomGraph::assignInitialTokensToChannels(), FSMSADF::RandomGraph::assignProperties(), FSMSADF::RandomGraph::assignRatesAndInitialTokens(), FSMSADF::RandomGraph::assignRatesToPorts(), LoadBalanceBinding::bwChannelsMappedToInConnection(), LoadBalanceBinding::bwChannelsMappedToOutConnection(), calcFractionsConnectedActors(), FSMSADF::calcFractionsConnectedActors(), CSDFgraph::calcFractionsConnectedActors(), FSMSADF::ScenarioBindingConstraints::clone(), componentToCSDFgraph(), componentToSDFgraph(), SDFstateSpaceMinimalLatencyAnalysis::TransitionSystem::computeDemandList(), computeGraphPeriod(), computeLbDistributionSz(), LoadBalanceBinding::computeLoadOfChannelToConnectionBinding(), computeMinimalChannelSz(), computeMinimalChannelSzStep(), FSMSADF::MemoryDimAlgo::computeStorageDist(), SDFgraph::construct(), TimedSDFgraph::construct(), SDFchannel::construct(), CSDFchannel::construct(), constructCSDFgraph(), FSMSADF::NetworkInterfaceBinding::constructFromXML(), FSMSADF::MemoryBinding::constructFromXML(), FSMSADF::PlatformGraph::constructFromXML(), FSMSADF::PlatformBinding::constructFromXML(), FSMSADF::ScenarioGraph::constructFromXML(), FSMSADF::ScenarioBindingConstraints::constructFromXML(), FSMSADF::ConnectionBinding::constructFromXML(), FSMSADF::Channel::constructFromXML(), constructPlatformGraph(), FSMSADF::ScenarioGraph::constructPropertiesFromXML(), FSMSADF::PlatformBinding::constructResourceUsageFromXML(), constructTimedCSDFgraph(), constructTimedCSDFgraphStructure(), MaxPlusAnalysis::SymbolicState::consume(), MaxPlusAnalysis::State::consume(), FSMSADF::MPExploreBindingAware::State::consume(), FSMSADF::MPExplore::State::consume(), MaxPlusAnalysis::State::consume_back(), FSMSADF::MPExplore::Exploration::convertEigenvector(), FSMSADF::OutputHTML::convertGraphToPNG(), SDFconvertToHTML::convertInterconnectGraphToPNG(), FSMSADF::OutputHTML::convertPlatformBindingToPNG(), SDFconvertToHTML::convertPlatformGraph(), SDFconvertToHTML::convertPlatformGraphToPNG(), FSMSADF::OutputHTML::convertPlatformGraphToPNG(), SDFconvertToHTML::convertPlatformMapping(), SDFconvertToHTML::convertPlatformMappingToPNG(), FSMSADF::OutputHTML::convertScenarioGraphToPNG(), SDFconvertToHTML::convertSDFgraph(), SDFconvertToHTML::convertSDFgraphToPNG(), convertSDFGtoCSDFG(), MaxPlusAnalysis::Exploration::convertToHSDFByMP(), SDFgraph::createActor(), TimedSDFgraph::createActor(), FSMSADF::ScenarioGraph::createActor(), CSDFgraph::createActor(), TimedCSDFgraph::createActor(), SDFgraph::createChannel(), TimedSDFgraph::createChannel(), FSMSADF::ScenarioGraph::createChannel(), CSDFgraph::createChannel(), TimedCSDFgraph::createChannel(), createChannel(), FSMSADF::RandomGraph::createChannel(), PlatformGraph::createConnection(), FSMSADF::PlatformGraph::createConnection(), createCSDFnode(), createCSDFpropertiesNode(), createDependencyNode(), createInitialMCMgraph(), BindingAwareSDFG::createMappedActorMPFlow(), BindingAwareSDFG::createMappedActorNSoC(), FSMSADF::BindingAwareGraph::createMappedActorNSoC(), BindingAwareSDFG::createMappedChannelToConnectionNSoC(), createMappingNode(), createPlatformGraphNode(), SDFactor::createPort(), FSMSADF::Actor::createPort(), CSDFactor::createPort(), createSDFnode(), createSDFpropertiesNode(), CSequence< CSDFtime >::CSequence(), SDFstateSpaceBufferAnalysisNingGao::TransitionSystem::dfsVisitDependencies(), dfsVisitDependencies(), SDFstateSpaceBufferAnalysis::TransitionSystem::dfsVisitDependencies(), CSDFstateSpaceBufferAnalysis::TransitionSystem::dfsVisitDependencies(), SDFstateSpaceBindingAwareBufferAnalysis::TransitionSystem::dfsVisitDependencies(), distributeInitialTokens(), distributeInitialTokensInComponent(), SDFstateSpaceBindingAwareThroughputAnalysis::TransitionSystem::endActorFiring(), SDFstateSpaceStaticPeriodicSchedulerChao::TransitionSystem::endActorFiring(), SDFstateSpaceStaticPeriodicScheduler::TransitionSystem::endActorFiring(), SDFstateSpaceThroughputAnalysisNingGao::TransitionSystem::endActorFiring(), SDFstateSpaceThroughputAnalysis::TransitionSystem::endActorFiring(), CSDFstateSpaceThroughputAnalysis::TransitionSystem::endActorFiring(), SDFstateSpaceSelfTimedMinimalLatencyAnalysis::TransitionSystem::endActorFiring(), SDFstateSpaceSelfTimedLatencyAnalysis::TransitionSystem::endActorFiring(), SDFstateSpacePriorityListScheduler::TransitionSystem::endActorFiring(), SDFstateSpaceMinimalLatencyAnalysis::TransitionSystem::endActorFiring(), SDFstateSpaceListScheduler::TransitionSystem::endActorFiring(), SDFstateSpaceTraceInterconnectCommunication::TransitionSystem::endActorFiring(), SDFstateSpaceBufferAnalysisNingGao::TransitionSystem::endActorFiring(), endActorFiring(), SDFstateSpaceBufferAnalysis::TransitionSystem::endActorFiring(), CSDFstateSpaceBufferAnalysis::TransitionSystem::endActorFiring(), SDFstateSpaceBindingAwareBufferAnalysis::TransitionSystem::endActorFiring(), FSMSADF::GraphConversion::ensureStronglyBounded(), SDF3Flow::estimateBandwidthConstraints(), SDF3Flow::estimateLatencyConstraints(), LoadBalanceBinding::estimateMaxCycleMean(), SDF3Flow::estimateStorageConstraints(), FSMSADF::MemoryDimAlgo::estimateStorageDist(), SDFstateSpaceSelfTimedMinimalLatencyAnalysis::TransitionSystem::execConstrainedSDFgraph(), CSDFstateSpaceThroughputAnalysis::TransitionSystem::execCSDFgraph(), CSDFstateSpaceBufferAnalysis::TransitionSystem::execCSDFgraph(), SDFstateSpaceBindingAwareThroughputAnalysis::TransitionSystem::execSDFgraph(), SDFstateSpaceThroughputAnalysisNingGao::TransitionSystem::execSDFgraph(), SDFstateSpaceThroughputAnalysis::TransitionSystem::execSDFgraph(), SDFstateSpaceSelfTimedMinimalLatencyAnalysis::TransitionSystem::execSDFgraph(), SDFstateSpaceSelfTimedLatencyAnalysis::TransitionSystem::execSDFgraph(), SDFstateSpacePriorityListScheduler::TransitionSystem::execSDFgraph(), SDFstateSpaceMinimalLatencyAnalysis::TransitionSystem::execSDFgraph(), SDFstateSpaceListScheduler::TransitionSystem::execSDFgraph(), SDFstateSpaceDeadlockAnalysis::TransitionSystem::execSDFgraph(), SDFstateSpaceTraceInterconnectCommunication::TransitionSystem::execSDFgraph(), SDFstateSpaceBufferAnalysisNingGao::TransitionSystem::execSDFgraph(), execSDFgraph(), SDFstateSpaceBufferAnalysis::TransitionSystem::execSDFgraph(), SDFstateSpaceBindingAwareBufferAnalysis::TransitionSystem::execSDFgraph(), SDFstateSpaceStaticPeriodicScheduler::TransitionSystem::execSDFgraphComputeSchedule(), SDFstateSpaceStaticPeriodicSchedulerChao::TransitionSystem::execSDFgraphSelfTimed(), SDFstateSpaceStaticPeriodicScheduler::TransitionSystem::execSDFgraphSelfTimed(), SDFstateSpaceStaticPeriodicSchedulerChao::TransitionSystem::execSDFgraphStaticPeriodic(), SDFstateSpaceStaticPeriodicScheduler::TransitionSystem::execSDFgraphStaticPeriodic(), SDFstateSpaceBufferAnalysisNingGao::execStorageDistribution(), execStorageDistribution(), SDFstateSpaceBufferAnalysis::execStorageDistribution(), CSDFstateSpaceBufferAnalysis::execStorageDistribution(), SDFstateSpaceBindingAwareBufferAnalysis::execStorageDistribution(), SDFstateSpaceBufferAnalysisNingGao::exploreStorageDistribution(), exploreStorageDistribution(), SDFstateSpaceBufferAnalysis::exploreStorageDistribution(), CSDFstateSpaceBufferAnalysis::exploreStorageDistribution(), SDFstateSpaceBindingAwareBufferAnalysis::exploreStorageDistribution(), FSMSADF::GraphBinding::extractApplicationBindingFromPlatformBinding(), BindingAwareSDFG::extractChannelMapping(), FSMSADF::BindingAwareGraph::extractChannelMapping(), FSMSADF::ScenarioGraph::extractSDFgraph(), SDFstateSpaceBufferAnalysisNingGao::TransitionSystem::findCausalDependencies(), findCausalDependencies(), SDFstateSpaceBufferAnalysis::TransitionSystem::findCausalDependencies(), CSDFstateSpaceBufferAnalysis::TransitionSystem::findCausalDependencies(), SDFstateSpaceBindingAwareBufferAnalysis::TransitionSystem::findCausalDependencies(), FSMSADF::RandomGraph::findCycles(), findMinimalStorageDistributions(), SDFstateSpaceBufferAnalysis::findMinimalStorageDistributions(), CSDFstateSpaceBufferAnalysis::findMinimalStorageDistributions(), SDFstateSpaceBindingAwareBufferAnalysis::findMinimalStorageDistributions(), SDFstateSpaceBufferAnalysis::findNextStorageDistributionSet(), CSDFstateSpaceBufferAnalysis::findNextStorageDistributionSet(), SDFstateSpaceBufferAnalysisNingGao::TransitionSystem::findStorageDependencies(), findStorageDependencies(), SDFstateSpaceBufferAnalysis::TransitionSystem::findStorageDependencies(), CSDFstateSpaceBufferAnalysis::TransitionSystem::findStorageDependencies(), SDFstateSpaceBindingAwareBufferAnalysis::TransitionSystem::findStorageDependencies(), fireActor(), SDFstateSpaceDeadlockAnalysis::TransitionSystem::fireActor(), Free_Memory(), MaxPlusAnalysis::State::fromVector(), FSMSADF::MPExplore::State::fromVector(), generateSDFgraphProperties(), FSMSADF::MemoryBinding::getAllocatedMemorySize(), SDFgraph::getChannel(), FSMSADF::ScenarioGraph::getChannel(), CSDFgraph::getChannel(), FSMSADF::RandomGraph::getChannelsBetweenActors(), PlatformGraph::getConnection(), PlatformGraph::getConnections(), getLbDistributionSz(), CSDFgraph::getRepetitionVector(), getUbDistributionSz(), MaxPlusAnalysis::GraphDecoration::Graph::Graph(), SDF3Flow::handleUserInteraction(), FSMSADF::SDF3Flow::handleUserInteraction(), hapiActorConstructor(), hapiActorDeclaration(), hapiActorMain(), hapiNetworkConstructor(), hapiNetworkDeclaration(), FSMSADF::ScenarioGraph::hasChannel(), Init_Improve(), initDependencies(), Initial_Policy(), SDFstateSpaceBufferAnalysis::initLbDistributionSz(), CSDFstateSpaceBufferAnalysis::initLbDistributionSz(), SDFstateSpaceBindingAwareBufferAnalysis::initLbDistributionSz(), SDFstateSpaceBufferAnalysis::initMinimalChannelSz(), CSDFstateSpaceBufferAnalysis::initMinimalChannelSz(), SDFstateSpaceBindingAwareBufferAnalysis::initMinimalChannelSz(), SDFstateSpaceBufferAnalysis::initMinimalChannelSzStep(), SDFstateSpaceBindingAwareBufferAnalysis::initMinimalChannelSzStep(), SDFstateSpaceBufferAnalysis::initSearch(), CSDFstateSpaceBufferAnalysis::initSearch(), SDFstateSpaceTraceInterconnectCommunication::TransitionSystem::initTracing(), isActorReady(), CSDFgraph::isConnected(), FSMSADF::ScenarioGraph::isolateScenario(), isStronglyConnectedGraph(), MaxPlus::Matrix::largestFiniteElement(), makeConsistentConnectedActors(), makeSimpleGraph(), makeStronglyConnected(), MaxPlus::Matrix::maximum(), LoadBalanceBinding::memLoadChannelsOnTile(), MaxPlus::Matrix::minimalFiniteElement(), LoadBalanceBinding::minimizeStorageSpace(), modelAutoConcurrencyInSDFgraph(), BindingAwareSDFG::modelBindingInMPFlow(), BindingAwareSDFG::modelBindingInNSoCFlow(), FSMSADF::BindingAwareGraph::modelBindingInNSoCFlow(), modelBufferSizeInSDFgraph(), modelCapacityConstrainedBuffer(), New_Depth_First_Label(), LoadBalanceBinding::nrChannelsMappedToConnection(), SDFconvertToHTML::outputPlatformGraphAsDot(), SDFconvertToHTML::outputPlatformMappingAsDot(), outputSDFasDot(), SDFconvertToHTML::outputSDFgraphAsDot(), parseSwitchArgument(), FSMSADF::PrecedenceGraph::PrecedenceGraph(), SDFgraph::print(), TimedSDFgraph::print(), FSMSADF::ScenarioGraph::print(), CSDFgraph::print(), TimedCSDFgraph::print(), printDefinitions(), printMaximumChannelSz(), printMinimalChannelSz(), printMinimalChannelSzStep(), FSMSADF::OutputHTML::printPlatformBinding(), FSMSADF::OutputHTML::printPlatformGraph(), FSMSADF::OutputHTML::printScenario(), MaxPlusAnalysis::SymbolicState::produce(), MaxPlusAnalysis::State::produce(), FSMSADF::MPExploreBindingAware::State::produce(), FSMSADF::MPExplore::State::produce(), MaxPlusAnalysis::State::produce_front(), randomChannelBufferSizes(), relabelSDFgraph(), SDFgraph::removeChannel(), FSMSADF::ScenarioGraph::removeChannel(), CSDFgraph::removeChannel(), reverseChannelsInSDFgraph(), FSMSADF::RandomGraph::selectInitialTokenChannels(), setMappingPlatformGraph(), FSMSADF::MPExploreBindingAware::SGraph::SGraph(), FSMSADF::MPExplore::SGraph::SGraph(), SHIFTDOWN(), LoadBalanceBinding::sortTilesOnCommunicationOverhead(), SDFstateSpaceBindingAwareThroughputAnalysis::TransitionSystem::startActorFiring(), SDFstateSpaceStaticPeriodicSchedulerChao::TransitionSystem::startActorFiring(), SDFstateSpaceStaticPeriodicScheduler::TransitionSystem::startActorFiring(), SDFstateSpaceThroughputAnalysisNingGao::TransitionSystem::startActorFiring(), SDFstateSpaceThroughputAnalysis::TransitionSystem::startActorFiring(), CSDFstateSpaceThroughputAnalysis::TransitionSystem::startActorFiring(), SDFstateSpaceSelfTimedMinimalLatencyAnalysis::TransitionSystem::startActorFiring(), SDFstateSpaceSelfTimedLatencyAnalysis::TransitionSystem::startActorFiring(), SDFstateSpacePriorityListScheduler::TransitionSystem::startActorFiring(), SDFstateSpaceMinimalLatencyAnalysis::TransitionSystem::startActorFiring(), SDFstateSpaceListScheduler::TransitionSystem::startActorFiring(), SDFstateSpaceTraceInterconnectCommunication::TransitionSystem::startActorFiring(), SDFstateSpaceBufferAnalysisNingGao::TransitionSystem::startActorFiring(), startActorFiring(), SDFstateSpaceBufferAnalysis::TransitionSystem::startActorFiring(), CSDFstateSpaceBufferAnalysis::TransitionSystem::startActorFiring(), SDFstateSpaceBindingAwareBufferAnalysis::TransitionSystem::startActorFiring(), transformGraph(), transformHSDFtoAPG(), transformSDFtoHSDF(), unfoldHSDF(), Update_Policy(), LoadBalanceBinding::updateStorageSpaceAllocation(), Visit_From(), MaxPlusAnalysis::State::zeroScheduleState(), FSMSADF::MPExplore::State::zeroScheduleState(), MaxPlusAnalysis::SymbolicState::zeroState(), MaxPlusAnalysis::State::zeroState(), FSMSADF::MPExplore::State::zeroState(), CSDFgraph::~CSDFgraph(), PlatformGraph::~PlatformGraph(), FSMSADF::ScenarioGraph::~ScenarioGraph(), and SDFgraph::~SDFgraph().

double epsilon = 0 [static]

Referenced by Howard(), and Second_Order_Improvement().

int* NIterations [static]
int* piinv_last = NULL [static]