Library rt.restructuring.model.schedule.limited_preemptive

Throughout this file, we assume ideal uniprocessor schedules.

Schedule with Limited Preemptions

In this section we introduce the notion of preemptions-aware schedule.
Consider any type of jobs.
  Context {Job : JobType}.
  Context `{JobArrival Job}.
  Context `{JobCost Job}.
  Context `{JobPreemptable Job}.

Consider any arrival sequence.
  Variable arr_seq : arrival_sequence Job.

Next, consider any ideal uniprocessor schedule of this arrival sequence.
Based on the definition of the model with preemption points, we define a valid schedule with limited preemptions.
  Definition valid_schedule_with_limited_preemptions :=
     j t,
      arrives_in arr_seq j
      ~~ job_preemptable j (service sched j t)
      scheduled_at sched j t.

End ScheduleWithLimitedPreemptions.