public class TDLActionsGraph
extends java.lang.Object
Constructor and Description |
---|
TDLActionsGraph(TDLModule module,
FSMActor controller)
Create a new TDLActionsGraph for a TDL module.
|
Modifier and Type | Method and Description |
---|---|
void |
buildGraph(State startmode)
Build the graph by iterating through all the modes of the TDL module.
|
java.util.List<Node> |
getEventsFollowingAction(Node node)
Returns all forward reachable nodes in the graph that are connected to
the given node.
|
java.util.HashMap<Node,java.util.List<TDLAction>> |
getNextJoinNodes(Node justExecuted,
Node node,
java.util.List<Node> visited)
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.
|
Node |
getNode(java.lang.Object actor,
Time lower,
Time upper)
Get a node which executes a given actor.
|
Node |
getNode(TDLAction action)
Get node for a given TDLAction.
|
Node |
getNode(Time invocationTime,
java.lang.Object actor)
Return the node that is used for the execution of an actor at a certain
time.
|
public void buildGraph(State startmode) throws IllegalActionException
startmode
- This is the initial mode of the TDL module.IllegalActionException
- Thrown if TDL parameters in the module cannot be read.public java.util.List<Node> getEventsFollowingAction(Node node)
node
- Given node.public java.util.HashMap<Node,java.util.List<TDLAction>> getNextJoinNodes(Node justExecuted, Node node, java.util.List<Node> visited)
justExecuted
- Node that was just executed.node
- Node from which the reachable Nodes are computed.visited
- Already visited nodes, used to avoid loops.public Node getNode(Time invocationTime, java.lang.Object actor)
invocationTime
- Time the actor is being invoked.actor
- Actor that is scheduled for that time.public Node getNode(TDLAction action)
action
- Given TDLAction.public Node getNode(java.lang.Object actor, Time lower, Time upper)
actor
- Actor that is executed.lower
- Lower time bound.upper
- Upper time bound.