12.ステップをまとめて実行
1 /*プロセスをまとめて実行*/ 2 int a,b; 3 int c=3; 4 active proctype judge(){ 5 atomic{ 6 a=0; 7 b=0; 8 c=a; 9 c=1; 10 } 11}
11.とよく似ていますが、今度はatomicで式が囲まれています。atomic{○○○}で囲むとその中の式は全てまとめて1ステップで実行されます。そのため、今度は『全ての変数(a,b,c)が0になることがある』という検証は1ステップですぐにa=0、b=0、c=1になってしまい、結果はnot validになります。