MaxPlusAnalysis::Exploration Class Reference
#include <mpexplore.h>

Public Member Functions | |
| MPThroughput | explore (void) |
| MPThroughput | explore_backward (void) |
| Matrix * | convertToMaxPlusMatrix (void) |
| TimedSDFgraph * | convertToHSDFByMP (void) |
| MPTime | exploreDelayForSchedule (MaxPlus::Vector *gamma0, MaxPlus::Vector *gamma_s, MPTime period) |
| void | exploreEigen (MaxPlus::Vector **eigenvector, MPTime *eigenvalue) |
| MPDelay | timeProgress (State *x) |
| MPDelay | normalize (State *x) |
Public Attributes | |
| GraphDecoration::Graph * | G |
| TimedSDFgraph * | g |
| GraphDecoration::Actor ** | staticSchedule |
Private Member Functions | |
| CString & | replaceString (CString &s, const CString &fnd, const CString &rep) |
Detailed Description
class Exploration A MaxPlusExploration object encapsulates MaxPlus analysis algorithms.
Member Function Documentation
| TimedSDFgraph * MaxPlusAnalysis::Exploration::convertToHSDFByMP | ( | void | ) |
convertToHSDFByMP() Convert SDF graph to canonical HSDFG according to DAC09 submission procedure.
References a, SDFgraph::addActor(), SDFgraph::addChannel(), SDFactor::addPort(), c, component, convertToMaxPlusMatrix(), TimedSDFgraph::createCopy(), TimedSDFactor::_Processor::execTime, g, MaxPlus::Matrix::get(), MaxPlus::Matrix::getSize(), SDFport::In, SDFgraph::nrActors(), SDFgraph::nrChannels(), SDFactor::nrPorts(), SDFport::Out, SDFcomponent::setName(), TimedSDFactor::_Processor::stateSize, and TimedSDFactor::_Processor::type.
Referenced by analyzeSDFG().

| Matrix * MaxPlusAnalysis::Exploration::convertToMaxPlusMatrix | ( | void | ) |
References a, MaxPlusAnalysis::SymbolicState::actorEnabled(), MaxPlusAnalysis::GraphDecoration::Graph::actors, MaxPlusAnalysis::GraphDecoration::ActorCount::decreaseValue(), MaxPlusAnalysis::GraphDecoration::Graph::fireSymbolic(), MaxPlusAnalysis::SymbolicState::firstToken(), G, MaxPlusAnalysis::GraphDecoration::ActorCount::getValue(), MaxPlusAnalysis::GraphDecoration::ActorCount::isEmpty(), MaxPlusAnalysis::SymbolicState::nextToken(), MaxPlusAnalysis::SymbolicState::numberOfTokens(), MaxPlus::Matrix::put(), MaxPlusAnalysis::GraphDecoration::Graph::repetitionVector(), and MaxPlusAnalysis::SymbolicState::zeroState().
Referenced by FSMSADF::GraphConversion::computeMaxPlusMatricesFromScenarios(), and convertToHSDFByMP().

| MPThroughput MaxPlusAnalysis::Exploration::explore | ( | void | ) |
explore() perform state space exploration till recurrent state to determine throughput
References a, MaxPlusAnalysis::State::actorEnabled(), MaxPlusAnalysis::GraphDecoration::Graph::actors, MaxPlusAnalysis::State::copy(), MaxPlusAnalysis::State::count, MaxPlusAnalysis::GraphDecoration::ActorCount::decreaseValue(), MaxPlusAnalysis::GraphDecoration::Graph::fire(), G, MaxPlusAnalysis::GraphDecoration::ActorCount::getValue(), MaxPlusAnalysis::StoredStates::includes(), MaxPlusAnalysis::GraphDecoration::ActorCount::isEmpty(), normalize(), MaxPlusAnalysis::GraphDecoration::Graph::repetitionVector(), staticSchedule, MaxPlusAnalysis::StoredStates::store(), MaxPlusAnalysis::GraphDecoration::ActorCount::sum(), MaxPlusAnalysis::State::timestamp, and MaxPlusAnalysis::State::zeroState().
Referenced by analyzeSDFG().

| MPThroughput MaxPlusAnalysis::Exploration::explore_backward | ( | void | ) |
explore_backward() Perform state space exploration backward in time till recurrent state to determine throughput
References a, MaxPlusAnalysis::State::actorReverseEnabled(), MaxPlusAnalysis::GraphDecoration::Graph::actors, MaxPlusAnalysis::State::copy(), MaxPlusAnalysis::State::count, MaxPlusAnalysis::GraphDecoration::ActorCount::decreaseValue(), MaxPlusAnalysis::GraphDecoration::Graph::fire_reverse(), G, MaxPlusAnalysis::GraphDecoration::ActorCount::getValue(), MaxPlusAnalysis::StoredStates::includes(), MaxPlusAnalysis::GraphDecoration::ActorCount::isEmpty(), normalize(), MaxPlusAnalysis::GraphDecoration::Graph::repetitionVector(), staticSchedule, MaxPlusAnalysis::StoredStates::store(), MaxPlusAnalysis::GraphDecoration::ActorCount::sum(), MaxPlusAnalysis::State::timestamp, and MaxPlusAnalysis::State::zeroState().

| MPTime MaxPlusAnalysis::Exploration::exploreDelayForSchedule | ( | MaxPlus::Vector * | gamma0, | |
| MaxPlus::Vector * | gamma_s, | |||
| MPTime | period | |||
| ) |
exploreDelayForSchedule() Compute the minimal delay of a delay-period model for give period, starting schedule and steady-state schedule according to the algorithm presented in the paper "Synchronous Dataflow Scenarios".
References a, MaxPlusAnalysis::State::actorEnabled(), MaxPlusAnalysis::GraphDecoration::Graph::actors, MaxPlusAnalysis::State::copy(), MaxPlusAnalysis::State::count, MaxPlusAnalysis::GraphDecoration::ActorCount::decreaseValue(), MaxPlusAnalysis::GraphDecoration::Graph::fire(), MaxPlusAnalysis::State::fromVector(), G, MaxPlusAnalysis::GraphDecoration::ActorCount::getValue(), MaxPlusAnalysis::StoredStates::includes(), MaxPlusAnalysis::GraphDecoration::ActorCount::isEmpty(), MAX, MaxPlusAnalysis::State::minus(), MaxPlus::MP_MINUSINFINITY, MaxPlusAnalysis::State::norm(), normalize(), MaxPlusAnalysis::State::normalize(), MaxPlusAnalysis::GraphDecoration::Graph::repetitionVector(), staticSchedule, MaxPlusAnalysis::StoredStates::store(), and MaxPlusAnalysis::GraphDecoration::ActorCount::sum().
Referenced by analyzeSDFG().

| void MaxPlusAnalysis::Exploration::exploreEigen | ( | MaxPlus::Vector ** | eigenvector, | |
| MPTime * | eigenvalue | |||
| ) |
exploreEigen() Compute the eigenvector and eigenvalue of the MaxPlus matrix associated with the SDFG.
References a, MaxPlusAnalysis::State::actorEnabled(), MaxPlusAnalysis::GraphDecoration::Graph::actors, MaxPlusAnalysis::State::asVector(), MaxPlusAnalysis::State::copy(), MaxPlusAnalysis::GraphDecoration::ActorCount::decreaseValue(), MaxPlusAnalysis::State::equals(), MaxPlusAnalysis::GraphDecoration::Graph::fire(), G, MaxPlusAnalysis::GraphDecoration::ActorCount::getValue(), MaxPlusAnalysis::GraphDecoration::ActorCount::isEmpty(), lambda, normalize(), MaxPlusAnalysis::GraphDecoration::Graph::repetitionVector(), MaxPlusAnalysis::State::smooth(), staticSchedule, MaxPlusAnalysis::GraphDecoration::ActorCount::sum(), and MaxPlusAnalysis::State::zeroState().
Referenced by analyzeSDFG().

References MaxPlusAnalysis::State::normalize().
Referenced by explore(), explore_backward(), exploreDelayForSchedule(), and exploreEigen().

| CString & MaxPlusAnalysis::Exploration::replaceString | ( | CString & | s, | |
| const CString & | fnd, | |||
| const CString & | rep | |||
| ) | [private] |
replaceString() Utility function for substring replacement.
References CString::replace().

References MaxPlusAnalysis::State::firstToken(), and MaxPlusAnalysis::Token::productionTime.

Member Data Documentation
Referenced by explore(), explore_backward(), exploreDelayForSchedule(), and exploreEigen().
The documentation for this class was generated from the following files:

