3. Event-B Synchronous Control Flow Design Patterns
Event-B is an event-based formal modeling language whose core concept is event. The general form of an event is as follows:
An event is made up of guards and actions. An event e is enabled when its guards are satisfied, and actions express the effect of the event e, that is, the modification of the variables. Event-B uses variables to express the state of the system and perform the state changes with events.
Abrial [1] proposed four synchronous control flow patterns to abstract the basic “trigger-response” relationship in a multi-level control system. The basic principle of “trigger-response” relationship is shown in Fig. 1.
The “trigger-response” relationship of the reactive system.
In Fig. 1, the actuator executes the action event, and modifies its own state. The reactor is enabled after the action event and can execute the reaction event.
In the synchronous control flow design pattern, the variables a, b and r, s are used to represent the state of the actuator and the reactor, respectively. The x_on event changes the value of the variable x from 0 to 1, and the event x_off changes the value of the variable x from 1 to 0, where [TeX:] $$x \in\{a, r, b, s\}$$ We refer to a pair of “actuators – reactors” as a “subsystem”.
For the sake of discussion, we first consider an Event-B model including the actuator a and reactor r with no synchronization control relationship, named non_control_model:
In non_control_model, there is no r-related expression in the guards of the a_on and a_off events. Thus, the occurrence of the above two events is not constrained by the variable r. Likewise, the r_on and r_off events are not constrained by the variable a.
3.1 Weak Synchronization Pattern
The weak synchronization pattern means that after the actuator executes trigger event a_on, the reactor can either respond to it (execute the r_on event) or make no response (do not execute the r_on event). This relationship also applies to events a_off and r_off. A realistic case of this pattern is the response of the keyboard to the keystroke event—in many cases, a user may trigger many “button is pressed” events in one second because of his finger jitter, but in fact, he just wants to trigger one event.
The principle of weak synchronization pattern is shown in Fig. 2. Where the two signals labeled by a and r represent the states of the actuator a and the reactor r, respectively. The rising edge indicates that the value of a or r changes from 0 to 1 while the falling edge changes their values from 1 to 0.
The principle of weak synchronization pattern: (a) case 1 and (b) case 2.
The Event-B model of the weak synchronization pattern, weak_model is:
Compared with the non_control_model, weak_model adds some constraint in the event r_on and r_off, which specifies that the r_on event can occur only when a = 1 (event a_on has occurred). Similarly, r_off events can only occur after event a_off. We added some dashed arrows to the Event-B model to indicate the triggering relationship between events. They indicate that two events will be enabled, a_off and r_on after the a_on event occurs. Similarly, after the action1: a:= 0 in the a_off event is performed, there are two events be enabled, a_on and r_off.
3.2 Strong Synchronization Pattern
The strong synchronization pattern is similar to the synchronous call in the function call, that is, the reactor r must perform the event r_on after the actuator a executes the event a_on, otherwise the actuator will wait forever until the reactor responds. Thus, the actuator can only execute the a_off event after the reactor executes the r_on event, and the reactor must, in turn, execute the r_off event after a_off event occurs. The principle of strong synchronization pattern is shown in Fig. 3.
The principle of strong synchronization pattern.
The Event-B model of the strong synchronization pattern, strong_model is:
Strong_model adds more constraints to the actuator events a_on and a_off of the weak_model so that the events in the model must only be executed in the order indicated by the dashed arrows.
3.3 Strong-Weak Synchronization Pattern
In a multi-level control system, there is also a “trigger-response” relationship between subsystems. For example, if we name the strong synchronization subsystem composed of the actuator a and the reactor r as sub-system 1, while name the strong synchronization subsystem composed of the actuator b and the reactor s as sub-system 2, then the strong-weak synchronization relation describes the “weak triggerresponse” relationship between these two strong synchronization subsystems. The principle of strongweak synchronization is shown in Fig. 4.
In a multi-level control system, there is also a “trigger-response” relationship between subsystems. For example, if we name the strong synchronization subsystem composed of the actuator a and the reactor r as sub-system 1, while name the strong synchronization subsystem composed of the actuator b and the reactor s as sub-system 2, then the strong-weak synchronization relation describes the “weak triggerresponse” relationship between these two strong synchronization subsystems. The principle of strongweak synchronization is shown in Fig. 4.
The principle of strong-weak synchronization pattern: (a) case 1 and (b) case 2.
The Event-B model of the strong-weak synchronization pattern, strong_weak_model is:
Although we use the dotted arrows to express as clearly as possible the order of events in the strongweak synchronization relationship, it is obvious that it is very difficult to clearly analyze the event order in such a two-level control system model. For the more complex multi-levels control system, it is almost impossible to intuitively and clearly express the event order of system model.
3.4 Strong-Strong Synchronization Pattern
The strong-strong synchronization pattern means that: firstly, the reactor r of the subsystem 1 is the trigger of the actuator b of the subsystem 2. The subsystem 2 must perform the b_on event as long as the r_on event occurs. Secondly, once the b_on event occurs, then the subsequent event must be s_on, b_off, s_off because the subsystem 2 is a strong synchronization system. Thirdly, the subsystem 1 will maintain its state (that is, a = 1, r = 1) after r_on event occurs until the s_off event is executed by the subsystem 2. That is to say, the a_off event must be triggered by the s_off event. The principle of strong- strong synchronization is shown in Fig. 5.
The principle of strong- strong synchronization pattern.
The Event-B model of the strong-weak synchronization pattern, strong_strong_model is:
In the strong_strong_model, a state variable m has been added based on strong_weak_model to constrain the relationship between a_on and a_off, which means a_off can be executed only after the b_on event occurs. Since b and s composed a strong synchronization subsystem, when b_on occurs, it means that its subsequent events must be s_on, b_off and s_off, so a_off only can occur after the event sequence “b_on, s_on, b_off, s_off”, that is, a_off only can occur after the s_off event.
We can see that: firstly, the event order of Event-B design patterns is difficult to analyze. Secondly, the process from the non_control_model to the weak_model and then to the strong_model is an incremental process that enhances the constraint. Similarly, from the strong_weak_model to strong_strong_model is also an increasing constraint enhancement process. This inspires us to establish the LTS semantic models of the four synchronic control flow patterns in an incremental way.
4. The LTS Model of the Event-B Synchronization Patterns
In this section, we will build the LTS behavior semantic model of the Event-B synchronous control flow design pattern. LTS is a state transition system in which the transition is labeled as an action. The action set of the LTS is called its communication alphabet.
Definition 1.1 (LTS [24]): Let States represent a universal set of states, Acts represents a universal action set, and then an LTS P is defined as a quaternion [TeX:] $$P=<Q, \Sigma, \Delta, q>$$ where:
[TeX:] $$Q \subseteq$$States, representing the state set of P;
[TeX:] $$\Sigma=\alpha P(\alpha P \subseteq A c t s)$$, representing the action set of P;
[TeX:] $$\Delta \subseteq Q \times \Sigma \times Q$$, representing the transition relationship in P, these transitions are labeled with the elements in ;
[TeX:] $$q \in Q$$, representing the initial state of P.
An LTS P can be converted to LTS P' by action [TeX:] $$a \in A$$, denoted [TeX:] $$P \stackrel{a}{\rightarrow} P^{\prime}, \text { if } P^{\prime}=<Q, \Sigma, \Delta, q^{\prime}>$$ and (q, a, q′)[TeX:] $$\in \Delta$$
We need to use the parallel composition of LTSs to express the interaction between multiple LTSs. The following gives the definition of LTS parallel composition.
Definition 1.2 Parallel composition of LTSs: The parallel composition of two LTS [TeX:] $$M=<Q_{1}, \Sigma_{1}, \Delta_{l}, q_{1}>$$ and [TeX:] $$N=<Q_{2}, \Sigma_{2}, \Delta_{2}, q_{2}>$$ are expressed as [TeX:] $$\operatorname{LTS}(M \| N)=<Q_{1} \times Q_{2}, \Sigma_{1} \cup \Sigma_{2}, \Delta,\left(q_{1}, q_{2}\right)>$$, where is the minimum relation that satisfies the following constraint:
where [TeX:] $$a \in \Sigma_{1} \cup \Sigma_{2}, \tau$$, represents an internal action that is not visible to the outside.
We start from the LTS model of the basic non_control_model, and gradually construct the LTS model of the four synchronization patterns.
Our basic idea is to treat an Event-B model as a composite LTS while treating each state variable of this Event-B model as an atomic LTS. Therefore, the LTS of Event-B model is the parallel composition of all atomic LTSs. The advantage of this idea is that, although the LTS model of an Event-B model is very complex, we can break it into some little atomic LTSs. Each atomic LTS corresponds to the state transition of a single variable which is easy to be modeled.
Our translation method is based on a basic fact in Event-B model, that is, the occurrence of an event will change the value of a variable. Thus, for each atomic LTS, we can mark the event that causes its state change to a transition edge in this LTS. The source node of this transition is the value of the variable before the event occurs, while the destination node is the value of the variable after the event occurs. In
this way, we get the following two translation rules:
Rule 1. Each variable in the Event-B model is modeled as an atomic LTS, and all possible values for this variable form the state space of this atomic LTS.
Rule 2. For each atomic LTS P, if an event e in the Event-B model changes the value of its corresponding variable from s1 to s2, then we add an element [TeX:] $$\left(s_{1} \stackrel{e}{\rightarrow} s_{2}\right)$$ to the transition set of this atomic LTS.
4.1 LTS Model of non_control_model
According to Rules 1 and 2, we can easily get the LTS model of an and rn in non_control_model, namely the LTS AN and the LTS RN :
[TeX:] $$LTS\ A_{N}=<\{0,1\},\left\{a_{-} o n, a_{-} o f f\right\}, \left\{\left(0 \stackrel{a_{-} o n}{\longrightarrow} 1\right),\left(1 \stackrel{a_{-} o f f}{\longrightarrow} 0\right)\right\}, 0>
[TeX:] LTS\ R_{N}=<\{0,1\},\left\{r_{-} o n, r_{-} o f f\right\},\left\{\left(0 \stackrel{r_{-} o n}{\longrightarrow} 1\right),\left(1 \stackrel{r_{-} o f f}{\longrightarrow} 0\right)\right\}, 0>$$
The LTS model of non_control_model is equal to the parallel composition of LTS AN and LTS RN, namely LTS N. According to the parallel composition rules in Definition 1.2, we get:
[TeX:] $$L T S\ N=L T S\left(A_{N} \| R_{N}\right)=<Q_{N}, \Sigma_{N}, \Delta_{N,} q_{N>},$$ where:
[TeX:] $$Q_{N}=\{(0,0),(0,1),(1,1),(1,0)\}$$
[TeX:] $$\Sigma_{N}=\left\{a_{-} \text { on, } a_{-} o f f, r_{-} \text { on, } r_{-} \text { off }\right\}$$
[TeX:] $$\Delta_{N}=\left\{(0,0) \stackrel{a_{-} o n}{\longrightarrow}(1,0),(0,1) \stackrel{a_{-} o n}{\longrightarrow}(1,1)\right.(1,1) \stackrel{a_{-} o f f}{\longrightarrow}(0,1),(1,0) \stackrel{a_{-} o f f}{\longrightarrow}(0,0)\\ (0,0) \stackrel{r_{-} o n}{\longrightarrow}(0,1),(1,0) \stackrel{r_{0}-o n}{\longrightarrow}(1,1),(0,1) \stackrel{r_{o f f}}{\longrightarrow}(0,0),(1,1) \stackrel{r_{o f f}}{\longrightarrow}(1,0) \} $$
[TeX:] $$q_{N}=(0,0)$$.
The state transition diagram for the atomic LTS of an and rn as well as composed LTS N is shown in Fig. 6. The "" symbol in Fig. 6 is parallel composition operator.
LTS model of non_control_model and its atomic LTS.
4.2 LTS Model of weak_model
If there is no interaction between the atomic LTSs, that is, the change of one state variable in the Event- B model does not affect the change of another state variable, just like non_control_model, then the Rules 1 and 2 are sufficient to build the LTSs of Event-B model. But in the actual situation, this is usually not the case. Therefore, we also need to consider the impact of interaction in the Event-B model on the atomic LTSs.
In Section 3.1, we have already shown that the Event-B model of the weak synchronize pattern can be obtained by adding some guards to the non_control_model (e.g., add a guard “a = 1” for the r_on event of non_control_model). Now we need to map this change to the LTS of the actuator a and the reactor r.
However, there is currently no rule that can be applied to r_on because the r_on event does not change the value of a. Thus, we use a tricky approach to transform the r_on event into an r_on' event in which a “useless” action named action2: a ≔ 1 is added:
It is obvious that r_on and r_on' has the same behavior semantics. They all do the same behavior, “change the value of variable a from 1 to 1”. While this sounds ridiculous, it can help us to construct LTS through the code of r_on. Now, according to Rule 2, we can add a new transition [TeX:] $$\left(1 \stackrel{r_{-} O n}{\longrightarrow} 1\right)$$ to the transition set of atomic LTS of a. It should be noted that although guard1: a = 1 appears in the guards of r_on, it describes the impact of event r_on on variable a, so the LTS we need to modify is the LTS of a.
After generalization of the above situation, we can get Rule 3.
Rule 3. Assume that s is a variable in an Event-B model; qi is a possible value for q. If there is an expression “q = qi ” in the guards of event e, and the action of event e does not change the value of q, then we should add a transition [TeX:] $$\left(q_{i} \stackrel{e}{\rightarrow} q_{i}\right)$$ to the transition set of LTS of variable q.
Rule 3 is a special case of Rule 2. In the LTS transition graph, it means that a reflexive edge is added to the qi state node in the LTS of q, and the edge is labeled with event e.
Now, according to Rule 3 and weak_model, we can easily get the LTS model of aw and rw in weak synchronization pattern, namely LTS Aw and LTS Rw:
[TeX:] $$L T S\ A_{w}=<\{0,1\},\left\{a_{-} o n, a_{-} o f f, r_{-} o n, r_{-} o f\right\}, \left\{\left(0 \stackrel{a_{-} o n}{\longrightarrow} 1\right),\left(1 \stackrel{a_{-}o f f}{\longrightarrow} 0\right),\left(0 \stackrel{r_{-}o f f}{\longrightarrow} 0\right),\left(1 \stackrel{r_{-}o n}{\longrightarrow} 1\right)\right\}, 0>$$
[TeX:] $$\\ L T S\ R_{w}=<\{0,1\},\left\{r_{-} o n, r_{-} o f\right\}, \left\{\left(0 \stackrel{r_{-} o n}{\longrightarrow} 1\right),\left(1 \stackrel{r_{-} o f f}{\longrightarrow} 0\right)\right\}, 0> $$
The LTS model of weak _model is equal to the parallel composition of LTS AW and LTS AW, namely LTS W:
[TeX:] $$L T S\ W=L T S\left(A_{w} \| R_{w}\right)=<Q_{W}, \Sigma_{W}, \Delta w, q_{w}>,$$, where:
[TeX:] $$Q_{W}=\{(0,0),(0,1),(1,1),(1,0)\}$$
[TeX:] $$\Sigma_{W}=\left\{a_{-} o n, a_{-} o f f, r_{-} o n, r_{-} o f f\right\}$$
[TeX:] $$\Delta_{W}=\left\{(0,0) \stackrel{a_{-} o n}{\longrightarrow}(1,0),(0,1) \stackrel{a_{-} o n}{\longrightarrow}(1,1)\right.,(1,1) \stackrel{a_{-} o f f}{\longrightarrow}(0,1),(1,0) \stackrel{a_{-} o f f}{\longrightarrow}(0,0),(1,0) \stackrel{r_{-}o n}{\longrightarrow}(1,1),(0,1) \stackrel{r_{-} o f f}{\longrightarrow}(0,0) \}$$
[TeX:] $$q_{\mathrm{W}=(0,0)}.$$
The state transition diagram for the atomic LTS of aw and rw as well as composed LTS W is shown in Fig. 7.
LTS model of weak_model and its atomic LTS.
We can see that the LTS of the weak synchronization pattern is in fact a clipping of the LTS N. Compared to the transition set N, there are two transitions [TeX:] $$\left(0,0) \stackrel{r_{-}o n}{\longrightarrow}(0,1)\right.\ and\ (1,1) \stackrel{r_{-} o f f}{\longrightarrow}(1,0))$$ removed from the transition set w, which is the effect of adding guards on events r_on and r_off.
4.3 LTS Model of strong_model
According to Rule 3 and strong_model, we continue to construct LTS models of as and rs in strong synchronization patterns, named LTS As and LTS Rs:
[TeX:] $$L T S\ A s=<\{0,1\},\ \left\{a_{-} o n, a_{-} o f f, r_{-} o n, r_{-} o f f\right\},\left\{\left(0 \stackrel{a_{-}o n}{\longrightarrow} 1\right)\right. ,\left(1 \stackrel{a_{-} \circ f f}{\longrightarrow} 0\right),\left(0 \stackrel{r_{0} f f}{\longrightarrow} 0\right),\left(1 \stackrel{r_{0} n}{\longrightarrow} 1\right) \}, 0>$$
[TeX:] $$L T S\ R_{S}=<\{0,1\},\left\{a_{-} O n, a_{-} O f f, r_{-} O n, r_{-} O f f\right\},\left\{\left(0 \stackrel{r_{-}o n}{\longrightarrow} 1\right),\left(1 \stackrel{r_{-} o f f}{\longrightarrow} 0\right)\right.,\left(0 \stackrel{a_{-} o n}{\longrightarrow} 0\right),\left(1 \stackrel{a_{-} o f f}{\longrightarrow} 1\right) \}, 0> $$
The LTS model of strong _model is equal to the parallel composition of LTS As and LTS Rs,namely LTS S:
[TeX:] $$L T S\ S=L T S\left(A_{S} \| R_{S}\right) =<Q_{S}, \Sigma_{S}, \Delta_{S}, q_{S}>,$$,where:
[TeX:] $$Q s=\{(0,0),(0,1),(1,1),(1,0)\}$$
[TeX:] $$\Sigma_{S}=\left\{a_{-} o n, a_{-} o f f, r_{-} o n, r_{-} o f f\}\right.$$
[TeX:] $$\Delta_{S}=\left\{(0,0) \stackrel{a_{-} o n}{\longrightarrow}(1,0)\right.,(1,0) \stackrel{r_{-} o n}{\longrightarrow}(1,1)(1,1) \stackrel{a_{-} o f f}{\longrightarrow}(0,1),(0,1) \stackrel{r_{-} o f f}{\longrightarrow}(0,0) \}$$
[TeX:] $$q_{S}=(0,0)$$
The state transition diagram for the atomic LTS of as and rs as well as composed LTS S is shown in Fig. 8.
LTS model of strong_model and its atomic LTS.
4.4 LTS Model of strong_weak_model
Strong_weak_model seems to be the most complex, but in fact, we can easily get LTS models of each variable according to the Rules 1 to 3. First, according to Rulex 1 and 2, we establish the atomic LTS models of asw, rsw, bsw and ssw respectively. Then we add the synchronization control transitions on these atomic LTSs according to Rule 3 and strong_weak_model. The final atomic LTS models are:
[TeX:] $$L T S\ A s w=<\{0,1\},\left\{a_{-} o n, a_{-} o f f, r_{-} o n, r_{-} o f f, b_{-} o n\right\},\left\{\left(0 \stackrel{a_{-} \circ n}{\longrightarrow} 1\right),\left(1 \stackrel{a_{-}of f}{\longrightarrow} 0\right)\right.,\left(0 \stackrel{r_{-}o f f}{\longrightarrow} 0\right),\left(1 \stackrel{r_{-}o n}{\longrightarrow} 1\right),\left(1 \stackrel{b_{-}o n}{\longrightarrow} 1\right) \}, 0>$$
[TeX:] $$L T S\ R_{S W}=<\{0,1\},\left\{a_{-} o n, a_{-} o f f, r_{-} o n, r_{-} o f f, b_{-} o n\right\},\left\{\left(0 \stackrel{r_{-} \circ n}{\longrightarrow} 1\right),\left(1 \stackrel{r_{-} \circ f f}{\longrightarrow} 0\right)\right.,\left(0 \stackrel{a_{-} o n}{\longrightarrow} 0\right),\left(1 \stackrel{a_{-} o f f}{\longrightarrow} 1\right),\left(1 \stackrel{b_{-} o n}{\longrightarrow} 1\right) \}, 0>$$
[TeX:] $$L T S\ B_{S W}=<\{0,1\},\left\{b_{-} o n, b_{-} o f f, s_{-} o n, s_{-} o f f, a_{-} o f f\right\},\\ \left\{\left(0 \stackrel{b_{\longrightarrow} \circ n}{\longrightarrow} 1\right)\right.,\left(1 \stackrel{b_{-} o f f}{\longrightarrow} 0\right),\left(0 \stackrel{a_{-} \mathrm{off}}{\longrightarrow} 0\right),\left(0 \stackrel{s_{-o f f}}{\longrightarrow} 0\right),\left(1 \stackrel{s_{-}o n}{\longrightarrow} 1\right) \}, 0>$$
[TeX:] $$L T S\ S_{S W}=<\{0,1\},\left\{b_{-} o n, b_{-} o f f, s_{-} o n, s_{-} o f f, a_{-} o f f\right\},\\ \left\{\left(0 \stackrel{s_{-} o n}{\longrightarrow} 1\right),\left(1 \stackrel{s_{-} o f f}{\longrightarrow} 0\right)\right.,\left(0 \stackrel{b_{-} o n}{\longrightarrow} 0\right),\left(0 \stackrel{a_{-} o f f}{\longrightarrow} 0\right),\left(1 \stackrel{b_{-} o f f}{\longrightarrow} 1\right) \}, 0>$$
The LTS model of strong_weak_model is equal to the parallel composition of these four LTSs, namely LTS SW:
[TeX:] $$L T S\ S W=L T S\left(A_{s W}\left\|R_{S W}\right\| B_{S W} \| S_{S W}\right)=<Q_{S W}, \sum_{S W}, \Delta_{S W}, q_{S W}>$$,where:
[TeX:] $$Q_{s w}=\{(0,0,0,0),(0,1,0,0),(1,1,0,0),(1,0,0,0),(1,1,0,1),(1,1,1,1),(1,1,1,0) \}$$
[TeX:] $$\Sigma_{S W}=\left\{a_{-} o n, a_{-} o f f, r_{-} o n, r_{-} o f f, b_{-} o n, b_{-} o f f, s_{-} o n, s_{-} o f f\right\}$$
[TeX:] $$\Delta_{S W}=\left\{(0,0,0,0) \stackrel{a_{-}o n}{\longrightarrow}(1,0,0,0)\right.,(1,0,0,0) \stackrel{r_{-}o n}{\longrightarrow}(1,1,0,0),(1,1,0,0) \stackrel{a_{-}o f f}{\longrightarrow}(0,1,0,0),\stackrel{r_{-} o f f}{\longrightarrow}(0,0,0,0), \\ (1,1,0,0) \stackrel{b_{-} o n}{\longrightarrow}(1,1,1,0),(1,1,1,0) \stackrel{s_{-} o n}{\longrightarrow}(1,1,1,1),(1,1,1,1) \stackrel{b_{-} o f f}{\longrightarrow}(1,1,0,1),(1,1,0,1) \stackrel{s_{-}o f f}{\longrightarrow}(1,0,0,0) \} $$
[TeX:] $$q s W=(0,0,0,0)$$
The state transition diagram for the atomic LTS of asw, rsw, bsw, ssw as well as composed LTS SW is shown in Fig. 9.
LTS model of strong_weak_model and its atomic LTS.
4.5 LTS Model of strong_ strong_model
In Section 3.4, we already know that strong_strong_model is actually just adding some constraints on the basis of strong_weak_model (by adding a variable m to constrain the execution order of a_on, b_on and a_off). So we only need to add a new LTS M base on LTS SW to constrain it:
[TeX:] $$L T S\ A_{S S}=L T S\ A s w$$
[TeX:] $$L T S\ R_{S S}=L T S\ R_{S W}$$
[TeX:] $$L T S\ B_{S S}=L T S\ B_{S W}$$
[TeX:] $$L T S\ S_{S S}=L T S\ S_{S W}$$
[TeX:] $$L T S\ M=<\{0,1\},\left\{a_{-} o n, b_{-} o n, a_{-} o f f\}\right.,\left\{\left(0 \stackrel{a_{-} \circ n}{\longrightarrow} 1\right),\left(1 \stackrel{b_{-} \circ n}{\longrightarrow} 0\right)\right.,\left(0 \stackrel{a_{-}o f f}{\longrightarrow} 0\right) \}, 0>$$
The state transition diagram for LTS M is shown in Fig. 10.
The LTS model of strong_strong _model is equal to the parallel composition of LTS Ass, LTS Rss, LTS Bss, LTS Sss, and LTS M, namely LTS SS:
[TeX:] $$L T S\ S S=L T S\left(A_{s s}\left\|R_{s s}\right\| B_{s s}\left\|S_{s s}\right\| M\right)=<Q_{s s}, \Sigma_{s s}, \Delta_{s s}, q_{s s}>,$$where:
[TeX:] $$Q_{s s}=\{(0,0,0,0,0),(0,1,0,0,0),(1,1,0,0,0),(1,1,0,1,0),(1,1,1,1,0),(1,1,1,0,0),(1,1,0,0,1),(1,0,0,0,1) \}$$
[TeX:] $$\Sigma_{S S}=\left\{a_{-} o n, a_{-} o f f, r_{-} o n, r_{-} o f f, b_{-} o n, b_{-} o f f, s_{-} o n, s_{-} o f f\right\}$$
[TeX:] $$\Delta_{s s}=\left\{(0,0,0,0,0) \stackrel{a_{-}o n}{\longrightarrow}(1,0,0,0,1),(1,0,0,0,1)\right.,\stackrel{r_{-}0 n}{\longrightarrow}(1,1,0,0,1),(1,1,0,0,1) \stackrel{b_{-}o n}{\longrightarrow}(1,1,1,0,0), \\(1,1,1,0,0) \stackrel{s_ {-}o n}{\longrightarrow}(1,1,1,1,0),(1,1,1,1,0) \stackrel{b_{-}o f f}{\longrightarrow}(1,1,0,1,0),(1,1,0,1,0) \stackrel{s_{-} off}{\longrightarrow}(1,1,0,0,0), \\(1,1,0,0,0) \stackrel{a_{-} o f f}{\longrightarrow}(0,1,0,0,0),(0,1,0,0,0) \stackrel{r_{-} o f f}{\longrightarrow}(0,0,0,0,0) \}$$
[TeX:] $$q_{S S}=(0,0,0,0,0)$$
LTS model of strong_strong_model.