我是 NUSMV 的新手,我正在尝试为 reconize 41708 建模一个数字代码,但用户不能再犯 3 个错误。如果您输入更多 3 错误,当您输入要解锁的特殊代码时,系统会进入阻塞状态等待。如果您不能帮助我提出想法并建议完成代码,这是我的代码。
MODULE main
VAR
val1 : {0,1,2,3,4,5,6,7,8};
location : {E1,E2,E3,E4,E5,succes,blocked,unblocked,verified};
cpt : 0..3;
block : boolean;
NumberEnter : 0..5 ;
ASSIGN
init(cpt):=0;
init(block):=FALSE;
init(location):=E1;
next(location):= case
(location=E1) &(cpt!=3) & (block!=TRUE) :E2 ;
(location=E2) & (cpt!=3) & (block!=TRUE) :{E3,E1,blocked};
(location=E3) & (cpt!=3) & (block!=TRUE) :{E2,E1,blocked} ;
(location=E4) & (cpt!=3) & (block!=TRUE) :{E1,E5,blocked} ;
(location=E5) & (cpt!=3) & (block!=TRUE) :{E1,blocked} ;
TRUE:blocked;
esac;
next(pas):= case
NumberEnter<5 :NumberEnter+ 1 ;
TRUE:0;
esac;