Example SPAK code for simulating execution of a task set:

  struct task_set *ts;
  int feas;
  
  max_resp = 1000000;

  ts = create_task_set (18, 10, 500, 0,
  "audsley93_t3", 
  1000, 0, 0, 0,
  "Tindell92_restricted");

  //                       C       T      D  J  B  name
  new_simple_task (ts,  3500, 200000,  5000, 0, 0, "t1");
  new_simple_task (ts,  2000,  25000, 25000, 0, 0, "t2");
  new_simple_task (ts,  5000,  25000, 25000, 0, 0, "t3");
  new_simple_task (ts,  1000,  40000, 40000, 0, 0, "t4");
  new_simple_task (ts,  9000,  50000, 50000, 0, 0, "t5");
  new_simple_task (ts,  5000,  50000, 50000, 0, 0, "t6");
  new_simple_task (ts,  8000,  59000, 59000, 0, 0, "t7");
  new_simple_task (ts, 12000,  80000, 80000, 0, 0, "t8");
  new_simple_task (ts,  2000,  80000, 80000, 0, 0, "t9");

  make_all_preemptible (ts);
  set_priorities (ts, DM);
  feas = feasible (ts, TRUE);

  print_task_set (ts);

  if (feas == num_tasks (ts)) {
    printf ("task set is feasible\n");
  } else {
    printf ("task set is not feasible\n");
  }

  simulate (ts, 100000000, "sim_output.txt", 0.0, NULL, NULL);



Back to the main SPAK page.