- Apr 19, 2022
-
-
It was subsumed by sum_nat_gt0
-
-
-
-
-
-
-
-
-
-
-
Too specific and one liner with existing MathComp lemmas.
-
Subsumed by existing MathComp lemmas on division.
-
-
-
- Apr 14, 2022
-
-
leq_trans and leq_addr seem to be enough.
-
Too specific.
-
This commit also removes one spurious dependency on ideal uni-processor. That is, previously file [model/service_of_jobs.v] imported [processor.ideal], which is wrong, since [model/service_of_jobs.v] assumes no specific model for processor.
-
-
To complement the existing interpretation, add one more instance of numeric fixed priority that assigns higher priority to lower numeric values.
-
-
- Apr 13, 2022
-
-
Rename the type-class parameter to `job_preemptive_points` to avoid a name clash with the the definition of the same name. Keep `JobPreemptionPoints` to match `TaskPreemptionPoints`. This does not result in a name clash.
-
- Apr 07, 2022
-
-
Björn Brandenburg authored
-
Björn Brandenburg authored
-
Björn Brandenburg authored
NB: This requires bumping up the "depth" parameter of `rt_auto` and `rt_eauto`. As a benefit, it becomes possible to automatically use RBFs in the context of periodic tasks, sporadic tasks, and tasks with arrival curves. Full example: ``` Require Import prosa.model.task.arrival.periodic. Require Import prosa.model.task.arrival.periodic_as_sporadic. Require Import prosa.model.task.arrival.sporadic_as_curve. Require Import prosa.model.task.arrival.curve_as_rbf. Section AutoArrivalModelConversion. Context {Job : JobType} `{JobArrival Job}. Context {Task : TaskType} `{PeriodicModel Task} `{JobTask Job Task}. Variable ts : TaskSet Task. Variable arr_seq : arrival_sequence Job. Hypothesis H_consistent_arrivals: consistent_arrival_times arr_seq. Hypothesis H_uniq_arr_seq: arrival_sequence_uniq arr_seq. Hypothesis H_valid_periods : valid_periods ts. Hypothesis H_respects : taskset_respects_periodic_task_model arr_seq ts. Context `{JobCost Job} `{TaskCost Task}. Hypothesis H_valid_costs : jobs_have_valid_job_costs. (** Interpret as an RBF. *) Goal valid_taskset_request_bound_function ts (task_max_rbf max_arrivals). Proof. by rt_auto. Qed. Goal taskset_respects_max_request_bound arr_seq ts. Proof. rt_eauto. Qed. End AutoArrivalModelConversion. ```
-
Björn Brandenburg authored
This commit makes it possible to transparently interpret periodic tasks as sporadic tasks, and sporadic tasks as tasks with an arrival curve, such that all proof obligations can satisfied by `rt_auto` and `rt_eauto`. Full example: ``` Require Import prosa.model.task.arrival.periodic. Require Import prosa.model.task.arrival.periodic_as_sporadic. Require Import prosa.model.task.arrival.sporadic_as_curve. Section AutoArrivalModelConversion. Context {Job : JobType} `{JobArrival Job}. Context {Task : TaskType} `{PeriodicModel Task} `{JobTask Job Task}. Variable ts : TaskSet Task. Variable arr_seq : arrival_sequence Job. Hypothesis H_consistent_arrivals: consistent_arrival_times arr_seq. Hypothesis H_uniq_arr_seq: arrival_sequence_uniq arr_seq. Hypothesis H_valid_periods : valid_periods ts. Hypothesis H_respects : taskset_respects_periodic_task_model arr_seq ts. (** 1. Interpret as sporadic: *) Goal valid_taskset_inter_arrival_times ts. Proof. by rt_auto. Qed. Goal taskset_respects_sporadic_task_model ts arr_seq. Proof. by rt_auto. Qed. (** 2. Interpret as an arrival curve. *) Goal valid_taskset_arrival_curve ts max_arrivals. Proof. by rt_auto. Qed. Goal taskset_respects_max_arrivals arr_seq ts. Proof. by rt_eauto. Qed. End AutoArrivalModelConversion. ```
-
Björn Brandenburg authored
- move all to `prosa.model.task.arrival` - unify names to `${FOO}_as_${BAR}.v`
-
Björn Brandenburg authored
-
Björn Brandenburg authored
-
Björn Brandenburg authored
-
Björn Brandenburg authored
-
Björn Brandenburg authored
-
Björn Brandenburg authored
-
Björn Brandenburg authored
-
Björn Brandenburg authored
-
Björn Brandenburg authored
Arguments about sporadic tasks do not reason about offsets as future arrival times are unknown.
-
Björn Brandenburg authored
-
- Slightly change `valid_nonpreemptive_readiness` so that `sched` is a parameter. This way, the proposition can be assumed to hold only for a certain schedule (making weaker assumptions). - Modify `prev_job_nonpreemptive, to unconditionally get `jobs_must_be_ready_to_execute`. - Revise lemmas accordingly.
-
- Mar 25, 2022
-
-
Björn Brandenburg authored
-