In addition to a specification of real-time scheduling, various task and system models, and a large library of utility lemmas, Prosa also contains several higher-level theorems of general interest to the real-time systems community, which we refer to as the main results.
For ease of reference, this page provides an overview of the main results formalized and proven correct in Prosa to date.
Under the classic EDF scheduling policy, each task is associated with a relative deadline, and each job derives its absolute deadline by adding its task’s relative deadline to the its arrival time. Jobs are then scheduled in order of non-decreasing absolute deadlines.
Prosa provides the following results about EDF scheduling:
Optimality of EDF on an ideal uniprocessor: prosa.results.edf.optimality
Response-time analysis of EDF on an ideal uniprocessor assuming…
prosa.results.edf.rta.bounded_pi
prosa.results.edf.rta.bounded_nps
prosa.results.edf.rta.fully_preemptive
prosa.results.edf.rta.fully_nonpreemptive
prosa.results.edf.rta.limited_preemptive
prosa.results.edf.rta.floating_nonpreemptive
Under the trivial FIFO scheduling policy, jobs are scheduled in order of non-decreasing arrival times.
Prosa provides the following result about FIFO scheduling:
prosa.results.fifo.rta
As FIFO scheduling is inherently non-preemptive, the above result applies to any preemption model (e.g., fully preemptive, fully non-preemptive, limited-preemptive, …). Therefore, unlike in the case of EDF scheduling above, no further instantiations to specific preemption models are required.
Under fixed-priority (FP) scheduling, also known as static-priority (SP) scheduling, each task is assigned an unchanging priority ahead of time, and jobs are scheduled at runtime in order of decreasing task priorities (with any ties in priority broken arbitrarily). Rate-monotonic (RM) scheduling is a particularly well-known case of FP scheduling.
Prosa provides the following results, which are applicable to any FP policy (i.e., to RM scheduling, but also to any other priority assignment scheme).
prosa.results.fixed_priority.rta.bounded_pi
prosa.results.fixed_priority.rta.bounded_nps
prosa.results.fixed_priority.rta.fully_preemptive
prosa.results.fixed_priority.rta.comp.fully_preemptive
prosa.results.fixed_priority.rta.fully_nonpreemptive
prosa.results.fixed_priority.rta.limited_preemptive
prosa.results.fixed_priority.rta.floating_nonpreemptive
EDF-Like (EL) scheduling, due to its origins also called Global-EDF-Like (GEL) scheduling, generalizes the idea behind EDF by associating with each task a (relative) priority point (analogous to a relative deadline), from which each job derives its absolute priority point (analogous to an absolute deadline). Jobs are then scheduled in order of non-decreasing absolute priority points. GEL scheduling generalizes both EDF and FIFO scheduling, and under some assumptions (Günzel et al., RTSS’22), also FP scheduling.
prosa.results.gel.rta.bounded_pi
As in the cases of FP and EDF scheduling above, the bounded-PI GEL analysis could be instantiated to bounded non-preemptive sections (NPS), and from there to various preemption models. These instantiations have not yet been carried out, however. Patches welcome… :-)
Additionally, the following results may be found in classic Prosa, an earlier version of Prosa developed until 2020.
Response-time analysis of time-partitioned scheduling (i.e., table-driven scheduling or TDMA) on an ideal uniprocessor assuming sporadic tasks (without release jitter): prosa.classic.analysis.uni.basic.tdma_rta_theory and tdma_wcrt_analysis
Response-time analysis of FP scheduling with release jitter on an ideal uniprocessor assuming sporadic tasks: prosa.classic.analysis.uni.jitter.fp_rta_theory and fp_rta_comp
Suspension-oblivious response-time analysis of FP scheduling assuming sporadic tasks with dynamic self-suspensions on an ideal uniprocessor: prosa.classic.analysis.uni.susp.dynamic.oblivious
Suspension-aware response-time analysis of FP scheduling assuming sporadic tasks with dynamic self-suspensions on an ideal uniprocessor, by reduction to a jitter-aware response-time analysis: prosa.classic.analysis.uni.susp.dynamic.jitter.rta_by_reduction
Weak sustainability of job costs and varying suspension times in the dynamic suspension model: prosa.classic.analysis.uni.susp.sustainability.allcosts.main_claim
Response-time analysis of Global EDF (G-EDF) on an ideal identical multiprocessor for…
Response-time analysis of Global FP (G-FP) on an ideal identical multiprocessor for…
Response-time analysis of Arbitrary Processor Affinity (APA) scheduling for sequential sporadic tasks without release jitter, with job priorities determined according to…