Skip to content
Snippets Groups Projects
  1. May 06, 2022
    • Kimaya Bedarkar's avatar
      modify definitions of priority policy compliance · 41a542a8
      Kimaya Bedarkar authored and Björn Brandenburg's avatar Björn Brandenburg committed
      The current definitions of `respects_JLFP_policy_at_preemption_time`
      and `respects_FP_policy_at_preemption_time` use the predicate
      `hep_job_at`. This predicate does not make sense for `JLFP`
      and `FP` policies. To avoid this, these definitions should
      instead use the definition `respects_JLDP_policy_at_preemption_point`.
      Doing this requires coercions from `JLFP` to `JLDP` and from
      `FP` to `JLFP`. This patch also introduces these coercions.
      41a542a8
  2. Apr 14, 2022
  3. Apr 13, 2022
    • Pierre Roux's avatar
      fix the `job_preemption_points` name clash · f925eeee
      Pierre Roux authored and Björn Brandenburg's avatar Björn Brandenburg committed
      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.
      f925eeee
  4. Apr 07, 2022
    • Björn Brandenburg's avatar
    • Björn Brandenburg's avatar
      enable periodic->RBF auto conversion · 5d5f9c72
      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.
      ```
      5d5f9c72
    • Björn Brandenburg's avatar
      enable automatic arrival-model conversion · 87001429
      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.
      
      ```
      87001429
    • Björn Brandenburg's avatar
      reorganize arrival model conversions · fb114469
      Björn Brandenburg authored
      - move all to `prosa.model.task.arrival`
      - unify names to `${FOO}_as_${BAR}.v`
      fb114469
    • Björn Brandenburg's avatar
  5. Mar 25, 2022
  6. Mar 24, 2022
  7. Mar 17, 2022
  8. Mar 11, 2022
    • Pierre Roux's avatar
      simplify `conversion_preserves_equivalence` proof · 897e84f2
      Pierre Roux authored and Björn Brandenburg's avatar Björn Brandenburg committed
      ...and many other proofs:
      
      - Simplify proof of conversion_preserves_equivalence
      - Simplify proofs in analysis/facts/behavior/service.v
      - Simplify proofs in analysis/facts/behavior/deadlines.v
      - Simplify proofs in analysis/facts/behavior/arrivals.v
      - Fix order of arguments in identical_prefix_inclusion
      - Simplify proofs in analysis/facts/behavior/completion.v
      897e84f2
    • Björn Brandenburg's avatar
      be explicit in how service is accrued on ideal processors · 42008f41
      Björn Brandenburg authored
      This change is semantically a no-op, but it has been argued that not
      relying on the bool->nat coercion is more readable.
      
      Closes: #55
      42008f41
    • Mariam Vardishvili's avatar
      define GEL priority policy · 76c99fed
      Mariam Vardishvili authored and Björn Brandenburg's avatar Björn Brandenburg committed
      file for gel
      
      definition for gel
      
      file for gel with basic facts
      
      PriorityPoint and comment changes
      
      PriorityPoint and comment changes
      
      GEL rta with integer offset
      
      Added set in proof
      
      modified proof gel_is_total
      
      spell check
      
      spell check
      
      moved defintion of offset and PriorityPoint, modified hep_job for GEL
      
      spelling mistake
      
      Added citation
      
      spell check
      76c99fed
  9. Feb 25, 2022
  10. Feb 16, 2022
  11. Feb 14, 2022
  12. Nov 04, 2021
  13. Oct 11, 2021
Loading