Forked from
RT-PROOFS / PROSA - Formally Proven Schedulability Analysis
863 commits behind the upstream repository.
-
Felipe Cerqueira authoredFelipe Cerqueira authored
task_arrival.v 1.15 KiB
Add LoadPath "../../" as rt.
Require Import rt.util.all.
Require Import rt.model.basic.task rt.model.basic.job rt.model.basic.schedule.
Require Import ssreflect ssrbool eqtype ssrnat seq.
(* Properties of the job arrival. *)
Module SporadicTaskArrival.
Import SporadicTaskset Schedule.
Section ArrivalModels.
(* Assume the task period is known. *)
Context {sporadic_task: eqType}.
Variable task_period: sporadic_task -> time.
Context {Job: eqType}.
Variable arr_seq: arrival_sequence Job.
Variable job_task: Job -> sporadic_task.
(* Then, we define the sporadic task model as follows.*)
Definition sporadic_task_model :=
forall (j j': JobIn arr_seq),
j <> j' -> (* Given two different jobs j and j' ... *)
job_task j = job_task j' -> (* ... of the same task, ... *)
job_arrival j <= job_arrival j' -> (* ... if the arrival of j precedes the arrival of j' ..., *)
(* then the arrival of j and the arrival of j' are separated by at least one period. *)
job_arrival j' >= job_arrival j + task_period (job_task j).
End ArrivalModels.
End SporadicTaskArrival.