diff --git a/restructuring/model/schedule/preemption_time.v b/restructuring/model/schedule/preemption_time.v index 7f6c2676d5542f93a312386b388bdadbd6fb2e55..e355941a7998b2224a03f65f80c268e0be43108b 100644 --- a/restructuring/model/schedule/preemption_time.v +++ b/restructuring/model/schedule/preemption_time.v @@ -7,26 +7,16 @@ From mathcomp Require Import ssreflect ssrbool ssrfun eqtype ssrnat seq fintype ideal uni-processor model. *) Section PreemptionTime. - (** Consider any type of tasks ... *) - Context {Task : TaskType}. - Context `{TaskCost Task}. - Context `{TaskMaxNonpreemptiveSegment Task}. - - (** ... and any type of jobs associated with these tasks. *) + (** Consider any type of jobs... *) Context {Job : JobType}. - Context `{JobTask Job Task}. Context `{JobArrival Job}. Context `{JobCost Job}. - (** In addition, we assume the existence of a function mapping a - task to its maximal non-preemptive segment ... *) - Context `{TaskMaxNonpreemptiveSegment Task}. - - (** ... and the existence of a function mapping a job and + (** ... and assume the existence of a function mapping a job and its progress to a boolean value saying whether this job is preemptable at its current point of execution. *) Context `{JobPreemptable Job}. - + (** Consider any arrival sequence with consistent arrivals. *) Variable arr_seq : arrival_sequence Job. Hypothesis H_arrival_times_are_consistent : consistent_arrival_times arr_seq. @@ -35,7 +25,7 @@ Section PreemptionTime. Variable sched : schedule (ideal.processor_state Job). Hypothesis H_jobs_come_from_arrival_sequence: jobs_come_from_arrival_sequence sched arr_seq. - + (** We say that a time instant t is a preemption time iff the job that is currently scheduled at t can be preempted (according to the predicate). *) @@ -43,5 +33,5 @@ Section PreemptionTime. if sched t is Some j then job_preemptable j (service sched j t) else true. - + End PreemptionTime.