Hashtable<TaskNode,TaskNode> alltasknodes;
//Colors
- String colors[]={"red","blue","green","brown","orange","pink","black","brown","grey","olivedrab"};
+ String colors[]={"red","blue","green","brown","orange","pink","black","grey","olivedrab","yellow"};
public TaskGraph(State state, TaskAnalysis taskanalysis) {
this.state=state;
TaskNode tn,sn;
if (fs.isSourceNode()) {
- sn=new TaskNode("Start Node");
+ Vector src=fs.getAllocatingTasks();
+ for(Iterator it2=src.iterator();it2.hasNext();) {
+ TaskDescriptor td=(TaskDescriptor)it2.next();
+ sn=new TaskNode(td.getSymbol());
if(fs.edges().hasNext()){
addEdges(fs,sn,tasknodes);
}
+ }
}
while(it_inedges.hasNext()){
Set fsnodes;
if (cd.hasFlags()&&((fsnodes=taskanalysis.getFlagStates(cd))!=null)){
- System.out.println(cd.getSymbol());
+ //
+ System.out.println("\nWorking on fses of Class: "+cd.getSymbol());
+ //
for(Iterator it=fsnodes.iterator();it.hasNext();) {
FlagState fs=(FlagState)it.next();
+ //
+ System.out.println("Evaluating fs: "+fs.getTextLabel());
+ //
Iterator it_inedges=fs.inedges();
TaskNode tn,sn;
if (fs.isSourceNode()){
+ //
+ System.out.println("A sourcenode");
+ //
if(fs.edges().hasNext()){
Vector allocatingtasks=fs.getAllocatingTasks();
+ //
+ if (allocatingtasks.iterator().hasNext())
+ System.out.println("has been allocated by "+allocatingtasks.size()+" tasks");
+ //
for(Iterator it_at=allocatingtasks.iterator();it_at.hasNext();){
- tn=new TaskNode(((TaskDescriptor)it_at.next()).getSymbol());
+ TaskDescriptor allocatingtd=(TaskDescriptor)it_at.next();
+ //
+ System.out.println(allocatingtd.getSymbol());
+ //
+ tn=new TaskNode(allocatingtd.getSymbol());
+
addEdges(fs,tn,alltasknodes,ColorID);
}
}