From 9271931f0ff5a1e4b1deca491556b475428e2053 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Brandenburg?= <bbb@mpi-sws.org> Date: Wed, 18 Dec 2019 01:59:24 +0100 Subject: [PATCH] move restructured Prosa to top level The main restructuring thrust is nearing completion, so let's get rid of the `restructuring` namespace. --- .gitlab-ci.yml | 4 ++-- README.md | 13 ++++++++++-- .../abstract/abstract_rta.v | 6 +++--- .../abstract/abstract_seq_rta.v | 8 ++++---- .../abstract/definitions.v | 4 ++-- .../abstract/ideal_jlfp_rta.v | 8 ++++---- .../abstract/run_to_completion.v | 4 ++-- .../abstract/search_space.v | 2 +- .../concepts/busy_interval.v | 6 +++--- .../concepts/priority_inversion.v | 2 +- .../concepts/request_bound_function.v | 6 +++--- .../concepts/schedulability.v | 4 ++-- .../definitions/carry_in.v | 4 ++-- .../definitions/job_properties.v | 2 +- .../definitions/progress.v | 2 +- .../definitions/task_schedule.v | 4 ++-- analysis/facts/behavior/all.v | 8 ++++++++ .../facts/behavior/arrivals.v | 2 +- .../facts/behavior/completion.v | 4 ++-- .../facts/behavior/deadlines.v | 2 +- .../facts/behavior/ideal_schedule.v | 6 +++--- .../facts/behavior/sequential.v | 2 +- .../facts/behavior/service.v | 4 ++-- .../facts/behavior/service_of_jobs.v | 10 +++++----- .../facts/behavior/task_arrivals.v | 2 +- .../facts/behavior/workload.v | 4 ++-- .../facts/busy_interval.v | 12 +++++------ .../analysis => analysis}/facts/carry_in.v | 8 ++++---- .../analysis => analysis}/facts/edf.v | 4 ++-- .../facts/preemption/job/limited.v | 8 ++++---- .../facts/preemption/job/nonpreemptive.v | 8 ++++---- .../facts/preemption/job/preemptive.v | 4 ++-- .../facts/preemption/rtc_threshold/floating.v | 8 ++++---- .../rtc_threshold/job_preemptable.v | 6 +++--- .../facts/preemption/rtc_threshold/limited.v | 8 ++++---- .../preemption/rtc_threshold/nonpreemptive.v | 6 +++--- .../preemption/rtc_threshold/preemptive.v | 6 +++--- .../facts/preemption/task/floating.v | 6 +++--- .../facts/preemption/task/limited.v | 6 +++--- .../facts/preemption/task/nonpreemptive.v | 6 +++--- .../facts/preemption/task/preemptive.v | 6 +++--- .../facts/priority_inversion.v | 18 ++++++++--------- .../analysis => analysis}/facts/rbf.v | 6 +++--- .../facts/readiness/basic.v | 4 ++-- .../analysis => analysis}/facts/tdma.v | 2 +- .../facts/transform/edf_opt.v | 14 ++++++------- .../facts/transform/replace_at.v | 4 ++-- .../facts/transform/swaps.v | 4 ++-- .../transform/edf_trans.v | 4 ++-- .../analysis => analysis}/transform/prefix.v | 2 +- .../analysis => analysis}/transform/swap.v | 2 +- .../behavior => behavior}/README.md | 0 behavior/all.v | 6 ++++++ .../behavior => behavior}/arrival_sequence.v | 2 +- {restructuring/behavior => behavior}/job.v | 2 +- {restructuring/behavior => behavior}/ready.v | 2 +- .../behavior => behavior}/schedule.v | 2 +- .../behavior => behavior}/service.v | 2 +- {restructuring/behavior => behavior}/time.v | 0 create_makefile.sh | 2 +- {restructuring/model => model}/README.md | 0 .../aggregate/service_of_jobs.v | 2 +- .../model => model}/aggregate/workload.v | 2 +- .../preemption/fully_nonpreemptive.v | 2 +- .../preemption/fully_preemptive.v | 2 +- .../preemption/limited_preemptive.v | 2 +- .../model => model}/preemption/parameter.v | 2 +- .../model => model}/priority/classes.v | 2 +- .../priority/deadline_monotonic.v | 2 +- {restructuring/model => model}/priority/edf.v | 2 +- .../model => model}/priority/fifo.v | 2 +- .../priority/numeric_fixed_priority.v | 2 +- .../model => model}/priority/rate_monotonic.v | 4 ++-- .../model => model}/processor/ideal.v | 2 +- .../processor/multiprocessor.v | 2 +- .../processor/platform_properties.v | 2 +- .../model => model}/processor/spin.v | 2 +- .../model => model}/processor/varspeed.v | 2 +- .../model => model}/readiness/basic.v | 2 +- .../model => model}/readiness/jitter.v | 2 +- .../model => model}/readiness/suspension.v | 4 ++-- {restructuring/model => model}/schedule/edf.v | 2 +- .../schedule/limited_preemptive.v | 2 +- .../model => model}/schedule/nonpreemptive.v | 2 +- .../schedule/preemption_time.v | 4 ++-- .../schedule/priority_driven.v | 6 +++--- .../model => model}/schedule/tdma.v | 4 ++-- .../schedule/work_conserving.v | 2 +- .../model => model}/task/absolute_deadline.v | 2 +- .../model => model}/task/arrival/curves.v | 2 +- .../model => model}/task/arrival/sporadic.v | 2 +- .../model => model}/task/arrivals.v | 2 +- {restructuring/model => model}/task/concept.v | 2 +- .../task/preemption/floating_nonpreemptive.v | 4 ++-- .../task/preemption/fully_nonpreemptive.v | 2 +- .../task/preemption/fully_preemptive.v | 2 +- .../task/preemption/limited_preemptive.v | 4 ++-- .../task/preemption/parameters.v | 4 ++-- .../model => model}/task/sequentiality.v | 2 +- .../model => model}/task/suspension/dynamic.v | 4 ++-- restructuring/README.md | 17 ---------------- restructuring/analysis/facts/behavior/all.v | 8 -------- restructuring/behavior/all.v | 6 ------ .../results => results}/edf/optimality.v | 6 +++--- .../results => results}/edf/rta/bounded_nps.v | 12 +++++------ .../results => results}/edf/rta/bounded_pi.v | 20 +++++++++---------- .../edf/rta/floating_nonpreemptive.v | 14 ++++++------- .../edf/rta/fully_nonpreemptive.v | 14 ++++++------- .../edf/rta/fully_preemptive.v | 14 ++++++------- .../edf/rta/limited_preemptive.v | 14 ++++++------- .../fixed_priority/rta/bounded_nps.v | 12 +++++------ .../fixed_priority/rta/bounded_pi.v | 10 +++++----- .../rta/floating_nonpreemptive.v | 12 +++++------ .../fixed_priority/rta/fully_nonpreemptive.v | 12 +++++------ .../fixed_priority/rta/fully_preemptive.v | 12 +++++------ .../fixed_priority/rta/limited_preemptive.v | 12 +++++------ 116 files changed, 294 insertions(+), 302 deletions(-) rename {restructuring/analysis => analysis}/abstract/abstract_rta.v (99%) rename {restructuring/analysis => analysis}/abstract/abstract_seq_rta.v (99%) rename {restructuring/analysis => analysis}/abstract/definitions.v (99%) rename {restructuring/analysis => analysis}/abstract/ideal_jlfp_rta.v (99%) rename {restructuring/analysis => analysis}/abstract/run_to_completion.v (98%) rename {restructuring/analysis => analysis}/abstract/search_space.v (99%) rename {restructuring/analysis => analysis}/concepts/busy_interval.v (95%) rename {restructuring/analysis => analysis}/concepts/priority_inversion.v (97%) rename {restructuring/analysis => analysis}/concepts/request_bound_function.v (94%) rename {restructuring/analysis => analysis}/concepts/schedulability.v (97%) rename {restructuring/analysis => analysis}/definitions/carry_in.v (91%) rename {restructuring/analysis => analysis}/definitions/job_properties.v (89%) rename {restructuring/analysis => analysis}/definitions/progress.v (97%) rename {restructuring/analysis => analysis}/definitions/task_schedule.v (93%) create mode 100644 analysis/facts/behavior/all.v rename {restructuring/analysis => analysis}/facts/behavior/arrivals.v (99%) rename {restructuring/analysis => analysis}/facts/behavior/completion.v (98%) rename {restructuring/analysis => analysis}/facts/behavior/deadlines.v (97%) rename {restructuring/analysis => analysis}/facts/behavior/ideal_schedule.v (97%) rename {restructuring/analysis => analysis}/facts/behavior/sequential.v (95%) rename {restructuring/analysis => analysis}/facts/behavior/service.v (99%) rename {restructuring/analysis => analysis}/facts/behavior/service_of_jobs.v (97%) rename {restructuring/analysis => analysis}/facts/behavior/task_arrivals.v (94%) rename {restructuring/analysis => analysis}/facts/behavior/workload.v (90%) rename {restructuring/analysis => analysis}/facts/busy_interval.v (98%) rename {restructuring/analysis => analysis}/facts/carry_in.v (98%) rename {restructuring/analysis => analysis}/facts/edf.v (89%) rename {restructuring/analysis => analysis}/facts/preemption/job/limited.v (97%) rename {restructuring/analysis => analysis}/facts/preemption/job/nonpreemptive.v (95%) rename {restructuring/analysis => analysis}/facts/preemption/job/preemptive.v (93%) rename {restructuring/analysis => analysis}/facts/preemption/rtc_threshold/floating.v (81%) rename {restructuring/analysis => analysis}/facts/preemption/rtc_threshold/job_preemptable.v (98%) rename {restructuring/analysis => analysis}/facts/preemption/rtc_threshold/limited.v (95%) rename {restructuring/analysis => analysis}/facts/preemption/rtc_threshold/nonpreemptive.v (92%) rename {restructuring/analysis => analysis}/facts/preemption/rtc_threshold/preemptive.v (85%) rename {restructuring/analysis => analysis}/facts/preemption/task/floating.v (96%) rename {restructuring/analysis => analysis}/facts/preemption/task/limited.v (96%) rename {restructuring/analysis => analysis}/facts/preemption/task/nonpreemptive.v (94%) rename {restructuring/analysis => analysis}/facts/preemption/task/preemptive.v (91%) rename {restructuring/analysis => analysis}/facts/priority_inversion.v (98%) rename {restructuring/analysis => analysis}/facts/rbf.v (98%) rename {restructuring/analysis => analysis}/facts/readiness/basic.v (90%) rename {restructuring/analysis => analysis}/facts/tdma.v (99%) rename {restructuring/analysis => analysis}/facts/transform/edf_opt.v (98%) rename {restructuring/analysis => analysis}/facts/transform/replace_at.v (96%) rename {restructuring/analysis => analysis}/facts/transform/swaps.v (99%) rename {restructuring/analysis => analysis}/transform/edf_trans.v (96%) rename {restructuring/analysis => analysis}/transform/prefix.v (98%) rename {restructuring/analysis => analysis}/transform/swap.v (97%) rename {restructuring/behavior => behavior}/README.md (100%) create mode 100644 behavior/all.v rename {restructuring/behavior => behavior}/arrival_sequence.v (98%) rename {restructuring/behavior => behavior}/job.v (94%) rename {restructuring/behavior => behavior}/ready.v (98%) rename {restructuring/behavior => behavior}/schedule.v (98%) rename {restructuring/behavior => behavior}/service.v (98%) rename {restructuring/behavior => behavior}/time.v (100%) rename {restructuring/model => model}/README.md (100%) rename {restructuring/model => model}/aggregate/service_of_jobs.v (98%) rename {restructuring/model => model}/aggregate/workload.v (97%) rename {restructuring/model => model}/preemption/fully_nonpreemptive.v (91%) rename {restructuring/model => model}/preemption/fully_preemptive.v (90%) rename {restructuring/model => model}/preemption/limited_preemptive.v (97%) rename {restructuring/model => model}/preemption/parameter.v (99%) rename {restructuring/model => model}/priority/classes.v (99%) rename {restructuring/model => model}/priority/deadline_monotonic.v (95%) rename {restructuring/model => model}/priority/edf.v (95%) rename {restructuring/model => model}/priority/fifo.v (95%) rename {restructuring/model => model}/priority/numeric_fixed_priority.v (97%) rename {restructuring/model => model}/priority/rate_monotonic.v (92%) rename {restructuring/model => model}/processor/ideal.v (98%) rename {restructuring/model => model}/processor/multiprocessor.v (98%) rename {restructuring/model => model}/processor/platform_properties.v (96%) rename {restructuring/model => model}/processor/spin.v (97%) rename {restructuring/model => model}/processor/varspeed.v (97%) rename {restructuring/model => model}/readiness/basic.v (94%) rename {restructuring/model => model}/readiness/jitter.v (97%) rename {restructuring/model => model}/readiness/suspension.v (96%) rename {restructuring/model => model}/schedule/edf.v (98%) rename {restructuring/model => model}/schedule/limited_preemptive.v (94%) rename {restructuring/model => model}/schedule/nonpreemptive.v (95%) rename {restructuring/model => model}/schedule/preemption_time.v (93%) rename {restructuring/model => model}/schedule/priority_driven.v (91%) rename {restructuring/model => model}/schedule/tdma.v (98%) rename {restructuring/model => model}/schedule/work_conserving.v (97%) rename {restructuring/model => model}/task/absolute_deadline.v (89%) rename {restructuring/model => model}/task/arrival/curves.v (99%) rename {restructuring/model => model}/task/arrival/sporadic.v (98%) rename {restructuring/model => model}/task/arrivals.v (95%) rename {restructuring/model => model}/task/concept.v (98%) rename {restructuring/model => model}/task/preemption/floating_nonpreemptive.v (95%) rename {restructuring/model => model}/task/preemption/fully_nonpreemptive.v (95%) rename {restructuring/model => model}/task/preemption/fully_preemptive.v (95%) rename {restructuring/model => model}/task/preemption/limited_preemptive.v (97%) rename {restructuring/model => model}/task/preemption/parameters.v (98%) rename {restructuring/model => model}/task/sequentiality.v (95%) rename {restructuring/model => model}/task/suspension/dynamic.v (91%) delete mode 100644 restructuring/README.md delete mode 100644 restructuring/analysis/facts/behavior/all.v delete mode 100644 restructuring/behavior/all.v rename {restructuring/results => results}/edf/optimality.v (95%) rename {restructuring/results => results}/edf/rta/bounded_nps.v (97%) rename {restructuring/results => results}/edf/rta/bounded_pi.v (98%) rename {restructuring/results => results}/edf/rta/floating_nonpreemptive.v (93%) rename {restructuring/results => results}/edf/rta/fully_nonpreemptive.v (93%) rename {restructuring/results => results}/edf/rta/fully_preemptive.v (93%) rename {restructuring/results => results}/edf/rta/limited_preemptive.v (94%) rename {restructuring/results => results}/fixed_priority/rta/bounded_nps.v (96%) rename {restructuring/results => results}/fixed_priority/rta/bounded_pi.v (98%) rename {restructuring/results => results}/fixed_priority/rta/floating_nonpreemptive.v (93%) rename {restructuring/results => results}/fixed_priority/rta/fully_nonpreemptive.v (93%) rename {restructuring/results => results}/fixed_priority/rta/fully_preemptive.v (92%) rename {restructuring/results => results}/fixed_priority/rta/limited_preemptive.v (94%) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 0100d9605..717fffe3a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -143,8 +143,8 @@ proof-state: dependencies: - 1.9.0-coq-8.10 script: - - find restructuring util -iname *.v | xargs -P ${NJOBS} -n 1 scripts/record-proof-state.py -c '-R . rt -w -notation-overriden,-parsing' --timeout 20 - - scripts/intersperse-proof-state.py `find restructuring util -iname *.v` + - find . -iname *.v ! -path './classic/*' | xargs -P ${NJOBS} -n 1 scripts/record-proof-state.py -c '-R . rt -w -notation-overriden,-parsing' --timeout 20 + - scripts/intersperse-proof-state.py `find . -iname *.v ! -path './classic/*'` - cd with-proof-state/ - ln -s ../scripts/ - ln -s ../_CoqProject diff --git a/README.md b/README.md index befa2f077..dc7427a9a 100644 --- a/README.md +++ b/README.md @@ -16,12 +16,21 @@ Please see the [list of publications](http://prosa.mpi-sws.org/documentation.htm ## Directory and Module Structure -The directory and module structure is currently undergoing a fundamental reorganization. +The directory and module structure is organized as follows. First, the main parts, of which there are currently four. + +- [behavior/](behavior/): The `behavior` namespace collects basic definitions and properties of system behavior (i.e., it defines Prosa's **trace-based semantics**). There are *no* proofs here. This module is mandatory: *all* results in Prosa rely on the basic trace-based semantics defined in this module. +- [model/](model/): The `model` namespace collects all definitions and basic properties of various **system models** (e.g., sporadic tasks, arrival curves, various scheduling policies, etc.). There are only few proofs here. This module contains multiple, mutually exclusive alternatives (e.g., periodic vs. sporadic tasks, uni- vs. multiprocessor models, constrained vs. arbitrary deadlines, etc.), and higher-level results are expected "pick and choose" whatever definitions and assumptions are appropriate. +- [analysis/](analysis/): The `analysis` namespace collects all definitions and proof libraries needed to establish **system properties** (e.g., schedulability, response time, etc.). This includes a substantial library of *basic facts* that follow directly from the trace-based semantics or specific modelling assumptions. Virtually all intermediate steps and low-level proofs will be found here. +- [results/](results/): The `results` namespace contains all **high-level analysis results**. + + +In future work, there will also (again) be an `implementation` or `examples` namespace in which important high-level results are instantiated (i.e., applied) in an assumption-free environment for concrete job and task types to establish the absence of any contradiction in assumptions. + +Furthermore, there are a couple of additional folders and namespaces. - [classic/](classic/): This module contains the "classic" version of Prosa as first presented at ECRTS'16. All results published prior to 2020 build on this "classic" version of Prosa. - [util/](util/): A collection of miscellaneous "helper" lemmas and tactics. Used throughout the rest of Prosa. -- [restructuring/](restructuring/): The new, refactored version of Prosa. Currently still under heavy development. This part of Prosa will soon move out of the `restructuring` namespace. - [scripts/](scripts/): Scripts and supporting resources required for continuous integration and documentation generation. ## Dependencies diff --git a/restructuring/analysis/abstract/abstract_rta.v b/analysis/abstract/abstract_rta.v similarity index 99% rename from restructuring/analysis/abstract/abstract_rta.v rename to analysis/abstract/abstract_rta.v index 9351b3056..446eff6eb 100644 --- a/restructuring/analysis/abstract/abstract_rta.v +++ b/analysis/abstract/abstract_rta.v @@ -1,6 +1,6 @@ -Require Export rt.restructuring.analysis.concepts.schedulability. -Require Export rt.restructuring.analysis.abstract.search_space. -Require Export rt.restructuring.analysis.abstract.run_to_completion. +Require Export rt.analysis.concepts.schedulability. +Require Export rt.analysis.abstract.search_space. +Require Export rt.analysis.abstract.run_to_completion. From mathcomp Require Import ssreflect ssrbool eqtype ssrnat seq path fintype bigop. diff --git a/restructuring/analysis/abstract/abstract_seq_rta.v b/analysis/abstract/abstract_seq_rta.v similarity index 99% rename from restructuring/analysis/abstract/abstract_seq_rta.v rename to analysis/abstract/abstract_seq_rta.v index 5946e2aca..bb09b5d2c 100644 --- a/restructuring/analysis/abstract/abstract_seq_rta.v +++ b/analysis/abstract/abstract_seq_rta.v @@ -1,7 +1,7 @@ -Require Export rt.restructuring.analysis.definitions.task_schedule. -Require Export rt.restructuring.analysis.facts.rbf. -Require Export rt.restructuring.analysis.facts.behavior.task_arrivals. -Require Export rt.restructuring.analysis.abstract.abstract_rta. +Require Export rt.analysis.definitions.task_schedule. +Require Export rt.analysis.facts.rbf. +Require Export rt.analysis.facts.behavior.task_arrivals. +Require Export rt.analysis.abstract.abstract_rta. From mathcomp Require Import ssreflect ssrbool eqtype ssrnat seq path fintype bigop. diff --git a/restructuring/analysis/abstract/definitions.v b/analysis/abstract/definitions.v similarity index 99% rename from restructuring/analysis/abstract/definitions.v rename to analysis/abstract/definitions.v index 3d3d5c05e..5bbb12e05 100644 --- a/restructuring/analysis/abstract/definitions.v +++ b/analysis/abstract/definitions.v @@ -1,8 +1,8 @@ -Require Export rt.restructuring.model.task.concept. +Require Export rt.model.task.concept. From mathcomp Require Import ssreflect ssrbool eqtype ssrnat seq path fintype bigop. (** Throughout this file, we assume ideal uni-processor schedules. *) -Require Import rt.restructuring.model.processor.ideal. +Require Import rt.model.processor.ideal. (** * Definitions for Abstract Response-Time Analysis *) (** In this module, we propose a set of definitions for the general framework for response-time analysis (RTA) diff --git a/restructuring/analysis/abstract/ideal_jlfp_rta.v b/analysis/abstract/ideal_jlfp_rta.v similarity index 99% rename from restructuring/analysis/abstract/ideal_jlfp_rta.v rename to analysis/abstract/ideal_jlfp_rta.v index 8b1d173e8..153df7665 100644 --- a/restructuring/analysis/abstract/ideal_jlfp_rta.v +++ b/analysis/abstract/ideal_jlfp_rta.v @@ -1,13 +1,13 @@ -Require Export rt.restructuring.analysis.concepts.priority_inversion. -Require Export rt.restructuring.analysis.abstract.abstract_seq_rta. +Require Export rt.analysis.concepts.priority_inversion. +Require Export rt.analysis.abstract.abstract_seq_rta. From mathcomp Require Import ssreflect ssrbool eqtype ssrnat seq path fintype bigop. (** In this file we consider an ideal uni-processor ... *) -Require Import rt.restructuring.model.processor.ideal. +Require Import rt.model.processor.ideal. (** ... and classic model of readiness without jitter and no self-suspensions, where pending jobs are always ready. *) -Require Import rt.restructuring.model.readiness.basic. +Require Import rt.model.readiness.basic. (** * JLFP instantiation of Interference and Interfering Workload for ideal uni-processor. *) (** In this module we instantiate functions Interference and Interfering Workload diff --git a/restructuring/analysis/abstract/run_to_completion.v b/analysis/abstract/run_to_completion.v similarity index 98% rename from restructuring/analysis/abstract/run_to_completion.v rename to analysis/abstract/run_to_completion.v index 53597c8e6..e00ebe39b 100644 --- a/restructuring/analysis/abstract/run_to_completion.v +++ b/analysis/abstract/run_to_completion.v @@ -1,5 +1,5 @@ -Require Export rt.restructuring.analysis.facts.preemption.rtc_threshold.job_preemptable. -Require Export rt.restructuring.analysis.abstract.definitions. +Require Export rt.analysis.facts.preemption.rtc_threshold.job_preemptable. +Require Export rt.analysis.abstract.definitions. From mathcomp Require Import ssreflect ssrbool eqtype ssrnat seq path fintype bigop. diff --git a/restructuring/analysis/abstract/search_space.v b/analysis/abstract/search_space.v similarity index 99% rename from restructuring/analysis/abstract/search_space.v rename to analysis/abstract/search_space.v index f40ecc21a..8bc34c281 100644 --- a/restructuring/analysis/abstract/search_space.v +++ b/analysis/abstract/search_space.v @@ -1,6 +1,6 @@ Require Import rt.util.epsilon. Require Import rt.util.tactics. -Require Import rt.restructuring.model.task.concept. +Require Import rt.model.task.concept. From mathcomp Require Import ssreflect ssrbool eqtype ssrnat seq path fintype bigop. (** * Reduction of the search space for Abstract RTA *) diff --git a/restructuring/analysis/concepts/busy_interval.v b/analysis/concepts/busy_interval.v similarity index 95% rename from restructuring/analysis/concepts/busy_interval.v rename to analysis/concepts/busy_interval.v index 84620629c..5e613bdaf 100644 --- a/restructuring/analysis/concepts/busy_interval.v +++ b/analysis/concepts/busy_interval.v @@ -1,9 +1,9 @@ -Require Export rt.restructuring.model.priority.classes. -Require Export rt.restructuring.analysis.facts.behavior.completion. +Require Export rt.model.priority.classes. +Require Export rt.analysis.facts.behavior.completion. From mathcomp Require Import ssreflect ssrbool eqtype ssrnat seq fintype bigop. (** Throughout this file, we assume ideal uniprocessor schedules. *) -Require Import rt.restructuring.model.processor.ideal. +Require Import rt.model.processor.ideal. (** * Busy Interval for JLFP-models *) (** In this file we define the notion of busy intervals for uniprocessor for JLFP schedulers. *) diff --git a/restructuring/analysis/concepts/priority_inversion.v b/analysis/concepts/priority_inversion.v similarity index 97% rename from restructuring/analysis/concepts/priority_inversion.v rename to analysis/concepts/priority_inversion.v index a90e9f672..6278e9730 100644 --- a/restructuring/analysis/concepts/priority_inversion.v +++ b/analysis/concepts/priority_inversion.v @@ -1,4 +1,4 @@ -Require Export rt.restructuring.analysis.concepts.busy_interval. +Require Export rt.analysis.concepts.busy_interval. From mathcomp Require Import ssreflect ssrbool eqtype ssrnat seq fintype bigop. diff --git a/restructuring/analysis/concepts/request_bound_function.v b/analysis/concepts/request_bound_function.v similarity index 94% rename from restructuring/analysis/concepts/request_bound_function.v rename to analysis/concepts/request_bound_function.v index 13aab3c1e..f531fa0fa 100644 --- a/restructuring/analysis/concepts/request_bound_function.v +++ b/analysis/concepts/request_bound_function.v @@ -1,10 +1,10 @@ -Require Export rt.restructuring.model.task.arrival.curves. -Require Export rt.restructuring.model.priority.classes. +Require Export rt.model.task.arrival.curves. +Require Export rt.model.priority.classes. (** The following definitions assume ideal uni-processor schedules. This restriction exists for historic reasons; the defined concepts could be generalized in future work. *) -Require Import rt.restructuring.analysis.facts.behavior.ideal_schedule. +Require Import rt.analysis.facts.behavior.ideal_schedule. From mathcomp Require Import ssreflect ssrbool eqtype ssrnat seq path fintype bigop. diff --git a/restructuring/analysis/concepts/schedulability.v b/analysis/concepts/schedulability.v similarity index 97% rename from restructuring/analysis/concepts/schedulability.v rename to analysis/concepts/schedulability.v index 8ecedc8d0..4cffcb4f8 100644 --- a/restructuring/analysis/concepts/schedulability.v +++ b/analysis/concepts/schedulability.v @@ -1,5 +1,5 @@ -Require Export rt.restructuring.analysis.facts.behavior.completion. -Require Import rt.restructuring.model.task.absolute_deadline. +Require Export rt.analysis.facts.behavior.completion. +Require Import rt.model.task.absolute_deadline. Section Task. Context {Task : TaskType}. diff --git a/restructuring/analysis/definitions/carry_in.v b/analysis/definitions/carry_in.v similarity index 91% rename from restructuring/analysis/definitions/carry_in.v rename to analysis/definitions/carry_in.v index ac0eee1af..55a3453c5 100644 --- a/restructuring/analysis/definitions/carry_in.v +++ b/analysis/definitions/carry_in.v @@ -1,8 +1,8 @@ -Require Export rt.restructuring.model.priority.classes. +Require Export rt.model.priority.classes. From mathcomp Require Import ssreflect ssrbool eqtype ssrnat seq fintype bigop. (** Throughout this file, we assume ideal uniprocessor schedules. *) -Require Import rt.restructuring.model.processor.ideal. +Require Import rt.model.processor.ideal. (** * No Carry-In *) (** In this module we define the notion of no carry-in time for uni-processor schedulers. *) diff --git a/restructuring/analysis/definitions/job_properties.v b/analysis/definitions/job_properties.v similarity index 89% rename from restructuring/analysis/definitions/job_properties.v rename to analysis/definitions/job_properties.v index 543f91039..707ebee08 100644 --- a/restructuring/analysis/definitions/job_properties.v +++ b/analysis/definitions/job_properties.v @@ -1,4 +1,4 @@ -Require Export rt.restructuring.behavior.all. +Require Export rt.behavior.all. From mathcomp Require Export eqtype ssrnat. (** In this section, we introduce properties of a job. *) diff --git a/restructuring/analysis/definitions/progress.v b/analysis/definitions/progress.v similarity index 97% rename from restructuring/analysis/definitions/progress.v rename to analysis/definitions/progress.v index de794d26c..f36e412c2 100644 --- a/restructuring/analysis/definitions/progress.v +++ b/analysis/definitions/progress.v @@ -1,4 +1,4 @@ -Require Export rt.restructuring.analysis.facts.behavior.service. +Require Export rt.analysis.facts.behavior.service. (** * Job Progress (or Lack Thereof) *) diff --git a/restructuring/analysis/definitions/task_schedule.v b/analysis/definitions/task_schedule.v similarity index 93% rename from restructuring/analysis/definitions/task_schedule.v rename to analysis/definitions/task_schedule.v index a5ee28f97..19d851306 100644 --- a/restructuring/analysis/definitions/task_schedule.v +++ b/analysis/definitions/task_schedule.v @@ -1,5 +1,5 @@ -Require Export rt.restructuring.model.task.concept. -Require Export rt.restructuring.analysis.facts.behavior.ideal_schedule. +Require Export rt.model.task.concept. +Require Export rt.analysis.facts.behavior.ideal_schedule. From mathcomp Require Import ssreflect ssrbool eqtype ssrnat seq fintype bigop. diff --git a/analysis/facts/behavior/all.v b/analysis/facts/behavior/all.v new file mode 100644 index 000000000..b5904f4ea --- /dev/null +++ b/analysis/facts/behavior/all.v @@ -0,0 +1,8 @@ +Require Export rt.analysis.facts.behavior.service. +Require Export rt.analysis.facts.behavior.service_of_jobs. +Require Export rt.analysis.facts.behavior.completion. +Require Export rt.analysis.facts.behavior.ideal_schedule. +Require Export rt.analysis.facts.behavior.sequential. +Require Export rt.analysis.facts.behavior.arrivals. +Require Export rt.analysis.facts.behavior.deadlines. +Require Export rt.analysis.facts.behavior.workload. diff --git a/restructuring/analysis/facts/behavior/arrivals.v b/analysis/facts/behavior/arrivals.v similarity index 99% rename from restructuring/analysis/facts/behavior/arrivals.v rename to analysis/facts/behavior/arrivals.v index a9eb167ab..fbb7bf68f 100644 --- a/restructuring/analysis/facts/behavior/arrivals.v +++ b/analysis/facts/behavior/arrivals.v @@ -1,4 +1,4 @@ -Require Export rt.restructuring.behavior.all. +Require Export rt.behavior.all. Require Export rt.util.all. (** In this section, we relate job readiness to [has_arrived]. *) diff --git a/restructuring/analysis/facts/behavior/completion.v b/analysis/facts/behavior/completion.v similarity index 98% rename from restructuring/analysis/facts/behavior/completion.v rename to analysis/facts/behavior/completion.v index d32bb55fb..f9d9a6ce4 100644 --- a/restructuring/analysis/facts/behavior/completion.v +++ b/analysis/facts/behavior/completion.v @@ -1,5 +1,5 @@ -Require Export rt.restructuring.analysis.facts.behavior.service. -Require Export rt.restructuring.analysis.facts.behavior.arrivals. +Require Export rt.analysis.facts.behavior.service. +Require Export rt.analysis.facts.behavior.arrivals. (** In this file, we establish basic facts about job completions. *) diff --git a/restructuring/analysis/facts/behavior/deadlines.v b/analysis/facts/behavior/deadlines.v similarity index 97% rename from restructuring/analysis/facts/behavior/deadlines.v rename to analysis/facts/behavior/deadlines.v index 777c92c79..097c6d6a6 100644 --- a/restructuring/analysis/facts/behavior/deadlines.v +++ b/analysis/facts/behavior/deadlines.v @@ -1,4 +1,4 @@ -Require Export rt.restructuring.analysis.facts.behavior.completion. +Require Export rt.analysis.facts.behavior.completion. (** In this file, we observe basic properties of the behavioral job model w.r.t. deadlines. *) diff --git a/restructuring/analysis/facts/behavior/ideal_schedule.v b/analysis/facts/behavior/ideal_schedule.v similarity index 97% rename from restructuring/analysis/facts/behavior/ideal_schedule.v rename to analysis/facts/behavior/ideal_schedule.v index ee7d8f705..b1bdca2a4 100644 --- a/restructuring/analysis/facts/behavior/ideal_schedule.v +++ b/analysis/facts/behavior/ideal_schedule.v @@ -1,10 +1,10 @@ From mathcomp Require Import all_ssreflect. Require Export rt.util.all. -Require Export rt.restructuring.model.processor.platform_properties. -Require Export rt.restructuring.analysis.facts.behavior.service. +Require Export rt.model.processor.platform_properties. +Require Export rt.analysis.facts.behavior.service. (** Throughout this file, we assume ideal uni-processor schedules. *) -Require Import rt.restructuring.model.processor.ideal. +Require Import rt.model.processor.ideal. (** Note: we do not re-export the basic definitions to avoid littering the global namespace with type class instances. *) diff --git a/restructuring/analysis/facts/behavior/sequential.v b/analysis/facts/behavior/sequential.v similarity index 95% rename from restructuring/analysis/facts/behavior/sequential.v rename to analysis/facts/behavior/sequential.v index 75efd68ab..7c115ca56 100644 --- a/restructuring/analysis/facts/behavior/sequential.v +++ b/analysis/facts/behavior/sequential.v @@ -1,4 +1,4 @@ -Require Export rt.restructuring.model.task.sequentiality. +Require Export rt.model.task.sequentiality. Section ExecutionOrder. (** Consider any type of job associated with any type of tasks... *) diff --git a/restructuring/analysis/facts/behavior/service.v b/analysis/facts/behavior/service.v similarity index 99% rename from restructuring/analysis/facts/behavior/service.v rename to analysis/facts/behavior/service.v index 1d84947bc..c0852c0df 100644 --- a/restructuring/analysis/facts/behavior/service.v +++ b/analysis/facts/behavior/service.v @@ -1,6 +1,6 @@ Require Export rt.util.all. -Require Export rt.restructuring.behavior.all. -Require Export rt.restructuring.model.processor.platform_properties. +Require Export rt.behavior.all. +Require Export rt.model.processor.platform_properties. From mathcomp Require Import ssrnat ssrbool fintype. diff --git a/restructuring/analysis/facts/behavior/service_of_jobs.v b/analysis/facts/behavior/service_of_jobs.v similarity index 97% rename from restructuring/analysis/facts/behavior/service_of_jobs.v rename to analysis/facts/behavior/service_of_jobs.v index 5e3bfb7ab..627a27770 100644 --- a/restructuring/analysis/facts/behavior/service_of_jobs.v +++ b/analysis/facts/behavior/service_of_jobs.v @@ -1,8 +1,8 @@ -Require Export rt.restructuring.model.aggregate.workload. -Require Export rt.restructuring.model.aggregate.service_of_jobs. -Require Export rt.restructuring.analysis.facts.behavior.completion. -Require Export rt.restructuring.analysis.facts.behavior.ideal_schedule. -Require Import rt.restructuring.model.processor.ideal. +Require Export rt.model.aggregate.workload. +Require Export rt.model.aggregate.service_of_jobs. +Require Export rt.analysis.facts.behavior.completion. +Require Export rt.analysis.facts.behavior.ideal_schedule. +Require Import rt.model.processor.ideal. From mathcomp Require Import ssreflect ssrbool eqtype ssrnat seq fintype bigop. diff --git a/restructuring/analysis/facts/behavior/task_arrivals.v b/analysis/facts/behavior/task_arrivals.v similarity index 94% rename from restructuring/analysis/facts/behavior/task_arrivals.v rename to analysis/facts/behavior/task_arrivals.v index 539c0c4de..96e695dc0 100644 --- a/restructuring/analysis/facts/behavior/task_arrivals.v +++ b/analysis/facts/behavior/task_arrivals.v @@ -1,4 +1,4 @@ -Require Export rt.restructuring.model.task.arrivals. +Require Export rt.model.task.arrivals. (** In this file we provide basic properties related to tasks on arrival sequences. *) Section TaskArrivals. diff --git a/restructuring/analysis/facts/behavior/workload.v b/analysis/facts/behavior/workload.v similarity index 90% rename from restructuring/analysis/facts/behavior/workload.v rename to analysis/facts/behavior/workload.v index f8286ab2b..c7a352543 100644 --- a/restructuring/analysis/facts/behavior/workload.v +++ b/analysis/facts/behavior/workload.v @@ -1,5 +1,5 @@ -Require Export rt.restructuring.model.aggregate.workload. -Require Export rt.restructuring.analysis.facts.behavior.arrivals. +Require Export rt.model.aggregate.workload. +Require Export rt.analysis.facts.behavior.arrivals. From mathcomp Require Import ssreflect ssrbool eqtype ssrnat seq fintype bigop. diff --git a/restructuring/analysis/facts/busy_interval.v b/analysis/facts/busy_interval.v similarity index 98% rename from restructuring/analysis/facts/busy_interval.v rename to analysis/facts/busy_interval.v index 9275bab69..aeb1e61c5 100644 --- a/restructuring/analysis/facts/busy_interval.v +++ b/analysis/facts/busy_interval.v @@ -1,14 +1,14 @@ -Require Export rt.restructuring.analysis.definitions.job_properties. -Require Export rt.restructuring.model.schedule.work_conserving. -Require Export rt.restructuring.analysis.concepts.priority_inversion. -Require Export rt.restructuring.analysis.facts.behavior.all. +Require Export rt.analysis.definitions.job_properties. +Require Export rt.model.schedule.work_conserving. +Require Export rt.analysis.concepts.priority_inversion. +Require Export rt.analysis.facts.behavior.all. From mathcomp Require Import ssreflect ssrbool eqtype ssrnat seq fintype bigop. (** Throughout this file, we assume ideal uni-processor schedules. *) -Require Import rt.restructuring.model.processor.ideal. +Require Import rt.model.processor.ideal. (** Throughout this file, we assume the basic (i.e., Liu & Layland) readiness model. *) -Require Import rt.restructuring.model.readiness.basic. +Require Import rt.model.readiness.basic. (** * Existence of Busy Interval for JLFP-models *) (** In this module we derive a sufficient condition for existence of diff --git a/restructuring/analysis/facts/carry_in.v b/analysis/facts/carry_in.v similarity index 98% rename from restructuring/analysis/facts/carry_in.v rename to analysis/facts/carry_in.v index 35b0cb56c..e4832432f 100644 --- a/restructuring/analysis/facts/carry_in.v +++ b/analysis/facts/carry_in.v @@ -1,12 +1,12 @@ -Require Export rt.restructuring.analysis.definitions.carry_in. -Require Export rt.restructuring.analysis.facts.busy_interval. +Require Export rt.analysis.definitions.carry_in. +Require Export rt.analysis.facts.busy_interval. From mathcomp Require Import ssreflect ssrbool eqtype ssrnat seq fintype bigop. (** Throughout this file, we assume ideal uniprocessor schedules. *) -Require Import rt.restructuring.model.processor.ideal. +Require Import rt.model.processor.ideal. (** Throughout this file, we assume the basic (i.e., Liu & Layland) readiness model. *) -Require Import rt.restructuring.model.readiness.basic. +Require Import rt.model.readiness.basic. (** * Existence of No Carry-In Instant *) diff --git a/restructuring/analysis/facts/edf.v b/analysis/facts/edf.v similarity index 89% rename from restructuring/analysis/facts/edf.v rename to analysis/facts/edf.v index 10cd3dc4c..f85bd1a19 100644 --- a/restructuring/analysis/facts/edf.v +++ b/analysis/facts/edf.v @@ -1,5 +1,5 @@ -Require Import rt.restructuring.model.priority.edf. -Require Import rt.restructuring.model.task.absolute_deadline. +Require Import rt.model.priority.edf. +Require Import rt.model.task.absolute_deadline. (** In this section, we prove a few properties about EDF policy. *) Section PropertiesOfEDF. diff --git a/restructuring/analysis/facts/preemption/job/limited.v b/analysis/facts/preemption/job/limited.v similarity index 97% rename from restructuring/analysis/facts/preemption/job/limited.v rename to analysis/facts/preemption/job/limited.v index 4241860f0..76cb3846a 100644 --- a/restructuring/analysis/facts/preemption/job/limited.v +++ b/analysis/facts/preemption/job/limited.v @@ -1,8 +1,8 @@ -Require Export rt.restructuring.analysis.facts.behavior.all. -Require Export rt.restructuring.analysis.definitions.job_properties. -Require Export rt.restructuring.model.schedule.limited_preemptive. +Require Export rt.analysis.facts.behavior.all. +Require Export rt.analysis.definitions.job_properties. +Require Export rt.model.schedule.limited_preemptive. -Require Import rt.restructuring.model.preemption.limited_preemptive. +Require Import rt.model.preemption.limited_preemptive. (** * Platform for Models with Limited Preemptions *) (** In this section, we prove that instantiation of predicate diff --git a/restructuring/analysis/facts/preemption/job/nonpreemptive.v b/analysis/facts/preemption/job/nonpreemptive.v similarity index 95% rename from restructuring/analysis/facts/preemption/job/nonpreemptive.v rename to analysis/facts/preemption/job/nonpreemptive.v index 029b0a24d..2154889ff 100644 --- a/restructuring/analysis/facts/preemption/job/nonpreemptive.v +++ b/analysis/facts/preemption/job/nonpreemptive.v @@ -1,8 +1,8 @@ -Require Export rt.restructuring.analysis.facts.behavior.all. -Require Export rt.restructuring.analysis.definitions.job_properties. -Require Export rt.restructuring.model.schedule.nonpreemptive. +Require Export rt.analysis.facts.behavior.all. +Require Export rt.analysis.definitions.job_properties. +Require Export rt.model.schedule.nonpreemptive. -Require Import rt.restructuring.model.preemption.fully_nonpreemptive. +Require Import rt.model.preemption.fully_nonpreemptive. From mathcomp Require Import ssreflect ssrbool ssrfun eqtype ssrnat seq fintype bigop. diff --git a/restructuring/analysis/facts/preemption/job/preemptive.v b/analysis/facts/preemption/job/preemptive.v similarity index 93% rename from restructuring/analysis/facts/preemption/job/preemptive.v rename to analysis/facts/preemption/job/preemptive.v index f2af28e1f..3d06928e6 100644 --- a/restructuring/analysis/facts/preemption/job/preemptive.v +++ b/analysis/facts/preemption/job/preemptive.v @@ -1,5 +1,5 @@ -Require Export rt.restructuring.model.task.preemption.parameters. -Require Import rt.restructuring.model.preemption.fully_preemptive. +Require Export rt.model.task.preemption.parameters. +Require Import rt.model.preemption.fully_preemptive. (** * Preemptions in Fully Preemptive Model *) (** In this section, we prove that instantiation of predicate diff --git a/restructuring/analysis/facts/preemption/rtc_threshold/floating.v b/analysis/facts/preemption/rtc_threshold/floating.v similarity index 81% rename from restructuring/analysis/facts/preemption/rtc_threshold/floating.v rename to analysis/facts/preemption/rtc_threshold/floating.v index e5be78e16..e376c23e1 100644 --- a/restructuring/analysis/facts/preemption/rtc_threshold/floating.v +++ b/analysis/facts/preemption/rtc_threshold/floating.v @@ -1,7 +1,7 @@ -Require Import rt.restructuring.model.preemption.limited_preemptive. -Require Import rt.restructuring.model.task.preemption.floating_nonpreemptive. -Require Export rt.restructuring.analysis.facts.preemption.task.floating. -Require Export rt.restructuring.analysis.facts.preemption.rtc_threshold.job_preemptable. +Require Import rt.model.preemption.limited_preemptive. +Require Import rt.model.task.preemption.floating_nonpreemptive. +Require Export rt.analysis.facts.preemption.task.floating. +Require Export rt.analysis.facts.preemption.rtc_threshold.job_preemptable. (** * Task's Run to Completion Threshold *) (** In this section, we instantiate function [task run to completion diff --git a/restructuring/analysis/facts/preemption/rtc_threshold/job_preemptable.v b/analysis/facts/preemption/rtc_threshold/job_preemptable.v similarity index 98% rename from restructuring/analysis/facts/preemption/rtc_threshold/job_preemptable.v rename to analysis/facts/preemption/rtc_threshold/job_preemptable.v index 03dd0428b..9a4f1c349 100644 --- a/restructuring/analysis/facts/preemption/rtc_threshold/job_preemptable.v +++ b/analysis/facts/preemption/rtc_threshold/job_preemptable.v @@ -1,6 +1,6 @@ -Require Export rt.restructuring.analysis.definitions.job_properties. -Require Export rt.restructuring.analysis.facts.behavior.all. -Require Export rt.restructuring.model.task.preemption.parameters. +Require Export rt.analysis.definitions.job_properties. +Require Export rt.analysis.facts.behavior.all. +Require Export rt.model.task.preemption.parameters. (** * Run-to-Completion Threshold *) (** In this section, we provide a few basic properties diff --git a/restructuring/analysis/facts/preemption/rtc_threshold/limited.v b/analysis/facts/preemption/rtc_threshold/limited.v similarity index 95% rename from restructuring/analysis/facts/preemption/rtc_threshold/limited.v rename to analysis/facts/preemption/rtc_threshold/limited.v index 781948940..bab0d88aa 100644 --- a/restructuring/analysis/facts/preemption/rtc_threshold/limited.v +++ b/analysis/facts/preemption/rtc_threshold/limited.v @@ -1,8 +1,8 @@ -Require Export rt.restructuring.analysis.facts.preemption.task.limited. -Require Export rt.restructuring.analysis.facts.preemption.rtc_threshold.job_preemptable. +Require Export rt.analysis.facts.preemption.task.limited. +Require Export rt.analysis.facts.preemption.rtc_threshold.job_preemptable. -Require Import rt.restructuring.model.preemption.limited_preemptive. -Require Import rt.restructuring.model.task.preemption.limited_preemptive. +Require Import rt.model.preemption.limited_preemptive. +Require Import rt.model.task.preemption.limited_preemptive. (** * Task's Run to Completion Threshold *) (** In this section, we prove that instantiation of function [task run diff --git a/restructuring/analysis/facts/preemption/rtc_threshold/nonpreemptive.v b/analysis/facts/preemption/rtc_threshold/nonpreemptive.v similarity index 92% rename from restructuring/analysis/facts/preemption/rtc_threshold/nonpreemptive.v rename to analysis/facts/preemption/rtc_threshold/nonpreemptive.v index f1dcc2704..70aa48a16 100644 --- a/restructuring/analysis/facts/preemption/rtc_threshold/nonpreemptive.v +++ b/analysis/facts/preemption/rtc_threshold/nonpreemptive.v @@ -1,7 +1,7 @@ -Require Export rt.restructuring.analysis.facts.preemption.job.nonpreemptive. +Require Export rt.analysis.facts.preemption.job.nonpreemptive. -Require Import rt.restructuring.model.preemption.fully_nonpreemptive. -Require Import rt.restructuring.model.task.preemption.fully_nonpreemptive. +Require Import rt.model.preemption.fully_nonpreemptive. +Require Import rt.model.task.preemption.fully_nonpreemptive. From mathcomp Require Import ssreflect ssrbool ssrfun eqtype ssrnat seq fintype bigop. diff --git a/restructuring/analysis/facts/preemption/rtc_threshold/preemptive.v b/analysis/facts/preemption/rtc_threshold/preemptive.v similarity index 85% rename from restructuring/analysis/facts/preemption/rtc_threshold/preemptive.v rename to analysis/facts/preemption/rtc_threshold/preemptive.v index e2e9b6a0a..e92b55560 100644 --- a/restructuring/analysis/facts/preemption/rtc_threshold/preemptive.v +++ b/analysis/facts/preemption/rtc_threshold/preemptive.v @@ -1,6 +1,6 @@ -Require Import rt.restructuring.model.preemption.fully_preemptive. -Require Import rt.restructuring.model.task.preemption.fully_preemptive. -Require Import rt.restructuring.analysis.facts.preemption.rtc_threshold.job_preemptable. +Require Import rt.model.preemption.fully_preemptive. +Require Import rt.model.task.preemption.fully_preemptive. +Require Import rt.analysis.facts.preemption.rtc_threshold.job_preemptable. (** * Task's Run to Completion Threshold *) (** In this section, we prove that instantiation of function [task run diff --git a/restructuring/analysis/facts/preemption/task/floating.v b/analysis/facts/preemption/task/floating.v similarity index 96% rename from restructuring/analysis/facts/preemption/task/floating.v rename to analysis/facts/preemption/task/floating.v index e76c73048..28fa12479 100644 --- a/restructuring/analysis/facts/preemption/task/floating.v +++ b/analysis/facts/preemption/task/floating.v @@ -1,7 +1,7 @@ -Require Export rt.restructuring.analysis.facts.preemption.job.limited. +Require Export rt.analysis.facts.preemption.job.limited. -Require Import rt.restructuring.model.preemption.limited_preemptive. -Require Import rt.restructuring.model.task.preemption.floating_nonpreemptive. +Require Import rt.model.preemption.limited_preemptive. +Require Import rt.model.task.preemption.floating_nonpreemptive. From mathcomp Require Import ssreflect ssrbool ssrfun eqtype ssrnat seq fintype bigop. diff --git a/restructuring/analysis/facts/preemption/task/limited.v b/analysis/facts/preemption/task/limited.v similarity index 96% rename from restructuring/analysis/facts/preemption/task/limited.v rename to analysis/facts/preemption/task/limited.v index 88ba4d0de..a62f17823 100644 --- a/restructuring/analysis/facts/preemption/task/limited.v +++ b/analysis/facts/preemption/task/limited.v @@ -1,7 +1,7 @@ -Require Export rt.restructuring.analysis.facts.preemption.job.limited. +Require Export rt.analysis.facts.preemption.job.limited. -Require Import rt.restructuring.model.preemption.limited_preemptive. -Require Import rt.restructuring.model.task.preemption.limited_preemptive. +Require Import rt.model.preemption.limited_preemptive. +Require Import rt.model.task.preemption.limited_preemptive. (** * Platform for Models with Limited Preemptions *) (** In this section, we prove that instantiation of functions diff --git a/restructuring/analysis/facts/preemption/task/nonpreemptive.v b/analysis/facts/preemption/task/nonpreemptive.v similarity index 94% rename from restructuring/analysis/facts/preemption/task/nonpreemptive.v rename to analysis/facts/preemption/task/nonpreemptive.v index 62786996d..8e3d584c4 100644 --- a/restructuring/analysis/facts/preemption/task/nonpreemptive.v +++ b/analysis/facts/preemption/task/nonpreemptive.v @@ -1,7 +1,7 @@ -Require Export rt.restructuring.analysis.facts.preemption.job.nonpreemptive. +Require Export rt.analysis.facts.preemption.job.nonpreemptive. -Require Import rt.restructuring.model.preemption.fully_nonpreemptive. -Require Import rt.restructuring.model.task.preemption.fully_nonpreemptive. +Require Import rt.model.preemption.fully_nonpreemptive. +Require Import rt.model.task.preemption.fully_nonpreemptive. From mathcomp Require Import ssreflect ssrbool ssrfun eqtype ssrnat seq fintype bigop. diff --git a/restructuring/analysis/facts/preemption/task/preemptive.v b/analysis/facts/preemption/task/preemptive.v similarity index 91% rename from restructuring/analysis/facts/preemption/task/preemptive.v rename to analysis/facts/preemption/task/preemptive.v index 8b17d3c66..4c95a45a7 100644 --- a/restructuring/analysis/facts/preemption/task/preemptive.v +++ b/analysis/facts/preemption/task/preemptive.v @@ -1,7 +1,7 @@ -Require Export rt.restructuring.analysis.definitions.job_properties. -Require Export rt.restructuring.analysis.facts.preemption.job.preemptive. +Require Export rt.analysis.definitions.job_properties. +Require Export rt.analysis.facts.preemption.job.preemptive. -Require Import rt.restructuring.model.task.preemption.fully_preemptive. +Require Import rt.model.task.preemption.fully_preemptive. (** * Platform for Fully Preemptive Model *) (** In this section, we prove that instantiation of functions diff --git a/restructuring/analysis/facts/priority_inversion.v b/analysis/facts/priority_inversion.v similarity index 98% rename from restructuring/analysis/facts/priority_inversion.v rename to analysis/facts/priority_inversion.v index 1e1eb9c93..ca247335f 100644 --- a/restructuring/analysis/facts/priority_inversion.v +++ b/analysis/facts/priority_inversion.v @@ -1,19 +1,19 @@ -Require Export rt.restructuring.model.task.preemption.parameters. -Require Export rt.restructuring.model.schedule.priority_driven. -Require Export rt.restructuring.analysis.facts.behavior.ideal_schedule. -Require Export rt.restructuring.model.schedule.work_conserving. -Require Export rt.restructuring.analysis.definitions.job_properties. -Require Export rt.restructuring.analysis.concepts.busy_interval. -Require Export rt.restructuring.analysis.facts.busy_interval. +Require Export rt.model.task.preemption.parameters. +Require Export rt.model.schedule.priority_driven. +Require Export rt.analysis.facts.behavior.ideal_schedule. +Require Export rt.model.schedule.work_conserving. +Require Export rt.analysis.definitions.job_properties. +Require Export rt.analysis.concepts.busy_interval. +Require Export rt.analysis.facts.busy_interval. From mathcomp Require Import ssreflect ssrbool eqtype ssrnat seq path fintype bigop. (** Throughout this file, we assume ideal uni-processor schedules. *) -Require Import rt.restructuring.model.processor.ideal. +Require Import rt.model.processor.ideal. (** Throughout the file we assume for the classic Liu & Layland model of readiness without jitter and no self-suspensions, where pending jobs are always ready. *) -Require Import rt.restructuring.model.readiness.basic. +Require Import rt.model.readiness.basic. (** In preparation of the derivation of the priority inversion bound, we establish two basic facts on preemption times. *) diff --git a/restructuring/analysis/facts/rbf.v b/analysis/facts/rbf.v similarity index 98% rename from restructuring/analysis/facts/rbf.v rename to analysis/facts/rbf.v index 5cdc4ffbc..af0888348 100644 --- a/restructuring/analysis/facts/rbf.v +++ b/analysis/facts/rbf.v @@ -1,6 +1,6 @@ -Require Export rt.restructuring.analysis.facts.behavior.workload. -Require Export rt.restructuring.analysis.definitions.job_properties. -Require Export rt.restructuring.analysis.concepts.request_bound_function. +Require Export rt.analysis.facts.behavior.workload. +Require Export rt.analysis.definitions.job_properties. +Require Export rt.analysis.concepts.request_bound_function. From mathcomp Require Import ssreflect ssrbool eqtype ssrnat seq path fintype bigop. diff --git a/restructuring/analysis/facts/readiness/basic.v b/analysis/facts/readiness/basic.v similarity index 90% rename from restructuring/analysis/facts/readiness/basic.v rename to analysis/facts/readiness/basic.v index a58055a18..df77d613d 100644 --- a/restructuring/analysis/facts/readiness/basic.v +++ b/analysis/facts/readiness/basic.v @@ -1,7 +1,7 @@ -Require Import rt.restructuring.analysis.facts.behavior.completion. +Require Import rt.analysis.facts.behavior.completion. (** Throughout this file, we assume the basic (i.e., Liu & Layland) readiness model. *) -Require Import rt.restructuring.model.readiness.basic. +Require Import rt.model.readiness.basic. Section LiuAndLaylandReadiness. (** Consider any kind of jobs... *) diff --git a/restructuring/analysis/facts/tdma.v b/analysis/facts/tdma.v similarity index 99% rename from restructuring/analysis/facts/tdma.v rename to analysis/facts/tdma.v index c95193301..830e1258e 100644 --- a/restructuring/analysis/facts/tdma.v +++ b/analysis/facts/tdma.v @@ -1,4 +1,4 @@ -Require Export rt.restructuring.model.schedule.tdma. +Require Export rt.model.schedule.tdma. Require Import rt.util.all. From mathcomp Require Import div. diff --git a/restructuring/analysis/facts/transform/edf_opt.v b/analysis/facts/transform/edf_opt.v similarity index 98% rename from restructuring/analysis/facts/transform/edf_opt.v rename to analysis/facts/transform/edf_opt.v index 993ac7789..11f798498 100644 --- a/restructuring/analysis/facts/transform/edf_opt.v +++ b/analysis/facts/transform/edf_opt.v @@ -1,9 +1,9 @@ From mathcomp Require Import ssrnat ssrbool fintype. -Require Export rt.restructuring.model.schedule.edf. -Require Export rt.restructuring.analysis.concepts.schedulability. -Require Export rt.restructuring.analysis.transform.edf_trans. -Require Export rt.restructuring.analysis.facts.transform.swaps. -Require Export rt.restructuring.analysis.facts.readiness.basic. +Require Export rt.model.schedule.edf. +Require Export rt.analysis.concepts.schedulability. +Require Export rt.analysis.transform.edf_trans. +Require Export rt.analysis.facts.transform.swaps. +Require Export rt.analysis.facts.readiness.basic. (** This file contains the main argument of the EDF optimality proof, starting with an analysis of the individual functions that drive @@ -12,9 +12,9 @@ Require Export rt.restructuring.analysis.facts.readiness.basic. the obtained EDF schedule. *) (** Throughout this file, we assume ideal uniprocessor schedules. *) -Require Import rt.restructuring.model.processor.ideal. +Require Import rt.model.processor.ideal. (** Throughout this file, we assume the basic (i.e., Liu & Layland) readiness model. *) -Require Import rt.restructuring.model.readiness.basic. +Require Import rt.model.readiness.basic. (** We start by analyzing the helper function [find_swap_candidate], which is a problem-specific wrapper around [search_arg]. *) diff --git a/restructuring/analysis/facts/transform/replace_at.v b/analysis/facts/transform/replace_at.v similarity index 96% rename from restructuring/analysis/facts/transform/replace_at.v rename to analysis/facts/transform/replace_at.v index 29a4d8805..a1cc634a6 100644 --- a/restructuring/analysis/facts/transform/replace_at.v +++ b/analysis/facts/transform/replace_at.v @@ -1,5 +1,5 @@ -Require Export rt.restructuring.analysis.transform.swap. -Require Export rt.restructuring.analysis.facts.behavior.completion. +Require Export rt.analysis.transform.swap. +Require Export rt.analysis.facts.behavior.completion. (** In this file, we make a few simple observations about schedules with replacements. *) diff --git a/restructuring/analysis/facts/transform/swaps.v b/analysis/facts/transform/swaps.v similarity index 99% rename from restructuring/analysis/facts/transform/swaps.v rename to analysis/facts/transform/swaps.v index 1b27adf6b..8ed2b4160 100644 --- a/restructuring/analysis/facts/transform/swaps.v +++ b/analysis/facts/transform/swaps.v @@ -1,5 +1,5 @@ -Require Export rt.restructuring.analysis.facts.transform.replace_at. -Require Export rt.restructuring.analysis.facts.behavior.deadlines. +Require Export rt.analysis.facts.transform.replace_at. +Require Export rt.analysis.facts.behavior.deadlines. (** In this file, we establish invariants about schedules in which two allocations have been swapped, as for instance it is done in the diff --git a/restructuring/analysis/transform/edf_trans.v b/analysis/transform/edf_trans.v similarity index 96% rename from restructuring/analysis/transform/edf_trans.v rename to analysis/transform/edf_trans.v index 1fd663234..cf96a6506 100644 --- a/restructuring/analysis/transform/edf_trans.v +++ b/analysis/transform/edf_trans.v @@ -1,5 +1,5 @@ -Require Export rt.restructuring.analysis.transform.prefix. -Require Export rt.restructuring.analysis.transform.swap. +Require Export rt.analysis.transform.prefix. +Require Export rt.analysis.transform.swap. (** In this file we define the EDF transformation of a schedule, which turns a (finite prefix of a) schedule into an EDF schedule. This operation is at diff --git a/restructuring/analysis/transform/prefix.v b/analysis/transform/prefix.v similarity index 98% rename from restructuring/analysis/transform/prefix.v rename to analysis/transform/prefix.v index 90e5ee75d..feb160289 100644 --- a/restructuring/analysis/transform/prefix.v +++ b/analysis/transform/prefix.v @@ -1,5 +1,5 @@ From mathcomp Require Import ssrnat ssrbool fintype. -Require Export rt.restructuring.analysis.facts.behavior.all. +Require Export rt.analysis.facts.behavior.all. (** This file provides an operation that transforms a finite prefix of a given schedule by applying a point-wise transformation to each diff --git a/restructuring/analysis/transform/swap.v b/analysis/transform/swap.v similarity index 97% rename from restructuring/analysis/transform/swap.v rename to analysis/transform/swap.v index 443aa3987..eec37bca1 100644 --- a/restructuring/analysis/transform/swap.v +++ b/analysis/transform/swap.v @@ -1,4 +1,4 @@ -Require Export rt.restructuring.behavior.all. +Require Export rt.behavior.all. (** This file defines simple allocation substitutions and a swapping operation as used for instance in the classic EDF optimality proof. *) diff --git a/restructuring/behavior/README.md b/behavior/README.md similarity index 100% rename from restructuring/behavior/README.md rename to behavior/README.md diff --git a/behavior/all.v b/behavior/all.v new file mode 100644 index 000000000..a2c66f74b --- /dev/null +++ b/behavior/all.v @@ -0,0 +1,6 @@ +Require Export rt.behavior.time. +Require Export rt.behavior.job. +Require Export rt.behavior.arrival_sequence. +Require Export rt.behavior.schedule. +Require Export rt.behavior.service. +Require Export rt.behavior.ready. diff --git a/restructuring/behavior/arrival_sequence.v b/behavior/arrival_sequence.v similarity index 98% rename from restructuring/behavior/arrival_sequence.v rename to behavior/arrival_sequence.v index 564c6f4e1..bcc8dfa50 100644 --- a/restructuring/behavior/arrival_sequence.v +++ b/behavior/arrival_sequence.v @@ -1,5 +1,5 @@ From mathcomp Require Export ssreflect seq ssrnat ssrbool bigop eqtype ssrfun. -Require Export rt.restructuring.behavior.job. +Require Export rt.behavior.job. Require Export rt.util.notation. (** This module contains basic definitions and properties of job arrival diff --git a/restructuring/behavior/job.v b/behavior/job.v similarity index 94% rename from restructuring/behavior/job.v rename to behavior/job.v index df1d07851..6d10d08d9 100644 --- a/restructuring/behavior/job.v +++ b/behavior/job.v @@ -1,4 +1,4 @@ -Require Export rt.restructuring.behavior.time. +Require Export rt.behavior.time. From mathcomp Require Export eqtype ssrnat. (** * Notion of a Job Type *) diff --git a/restructuring/behavior/ready.v b/behavior/ready.v similarity index 98% rename from restructuring/behavior/ready.v rename to behavior/ready.v index 90361a662..fac5542f6 100644 --- a/restructuring/behavior/ready.v +++ b/behavior/ready.v @@ -1,5 +1,5 @@ From mathcomp Require Export ssreflect ssrnat ssrbool eqtype fintype bigop. -Require Export rt.restructuring.behavior.service. +Require Export rt.behavior.service. (** * Readiness of a Job *) diff --git a/restructuring/behavior/schedule.v b/behavior/schedule.v similarity index 98% rename from restructuring/behavior/schedule.v rename to behavior/schedule.v index cba3f33eb..25009b418 100644 --- a/restructuring/behavior/schedule.v +++ b/behavior/schedule.v @@ -1,5 +1,5 @@ From mathcomp Require Export ssreflect ssrnat ssrbool eqtype fintype bigop. -Require Export rt.restructuring.behavior.arrival_sequence. +Require Export rt.behavior.arrival_sequence. (** * Generic Processor State *) diff --git a/restructuring/behavior/service.v b/behavior/service.v similarity index 98% rename from restructuring/behavior/service.v rename to behavior/service.v index 6223722de..0cbb438a5 100644 --- a/restructuring/behavior/service.v +++ b/behavior/service.v @@ -1,5 +1,5 @@ From mathcomp Require Export ssreflect ssrnat ssrbool eqtype fintype bigop. -Require Export rt.restructuring.behavior.schedule. +Require Export rt.behavior.schedule. Section Service. diff --git a/restructuring/behavior/time.v b/behavior/time.v similarity index 100% rename from restructuring/behavior/time.v rename to behavior/time.v diff --git a/create_makefile.sh b/create_makefile.sh index 8a7176c66..973076b38 100755 --- a/create_makefile.sh +++ b/create_makefile.sh @@ -10,7 +10,7 @@ do FIND_OPTS+=( ! -path './classic/*' ) ;; --only-classic) - FIND_OPTS+=( ! -path './restructuring/*' ) + FIND_OPTS+=( ! -path './analysis/*' ! -path './behavior/*' ! -path './model/*' ! -path './results/*') ;; *) echo "Unrecognized option: $1" diff --git a/restructuring/model/README.md b/model/README.md similarity index 100% rename from restructuring/model/README.md rename to model/README.md diff --git a/restructuring/model/aggregate/service_of_jobs.v b/model/aggregate/service_of_jobs.v similarity index 98% rename from restructuring/model/aggregate/service_of_jobs.v rename to model/aggregate/service_of_jobs.v index e6ed0146f..908d2de04 100644 --- a/restructuring/model/aggregate/service_of_jobs.v +++ b/model/aggregate/service_of_jobs.v @@ -1,4 +1,4 @@ -Require Export rt.restructuring.model.priority.classes. +Require Export rt.model.priority.classes. (** * Service Received by Sets of Jobs *) diff --git a/restructuring/model/aggregate/workload.v b/model/aggregate/workload.v similarity index 97% rename from restructuring/model/aggregate/workload.v rename to model/aggregate/workload.v index 8394feac8..8054e7911 100644 --- a/restructuring/model/aggregate/workload.v +++ b/model/aggregate/workload.v @@ -1,4 +1,4 @@ -Require Export rt.restructuring.model.priority.classes. +Require Export rt.model.priority.classes. (** * Cumulative Workload of Sets of Jobs *) diff --git a/restructuring/model/preemption/fully_nonpreemptive.v b/model/preemption/fully_nonpreemptive.v similarity index 91% rename from restructuring/model/preemption/fully_nonpreemptive.v rename to model/preemption/fully_nonpreemptive.v index 6915071ab..d70545dcb 100644 --- a/restructuring/model/preemption/fully_nonpreemptive.v +++ b/model/preemption/fully_nonpreemptive.v @@ -1,4 +1,4 @@ -Require Export rt.restructuring.model.preemption.parameter. +Require Export rt.model.preemption.parameter. (** * Preemption Model: Fully Non-Preemptive Jobs *) (** In this section, we instantiate [job_preemptable] for the fully diff --git a/restructuring/model/preemption/fully_preemptive.v b/model/preemption/fully_preemptive.v similarity index 90% rename from restructuring/model/preemption/fully_preemptive.v rename to model/preemption/fully_preemptive.v index d982b2dfa..a02d2ae24 100644 --- a/restructuring/model/preemption/fully_preemptive.v +++ b/model/preemption/fully_preemptive.v @@ -1,4 +1,4 @@ -Require Export rt.restructuring.model.preemption.parameter. +Require Export rt.model.preemption.parameter. (** * Preemption Model: Fully Preemptive Jobs *) (** In this section, we instantiate [job_preemptable] for the fully preemptive diff --git a/restructuring/model/preemption/limited_preemptive.v b/model/preemption/limited_preemptive.v similarity index 97% rename from restructuring/model/preemption/limited_preemptive.v rename to model/preemption/limited_preemptive.v index 98fdca850..105401d19 100644 --- a/restructuring/model/preemption/limited_preemptive.v +++ b/model/preemption/limited_preemptive.v @@ -1,4 +1,4 @@ -Require Export rt.restructuring.model.preemption.parameter. +Require Export rt.model.preemption.parameter. (** * Job Model Parameter for Preemption Points *) diff --git a/restructuring/model/preemption/parameter.v b/model/preemption/parameter.v similarity index 99% rename from restructuring/model/preemption/parameter.v rename to model/preemption/parameter.v index 970d59dd0..ce601d511 100644 --- a/restructuring/model/preemption/parameter.v +++ b/model/preemption/parameter.v @@ -1,5 +1,5 @@ Require Export rt.util.all. -Require Export rt.restructuring.behavior.all. +Require Export rt.behavior.all. (** * Job-Level Preemption Model *) (** There are many equivalent ways to represent at which points in time a job diff --git a/restructuring/model/priority/classes.v b/model/priority/classes.v similarity index 99% rename from restructuring/model/priority/classes.v rename to model/priority/classes.v index ca8a406a3..06fe6efad 100644 --- a/restructuring/model/priority/classes.v +++ b/model/priority/classes.v @@ -1,4 +1,4 @@ -Require Export rt.restructuring.model.task.concept. +Require Export rt.model.task.concept. Require Export rt.util.rel. Require Export rt.util.list. diff --git a/restructuring/model/priority/deadline_monotonic.v b/model/priority/deadline_monotonic.v similarity index 95% rename from restructuring/model/priority/deadline_monotonic.v rename to model/priority/deadline_monotonic.v index 6236df717..0a25f5699 100644 --- a/restructuring/model/priority/deadline_monotonic.v +++ b/model/priority/deadline_monotonic.v @@ -1,4 +1,4 @@ -Require Export rt.restructuring.model.priority.classes. +Require Export rt.model.priority.classes. (** * Deadline-Monotonic Fixed-Priority Policy *) diff --git a/restructuring/model/priority/edf.v b/model/priority/edf.v similarity index 95% rename from restructuring/model/priority/edf.v rename to model/priority/edf.v index 6aaa625cd..e0bfe8f3c 100644 --- a/restructuring/model/priority/edf.v +++ b/model/priority/edf.v @@ -1,4 +1,4 @@ -Require Export rt.restructuring.model.priority.classes. +Require Export rt.model.priority.classes. (** * EDF Priority Policy *) diff --git a/restructuring/model/priority/fifo.v b/model/priority/fifo.v similarity index 95% rename from restructuring/model/priority/fifo.v rename to model/priority/fifo.v index 67dfb099c..1c0a36568 100644 --- a/restructuring/model/priority/fifo.v +++ b/model/priority/fifo.v @@ -1,4 +1,4 @@ -Require Export rt.restructuring.model.priority.classes. +Require Export rt.model.priority.classes. (** * FIFO Priority Policy *) diff --git a/restructuring/model/priority/numeric_fixed_priority.v b/model/priority/numeric_fixed_priority.v similarity index 97% rename from restructuring/model/priority/numeric_fixed_priority.v rename to model/priority/numeric_fixed_priority.v index c86717b6f..bc5a698b3 100644 --- a/restructuring/model/priority/numeric_fixed_priority.v +++ b/model/priority/numeric_fixed_priority.v @@ -1,4 +1,4 @@ -Require Export rt.restructuring.model.priority.classes. +Require Export rt.model.priority.classes. (** * Numeric Fixed Task Priorities *) diff --git a/restructuring/model/priority/rate_monotonic.v b/model/priority/rate_monotonic.v similarity index 92% rename from restructuring/model/priority/rate_monotonic.v rename to model/priority/rate_monotonic.v index 7d17f266f..bc3833046 100644 --- a/restructuring/model/priority/rate_monotonic.v +++ b/model/priority/rate_monotonic.v @@ -1,5 +1,5 @@ -Require Export rt.restructuring.model.priority.classes. -Require Export rt.restructuring.model.task.arrival.sporadic. +Require Export rt.model.priority.classes. +Require Export rt.model.task.arrival.sporadic. (** * Rate-Monotonic Fixed-Priority Policy *) diff --git a/restructuring/model/processor/ideal.v b/model/processor/ideal.v similarity index 98% rename from restructuring/model/processor/ideal.v rename to model/processor/ideal.v index 70ceea83c..5f5b83bc5 100644 --- a/restructuring/model/processor/ideal.v +++ b/model/processor/ideal.v @@ -1,5 +1,5 @@ From mathcomp Require Import all_ssreflect. -Require Export rt.restructuring.behavior.all. +Require Export rt.behavior.all. (** * The Ideal Uniprocessor Model *) diff --git a/restructuring/model/processor/multiprocessor.v b/model/processor/multiprocessor.v similarity index 98% rename from restructuring/model/processor/multiprocessor.v rename to model/processor/multiprocessor.v index 9c13ebcaf..ca02b538d 100644 --- a/restructuring/model/processor/multiprocessor.v +++ b/model/processor/multiprocessor.v @@ -1,5 +1,5 @@ From mathcomp Require Export fintype. -Require Export rt.restructuring.behavior.all. +Require Export rt.behavior.all. (** * Multiprocessor State *) diff --git a/restructuring/model/processor/platform_properties.v b/model/processor/platform_properties.v similarity index 96% rename from restructuring/model/processor/platform_properties.v rename to model/processor/platform_properties.v index bf5e4825c..cd2ad2273 100644 --- a/restructuring/model/processor/platform_properties.v +++ b/model/processor/platform_properties.v @@ -1,4 +1,4 @@ -Require Export rt.restructuring.behavior.all. +Require Export rt.behavior.all. (** To reason about classes of schedule types / processor models, we define the following properties that group processor models into classes of similar diff --git a/restructuring/model/processor/spin.v b/model/processor/spin.v similarity index 97% rename from restructuring/model/processor/spin.v rename to model/processor/spin.v index 42d23623a..5c1b708ed 100644 --- a/restructuring/model/processor/spin.v +++ b/model/processor/spin.v @@ -1,5 +1,5 @@ From mathcomp Require Import all_ssreflect. -Require Export rt.restructuring.behavior.all. +Require Export rt.behavior.all. (** In the following, we define a processor state that includes the possibility of spinning, where spinning jobs do not progress (= don't get any service). diff --git a/restructuring/model/processor/varspeed.v b/model/processor/varspeed.v similarity index 97% rename from restructuring/model/processor/varspeed.v rename to model/processor/varspeed.v index 4e9967b82..e452f69f7 100644 --- a/restructuring/model/processor/varspeed.v +++ b/model/processor/varspeed.v @@ -1,5 +1,5 @@ From mathcomp Require Import all_ssreflect. -Require Export rt.restructuring.behavior.all. +Require Export rt.behavior.all. (** In the following, we define a model of processors with variable execution speeds. diff --git a/restructuring/model/readiness/basic.v b/model/readiness/basic.v similarity index 94% rename from restructuring/model/readiness/basic.v rename to model/readiness/basic.v index 5c94fd67f..271e6499c 100644 --- a/restructuring/model/readiness/basic.v +++ b/model/readiness/basic.v @@ -1,4 +1,4 @@ -Require Export rt.restructuring.behavior.all. +Require Export rt.behavior.all. (** * Liu & Layland Readiness Model *) diff --git a/restructuring/model/readiness/jitter.v b/model/readiness/jitter.v similarity index 97% rename from restructuring/model/readiness/jitter.v rename to model/readiness/jitter.v index d7579df1e..ab0b8b3b2 100644 --- a/restructuring/model/readiness/jitter.v +++ b/model/readiness/jitter.v @@ -1,5 +1,5 @@ From mathcomp Require Export ssreflect ssrnat ssrbool eqtype fintype bigop. -Require Export rt.restructuring.behavior.all. +Require Export rt.behavior.all. Require Import rt.util.nat. diff --git a/restructuring/model/readiness/suspension.v b/model/readiness/suspension.v similarity index 96% rename from restructuring/model/readiness/suspension.v rename to model/readiness/suspension.v index b6c2e5214..5c9c5f2bc 100644 --- a/restructuring/model/readiness/suspension.v +++ b/model/readiness/suspension.v @@ -1,5 +1,5 @@ -Require Export rt.restructuring.behavior.all. -Require Export rt.restructuring.analysis.definitions.progress. +Require Export rt.behavior.all. +Require Export rt.analysis.definitions.progress. Require Export rt.util.nat. (** * Job Model Parameter for Jobs Exhibiting Self-Suspensions *) diff --git a/restructuring/model/schedule/edf.v b/model/schedule/edf.v similarity index 98% rename from restructuring/model/schedule/edf.v rename to model/schedule/edf.v index 4d05ba0b2..cfe08f007 100644 --- a/restructuring/model/schedule/edf.v +++ b/model/schedule/edf.v @@ -1,5 +1,5 @@ From mathcomp Require Import ssrnat ssrbool fintype. -Require Export rt.restructuring.behavior.all. +Require Export rt.behavior.all. (** * Fully-Preemptive EDF Schedules *) diff --git a/restructuring/model/schedule/limited_preemptive.v b/model/schedule/limited_preemptive.v similarity index 94% rename from restructuring/model/schedule/limited_preemptive.v rename to model/schedule/limited_preemptive.v index 3bf94581f..a9849974a 100644 --- a/restructuring/model/schedule/limited_preemptive.v +++ b/model/schedule/limited_preemptive.v @@ -1,4 +1,4 @@ -Require Export rt.restructuring.model.preemption.parameter. +Require Export rt.model.preemption.parameter. (** * Preemption Model Compliance *) diff --git a/restructuring/model/schedule/nonpreemptive.v b/model/schedule/nonpreemptive.v similarity index 95% rename from restructuring/model/schedule/nonpreemptive.v rename to model/schedule/nonpreemptive.v index 05e1852f3..6bff4dd09 100644 --- a/restructuring/model/schedule/nonpreemptive.v +++ b/model/schedule/nonpreemptive.v @@ -1,4 +1,4 @@ -Require Export rt.restructuring.behavior.all. +Require Export rt.behavior.all. (** * Nonpreemptive Schedules *) diff --git a/restructuring/model/schedule/preemption_time.v b/model/schedule/preemption_time.v similarity index 93% rename from restructuring/model/schedule/preemption_time.v rename to model/schedule/preemption_time.v index 8fb17776e..97508bc08 100644 --- a/restructuring/model/schedule/preemption_time.v +++ b/model/schedule/preemption_time.v @@ -1,4 +1,4 @@ -Require Export rt.restructuring.model.preemption.parameter. +Require Export rt.model.preemption.parameter. (** * Preemption Times *) @@ -14,7 +14,7 @@ Require Export rt.restructuring.model.preemption.parameter. ideal uniprocessor schedules. Lifting this assumption is future work. *) (** Throughout this file, we assume ideal uniprocessor schedules. *) -Require rt.restructuring.model.processor.ideal. +Require rt.model.processor.ideal. Section PreemptionTime. diff --git a/restructuring/model/schedule/priority_driven.v b/model/schedule/priority_driven.v similarity index 91% rename from restructuring/model/schedule/priority_driven.v rename to model/schedule/priority_driven.v index 49845a653..b66607e4c 100644 --- a/restructuring/model/schedule/priority_driven.v +++ b/model/schedule/priority_driven.v @@ -1,5 +1,5 @@ -Require Export rt.restructuring.model.priority.classes. -Require Export rt.restructuring.model.schedule.preemption_time. +Require Export rt.model.priority.classes. +Require Export rt.model.schedule.preemption_time. (** * Priority-Driven Schedules *) @@ -13,7 +13,7 @@ Require Export rt.restructuring.model.schedule.preemption_time. uniprocessor schedules. Removal of this limitation is future work. *) (** Throughout this file, we assume ideal uniprocessor schedules. *) -Require rt.restructuring.model.processor.ideal. +Require rt.model.processor.ideal. Section Priority. diff --git a/restructuring/model/schedule/tdma.v b/model/schedule/tdma.v similarity index 98% rename from restructuring/model/schedule/tdma.v rename to model/schedule/tdma.v index 24ee5d529..c86e0425d 100644 --- a/restructuring/model/schedule/tdma.v +++ b/model/schedule/tdma.v @@ -1,10 +1,10 @@ -Require Export rt.restructuring.model.task.concept. +Require Export rt.model.task.concept. Require Export rt.util.seqset. Require Export rt.util.rel. From mathcomp Require Import div. (** Throughout this file, we assume ideal uniprocessor schedules. *) -Require rt.restructuring.model.processor.ideal. +Require rt.model.processor.ideal. (** * TDMA Scheduling *) diff --git a/restructuring/model/schedule/work_conserving.v b/model/schedule/work_conserving.v similarity index 97% rename from restructuring/model/schedule/work_conserving.v rename to model/schedule/work_conserving.v index 6d72faff1..335dff614 100644 --- a/restructuring/model/schedule/work_conserving.v +++ b/model/schedule/work_conserving.v @@ -1,4 +1,4 @@ -Require Export rt.restructuring.behavior.all. +Require Export rt.behavior.all. (** * Definition of Work Conservation *) diff --git a/restructuring/model/task/absolute_deadline.v b/model/task/absolute_deadline.v similarity index 89% rename from restructuring/model/task/absolute_deadline.v rename to model/task/absolute_deadline.v index 86cc56f10..f9be6873c 100644 --- a/restructuring/model/task/absolute_deadline.v +++ b/model/task/absolute_deadline.v @@ -1,4 +1,4 @@ -Require Export rt.restructuring.model.task.concept. +Require Export rt.model.task.concept. (** Given relative task deadlines and a mapping from jobs to tasks, we provide the canonical definition of each job's absolute deadline, i.e., diff --git a/restructuring/model/task/arrival/curves.v b/model/task/arrival/curves.v similarity index 99% rename from restructuring/model/task/arrival/curves.v rename to model/task/arrival/curves.v index 649d3a62a..20f196236 100644 --- a/restructuring/model/task/arrival/curves.v +++ b/model/task/arrival/curves.v @@ -1,5 +1,5 @@ Require Export rt.util.rel. -Require Export rt.restructuring.model.task.arrivals. +Require Export rt.model.task.arrivals. (** * The Arbitrary Arrival Curves Model *) diff --git a/restructuring/model/task/arrival/sporadic.v b/model/task/arrival/sporadic.v similarity index 98% rename from restructuring/model/task/arrival/sporadic.v rename to model/task/arrival/sporadic.v index f2e7f53bc..b154736e2 100644 --- a/restructuring/model/task/arrival/sporadic.v +++ b/model/task/arrival/sporadic.v @@ -1,4 +1,4 @@ -Require Export rt.restructuring.model.task.concept. +Require Export rt.model.task.concept. (** * The Sporadic Task Model *) diff --git a/restructuring/model/task/arrivals.v b/model/task/arrivals.v similarity index 95% rename from restructuring/model/task/arrivals.v rename to model/task/arrivals.v index 540571a58..5ba7bc383 100644 --- a/restructuring/model/task/arrivals.v +++ b/model/task/arrivals.v @@ -1,4 +1,4 @@ -Require Export rt.restructuring.model.task.concept. +Require Export rt.model.task.concept. (** In this module, we provide basic definitions concerning the job arrivals of a given task. *) diff --git a/restructuring/model/task/concept.v b/model/task/concept.v similarity index 98% rename from restructuring/model/task/concept.v rename to model/task/concept.v index db9044e79..c9cf36960 100644 --- a/restructuring/model/task/concept.v +++ b/model/task/concept.v @@ -1,5 +1,5 @@ From mathcomp Require Export ssrbool. -Require Export rt.restructuring.behavior.all. +Require Export rt.behavior.all. (** * Task Type *) diff --git a/restructuring/model/task/preemption/floating_nonpreemptive.v b/model/task/preemption/floating_nonpreemptive.v similarity index 95% rename from restructuring/model/task/preemption/floating_nonpreemptive.v rename to model/task/preemption/floating_nonpreemptive.v index bd65347ee..62d93a0d3 100644 --- a/restructuring/model/task/preemption/floating_nonpreemptive.v +++ b/model/task/preemption/floating_nonpreemptive.v @@ -1,5 +1,5 @@ -Require Import rt.restructuring.model.preemption.limited_preemptive. -Require Export rt.restructuring.model.task.preemption.parameters. +Require Import rt.model.preemption.limited_preemptive. +Require Export rt.model.task.preemption.parameters. (** * Task Model with Floating Non-Preemptive Regions *) diff --git a/restructuring/model/task/preemption/fully_nonpreemptive.v b/model/task/preemption/fully_nonpreemptive.v similarity index 95% rename from restructuring/model/task/preemption/fully_nonpreemptive.v rename to model/task/preemption/fully_nonpreemptive.v index 707c2e990..9da4626eb 100644 --- a/restructuring/model/task/preemption/fully_nonpreemptive.v +++ b/model/task/preemption/fully_nonpreemptive.v @@ -1,4 +1,4 @@ -Require Export rt.restructuring.model.task.preemption.parameters. +Require Export rt.model.task.preemption.parameters. (** * Fully Non-Preemptive Task Model *) diff --git a/restructuring/model/task/preemption/fully_preemptive.v b/model/task/preemption/fully_preemptive.v similarity index 95% rename from restructuring/model/task/preemption/fully_preemptive.v rename to model/task/preemption/fully_preemptive.v index 6a4faa33a..7cff6fbba 100644 --- a/restructuring/model/task/preemption/fully_preemptive.v +++ b/model/task/preemption/fully_preemptive.v @@ -1,4 +1,4 @@ -Require Export rt.restructuring.model.task.preemption.parameters. +Require Export rt.model.task.preemption.parameters. (** * Fully Preemptive Task Model *) diff --git a/restructuring/model/task/preemption/limited_preemptive.v b/model/task/preemption/limited_preemptive.v similarity index 97% rename from restructuring/model/task/preemption/limited_preemptive.v rename to model/task/preemption/limited_preemptive.v index c91d4f216..685d09357 100644 --- a/restructuring/model/task/preemption/limited_preemptive.v +++ b/model/task/preemption/limited_preemptive.v @@ -1,5 +1,5 @@ -Require Export rt.restructuring.model.task.preemption.parameters. -Require Import rt.restructuring.model.preemption.limited_preemptive. +Require Export rt.model.task.preemption.parameters. +Require Import rt.model.preemption.limited_preemptive. (** * Limited-Preemptive Task Model *) diff --git a/restructuring/model/task/preemption/parameters.v b/model/task/preemption/parameters.v similarity index 98% rename from restructuring/model/task/preemption/parameters.v rename to model/task/preemption/parameters.v index 151a83873..e5092055f 100644 --- a/restructuring/model/task/preemption/parameters.v +++ b/model/task/preemption/parameters.v @@ -1,5 +1,5 @@ -Require Export rt.restructuring.model.preemption.parameter. -Require Export rt.restructuring.model.task.concept. +Require Export rt.model.preemption.parameter. +Require Export rt.model.task.concept. (** * Task Preemption Model *) diff --git a/restructuring/model/task/sequentiality.v b/model/task/sequentiality.v similarity index 95% rename from restructuring/model/task/sequentiality.v rename to model/task/sequentiality.v index 8afbffb46..b6819e434 100644 --- a/restructuring/model/task/sequentiality.v +++ b/model/task/sequentiality.v @@ -1,4 +1,4 @@ -Require Export rt.restructuring.model.task.concept. +Require Export rt.model.task.concept. (** In this module, we give a precise definition of the common notion of "sequential tasks", which is commonly understood to mean that the jobs of a diff --git a/restructuring/model/task/suspension/dynamic.v b/model/task/suspension/dynamic.v similarity index 91% rename from restructuring/model/task/suspension/dynamic.v rename to model/task/suspension/dynamic.v index 44d6c5a58..31e1dbfda 100644 --- a/restructuring/model/task/suspension/dynamic.v +++ b/model/task/suspension/dynamic.v @@ -1,5 +1,5 @@ -Require Export rt.restructuring.model.readiness.suspension. -Require Export rt.restructuring.model.task.concept. +Require Export rt.model.readiness.suspension. +Require Export rt.model.task.concept. (** * Task Parameter for the Dynamic Self-Suspension Model *) diff --git a/restructuring/README.md b/restructuring/README.md deleted file mode 100644 index 0d89a0d0f..000000000 --- a/restructuring/README.md +++ /dev/null @@ -1,17 +0,0 @@ -# Restructed Prosa - -This is a work-in-progress directory and part of the larger Prosa restructuring effort. As parts in Prosa are changed to comply with the “new styleâ€, they are placed here. - -The following discussion is going to move to the top-level README file when the `restructuring` prefix is dropped. - -## Structure - -There are four main parts of Prosa. - -The `behavior` namespace collects basic definitions and properties of system behavior (i.e., it defines Prosa's **trace-based semantics**). There are *no* proofs here. This module is mandatory: *all* results in Prosa rely on the basic trace-based semantics defined in this module. - -The `model` namespace collects all definitions and basic properties of various **system models** (e.g., sporadic tasks, arrival curves, various scheduling policies, etc.). There are only few proofs here. This module may contain multiple, mutually exclusive alternatives (e.g., periodic vs. sporadic tasks, uni- vs. multiprocessor models, constrained vs. arbitrary deadlines, etc.) and higher-level results can pick-and-choose whatever definitions are appropriate. - -The `analysis` namespace collects all definitions and proofs of **system properties** (e.g., schedulability, response time, etc.). This includes a substantial library of *basic facts* that follow directly from the trace-based semantics or specific modelling assumptions. Most importantly, all high-level analysis results and virtually all proofs are located here. - -In future work, there will also (again) be an `implementation` namespace in which important high-level results are instantiated (i.e., applied) in an assumption-free environment for concrete job and task types to establish the absence of any contradiction in assumptions. diff --git a/restructuring/analysis/facts/behavior/all.v b/restructuring/analysis/facts/behavior/all.v deleted file mode 100644 index dbd7016f9..000000000 --- a/restructuring/analysis/facts/behavior/all.v +++ /dev/null @@ -1,8 +0,0 @@ -Require Export rt.restructuring.analysis.facts.behavior.service. -Require Export rt.restructuring.analysis.facts.behavior.service_of_jobs. -Require Export rt.restructuring.analysis.facts.behavior.completion. -Require Export rt.restructuring.analysis.facts.behavior.ideal_schedule. -Require Export rt.restructuring.analysis.facts.behavior.sequential. -Require Export rt.restructuring.analysis.facts.behavior.arrivals. -Require Export rt.restructuring.analysis.facts.behavior.deadlines. -Require Export rt.restructuring.analysis.facts.behavior.workload. diff --git a/restructuring/behavior/all.v b/restructuring/behavior/all.v deleted file mode 100644 index f12642cbe..000000000 --- a/restructuring/behavior/all.v +++ /dev/null @@ -1,6 +0,0 @@ -Require Export rt.restructuring.behavior.time. -Require Export rt.restructuring.behavior.job. -Require Export rt.restructuring.behavior.arrival_sequence. -Require Export rt.restructuring.behavior.schedule. -Require Export rt.restructuring.behavior.service. -Require Export rt.restructuring.behavior.ready. diff --git a/restructuring/results/edf/optimality.v b/results/edf/optimality.v similarity index 95% rename from restructuring/results/edf/optimality.v rename to results/edf/optimality.v index 44e7f6836..8158da072 100644 --- a/restructuring/results/edf/optimality.v +++ b/results/edf/optimality.v @@ -1,4 +1,4 @@ -Require Export rt.restructuring.analysis.facts.transform.edf_opt. +Require Export rt.analysis.facts.transform.edf_opt. (** This file contains the theorem that states the famous EDF optimality result: if there is any way to meet all deadlines @@ -6,10 +6,10 @@ Require Export rt.restructuring.analysis.facts.transform.edf_opt. schedule in which all deadlines are met. *) (** The following results assume ideal uniprocessor schedules... *) -Require rt.restructuring.model.processor.ideal. +Require rt.model.processor.ideal. (** ... and the basic (i.e., Liu & Layland) readiness model under which any pending job is ready. *) -Require rt.restructuring.model.readiness.basic. +Require rt.model.readiness.basic. Section Optimality. (** For any given type of jobs... *) diff --git a/restructuring/results/edf/rta/bounded_nps.v b/results/edf/rta/bounded_nps.v similarity index 97% rename from restructuring/results/edf/rta/bounded_nps.v rename to results/edf/rta/bounded_nps.v index 96e0dd951..85cf2103e 100644 --- a/restructuring/results/edf/rta/bounded_nps.v +++ b/results/edf/rta/bounded_nps.v @@ -1,14 +1,14 @@ -Require Export rt.restructuring.analysis.facts.priority_inversion. -Require Export rt.restructuring.results.edf.rta.bounded_pi. -Require Export rt.restructuring.analysis.facts.rbf. -Require Import rt.restructuring.model.priority.edf. +Require Export rt.analysis.facts.priority_inversion. +Require Export rt.results.edf.rta.bounded_pi. +Require Export rt.analysis.facts.rbf. +Require Import rt.model.priority.edf. From mathcomp Require Import ssreflect ssrbool eqtype ssrnat seq path fintype bigop. (** Throughout this file, we assume ideal uni-processor schedules. *) -Require Import rt.restructuring.model.processor.ideal. +Require Import rt.model.processor.ideal. (** Throughout this file, we assume the basic (i.e., Liu & Layland) readiness model. *) -Require Import rt.restructuring.model.readiness.basic. +Require Import rt.model.readiness.basic. (** * RTA for EDF-schedulers with Bounded Non-Preemptive Segments *) diff --git a/restructuring/results/edf/rta/bounded_pi.v b/results/edf/rta/bounded_pi.v similarity index 98% rename from restructuring/results/edf/rta/bounded_pi.v rename to results/edf/rta/bounded_pi.v index f8cbcdcae..dc900393d 100644 --- a/restructuring/results/edf/rta/bounded_pi.v +++ b/results/edf/rta/bounded_pi.v @@ -1,18 +1,18 @@ -Require Export rt.restructuring.analysis.facts.edf. -Require Export rt.restructuring.model.schedule.priority_driven. -Require Export rt.restructuring.analysis.facts.priority_inversion. -Require Export rt.restructuring.analysis.facts.carry_in. -Require Export rt.restructuring.analysis.concepts.schedulability. -Require Import rt.restructuring.model.priority.edf. -Require Import rt.restructuring.model.task.absolute_deadline. -Require Import rt.restructuring.analysis.abstract.ideal_jlfp_rta. +Require Export rt.analysis.facts.edf. +Require Export rt.model.schedule.priority_driven. +Require Export rt.analysis.facts.priority_inversion. +Require Export rt.analysis.facts.carry_in. +Require Export rt.analysis.concepts.schedulability. +Require Import rt.model.priority.edf. +Require Import rt.model.task.absolute_deadline. +Require Import rt.analysis.abstract.ideal_jlfp_rta. From mathcomp Require Import ssreflect ssrbool eqtype ssrnat seq path fintype bigop. (** Throughout this file, we assume ideal uni-processor schedules. *) -Require Import rt.restructuring.model.processor.ideal. +Require Import rt.model.processor.ideal. (** Throughout this file, we assume the basic (i.e., Liu & Layland) readiness model. *) -Require Import rt.restructuring.model.readiness.basic. +Require Import rt.model.readiness.basic. (** * Abstract RTA for EDF-schedulers with Bounded Priority Inversion *) diff --git a/restructuring/results/edf/rta/floating_nonpreemptive.v b/results/edf/rta/floating_nonpreemptive.v similarity index 93% rename from restructuring/results/edf/rta/floating_nonpreemptive.v rename to results/edf/rta/floating_nonpreemptive.v index a7f1ebd94..51949915c 100644 --- a/restructuring/results/edf/rta/floating_nonpreemptive.v +++ b/results/edf/rta/floating_nonpreemptive.v @@ -1,17 +1,17 @@ -Require Export rt.restructuring.results.edf.rta.bounded_nps. -Require Export rt.restructuring.analysis.facts.preemption.rtc_threshold.floating. -Require Import rt.restructuring.model.priority.edf. +Require Export rt.results.edf.rta.bounded_nps. +Require Export rt.analysis.facts.preemption.rtc_threshold.floating. +Require Import rt.model.priority.edf. From mathcomp Require Import ssreflect ssrbool eqtype ssrnat seq path fintype bigop. (** Throughout this file, we assume ideal uni-processor schedules. *) -Require Import rt.restructuring.model.processor.ideal. +Require Import rt.model.processor.ideal. (** Throughout this file, we assume the basic (i.e., Liu & Layland) readiness model. *) -Require Import rt.restructuring.model.readiness.basic. +Require Import rt.model.readiness.basic. (** Throughout this file, we assume the task model with floating non-preemptive regions. *) -Require Import rt.restructuring.model.preemption.limited_preemptive. -Require Import rt.restructuring.model.task.preemption.floating_nonpreemptive. +Require Import rt.model.preemption.limited_preemptive. +Require Import rt.model.task.preemption.floating_nonpreemptive. (** * RTA for Model with Floating Non-Preemptive Regions *) (** In this module we prove the RTA theorem for floating non-preemptive regions EDF model. *) diff --git a/restructuring/results/edf/rta/fully_nonpreemptive.v b/results/edf/rta/fully_nonpreemptive.v similarity index 93% rename from restructuring/results/edf/rta/fully_nonpreemptive.v rename to results/edf/rta/fully_nonpreemptive.v index bd170fec0..4d8311764 100644 --- a/restructuring/results/edf/rta/fully_nonpreemptive.v +++ b/results/edf/rta/fully_nonpreemptive.v @@ -1,17 +1,17 @@ -Require Export rt.restructuring.results.edf.rta.bounded_nps. -Require Export rt.restructuring.analysis.facts.preemption.task.nonpreemptive. -Require Export rt.restructuring.analysis.facts.preemption.rtc_threshold.nonpreemptive. -Require Import rt.restructuring.model.priority.edf. +Require Export rt.results.edf.rta.bounded_nps. +Require Export rt.analysis.facts.preemption.task.nonpreemptive. +Require Export rt.analysis.facts.preemption.rtc_threshold.nonpreemptive. +Require Import rt.model.priority.edf. From mathcomp Require Import ssreflect ssrbool eqtype ssrnat seq path fintype bigop. (** Throughout this file, we assume ideal uni-processor schedules. *) -Require Import rt.restructuring.model.processor.ideal. +Require Import rt.model.processor.ideal. (** Throughout this file, we assume the basic (i.e., Liu & Layland) readiness model. *) -Require Import rt.restructuring.model.readiness.basic. +Require Import rt.model.readiness.basic. (** Throughout this file, we assume the fully non-preemptive task model. *) -Require Import rt.restructuring.model.task.preemption.fully_nonpreemptive. +Require Import rt.model.task.preemption.fully_nonpreemptive. (** * RTA for Fully Non-Preemptive FP Model *) (** In this module we prove the RTA theorem for the fully non-preemptive EDF model. *) diff --git a/restructuring/results/edf/rta/fully_preemptive.v b/results/edf/rta/fully_preemptive.v similarity index 93% rename from restructuring/results/edf/rta/fully_preemptive.v rename to results/edf/rta/fully_preemptive.v index ad7f4121a..2a875b431 100644 --- a/restructuring/results/edf/rta/fully_preemptive.v +++ b/results/edf/rta/fully_preemptive.v @@ -1,17 +1,17 @@ -Require Import rt.restructuring.results.edf.rta.bounded_nps. -Require Export rt.restructuring.analysis.facts.preemption.task.preemptive. -Require Export rt.restructuring.analysis.facts.preemption.rtc_threshold.preemptive. -Require Import rt.restructuring.model.priority.edf. +Require Import rt.results.edf.rta.bounded_nps. +Require Export rt.analysis.facts.preemption.task.preemptive. +Require Export rt.analysis.facts.preemption.rtc_threshold.preemptive. +Require Import rt.model.priority.edf. From mathcomp Require Import ssreflect ssrbool eqtype ssrnat seq path fintype bigop. (** Throughout this file, we assume ideal uni-processor schedules. *) -Require Import rt.restructuring.model.processor.ideal. +Require Import rt.model.processor.ideal. (** Throughout this file, we assume the basic (i.e., Liu & Layland) readiness model. *) -Require Import rt.restructuring.model.readiness.basic. +Require Import rt.model.readiness.basic. (** Throughout this file, we assume the fully preemptive task model. *) -Require Import rt.restructuring.model.task.preemption.fully_preemptive. +Require Import rt.model.task.preemption.fully_preemptive. (** * RTA for Fully Preemptive EDF Model *) (** In this section we prove the RTA theorem for the fully preemptive EDF model *) diff --git a/restructuring/results/edf/rta/limited_preemptive.v b/results/edf/rta/limited_preemptive.v similarity index 94% rename from restructuring/results/edf/rta/limited_preemptive.v rename to results/edf/rta/limited_preemptive.v index 133b828e2..eccb3e98c 100644 --- a/restructuring/results/edf/rta/limited_preemptive.v +++ b/results/edf/rta/limited_preemptive.v @@ -1,17 +1,17 @@ -Require Export rt.restructuring.results.edf.rta.bounded_nps. -Require Export rt.restructuring.analysis.facts.preemption.rtc_threshold.limited. -Require Import rt.restructuring.model.priority.edf. +Require Export rt.results.edf.rta.bounded_nps. +Require Export rt.analysis.facts.preemption.rtc_threshold.limited. +Require Import rt.model.priority.edf. From mathcomp Require Import ssreflect ssrbool eqtype ssrnat seq path fintype bigop. (** Throughout this file, we assume ideal uni-processor schedules. *) -Require Import rt.restructuring.model.processor.ideal. +Require Import rt.model.processor.ideal. (** Throughout this file, we assume the basic (i.e., Liu & Layland) readiness model. *) -Require Import rt.restructuring.model.readiness.basic. +Require Import rt.model.readiness.basic. (** Throughout this file, we assume the task model with fixed preemption points. *) -Require Import rt.restructuring.model.preemption.limited_preemptive. -Require Import rt.restructuring.model.task.preemption.limited_preemptive. +Require Import rt.model.preemption.limited_preemptive. +Require Import rt.model.task.preemption.limited_preemptive. (** * RTA for EDF-schedulers with Fixed Preemption Points *) (** In this module we prove the RTA theorem for EDF-schedulers with fixed preemption points. *) diff --git a/restructuring/results/fixed_priority/rta/bounded_nps.v b/results/fixed_priority/rta/bounded_nps.v similarity index 96% rename from restructuring/results/fixed_priority/rta/bounded_nps.v rename to results/fixed_priority/rta/bounded_nps.v index 58e4da3ee..418d5f35c 100644 --- a/restructuring/results/fixed_priority/rta/bounded_nps.v +++ b/results/fixed_priority/rta/bounded_nps.v @@ -1,14 +1,14 @@ -Require Export rt.restructuring.analysis.concepts.schedulability. -Require Export rt.restructuring.analysis.concepts.request_bound_function. -Require Export rt.restructuring.results.fixed_priority.rta.bounded_pi. -Require Export rt.restructuring.analysis.facts.priority_inversion. +Require Export rt.analysis.concepts.schedulability. +Require Export rt.analysis.concepts.request_bound_function. +Require Export rt.results.fixed_priority.rta.bounded_pi. +Require Export rt.analysis.facts.priority_inversion. From mathcomp Require Import ssreflect ssrbool eqtype ssrnat seq path fintype bigop. (** Throughout this file, we assume ideal uni-processor schedules. *) -Require Import rt.restructuring.model.processor.ideal. +Require Import rt.model.processor.ideal. (** Throughout this file, we assume the basic (i.e., Liu & Layland) readiness model. *) -Require Import rt.restructuring.model.readiness.basic. +Require Import rt.model.readiness.basic. (** * RTA for FP-schedulers with Bounded Non-Preemptive Segments *) diff --git a/restructuring/results/fixed_priority/rta/bounded_pi.v b/results/fixed_priority/rta/bounded_pi.v similarity index 98% rename from restructuring/results/fixed_priority/rta/bounded_pi.v rename to results/fixed_priority/rta/bounded_pi.v index 184a79486..5546a98a6 100644 --- a/restructuring/results/fixed_priority/rta/bounded_pi.v +++ b/results/fixed_priority/rta/bounded_pi.v @@ -1,13 +1,13 @@ -Require Export rt.restructuring.model.schedule.priority_driven. -Require Export rt.restructuring.analysis.facts.busy_interval. -Require Import rt.restructuring.analysis.abstract.ideal_jlfp_rta. +Require Export rt.model.schedule.priority_driven. +Require Export rt.analysis.facts.busy_interval. +Require Import rt.analysis.abstract.ideal_jlfp_rta. From mathcomp Require Import ssreflect ssrbool eqtype ssrnat seq path fintype bigop. (** Throughout this file, we assume ideal uni-processor schedules. *) -Require Import rt.restructuring.model.processor.ideal. +Require Import rt.model.processor.ideal. (** Throughout this file, we assume the basic (i.e., Liu & Layland) readiness model. *) -Require Import rt.restructuring.model.readiness.basic. +Require Import rt.model.readiness.basic. (** * Abstract RTA for FP-schedulers with Bounded Priority Inversion *) (** In this module we instantiate the Abstract Response-Time analysis diff --git a/restructuring/results/fixed_priority/rta/floating_nonpreemptive.v b/results/fixed_priority/rta/floating_nonpreemptive.v similarity index 93% rename from restructuring/results/fixed_priority/rta/floating_nonpreemptive.v rename to results/fixed_priority/rta/floating_nonpreemptive.v index 4bb73c0f0..1094dbe78 100644 --- a/restructuring/results/fixed_priority/rta/floating_nonpreemptive.v +++ b/results/fixed_priority/rta/floating_nonpreemptive.v @@ -1,16 +1,16 @@ -Require Export rt.restructuring.results.fixed_priority.rta.bounded_nps. -Require Export rt.restructuring.analysis.facts.preemption.rtc_threshold.floating. +Require Export rt.results.fixed_priority.rta.bounded_nps. +Require Export rt.analysis.facts.preemption.rtc_threshold.floating. From mathcomp Require Import ssreflect ssrbool eqtype ssrnat seq path fintype bigop. (** Throughout this file, we assume ideal uni-processor schedules. *) -Require Import rt.restructuring.model.processor.ideal. +Require Import rt.model.processor.ideal. (** Throughout this file, we assume the basic (i.e., Liu & Layland) readiness model. *) -Require Import rt.restructuring.model.readiness.basic. +Require Import rt.model.readiness.basic. (** Throughout this file, we assume the task model with floating non-preemptive regions. *) -Require Import rt.restructuring.model.preemption.limited_preemptive. -Require Import rt.restructuring.model.task.preemption.floating_nonpreemptive. +Require Import rt.model.preemption.limited_preemptive. +Require Import rt.model.task.preemption.floating_nonpreemptive. (** * RTA for Model with Floating Non-Preemptive Regions *) (** In this module we prove the RTA theorem for floating diff --git a/restructuring/results/fixed_priority/rta/fully_nonpreemptive.v b/results/fixed_priority/rta/fully_nonpreemptive.v similarity index 93% rename from restructuring/results/fixed_priority/rta/fully_nonpreemptive.v rename to results/fixed_priority/rta/fully_nonpreemptive.v index 0cf5969b4..e1eb3fcd3 100644 --- a/restructuring/results/fixed_priority/rta/fully_nonpreemptive.v +++ b/results/fixed_priority/rta/fully_nonpreemptive.v @@ -1,16 +1,16 @@ -Require Export rt.restructuring.results.fixed_priority.rta.bounded_nps. -Require Export rt.restructuring.analysis.facts.preemption.task.nonpreemptive. -Require Export rt.restructuring.analysis.facts.preemption.rtc_threshold.nonpreemptive. +Require Export rt.results.fixed_priority.rta.bounded_nps. +Require Export rt.analysis.facts.preemption.task.nonpreemptive. +Require Export rt.analysis.facts.preemption.rtc_threshold.nonpreemptive. From mathcomp Require Import ssreflect ssrbool eqtype ssrnat seq path fintype bigop. (** Throughout this file, we assume ideal uni-processor schedules. *) -Require Import rt.restructuring.model.processor.ideal. +Require Import rt.model.processor.ideal. (** Throughout this file, we assume the basic (i.e., Liu & Layland) readiness model. *) -Require Import rt.restructuring.model.readiness.basic. +Require Import rt.model.readiness.basic. (** Throughout this file, we assume the fully non-preemptive task model. *) -Require Import rt.restructuring.model.task.preemption.fully_nonpreemptive. +Require Import rt.model.task.preemption.fully_nonpreemptive. (** * RTA for Fully Non-Preemptive FP Model *) (** In this module we prove the RTA theorem for the fully non-preemptive FP model. *) diff --git a/restructuring/results/fixed_priority/rta/fully_preemptive.v b/results/fixed_priority/rta/fully_preemptive.v similarity index 92% rename from restructuring/results/fixed_priority/rta/fully_preemptive.v rename to results/fixed_priority/rta/fully_preemptive.v index 9195c46ee..c216f3d56 100644 --- a/restructuring/results/fixed_priority/rta/fully_preemptive.v +++ b/results/fixed_priority/rta/fully_preemptive.v @@ -1,16 +1,16 @@ -Require Export rt.restructuring.results.fixed_priority.rta.bounded_nps. -Require Export rt.restructuring.analysis.facts.preemption.task.preemptive. -Require Export rt.restructuring.analysis.facts.preemption.rtc_threshold.preemptive. +Require Export rt.results.fixed_priority.rta.bounded_nps. +Require Export rt.analysis.facts.preemption.task.preemptive. +Require Export rt.analysis.facts.preemption.rtc_threshold.preemptive. From mathcomp Require Import ssreflect ssrbool eqtype ssrnat seq path fintype bigop. (** Throughout this file, we assume ideal uni-processor schedules. *) -Require Import rt.restructuring.model.processor.ideal. +Require Import rt.model.processor.ideal. (** Throughout this file, we assume the basic (i.e., Liu & Layland) readiness model. *) -Require Import rt.restructuring.model.readiness.basic. +Require Import rt.model.readiness.basic. (** Throughout this file, we assume the fully preemptive task model. *) -Require Import rt.restructuring.model.task.preemption.fully_preemptive. +Require Import rt.model.task.preemption.fully_preemptive. (** * RTA for Fully Preemptive FP Model *) (** In this module we prove the RTA theorem for fully preemptive FP model. *) diff --git a/restructuring/results/fixed_priority/rta/limited_preemptive.v b/results/fixed_priority/rta/limited_preemptive.v similarity index 94% rename from restructuring/results/fixed_priority/rta/limited_preemptive.v rename to results/fixed_priority/rta/limited_preemptive.v index 19fa54b29..360c097b5 100644 --- a/restructuring/results/fixed_priority/rta/limited_preemptive.v +++ b/results/fixed_priority/rta/limited_preemptive.v @@ -1,16 +1,16 @@ -Require Export rt.restructuring.results.fixed_priority.rta.bounded_nps. -Require Export rt.restructuring.analysis.facts.preemption.rtc_threshold.limited. +Require Export rt.results.fixed_priority.rta.bounded_nps. +Require Export rt.analysis.facts.preemption.rtc_threshold.limited. From mathcomp Require Import ssreflect ssrbool eqtype ssrnat seq path fintype bigop. (** Throughout this file, we assume ideal uni-processor schedules. *) -Require Import rt.restructuring.model.processor.ideal. +Require Import rt.model.processor.ideal. (** Throughout this file, we assume the basic (i.e., Liu & Layland) readiness model. *) -Require Import rt.restructuring.model.readiness.basic. +Require Import rt.model.readiness.basic. (** Throughout this file, we assume the task model with fixed preemption points. *) -Require Import rt.restructuring.model.preemption.limited_preemptive. -Require Import rt.restructuring.model.task.preemption.limited_preemptive. +Require Import rt.model.preemption.limited_preemptive. +Require Import rt.model.task.preemption.limited_preemptive. (** * RTA for FP-schedulers with Fixed Preemption Points *) -- GitLab