FSMSADF::PrecedenceGraph Class Reference
#include <precedence_graph.h>
Classes | |
class | Node |
Public Types | |
typedef set< Node * > | Nodes |
Public Member Functions | |
PrecedenceGraph (BindingAwareGraph *b, Scenario *s) | |
~PrecedenceGraph () | |
Node * | getEarliestDeadline () const |
void | removeNode (Node *n) |
Private Member Functions | |
Node * | getNode (const Actor *a, const CId idx) const |
Private Attributes | |
Nodes | nodes |
Detailed Description
PrecedenceGraph A precedence graph in an acyclic graph which is created by expanding the scenario-aware graph of a given scenario to an HSDFG in which all channels with at least one initial token are removed. Each node is assigned a deadline which represents the longest path of dependencies which needs to be executed from this node till the end of the precedence graph.
Member Typedef Documentation
typedef set<Node*> FSMSADF::PrecedenceGraph::Nodes |
Constructor & Destructor Documentation
FSMSADF::PrecedenceGraph::PrecedenceGraph | ( | BindingAwareGraph * | b, | |
Scenario * | s | |||
) |
PrecedenceGraph() Constructor.
References a, c, FSMSADF::computeRepetitionVector(), FSMSADF::ScenarioGraph::getActors(), FSMSADF::ScenarioGraph::getChannels(), FSMSADF::Actor::getDefaultProcessorType(), FSMSADF::Channel::getDstActor(), FSMSADF::Channel::getDstPort(), FSMSADF::Actor::getExecutionTimeOfScenario(), FSMSADF::GraphComponent::getId(), FSMSADF::Channel::getInitialTokens(), getNode(), FSMSADF::Port::getRateOfScenario(), FSMSADF::Scenario::getScenarioGraph(), FSMSADF::Channel::getSrcActor(), FSMSADF::Channel::getSrcPort(), FSMSADF::PrecedenceGraph::Node::next, nodes, FSMSADF::PrecedenceGraph::Node::previous, FSMSADF::PrecedenceGraph::Node::updateDeadline(), and v.
FSMSADF::PrecedenceGraph::~PrecedenceGraph | ( | ) |
~PrecedenceGraph() Destructor.
References nodes.
Member Function Documentation
PrecedenceGraph::Node * FSMSADF::PrecedenceGraph::getEarliestDeadline | ( | ) | const |
getEarliestDeadline() The function returns from the node with the earliest deadline (i.e. largest value). When the set of nodes is empty, the function returns NULL.
References FSMSADF::PrecedenceGraph::Node::deadline, FSMSADF::PrecedenceGraph::Node::isSchedulable(), and nodes.
Referenced by FSMSADF::EarliestDeadLineFirstScheduling::scheduleScenario().
PrecedenceGraph::Node * FSMSADF::PrecedenceGraph::getNode | ( | const Actor * | a, | |
const CId | idx | |||
) | const [private] |
getNode() The function returns a pointer to the node with the supplied actor and id. When no such pointer exists, an exception is thrown.
References FSMSADF::PrecedenceGraph::Node::actor, FSMSADF::PrecedenceGraph::Node::idx, and nodes.
Referenced by PrecedenceGraph().
void FSMSADF::PrecedenceGraph::removeNode | ( | Node * | n | ) |
removeNode() The function removes the node n from the precedence graph. A node can only be removed if all its predecessors or succesors have been removed.
References FSMSADF::PrecedenceGraph::Node::next, nodes, and FSMSADF::PrecedenceGraph::Node::previous.
Referenced by FSMSADF::EarliestDeadLineFirstScheduling::scheduleScenario().
Member Data Documentation
Nodes FSMSADF::PrecedenceGraph::nodes [private] |
Referenced by getEarliestDeadline(), getNode(), PrecedenceGraph(), removeNode(), and ~PrecedenceGraph().
The documentation for this class was generated from the following files: