# State-Bust Feedback Control for Fault Recovery of Input/State Asynchronous Sequential Machines
## 4 Controller Synthesis
Denote further by \(x^{1},\ldots,x^{|t|}\in X\) the intermediate stable states \(\Sigma\) traverses when it undertakes the chain of stable transitions in response to \(t\), i.e., the following:  
\[s(x_{j},u_{1}\cdots u_{h}) =x^{h}\] \[s(x^{h-1},u_{h}) =x^{h},\ h=1,\ldots,|t|,\]  
where \(x^{0}=x_{j}\) and \(x^{|t|}=x_{i}\). Suppose that \(\Sigma\) is staying at a stable pair \((x_{i},a)\) when \(w\in W(x_{i})\) infiltrates into \(\Sigma\) such that \(s(x_{i},w)=x_{j}\). The input pair of \(G\) changes to \((\alpha(x_{i},w),a)\) at this time, where \(\alpha_{f}(x_{i},w)=x_{i}\) and \(\alpha_{l}(x_{i},w)=x_{j}\). Since \((x_{i},a,x_{j})\
otin s\), \(G\) generates \(m=i\) according to (3). Receiving \((x_{j},i)\) at the instant of the fault occurrence, \(C\) commences the correction procedure by generating \(u_{1}\) until \(\Sigma\) reaches \(s(x_{j},u_{1})=x^{1}\). Transient states underlying between \(x_{j}\) and \(x^{1}\) need not be considered since they are discarded by \(G\). Hence we set \(C\) as follows:  
\[C(x_{j},a,i):=u_{1}. \tag{7}\]  
As soon as the state feedback changes to \(x^{1}\), \(C\) provides \(u_{2}\), which takes \(\Sigma\) toward \(s(x_{j},u_{1}u_{2})=x^{2}\), and so on. The following assignment materializes these recursive operations of \(C\). \[C(x^{h-1},a,i):=u_{h},\ h=2,\ldots,|t|. \tag{8}\]  
Fault recovery is accomplished when \(\Sigma\) reaches \(x_{i}\) in response to \(u_{|t|}\). \(m\) is reset to \(0\) at this time. Since \(m=0\), \(C\) generates \(a\) again as the control input according to (6). By Definition 1, the control input sequences should be selected in such a way that \(C\) is implementable. We assert that if the reachability condition for a dynamic corrective controller is valid for every \(x_{i}\) with \(W(x_{i})\
eq\emptyset\), one can find a set of input sequences for which \(C\) is implementable. If Lemma 3 is valid for every \(x_{i}\) with \(W(x_{i})\
eq\emptyset\), a set of control input sequences exists such that \(C\) designed according to (6)-(8) is implementable. Proof. : If \(|W(x_{i})|=1\), the implementability of \(C\) with respect to \(x_{i}\) is ensured trivially since only one input string is used as the control input sequence for the transient fault. Else if \(|W(x_{i})|>1\), consider \(w,w^{\prime}\in W(x_{i})\) with \(s(x_{i},w):=x_{j}\
eq s(x_{i},w^{\prime}):=x_{k}\). By assumption, \(t:=u_{1}\cdots u_{|t|}\) and \(r:=u_{1}^{\prime}\cdots u_{|r|}^{\prime}\) exist such that \(s(x_{j},t)=s(x_{k},r)=x_{i}\). Let \(X_{j,i}\) and \(X_{k,j}\) be the set of intermediate stable states \(\Sigma\) traverses when \(\Sigma\) undertakes the chain of stable transitions from \(x_{j}\) to \(x_{i}\) and from \(x_{k}\) to \(x_{i}\), respectively. Then, we have the following:  
\[X_{j,i} =\{x_{j},s(x_{j},u_{1}),\ldots,s(x_{j},u_{1}\cdots u_{|t|-1})\}\] \[X_{k,j} =\{x_{k},s(x_{k},u_{1}^{\prime}),\ldots,s(x_{k},u_{1}^{\prime} \cdots u_{|r|-1}^{\prime})\}. \tag{9}\]  
If \(X_{j,i}\cap X_{k,i}=\emptyset\), the use of \(t\) and \(r\) satisfies the implementability of \(C\) since each feedback path contains no common state. Otherwise, \(\Sigma\) passes through a common state \(x_{l}\in X_{j,i}\cap X_{k,j}\) when it is driven by \(C\) along two state trajectories \(x_{j}\to x_{i}\) and \(x_{k}\to x_{i}\). Specifically, assume the following:  
\[s(x_{j},u_{1}\cdots u_{p})=s(x_{k},u_{1}^{\prime}\cdots u_{q}^{\prime})=x_{l}\]  
where \(0\leq p<|t|\) and \(0\leq q<|r|\) (\(s(x_{j},u_{0}):=x_{j}\) and \(s(x_{k},u_{0}^{\prime}):=x_{k}\)). If \(u_{p+1}=u_{q+1}^{\prime}\), the implementability of \(C\) is still valid with respect to \(x_{l}\) since \(C\) will generate the same output \(u_{p+1}\) (\(=u_{q+1}^{\prime}\)) in response to \(x_{l}\). Else if \(u_{p+1}\
eq u_{q+1}^{\prime}\), we adjust one of \(t\) and \(r\) as follows to satisfy the implementability. First, the suffix lengths \(|t|-p\) and \(|r|-q\) are compared. Suppose that \(|t|-p>|r|-q\).