createExecutionCounts(schedule.getInitSchedule(), initExecutionCounts); createExecutionCounts(schedule.getSteadySchedule(), steadyExecutionCounts);
    public static void simulate(FlatNode top)     {	System.out.println("Simulator Running...");		Schedule schedule = SIRScheduler.getSchedule(getTopMostParent(top));	HashMap initExecutionCounts = new HashMap();	HashMap steadyExecutionCounts = new HashMap();		initJoinerCode = new HashMap();        steadyJoinerCode = new HashMap();		//generate the joiner schedule	JoinerSimulator.createJoinerSchedules(top);		//get the schedule for the graph	//first find the top most pipeline		createExecutionCounts(schedule.getInitSchedule(),			      initExecutionCounts);	createExecutionCounts(schedule.getSteadySchedule(), 			      steadyExecutionCounts);	SimulationCounter counters = 	    new SimulationCounter(JoinerSimulator.schedules);	joinerCode = initJoinerCode;	initSchedules = (new Simulator(top)).go(initExecutionCounts, counters);	joinerCode = steadyJoinerCode;	steadySchedules = (new Simulator(top)).go(steadyExecutionCounts, counters);    }