You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

71 lines
1.7 KiB

------------------------- MODULE supervisor_001_draft ------------------------
(*
This is the beginning of a spec that will eventually use verification and detector API
*)
EXTENDS Integers, FiniteSets
VARIABLES
state,
output
vars == <<state, output>>
CONSTANT
INITDATA
Init ==
/\ state = "Init"
/\ output = "none"
NextInit ==
/\ state = "Init"
/\ \/ state' = "EnterLoop"
\/ state' = "FailedToInitialize"
/\ UNCHANGED output
NextVerifyToTarget ==
/\ state = "EnterLoop"
/\ \/ state' = "EnterLoop" \* replace primary
\/ state' = "EnterDetect"
\/ state' = "ExhaustedPeersPrimary"
/\ UNCHANGED output
NextAttackDetector ==
/\ state = "EnterDetect"
/\ \/ state' = "NoEvidence"
\/ state' = "EvidenceFound"
\/ state' = "ExhaustedPeersSecondaries"
/\ UNCHANGED output
NextVerifyAndDetect ==
\/ NextVerifyToTarget
\/ NextAttackDetector
NextOutput ==
/\ state = "NoEvidence"
/\ state' = "EnterLoop"
/\ output' = "data" \* to generate a trace
NextTerminated ==
/\ \/ state = "FailedToInitialize"
\/ state = "ExhaustedPeersPrimary"
\/ state = "EvidenceFound"
\/ state = "ExhaustedPeersSecondaries"
/\ UNCHANGED vars
Next ==
\/ NextInit
\/ NextVerifyAndDetect
\/ NextOutput
\/ NextTerminated
InvEnoughPeers ==
/\ state /= "ExhaustedPeersPrimary"
/\ state /= "ExhaustedPeersSecondaries"
=============================================================================
\* Modification History
\* Last modified Sun Oct 18 11:48:45 CEST 2020 by widder
\* Created Sun Oct 18 11:18:53 CEST 2020 by widder