-
Notifications
You must be signed in to change notification settings - Fork 108
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
spec+proof: use linked lists in the design spec
This models the ready queues in the design spec as linked lists via the tcbSchedNext and tcbSchedPrev pointers of a TCB, as in the C. Library functions to update these linked lists are introduced, and used to perform all functions which modify the ready queues. Refinement between the linked lists and the Isabelle lists in the abstract spec is handled via the predicate `heap_ls`. `invs'` has been significantly modified, with the introduction of `valid_sched_pointers` and `sym_heap_sched_pointers`. The various invariants related to the bitmaps have been collected in the invariant `valid_bitmaps`. This includes a major revision to Orphanage, which now uses the tcbQueued field of a TCB to indicate a thread's membership in a ready queue, rather than the previous formulation which used membership in the set of the Isabelle list. Co-authored-by: Rafal Kolanski <rafal.kolanski@proofcraft.systems> Co-authored-by: Gerwin Klein <gerwin.klein@proofcraft.systems> Signed-off-by: Michael McInerney <michael.mcinerney@proofcraft.systems>
- Loading branch information
1 parent
eb3db4b
commit d869bb5
Showing
267 changed files
with
39,421 additions
and
37,135 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.