ix.iplan
Class ExecutionStages

java.lang.Object
  extended by ix.iplan.ExecutionStages

public class ExecutionStages
extends java.lang.Object

Sorts node-ends into execution-stages.

Each "stage" is a list of node-ends that could execute at the same time (as each other). The stages are returned as a list, in the order in which they would have to execute.

It's assumed that a node-end can execute at its earliest start time, provided that all the node ends linked before it have executed.

Note that the stages are not derermined solely by the times calculated by the TPN, because links are also taken into account. There can therefore be more than one stage with the same numeric start time.

Use:

   List ends = ...
   List> stages = new ExecutionStages(ends).getStages();
 


Field Summary
protected  java.util.List<java.util.List<PNodeEnd>> stages
           
 
Constructor Summary
ExecutionStages(java.util.List<PNodeEnd> ends)
           
 
Method Summary
 java.util.List<java.util.List<PNodeEnd>> getStages()
           
static void main(java.lang.String[] argv)
          Test program.
protected  java.util.List<java.util.List<PNodeEnd>> makeExecutionStages(java.util.List<PNodeEnd> ends)
           
protected  void sortByEst(java.util.List<PNodeEnd> ends)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

stages

protected java.util.List<java.util.List<PNodeEnd>> stages
Constructor Detail

ExecutionStages

public ExecutionStages(java.util.List<PNodeEnd> ends)
Method Detail

getStages

public java.util.List<java.util.List<PNodeEnd>> getStages()

makeExecutionStages

protected java.util.List<java.util.List<PNodeEnd>> makeExecutionStages(java.util.List<PNodeEnd> ends)

sortByEst

protected void sortByEst(java.util.List<PNodeEnd> ends)

main

public static void main(java.lang.String[] argv)
Test program.