Strengthen JobProtocol model after independent review.
Replace tautological invariants with non-trivial ones, allow multi-shot coordination loss and re-partition, fix reap/progress lifecycle, enable deadlock checking via Done, and add stress and multi-shot TLC configs.
This commit is contained in:
parent
1206c0a5ac
commit
7d490194c3
1 changed files with 342 additions and 124 deletions
38
docs/protocol/RemoraMultiShot.cfg
Normal file
38
docs/protocol/RemoraMultiShot.cfg
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
SPECIFICATION SafetySpec
|
||||
|
||||
CHECK_DEADLOCK TRUE
|
||||
|
||||
\* Multi-shot coordination wipe and re-partition (safety only; liveness is Remora.cfg).
|
||||
CONSTANTS
|
||||
Jobs = {j1}
|
||||
Workers = {w1, w2}
|
||||
InitialWorkers = {w1}
|
||||
NoJob = NoJob
|
||||
NoWorker = NoWorker
|
||||
MaxAttempts = 2
|
||||
MaxProgress = 1
|
||||
LeaseLimit = 1
|
||||
LocalLimit = 1
|
||||
GlobalLimit = 1
|
||||
FaultsEnabled = TRUE
|
||||
FaultServices = {"Coordination"}
|
||||
MaxCoordLosses = 2
|
||||
MaxPartitions = 2
|
||||
|
||||
INVARIANTS
|
||||
TypeOK
|
||||
StateConsistency
|
||||
AllocatedTokensUsed
|
||||
LiveProgressAligned
|
||||
AtMostOneLiveLeasePerJob
|
||||
AuthorityWellFormed
|
||||
CommittedResultConsistent
|
||||
CancellationSafety
|
||||
PermitSafety
|
||||
ResumeValidity
|
||||
StagingOwnership
|
||||
|
||||
PROPERTIES
|
||||
TerminalStateIsImmutable
|
||||
FencingTokensMonotonic
|
||||
CommitIsFencedCAS
|
||||
Loading…
Reference in a new issue