import java.util.*; /****************************************************************** This class and its main method simply test the classes required for Assignment 3, CS 146, Sections 5 & 7, Spring 2004. ******************************************************************/ public class A3 { /** @param args is ignored */ public static void main(String args[]) { System.out.println(); Simulator s = new Simulator(3); Random r = new Random(301); int time = 0; Schedule sked; sked = s.simulate(null, null); System.out.println(sked); System.out.println(); System.out.println(); LinkedList arrivalTimeList = new LinkedList(); LinkedList linkedTaskList = new LinkedList(); sked = s.simulate(linkedTaskList, arrivalTimeList); System.out.println(sked); System.out.println(); System.out.println(); for (int i=101; i<=120; i++) { int interval = 1 + r.nextInt(9); time += interval; arrivalTimeList.add(new Integer(time)); linkedTaskList.add( new Task(i, 1 + r.nextInt(29))); } LinkedList linkedTaskListCopy = (LinkedList) linkedTaskList.clone(); LinkedList arrivalTimeListCopy = (LinkedList) arrivalTimeList.clone(); sked = s.simulate(linkedTaskList, arrivalTimeList); System.out.println(sked); System.out.println(); System.out.println(); linkedTaskList = (LinkedList) linkedTaskListCopy.clone(); arrivalTimeList = (LinkedList) arrivalTimeListCopy.clone(); s = new Simulator(2); sked = s.simulate(linkedTaskList, arrivalTimeList); System.out.println(sked); System.out.println(); System.out.println(); linkedTaskList = (LinkedList) linkedTaskListCopy.clone(); arrivalTimeList = (LinkedList) arrivalTimeListCopy.clone(); s = new Simulator(4); sked = s.simulate(linkedTaskList, arrivalTimeList); System.out.println(sked); System.out.println(); System.out.println(); linkedTaskList = (LinkedList) linkedTaskListCopy.clone(); arrivalTimeList = (LinkedList) arrivalTimeListCopy.clone(); linkedTaskList.add(new Task(0,10)); s = new Simulator(4); sked = s.simulate(linkedTaskList, arrivalTimeList); System.out.println(sked); System.out.println(); System.out.println(); linkedTaskList = (LinkedList) linkedTaskListCopy.clone(); arrivalTimeList = (LinkedList) arrivalTimeListCopy.clone(); arrivalTimeList.add(new Integer(1000)); s = new Simulator(4); sked = s.simulate(linkedTaskList, arrivalTimeList); System.out.println(sked); System.out.println(); System.out.println("----------------"); System.out.println(); s = new Simulator(3); sked = s.createSchedule(null); System.out.println(sked); System.out.println(); System.out.println(); s = new Simulator(3); sked = s.createSchedule(new LinkedList()); System.out.println(sked); System.out.println(); System.out.println(); s = new Simulator(3); LinkedList shortLinkedTaskList = new LinkedList(); for (int i=3; i<=9; i++) shortLinkedTaskList.add(new Task(i,i)); sked = s.createSchedule(shortLinkedTaskList); System.out.println(sked); System.out.println(); System.out.println(); linkedTaskList = (LinkedList) linkedTaskListCopy.clone(); s = new Simulator(3); sked = s.createSchedule(linkedTaskList); System.out.println(sked); System.out.println(); System.out.println(); r = new Random(3); s = new Simulator(4); linkedTaskList = new LinkedList(); for (int i=1; i<=25; i++) linkedTaskList.add( new Task(i, 10+r.nextInt(50))); sked = s.createSchedule(linkedTaskList); System.out.println(sked); System.out.println(); System.out.println(); s = new Simulator(2); linkedTaskList = new LinkedList(); for (int i=1; i<=11; i++) linkedTaskList.add( new Task(i, i*i)); LinkedList squaresCopy = (LinkedList) linkedTaskList.clone(); sked = s.createSchedule(linkedTaskList); System.out.println(sked); System.out.println(); System.out.println(); s = new Simulator(2); LinkedList powers = new LinkedList(); for (int i=1; i<=11; i++) powers.add(new Task(i, i*i*i*i)); LinkedList powersCopy = (LinkedList) powers.clone(); sked = s.createSchedule(powers); System.out.println(sked); /* uncomment this out to test the extra credit */ System.out.println(); System.out.println("----------------"); System.out.println(); s = new Simulator(2); sked = s.optimize2ProcessorSolution(null); System.out.println(sked); System.out.println(); s = new Simulator(2); sked = s.optimize2ProcessorSolution(new LinkedList()); System.out.println(sked); System.out.println(); linkedTaskList = (LinkedList) linkedTaskListCopy.clone(); s = new Simulator(1); sked = s.optimize2ProcessorSolution(linkedTaskListCopy); System.out.println(sked); System.out.println(); linkedTaskList = (LinkedList) linkedTaskListCopy.clone(); s = new Simulator(3); sked = s.optimize2ProcessorSolution(linkedTaskListCopy); System.out.println(sked); System.out.println(); s = new Simulator(2); sked = s.optimize2ProcessorSolution(linkedTaskListCopy); System.out.println(sked); System.out.println(); s = new Simulator(2); sked = s.optimize2ProcessorSolution(squaresCopy); System.out.println(sked); System.out.println(); s = new Simulator(2); sked = s.optimize2ProcessorSolution(powersCopy); System.out.println(sked); System.out.println(); } };