11.プロセスのステップ
1 /*プロセスのステップ*/ 2 int a,b; 3 int c=3; 4 active proctype judge(){ 5 a=0; 6 b=0; 7 c=a; 8 c=1 9 }
さてさて、ちょっと検証の本質に近づいて行きます。今度はプロセスのステップ数です。式を1つ評価するごとに1ステップとなります。上記の例はa=0;が第1ステップ、b=0;が第2ステップ、c=a;は第3ステップ、c=1は第4ステップとなります。この場合4ステップで終了となります。もし、SPINが『全ての変数(a,b,c)が0になることがある』という検証しようとします。このとき、SPINはコードの最初から順番にステップを追っています。第3ステップに達したところで全ての値が0になったので、この検証はvalidであると評価します。