Library prosa.analysis.definitions.readiness_interference
Require Export prosa.model.priority.definitions.
Require Export prosa.analysis.abstract.definitions.
Require Export prosa.analysis.definitions.job_properties.
Require Export prosa.analysis.abstract.definitions.
Require Export prosa.analysis.definitions.job_properties.
Readiness Interference
Consider any tasks.
Consider any kind of jobs.
Context {Job : JobType}.
Context `{JobArrival Job}.
Context `{JobCost Job}.
Context `{JobTask Job Task}.
Context `{JobArrival Job}.
Context `{JobCost Job}.
Context `{JobTask Job Task}.
Consider any kind of processor model.
Consider any notion of readiness.
Note that although any notion of readiness would work, it wouldn't make
sense to have this kind of interference in case of a work-bearing notion of
readiness, since this interference would always be false in that case.
Consider any arrival sequence of jobs.
Consider any schedule.
Consider any JLFP priority policy.
Now consider any job j.
We are interested in instants at which at least one higher-or-equal-priority job is ready.
Definition some_hep_job_ready (t : instant) :=
has (fun j' ⇒ job_ready sched j' t)
[seq j' <- arrivals_up_to arr_seq t | hep_job j' j].
has (fun j' ⇒ job_ready sched j' t)
[seq j' <- arrivals_up_to arr_seq t | hep_job j' j].
Based on the above definition, we introduce a notion of cumulative interference
in a given interval due to the absence of higher-or-equal-priority ready jobs.
Definition cumulative_readiness_interference (t1 t2 : instant) :=
\sum_(t1 ≤ t < t2) ~~ some_hep_job_ready t.
End Definitions.
\sum_(t1 ≤ t < t2) ~~ some_hep_job_ready t.
End Definitions.
In this section, we define the notion of a bound on
readiness interference.
Assume that we have some definition of Interference and InterferingWorkload.