ちゃりさん、SopranoSax_YSS-875Sさん、ありがとうございます。関係箇所を、抜粋します。変数名は原文では小文字でボールドなのですが、ここでは大文字で表記します(RA, RB, TURN)。
The two users now decide to share 3 variables:
a variable RA (r for "request") which the user A sets to true when he wishes to print. Initially rA is false;
similarly, RB plays the corresponding role for user B;
and again the TURN variable, to settle conflicts.
The automaton modeling the behavior of user A is shown on figure 1.19 (the automaton modeling B is symmetrical, simply exchanging the roles of A and B). As in the elevator example, we associate with each state a unique elementary proposition corresponding to its name. The property "being in state 4" corresponds to the printing of a document by the corresponding user.
【ここに、図1.19が来ます。このトピックの最初に載せた図です。】
The automaton modeling the algorithm is thus built from these two automata and from the three shared variables RA, RB and TURN. A state is then a tuple consisting of, in that order, the state of the automaton for A, the state of the automaton B, the value of RA, the value of RB and that of TURN. This automaton thus has 4x4x2x2x2=128 states. In fact, the number of reachable states is only 21. In particular, we can show (or ask a model checker to show) that no state of the form (4,4,-,-,-) is reachable, guarateeing in this way that the two users cannot be printing simultaneously.
オートマトンAの状態が{1,2,3,4}のどれかで、4通り。オートマトンBの状態も同じく、4通り。RAが{true, false}のどちらかで、2通り。RBも同じく、2通り。TURNは{A,B}のどちらかで2通り。なので、直積は4x4x2x2x2=128となります。