public class TDLActionsGraph
A representation of the schedule of all actions in a TDL module in
a graph. Nodes in this graph describe TDLActions (@see #TDLAction), edges
describe the causal dependencies between those actions. The weight of nodes
are the TDLAction objects, the weight of edges are the time that passes
between two actions.
public java.util.List<Node> getEventsFollowingAction(Node node)
Returns all forward reachable nodes in the graph that are connected to
the given node. Those forward reachable nodes do not depend on other
nodes and the actions defined in the nodes are scheduled to happen at the
same time as the action in the given node.
node - Given node.
List of nodes that are forward reachable from the given node.
public java.util.HashMap<Node,java.util.List<TDLAction>> getNextJoinNodes(Node justExecuted,
Recursively compute the set of nodes reachable from a given node that
depend on more than one node or are scheduled to happen at a future time.
Examples for the latter are nodes describing the writing of an output
justExecuted - Node that was just executed.
node - Node from which the reachable Nodes are computed.
visited - Already visited nodes, used to avoid loops.
Set of reachable nodes that depend on more than one input port or
contain actions that should happen later than the given node.
public Node getNode(Time invocationTime,
Return the node that is used for the execution of an actor at a certain
invocationTime - Time the actor is being invoked.
actor - Actor that is scheduled for that time.
The node that is used for the execution of an actor at a certain