# State-Bust Feedback Control for Fault Recovery of Input/State Asynchronous Sequential Machines
## 4 Controller Synthesis  
A necessary condition for taking \(\Sigma\) from a beginning state to a goal state via corrective control is that the goal state is stably reachable from the beginning state, namely, an input string exists with which \(\Sigma\) stably reaches the goal state [9]. Such input strings are utilized by the controller in building feedback paths. For static controllers, another significant condition must be satisfied with respect to the set of utilized input sequences. Slightly relaxing the notion presented in [12; 13], we define the _implementation_ of static corrective controllers. Definition 1: A static corrective controller is said to be _implementable_ with respect to a set of control input sequences \(S\subset A^{+}\) if by utilizing \(S\), the controller's output is uniquely determined by each input combination of the controller. Implementability is necessary for the integrity of the static controller since having no states, the static controller must always generate a unique output with respect to each input combination. The constraint on implementability makes it impossible to apply the previous static controller [12; 13] to fault recovery. To validate the latter assertion, assume that \(\Sigma\) undergoes an unauthorized transition from \(x\) to \(x^{\prime}\) by \(w\in W(x)\) (\(s(x,w)=x^{\prime}\)) during which both external and control inputs remain \(a\in A_{n}\). Assume further that \(x\) is stably reachable from \(x^{\prime}\), e.g., \(s(x^{\prime},bcd)=x\) for \(bcd\in A_{n}^{+}\). If we use the previous static controller  
\[C_{p}:X\times A_{n}\to A_{n} \tag{4}\]with no indicator signal as its argument, we must assign the output \(b\) to the input combination \((x^{\prime},a)\) to start the correction procedure, that is, \(C_{p}(x^{\prime},a)=b\). However, \((x^{\prime},a)\) may be a valid pair of \(\Sigma\), e.g., \(a\in T(x^{\prime})\). Then, in the normal behavior of \(\Sigma\), \(C_{p}\) must provide \(a\) as the control input without modification, i.e., one must design \(C_{p}\) such that \(C_{p}(x^{\prime},a)=a\) to maintain the nominal stable transition from \((x^{\prime},a)\). Since this conflicts with the foregoing assignment \(C_{p}(x^{\prime},a)=b\), the previous static corrective controller cannot be applied to the present problem. The use of \(G\) and the addition of the related argument \(m\) to \(C\) resolve the aforementioned predicament. \(m\) is retained as \(i\) throughout the recovery procedure for the unauthorized transition from \(x_{i}\). Further, \(G\) gives \(C\) only the next stable state, discarding the underlying transient states. Hence the proposed static controller achieving fault recovery against \(W(x_{i})\) can be designed if and only if \(x_{i}\) is stably reachable from every \(x_{j}\in\Gamma(x_{i})\), which equals the following condition for the existence of a corresponding dynamic controller. **Lemma 1** ([31]). : _Given \(\Sigma\) with \(W(x_{i})\
eq\emptyset\) for \(x_{i}\in X\), a dynamic corrective controller exists that achieves fault recovery against \(W(x_{i})\) if and only if the following holds:_  
\[\forall x_{j}\in\Gamma(x_{i}),\exists t_{j,i}\in A_{n}^{+}:\ s(x_{j},t_{j,i}) =x_{i}. \tag{5}\]  
Provided that the above condition is valid, we design the proposed static controller \(C:X\times A_{n}\times N_{0}\to A_{n}\). First, if \(m=0\), \(C\) just relays the external input to the control input channel, as no transient fault occurs. For this purpose, we set the following:  
\[C(x,v,0):=v,\ \forall(x,v)\in X\times A_{n}. \tag{6}\]  
To design the operation of fault recovery, take an arbitrary faulty state \(x_{j}\in\Gamma(x_{i})\) and denote a proper input string by \(t_{j,i}:=t=u_{1}\cdots u_{|t|}\) with \(s(x_{j},t)=x_{i}\).