Library prosa.model.priority.fp

Fixed-Priority Policy

We define what it means for an abstract job-level fixed-priority policy to behave as fixed-priority scheduling with respect to a task-level fixed-priority policy.
Section FPPolicy.

Consider any type of tasks ...
  Context {Task : TaskType}.

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

Given an underlying FP policy, a JLFP policy behaves as an FP policy if it never inverts task-level priority, and every strict task-priority relation is reflected at the job level. Jobs of equal-priority tasks may be ordered by any reflexive, transitive, and total tie-breaking rule.
  Definition policy_is_FP (FP : FP_policy Task) (JLFP : JLFP_policy Job) :=
    ( j1 j2,
        hep_job j1 j2
        hep_task (job_task j1) (job_task j2))
     ( j1 j2,
          hp_task (job_task j1) (job_task j2)
          hep_job j1 j2)
     reflexive_job_priorities JLFP
     transitive_job_priorities JLFP
     total_job_priorities JLFP.

End FPPolicy.