public class Schedule{
HashMap<Task, int> // int for time
}
public class Processor {
int processorNumber;
}
public class Task {
int weight;
Processor processor;
List<Task> parentTasks; // List of parent nodes
HashMap<Task,weight> subTasks; //Task is the child tasks, weight is transition weight
}
Init Tree
Init empty schedule
Set root as empty schedule
Schedule (Schedule S, List<Nodes> Reachable)
for every reachable node n
copy list Reachable as Reachable'
remove n from list Reachable'
for every processor Pi
create a new schedule S' from S by putting n in Pi
Update reachable with nodes reachable from n
call schedule(schedule S', List<Task> Reachable')
end
end