Library prosa.model.priority.deadline_monotonic

Deadline-Monotonic Fixed-Priority Policy

We define the notion of deadline-monotonic task priorities, i.e., the classic FP policy in which tasks are prioritized in order of their relative deadlines.
Instance DM (Task : TaskType) `{TaskDeadline Task} : FP_policy Task :=
{
  hep_task (tsk1 tsk2 : Task) := task_deadline tsk1 task_deadline tsk2
}.

In this section, we prove a few basic properties of the DM policy.
Section Properties.

Consider any kind of tasks with relative deadlines...
  Context {Task : TaskType}.
  Context `{TaskDeadline Task}.

...and jobs stemming from these tasks.
  Context {Job : JobType}.
  Context `{JobTask Job Task}.

DM is reflexive.
DM is transitive.
DM is total.
We add the above lemmas into a "Hint Database" basic_facts, so Coq will be able to apply them automatically.
Hint Resolve
     DM_is_reflexive
     DM_is_transitive
     DM_is_total
  : basic_facts.