scheduleOrder = (Trace[]) spaceTime.partitioner.getTraceGraph().clone(); Arrays.sort(scheduleOrder, new CompareTraceBNWork(spaceTime.partitioner));
Trace[] tempArray = (Trace[]) spaceTime.partitioner.getTraceGraph().clone(); Arrays.sort(tempArray, new CompareTraceBNWork(spaceTime.partitioner)); scheduleOrder = new LinkedList(Arrays.asList(tempArray));   Collections.reverse(scheduleOrder);
    public AnnealedLayout(SpaceTimeSchedule spaceTime) {        super();        this.spaceTime = spaceTime;        rawChip = spaceTime.getRawChip();        this.partitioner = spaceTime.partitioner;        numTiles = rawChip.getTotalTiles();        tiles = new RawTile[numTiles];        for (int i = 0; i < numTiles; i++)             tiles[i] = rawChip.getTile(i);        //get the schedule order of the graph!        scheduleOrder = (Trace[]) spaceTime.partitioner.getTraceGraph().clone();        Arrays.sort(scheduleOrder, new CompareTraceBNWork(spaceTime.partitioner));        //init the buffer to dram assignment pass        assignBuffers = new BufferDRAMAssignment();        //COMM_MULTIPLIER = COMP_COMM_RATIO /     }