Library prosa.analysis.facts.model.dbf

Facts about the Demand Bound Function (DBF)

In this file we establish some properties of DBFs.
Consider any type of task with relative deadlines and any type of jobs associated with such tasks.
  Context {Task : TaskType} `{TaskDeadline Task}
          {Job : JobType} `{JobTask Job Task} `{JobArrival Job}.

Consider a valid arrival sequence.
First, we establish a relation between a task's arrivals in a given interval and those arrivals that also have a deadline contained within the given interval.
As a corollary, we also show a much more useful result that arises when we count these jobs.
In the following, assume we are given a valid WCET bound for each task.
A task's demand in a given interval is the sum of the execution costs (i.e., the workload) of the task's jobs that both arrive in the interval and have a deadline within it.
  Definition task_demand_within (tsk : Task) (t1 t2 : instant) :=
    let
      causing_demand (j : Job) := (job_deadline j t2) && (job_of_task tsk j)
    in
      workload_of_jobs causing_demand (arrivals_between arr_seq t1 t2).

Consider a task set ts.
  Variable ts : seq Task.

Let max_arrivals be any arrival curve.
The task's processor demand task_demand_within is upper-bounded by the task's DBF task_demand_bound_function.
We also prove that task_demand_within is less than shifted RBF.
Next, we define the total workload of all jobs that arrives in a given interval that also have a deadline within the interval.
  Definition total_demand_within (t1 t2 : instant) :=
    let
      causing_demand (j : Job) := job_deadline j t2
    in
      workload_of_jobs causing_demand (arrivals_between arr_seq t1 t2).

Assume that all jobs come from the task set ts.
We relate total_demand_within to the sum of each task's demand task_demand_within.
Here we prove a stronger version of the above lemma by assuming that the task set ts is indeed a set.
Finally we establish that total_demand_within is bounded by total_demand_bound_function.
As a corollary, we also note that total_demand_within is less than the sum of each task's shifted RBF.