Prosa logo

Overview of Verified Results

In addition to a specification of real-time scheduling, various task and system models, and a large library of utility lemmas, Prosa 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.

Results in the Current Version of Prosa

The following results are part of “modern Prosa,” the current, actively maintained branch of Prosa.

Optimality & Generality Results

Optimality of Earliest-Deadline-First (EDF) scheduling on an ideal uniprocessor:

Generality of (Global) EDF-Like (GEL) scheduling:

Generality of EDF-Like within Fixed priorities (ELF) scheduling:

Transfer Schedulability

Prosa contains the mechanized proofs for Willemsen et al.’s EMSOFT’25 paper introducing the concept of transfer schedulability.

Response-Time Analyses (RTAs)

All RTAs support a quite general setting: sporadic tasks characterized by arbitrary arrival curves and with arbitrary deadlines.

Sporadic Tasks on an Ideal Uniprocessor

Scheduling PolicyPreemption ModelRTA in Prosa
FIFOanyprosa.results.rta.ideal.fifo.bounded_nps
EDFfully preemptiveprosa.results.rta.ideal.edf.fully_preemptive
EDFfloating non-preemptive sectionsprosa.results.rta.ideal.edf.floating_nonpreemptive
EDFsegmented limited-preemptiveprosa.results.rta.ideal.edf.limited_preemptive
EDFfully non-preemptiveprosa.results.rta.ideal.edf.fully_nonpreemptive
FPfully preemptiveprosa.results.rta.ideal.fp.fully_preemptive
FPfloating non-preemptive sectionsprosa.results.rta.ideal.fp.floating_nonpreemptive
FPsegmented limited-preemptiveprosa.results.rta.ideal.fp.limited_preemptive
FPfully non-preemptiveprosa.results.rta.ideal.fp.fully_nonpreemptive

Sporadic Tasks on a Non-Ideal Uniprocessor Subject to Overheads

Scheduling PolicyPreemption ModelRTA in Prosa
FIFOanyprosa.results.rta.ovh.fifo.bounded_nps
EDFfully preemptiveprosa.results.rta.ovh.edf.fully_preemptive
EDFfloating non-preemptive sectionsprosa.results.rta.ovh.edf.floating_nonpreemptive
EDFsegmented limited-preemptiveprosa.results.rta.ovh.edf.limited_preemptive
EDFfully non-preemptiveprosa.results.rta.ovh.edf.fully_nonpreemptive
FPfully preemptiveprosa.results.rta.ovh.fp.fully_preemptive
FPfloating non-preemptive sectionsprosa.results.rta.ovh.fp.floating_nonpreemptive
FPsegmented limited-preemptiveprosa.results.rta.ovh.fp.limited_preemptive
FPfully non-preemptiveprosa.results.rta.ovh.fp.fully_nonpreemptive

Sporadic Tasks on a Uniprocessor Subject to Execution-Time Exceedance

Scheduling PolicyPreemption ModelRTA in Prosa
FPfully non-preemptiveprosa.results.rta.exc.fp.fully_nonpreemptive

Sporadic Tasks under the Periodic Resource Model

Scheduling PolicyPreemption ModelRTA in Prosa
FIFOanyprosa.results.rta.prm.fifo.bounded_nps
EDFfully preemptiveprosa.results.rta.prm.edf.fully_preemptive
EDFfloating non-preemptive sectionsprosa.results.rta.prm.edf.floating_nonpreemptive
EDFsegmented limited-preemptiveprosa.results.rta.prm.edf.limited_preemptive
EDFfully non-preemptiveprosa.results.rta.prm.edf.fully_nonpreemptive
FPfully preemptiveprosa.results.rta.prm.fp.fully_preemptive
FPfloating non-preemptive sectionsprosa.results.rta.prm.fp.floating_nonpreemptive
FPsegmented limited-preemptiveprosa.results.rta.prm.fp.limited_preemptive
FPfully non-preemptiveprosa.results.rta.prm.fp.fully_nonpreemptive

Sporadic Tasks under the Average Resource Model

Also known as the Rate-Delay Model.

Scheduling PolicyPreemption ModelRTA in Prosa
FIFOanyprosa.results.rta.arm.fifo.bounded_nps
EDFfully preemptiveprosa.results.rta.arm.edf.fully_preemptive
EDFfloating non-preemptive sectionsprosa.results.rta.arm.edf.floating_nonpreemptive
EDFsegmented limited-preemptiveprosa.results.rta.arm.edf.limited_preemptive
EDFfully non-preemptiveprosa.results.rta.arm.edf.fully_nonpreemptive
FPfully preemptiveprosa.results.rta.arm.fp.fully_preemptive
FPfloating non-preemptive sectionsprosa.results.rta.arm.fp.floating_nonpreemptive
FPsegmented limited-preemptiveprosa.results.rta.arm.fp.limited_preemptive
FPfully non-preemptiveprosa.results.rta.arm.fp.fully_nonpreemptive

Sporadic Tasks on Uniprocessors Subject to Arbitrary Supply Restrictions

Scheduling PolicyPreemption ModelRTA in Prosa
FIFOanyprosa.results.rta.rs.fifo.bounded_nps
EDFfully preemptiveprosa.results.rta.rs.edf.fully_preemptive
EDFfloating non-preemptive sectionsprosa.results.rta.rs.edf.floating_nonpreemptive
EDFsegmented limited-preemptiveprosa.results.rta.rs.edf.limited_preemptive
EDFfully non-preemptiveprosa.results.rta.rs.edf.fully_nonpreemptive
FPfully preemptiveprosa.results.rta.rs.fp.fully_preemptive
FPfloating non-preemptive sectionsprosa.results.rta.rs.fp.floating_nonpreemptive
FPsegmented limited-preemptiveprosa.results.rta.rs.fp.limited_preemptive
FPfully non-preemptiveprosa.results.rta.rs.fp.fully_nonpreemptive
ELFfully preemptiveprosa.results.rta.rs.elf.fully_preemptive
ELFfloating non-preemptive sectionsprosa.results.rta.rs.elf.floating_nonpreemptive
ELFsegmented limited-preemptiveprosa.results.rta.rs.elf.limited_preemptive
ELFfully non-preemptiveprosa.results.rta.rs.elf.fully_nonpreemptive

Results in Classic Prosa

Additionally, the following results may be found in classic Prosa, an earlier version of Prosa developed until 2020.

Uniprocessor Scheduling

Multiprocessor Scheduling