#include <precedence_graph.h>

Collaboration diagram for FSMSADF::PrecedenceGraph:

List of all members.

Classes

class  Node

Public Types

typedef set< Node * > Nodes

Public Member Functions

 PrecedenceGraph (BindingAwareGraph *b, Scenario *s)
 ~PrecedenceGraph ()
NodegetEarliestDeadline () const
void removeNode (Node *n)

Private Member Functions

NodegetNode (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


Constructor & Destructor Documentation

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().

Here is the call graph for this function:

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


The documentation for this class was generated from the following files: