Mercurial > hg > Members > kono > Proof > automaton
view a13/smv/test5.smv @ 295:99c2cbe6a862
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 30 Dec 2021 17:42:44 +0900 |
parents | 0e8a0e50ed26 |
children |
line wrap: on
line source
MODULE main VAR semaphore : boolean; proc1 : process user(semaphore); proc2 : process user(semaphore); ASSIGN init(semaphore) := FALSE; MODULE user(semaphore) VAR state : {idle, entering, critical, exiting}; ASSIGN init(state) := idle; next(state) := case state = idle : {idle, entering}; state = entering & !semaphore : critical; state = critical state = exiting TRUE esac; next(semaphore) := case state = entering : TRUE; state = exiting : FALSE; TRUE : semaphore; esac; FAIRNESS running