Commit graph

23 commits

Author SHA1 Message Date
Tobias Reinhard
b44eb855d9 Deleted deprecated predicate and lemmas. 2022-12-02 15:05:20 -05:00
Tobias Reinhard
df780a1823 Introduced list of flat list of tasks in lock invariant. Simplifies access to sharedSeg_TCB_p chunks. 2022-12-02 14:59:06 -05:00
Tobias Reinhard
fe5612cf4f Extended lock invariants to justify safe access to ready tasks as well as scheduled task. 2022-11-30 15:52:00 -05:00
Tobias Reinhard
78de786d89 Expanded lock invariant to give us access to shared segments of all ready TCBs. 2022-11-30 11:05:06 -05:00
Tobias Reinhard
e800ebd293 Exposed node owners in all predicates related to nodes. Adapted proofs to new predicates.
Changed predicates:
- `xLIST_ITEM`
- `DLS`
- `xLIST`
- `readyLists_p`
- `List_array_p`
2022-11-30 09:44:25 -05:00
Tobias Reinhard
22dc5c1287 Added proof idea and TODOs. Need to refactor single-core list predicates. 2022-11-29 13:53:53 -05:00
Tobias Reinhard
e8b8234416 Renamed predicates to comply with naming conventions 2022-11-29 09:47:50 -05:00
Tobias Reinhard
014acb9a00 Refactored lock predicates to improve readability. 2022-11-29 09:37:23 -05:00
Tobias Reinhard
5cf8b4ed1c Added shared global variable xSchedulerRunning to task-isr lock invariant. 2022-11-21 08:06:19 -05:00
Tobias Reinhard
f5c0a64f86 Made isr lock predicate abstract. 2022-11-18 14:31:37 -05:00
Tobias Reinhard
6dcaef48d6 Added loop invariant to main search loop in prvSelectHighestPriorityTask. 2022-11-17 14:24:44 -05:00
Tobias Reinhard
4eb2fa573e Wrote contracts for lock release operations. 2022-11-16 14:18:03 -05:00
Tobias Reinhard
54523ecdce Included global variables pxCurrentTCBs and pxYieldingPendings in interrupt invariant. 2022-11-16 13:53:22 -05:00
Tobias Reinhard
d63a8f83cd Renamed predicate encapsulating access permissions to core local variables to coreLocalInterruptInv_p. 2022-11-16 11:31:12 -05:00
Tobias Reinhard
327423ef67 TCB of currently scheduled task on core C is interrupt protected on core C. Updated invariants to reflect that. 2022-11-16 11:25:37 -05:00
Tobias Reinhard
360afe4374 Cleaned up lock predicate header. 2022-11-16 10:37:12 -05:00
Tobias Reinhard
d95976ebe5 Added info about available tasks to lock predicate. 2022-11-16 10:28:31 -05:00
Tobias Reinhard
d746a27233 Added missing task-ISR lock invariant to post condition of acquision lemma. 2022-11-11 15:07:01 -05:00
Tobias Reinhard
29e14be203 Verified minimal contract for xTaskGetCurrentTaskHandle. 2022-11-10 14:36:04 -05:00
Tobias Reinhard
7e75d7aa8f Refined lock predicates and contracts for lock macros to match expected locking discipline. 2022-11-10 12:50:48 -05:00
Tobias Reinhard
91eb6eefaa Included reference to core ID in interrupt predicates and added distinction between global and core local variables. 2022-11-07 14:21:42 -05:00
Tobias Reinhard
25dda73ef9 Started to define predicates encapsulating access permissions to global variables. 2022-11-04 14:22:11 -04:00
Tobias Reinhard
94e0f21574 Added rewrite to remove const qualifiers from pointers. 2022-11-04 11:15:15 -04:00