Library prosa.analysis.facts.readiness.sequential
Require Export prosa.model.readiness.sequential.
Require Export prosa.analysis.definitions.readiness.
Require Export prosa.analysis.facts.behavior.completion.
Require Export prosa.analysis.facts.model.task_arrivals.
Require Export prosa.analysis.definitions.readiness.
Require Export prosa.analysis.facts.behavior.completion.
Require Export prosa.analysis.facts.model.task_arrivals.
In this section, we show some useful properties of the sequential
task readiness model.
Consider any type of job associated with any type of tasks ...
Context {Job : JobType}.
Context {Task : TaskType}.
Context `{JobTask Job Task}.
Context `{JobArrival Job}.
Context `{JobCost Job}.
Context {Task : TaskType}.
Context `{JobTask Job Task}.
Context `{JobArrival Job}.
Context `{JobCost Job}.
... and any kind of processor state.
Consider any arrival sequence with consistent arrivals.
Variable arr_seq : arrival_sequence Job.
Hypothesis H_arrival_times_are_consistent : consistent_arrival_times arr_seq.
Hypothesis H_arrival_times_are_consistent : consistent_arrival_times arr_seq.
Assume a basic sequential readiness model, wherein a pending job is ready
exactly when all prior jobs from the same task have completed.
Context {RM : JobReady Job PState}.
Hypothesis H_basic_sequential_readiness : basic_sequential_readiness RM arr_seq.
Hypothesis H_basic_sequential_readiness : basic_sequential_readiness RM arr_seq.
First, we observe that the sequential readiness model indeed lives up to
its name.
Consider any valid schedule of arr_seq.
Consider an FP policy that indicates a reflexive
higher-or-equal priority relation.
We show that a sequential readiness model is non-clairvoyant.
Next, we show that the sequential readiness model ensures that
tasks are sequential. That is, that jobs of the same task
execute in order of their arrival.