Skip to content
Snippets Groups Projects
Commit 74db501b authored by Björn Brandenburg's avatar Björn Brandenburg
Browse files

move non-essential job parameter definitions out of behavior

parent 46e8bd90
No related branches found
No related tags found
No related merge requests found
...@@ -12,9 +12,3 @@ Class JobArrival (Job : JobType) := job_arrival : Job -> instant. ...@@ -12,9 +12,3 @@ Class JobArrival (Job : JobType) := job_arrival : Job -> instant.
(* Definition of a generic type of parameter relating jobs to an absolute deadline. *) (* Definition of a generic type of parameter relating jobs to an absolute deadline. *)
Class JobDeadline (Job : JobType) := job_deadline : Job -> instant. Class JobDeadline (Job : JobType) := job_deadline : Job -> instant.
(* Definition of a generic type of release jitter parameter. *)
Class JobJitter (Job : JobType) := job_jitter : Job -> duration.
(* Definition of a generic type of parameter relating jobs to their preemption points. *)
Class JobPreemptable (Job : JobType) := job_preemptable : Job -> duration -> bool.
\ No newline at end of file
...@@ -2,12 +2,15 @@ From rt.restructuring.behavior Require Import job schedule. ...@@ -2,12 +2,15 @@ From rt.restructuring.behavior Require Import job schedule.
From rt.restructuring.model Require Import job task. From rt.restructuring.model Require Import job task.
From mathcomp Require Import ssreflect ssrbool ssrfun eqtype ssrnat seq fintype bigop. From mathcomp Require Import ssreflect ssrbool ssrfun eqtype ssrnat seq fintype bigop.
(** * Platform with limited preemptions *) (** * Platform with limited preemptions *)
(** Since the notion of preemption points is based on an user-provided (** Since the notion of preemption points is based on an user-provided
predicate (variable job_can_be_preempted), it does not guarantee that predicate (variable job_can_be_preempted), it does not guarantee that
the scheduler will enforce correct behavior. For that, we must the scheduler will enforce correct behavior. For that, we must
define additional predicates. *) define additional predicates. *)
(* Definition of a generic type of parameter relating jobs to their preemption points. *)
Class JobPreemptable (Job : JobType) := job_preemptable : Job -> duration -> bool.
Section ValidPreemptionModel. Section ValidPreemptionModel.
(* Consider any type of tasks ... *) (* Consider any type of tasks ... *)
......
...@@ -6,6 +6,9 @@ From rt.util Require Import nat. ...@@ -6,6 +6,9 @@ From rt.util Require Import nat.
(* We define the readiness indicator function for models with release jitter (* We define the readiness indicator function for models with release jitter
(and no self-suspensions). *) (and no self-suspensions). *)
(* Definition of a generic type of release jitter parameter. *)
Class JobJitter (Job : JobType) := job_jitter : Job -> duration.
Section ReadinessOfJitteryJobs. Section ReadinessOfJitteryJobs.
(* Consider any kind of jobs... *) (* Consider any kind of jobs... *)
Context {Job : JobType}. Context {Job : JobType}.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment