This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

On Decidability of Existence of Nonblocking Supervisors Resilient to Smart Sensor Attacks

Rong Su [email protected] School of Electrical & Electronic Engineering, Nanyang Technological University, 50 Nanyang Avenue, Singapore 639798.
Abstract

Cybersecurity of discrete event systems (DES) has been gaining more and more attention recently, due to its high relevance to the so-called 4th industrial revolution that heavily relies on data communication among networked systems. One key challenge is how to ensure system resilience to sensor and/or actuator attacks, which may tamper data integrity and service availability. In this paper we focus on some key decidability issues related to smart sensor attacks. We first present a sufficient and necessary condition that ensures the existence of a smart sensor attack, which reveals a novel demand-supply relationship between an attacker and a controlled plant, represented as a set of risky pairs. Each risky pair consists of a damage string desired by the attacker and an observable sequence feasible in the supervisor such that the latter induces a sequence of control patterns, which allows the damage string to happen. It turns out that each risky pair can induce a smart weak sensor attack. Next, we show that, when the plant, supervisor and damage language are regular, it is possible to remove all such risky pairs from the plant behaviour, via a genuine encoding scheme, upon which we are able to establish our key result that the existence of a nonblocking supervisor resilient to smart sensor attacks is decidable. To the best of our knowledge, this is the first result of its kind in the DES literature on cyber attacks. The proposed decision process renders a specific synthesis procedure that guarantees to compute a resilient supervisor whenever it exists, which so far has not been achieved in the literature.

keywords:
discrete-event systems, smart sensor attacks, decidability of existence of resilient supervisory control
thanks: Corresponding author: Rong Su. Tel. +65 6790-6042. Fax: +65 6793-3318. The support from Singapore Ministry of Education Tier 1 Academic Research Grant 2018-T1-001-245 (RG 91/18) and from Singapore National Research Foundation Delta-NTU Corporate Lab Program (SMA-RP2) are gratefully acknowledged.

1 Introduction

Cyber-attack resilience refers to properties of service availability and data integrity. With the continuous advancement of information and communications technology (ICT), in particular, the recent 5G-based IoT technologies, we are enjoying unprecedented connectivity around the world. Nevertheless, the threat of cyber attacks that may potentially cause significant damage to human lives and properties has more frequently become the center of attention, and has been attracting lots of research from different communities. Basically, an attacker aims to inflict damage on a target system by disrupting its control loop. This could be achieved either by intercepting and changing the controller’s input signals (in terms of sensor attacks), or by intercepting and changing the controller’s output signals (in terms of actuator attacks), or by completely blocking the data transmission between the controller and the plant (in terms of denial-of-service attacks). An attack can be either brute-force, e.g., via hardware destruction or signal jamming, or covert (or stealthy), i.e., to inflict damage without being detected by relevant monitoring mechanisms.

A good survey of cyber attacks and cyber defence with a systems-and-control perspective can be found in [1]. Typically, linear systems are considered in existing works that rely on system identification and control techniques. Within the DES community, most works rely on the control system setup introduced in the Ramadge-Wonham supervisory control paradigm [23], where the plant generates observable outputs, received by the supervisor via an observation channel, and each control command specified as a set of allowed (or disallowed) events is generated by the supervisor and fed to the plant via a command channel. The plant nondeterministically picks one event from a received control command and executes it. The event execution process is assumed to be asynchronous, i.e., up to one event execution at each time instant, and instantaneous. Unlike attacks in time-driven systems described in [1], attacks under consideration in a DES aim to change the sequence of events in specific system runs.

There are two different streams of research on cyber attacks and resilient control. The first stream refers to a set of black-box methods that treat attacks as undesirable (either intentional or unintentional) uncontrollable and mostly unobservable disturbances to a given closed-loop system. Existing works include, e.g., a game theoretical approach [29], fault-tolerance based approaches such as [5] and [19] on sensor attacks, [2] on actuator attacks, and [3] [6] [4] on sensor+actuator attacks, and transducer-based modelling and synthesis approaches such as [7] [8]. In the black-box methods, system vulnerability is typically modelled by concepts similar to diagnosability described in, e.g., [34], and system resilience bears similarity to fault tolerant control described in, e.g., [28] [32], that concerns whether there is a supervisor that can perform satisfactorily under the worst case attack scenarios. The second stream refers to a set of white-box methods, aiming to develop a specific “smart” attack model that ensures certain intuitive properties such as covertness and guaranteed (strong or weak) damage infliction. Existing works include, e.g., [9] [10] [11] [13] [12] [12] [20] on smart sensor attacks, [14] [18] and [17] on smart actuator attacks, and [16] [21] and [15] on smart sensor+actuator attacks. With such smart attack models, existing research works address the impact of a specific attack on the closed-loop behaviour, the vulnerability of a system to such an attack, and finally the resilience of a supervisor to a concerned attack.

After examining those existing works on smart cyber attacks, it is clear that most works focus on how to derive a proper smart attack model. Various synthesis algorithms have been proposed under relevant assumptions. Nevertheless, the existence of a supervisor that is resilient to all possible smart cyber attacks is still open for research. In [35] [36] the authors present synthesis methods for resilient control against a specific sensor attack model described by a finite-state automaton in different scenarios. Thus, the synthesized supervisor is not designed to be resilient to all possible smart sensor attacks. In case of a worst-case sensor attack scenario, no smartness in terms of, e.g., covertness, is considered by the authors. There are a few heuristic synthesis approaches proposed in the literature, e.g., [10] proposes one algorithm against smart sensor attacks, [16] proposes one algorithm that generates a resilient supervisor whose state set is bounded by a known value, and [18] presents an algorithm to synthesize a supervisor, which is control equivalent to an original supervisor and resilient to smart actuator attacks. But none of those existing algorithms can guarantee to find one resilient supervisor, if it exists. That is, when those algorithms terminate and return an empty solution, it does not necessarily mean that there is no solution.

Before any attempt of overcoming a complexity challenge in order to derive a resilient solution, it is critical to answer a computability question first, that is, how to decide whether a solution exists. To address this important decidability issue, in this paper we focus only on sensor attacks, but hoping that our derived result may shed light on research of other types of attacks. We follow a sensor attack model proposed in [10], which associates each observed sequence from the plant GG with an altered observable sequence that becomes the input of a given supervisor. After slightly improving the concept of attackability originally introduced in [10] and the corresponding definition of smart sensor attacks, our first contribution is to identify conditions that ensure the existence of a smart sensor attack. It turns out that the existence of a smart weak sensor attack, which is not necessarily regular (i.e., representable by a finite-state automaton), is solely determined by the existence of at least one risky pair that consists of a damage string desired by the attacker and an observable sequence feasible in the supervisor such that the latter induces a sequence of control patterns, which allows the concerned damage string to happen. Because any strong sensor attack is also a weak attack, the existence of such a risky pair becomes the sufficient and necessary condition for the existence of a smart sensor attack. In [9] and its journal version [10], by imposing language normality to the closed-loop behaviour, it is shown that the supremal smart sensor attack language can be synthesized, whenever it exists, upon which a specific smart sensor attack model can be derived. In [11] and its journal version [12], the language normality is dropped, and it is shown that a smart sensor attack model (not necessarily supremal) can be synthesized via a special insertion-deletion attack structure, whenever it exists. However, none of these works reveals the aforementioned demand-supply relationship reflected in risky pairs that capture the nature of sensor attacks. Due to this insightful concept of risky pairs, our second contribution is to show that the existence of a nonblocking controllable and observable supervisor that is resilient to all regular smart sensor attacks is decidable. To this end, we develop a genuine encoding mechanism that reveals all possible sequences of control patterns required by a regular sensor attack and all sequences of control patterns feasible in the plant, allowing us to remove the set of all risky pairs from the plant behaviour. After that, we introduce a language-based concept of nonblocking resilient supervisor candidate and its automaton-counterpart control feasible sub-automaton that does not contain any risky pair, upon which we are able to decide the existence of a resilient supervisor. As our third contribution, the proposed decision process renders a concrete synthesis procedure that guarantees to compute a nonblocking supervisor resilient to smart sensor attacks, whenever it exists.

The remainder of the paper is organized as follows. In Section 2 we present a motivation example. Then in Section 3 we review the basic concepts and operations of discrete event systems introduced in [26], followed by a specific smart sensor attack model, where the concept of attackability is introduced. Then we present a sufficient and necessary condition to ensure a smart sensor attack in Section 4, where the key concept of risky pairs is introduced. After that, we present a sufficient and necessary condition for the existence of a nonblocking supervisor that is resilient to smart sensor attacks in Section 5, and show that this sufficient and necessary condition is verifiable in Section 6, which finally establishes the decidability result for the existence of a resilient supervisor. Conclusions are drawn in Section 7. Long proofs for Theorems 1-4 are shown in the Appendix.

2 A motivation example - attack of navigator

Image that Bob would like to ride his autonomous car from his home to his office. There is a GPS navigator installed inside his car. The navigator first generates a shortest path based on traffic conditions, then guides the vehicle to make required turns at planned junctions. However, Bob’s friend Peter plans to play a prank on Bob by tricking the navigator to lead Bob’s car to another location via GPS spoofing, shown in Figure 1.

Refer to caption
Figure 1: Example 0: An example of attack of navigator

Peter has the city road map and also knows Bob’s home address and office address. In addition, he has a navigator of the same model as the one installed in Bob’s car. Thus, by running his own navigator over the same origin-destination pair, Peter will know Bob’s route plan. Figure 2 depicts the system setup,

Refer to caption
Figure 2: Example 0: Road network setup

where Bob’s home is at “start 0” node, his office is at “Destination 8” node, and the prank location is at “Trap 9” node. Each symbol “lijl_{ij}” denotes the length of the road segment between node ii and node jj. In addition, the position of each node in the map is publicly known. By simply running the navigator of the same model, Peter knows that Bob’s car will choose the shortest path “0123480\rightarrow 1\rightarrow 2\rightarrow 3\rightarrow 4\rightarrow 8”, which leads to the following navigation commands: (1) right turn (at node 2), followed by (2) left turn (at node 3), followed by (3) left turn (at node 4). To trick the navigator to issue the same sequence of commands but at incorrect junctions, say, right turn at node 1, followed by left turn at node 5, and followed by left turn at node 6, Peter only needs to buy a GPS spoofing device available in the market that can send fake GPS position signals to Bob’s navigator. Peter can easily determine the spoofed GPS position signal as follows. Assume that p0p_{0} denotes the position of “start 0” node, and p(t)2p(t)\in\mathbb{R}^{2} and pa(t)2p^{a}(t)\in\mathbb{R}^{2} denote the actual and spoofed GPS positions in a 2D map. The travel distance made by Bob’s car between time t0t_{0} and time tt (tt0t\geq t_{0}) can be calculated by a simple line integral shown below:

t0tp(τ)p(τ)𝑑p(τ),\int_{t_{0}}^{t}\frac{p(\tau)}{||p(\tau)||}\cdot dp(\tau),

where p(t)p(t) is the parametric function of the path from node “start 0” to node 1, p(t0)=p0p(t_{0})=p_{0}, p(t)||p(t)|| denotes the magnitude of p(t)p(t) and ‘\cdot’ is the dot product of vectors. For each p(t)p(t), Peter uniquely determines the value of pa(t)p^{a}(t), which is the parametric function of the path from node “start 0” to node 2 with pa(t0)=p0p^{a}(t_{0})=p_{0}, such that

t0tpa(τ)pa(τ)𝑑pa(τ)t0tp(τ)p(τ)𝑑p(τ)=l01+l12l01,\frac{\int_{t_{0}}^{t}\frac{p^{a}(\tau)}{||p^{a}(\tau)||}\cdot dp^{a}(\tau)}{\int_{t_{0}}^{t}\frac{p(\tau)}{||p(\tau)||}\cdot dp(\tau)}=\frac{l_{01}+l_{12}}{l_{01}},

which ensures that, when the navigator receives the spoofed signal, indicating that node 2 is reached, the actual node reached is node 1. With a similar GPS position spoofing scheme, Peter can misguide Bob’s car to reach node 9, instead of node 8, without being detected. Such GPS spoofing is one specific example of a smart sensor attack, whose formal definition will be given in the next section. Intuitively, it contains the following basic characteristics: by knowing sufficient information in advance, an attacker can trick a victim to issue the correct order of commands but at incorrect states (or locations), which leads to an unwanted consequence.

If Bob somehow knows that Peter will use GPS spoofing to play a trick on his car, he can simply choose the path “01780\rightarrow 1\rightarrow 7\rightarrow 8”. In this case, even Peter knows this new path, he cannot spoof the GPS signals to trick Bob’s car to node 9 without being detected, as the new path generates a new sequence of navigation commands: (1) left turn (at node 1), then (2) right turn (at node 7), which, no matter how Peter changes GPS position signals, cannot bring Bob to node 9. Such a path plan is a specific example of a resilient supervisor against smart sensor attacks, whose definition will be given later in this paper. Intuitively, a resilient supervisor will ensure that, for any sensor attack, either it can be detected before inflicting damage, or it will not lead to any damage.

One big question is, for an arbitrary network, see, e.g., a road map of a small region in Singapore shown in Figure 3,

Refer to caption
Figure 3: Example 0: A more realistic road network

how to decide whether a resilient path plan (or navigation supervisor) exists. In this paper, we will investigate this decidability problem against smart sensor attacks. The computational efficiency, i.e., the complexity issue, however, will not be addressed here.

3 A smart sensor attack model

In this section we first recall basic concepts used in the Ramadge-Wonham supervisory control paradigm [23]. Then we recall a smart sensor attack model introduced in [10]. Most notations in this paper follow [26].

3.1 Preliminaries on supervisory control

Given a finite alphabet Σ\Sigma, let Σ\Sigma^{*} be the free monoid over Σ\Sigma with the empty string ϵ\epsilon being the unit element and the string concatenation being the monoid binary operation. We use Σ+\Sigma^{+} to denote non-empty strings in Σ\Sigma^{*}, i.e., Σ+=Σ{ϵ}\Sigma^{+}=\Sigma^{*}-\{\epsilon\}. Given two strings s,tΣs,t\in\Sigma^{*}, we say ss is a prefix substring of tt, written as sts\leq t, if there exists uΣu\in\Sigma^{*} such that su=tsu=t, where susu denotes the concatenation of ss and uu. For any string sΣs^{\prime}\in\Sigma^{*} with sss^{\prime}\leq s, we use s/ss/s^{\prime} to denote the post substring uΣu\in\Sigma^{*} such that s=sus=s^{\prime}u. We use |s||s| to denote the length of ss, and by convention, |ϵ|=0|\epsilon|=0. Any subset LΣL\subseteq\Sigma^{*} is called a language. The prefix closure of LL is defined as L¯={sΣ|(tL)st}Σ\overline{L}=\{s\in\Sigma^{*}|(\exists t\in L)\,s\leq t\}\subseteq\Sigma^{*}. For each string sL¯s\in\overline{L}, let EnL¯(s):={σΣ|sσL¯}En_{\overline{L}}(s):=\{\sigma\in\Sigma|s\sigma\in\overline{L}\} be the set of events that can extend ss in L¯\overline{L}. Given two languages L,LΣL,L^{\prime}\subseteq\Sigma^{*}, let LL:={ssΣ|sLsL}LL^{\prime}:=\{ss^{\prime}\in\Sigma^{*}|s\in L\,\wedge\,s^{\prime}\in L^{\prime}\} denote the concatenation of two sets. Let ΣΣ\Sigma^{\prime}\subseteq\Sigma. A mapping P:ΣΣP:\Sigma^{*}\rightarrow\Sigma^{\prime*} is called the natural projection with respect to (Σ,Σ)(\Sigma,\Sigma^{\prime}), if

  1. 1.

    P(ϵ)=ϵP(\epsilon)=\epsilon,

  2. 2.

    (σΣ)P(σ):={σ if σΣ,ϵ otherwise,(\forall\sigma\in\Sigma)\,P(\sigma):=\left\{\begin{array}[]{ll}\sigma&\textrm{ if $\sigma\in\Sigma^{\prime}$,}\\ \epsilon&\textrm{ otherwise,}\end{array}\right.

  3. 3.

    (sσΣ)P(sσ)=P(s)P(σ)(\forall s\sigma\in\Sigma^{*})\,P(s\sigma)=P(s)P(\sigma).

Given a language LΣL\subseteq\Sigma^{*}, P(L):={P(s)Σ|sL}P(L):=\{P(s)\in\Sigma^{\prime*}|s\in L\}. The inverse image mapping of PP is

P1:2Σ2Σ:LP1(L):={sΣ|P(s)L}.P^{-1}:2^{\Sigma^{\prime*}}\rightarrow 2^{\Sigma^{*}}:L\mapsto P^{-1}(L):=\{s\in\Sigma^{*}|P(s)\in L\}.

A given target plant is modelled as a deterministic finite-state automaton, G=(X,Σ,ξ,x0,Xm)G=(X,\Sigma,\xi,x_{0},X_{m}), where XX stands for the state set, Σ\Sigma for the alphabet, ξ:X×ΣX\xi:X\times\Sigma\rightarrow X for the (partial) transition function, x0x_{0} for the initial state and XmXX_{m}\subseteq X for the marker state set. We follow the notation in [26], and use ξ(x,σ)!\xi(x,\sigma)! to denote that the transition ξ(x,σ)\xi(x,\sigma) is defined. For each state xXx\in X, let EnG(x):={σΣ|ξ(x,σ)!}En_{G}(x):=\{\sigma\in\Sigma|\xi(x,\sigma)!\} be the set of events enabled at xx in GG. The domain of ξ\xi can be extended to X×ΣX\times\Sigma^{*}, where ξ(x,ϵ)=x\xi(x,\epsilon)=x for all xXx\in X, and ξ(x,sσ):=ξ(ξ(x,s),σ)\xi(x,s\sigma):=\xi(\xi(x,s),\sigma). The closed behaviour of GG is defined as L(G):={sΣ|ξ(x0,s)!}L(G):=\{s\in\Sigma^{*}|\xi(x_{0},s)!\}, and the marked behaviour of GG is Lm(G):={sL(G)|ξ(x0,s)Xm}L_{m}(G):=\{s\in L(G)|\xi(x_{0},s)\in X_{m}\}. GG is nonblocking if Lm(G)¯=L(G)\overline{L_{m}(G)}=L(G). We will use \mathbb{N} to denote natural numbers, |X||X| (or |G||G|) for the size of the state set XX, and |Σ||\Sigma| for the size of Σ\Sigma. Given two finite-state automata Gi=(Xi,Σ,ξi,xi,0,Xi,m)G_{i}=(X_{i},\Sigma,\xi_{i},x_{i,0},X_{i,m}) (i=1,2i=1,2), the meet of G1G_{1} and G2G_{2}, denoted as G1G2G_{1}\wedge G_{2}, is a (reachable) finite-state automaton whose alphabet is Σ\Sigma such that L(G1G2)=L(G1)L(G2)L(G_{1}\wedge G_{2})=L(G_{1})\cap L(G_{2}) and Lm(G1G2)=Lm(G1)Lm(G2)L_{m}(G_{1}\wedge G_{2})=L_{m}(G_{1})\cap L_{m}(G_{2}). A sub-automaton of GG is an automaton Gsub=(X,Σ,ξsub,x0,Xm)G_{sub}=(X,\Sigma,\xi_{sub},x_{0},X_{m}) such that

(x,xX)(σΣ)ξsub(x,σ)=xξ(x,σ)=x,(\forall x,x^{\prime}\in X)(\forall\sigma\in\Sigma)\,\xi_{sub}(x,\sigma)=x^{\prime}\Rightarrow\xi(x,\sigma)=x^{\prime},

that is, each transition of GsubG_{sub} must be a transition in GG, but the opposite may not be true. When the transition map is ξ:X×Σ2X\xi:X\times\Sigma\rightarrow 2^{X}, where 2X2^{X} denotes the power set of XX, we call GG a nondeterministic finite-state automaton. If for each xXx\in X, there exists sΣs\in\Sigma^{*} such that ξ(x,s)Xm\xi(x,s)\cap X_{m}\neq\varnothing, then GG is co-reachable. For the remainder of this paper, unless explicitly mentioned, all automata are assumed to be deterministic.

We now recall the concept of supervisors. Let Σ=Σc˙Σuc=Σo˙Σuo\Sigma=\Sigma_{c}\dot{\cup}\Sigma_{uc}=\Sigma_{o}\dot{\cup}\Sigma_{uo}, where Σc\Sigma_{c} (Σo\Sigma_{o}) and Σuc\Sigma_{uc} (Σuo\Sigma_{uo}) are disjoint, denoting respectively the sets of controllable (observable) and uncontrollable (unobservable) events. For notational simplicity, let Σoϵ:=Σo{ϵ}\Sigma_{o}^{\epsilon}:=\Sigma_{o}\cup\{\epsilon\}. Let Γ={γΣ|Σucγ}\Gamma=\{\gamma\subseteq\Sigma|\Sigma_{uc}\subseteq\gamma\}, where each γΓ\gamma\in\Gamma is one control pattern (or control command). A supervisory control map of GG under partial observation Po:ΣΣoP_{o}:\Sigma^{*}\rightarrow\Sigma_{o}^{*} is defined as V:Po(L(G))ΓV:P_{o}(L(G))\rightarrow\Gamma. Clearly,

(sL(G))(σΣuc)sσL(G)σV(Po(s)),(\forall s\in L(G))(\forall\sigma\in\Sigma_{uc})\,s\sigma\in L(G)\Rightarrow\sigma\in V(P_{o}(s)),

namely the supervisory control map VV never tries to disable an uncontrollable transition. In addition,

(s,sL(G))Po(s)=Po(s)V(Po(s))=V(Po(s)),(\forall s,s^{\prime}\in L(G))\,P_{o}(s)=P_{o}(s^{\prime})\Rightarrow V(P_{o}(s))=V(P_{o}(s^{\prime})),

namely any two strings in L(G)L(G) that are observably identical, their induced control patterns are equal.

Let V/GV/G denote the closed-loop system of GG under the supervision of VV, i.e.,

  • ϵL(V/G)\epsilon\in L(V/G),

  • For all sL(V/G)s\in L(V/G) and σΣ\sigma\in\Sigma

    sσL(V/G)sσL(G)σV(Po(s)),s\sigma\in L(V/G)\iff s\sigma\in L(G)\wedge\sigma\in V(P_{o}(s)),
  • Lm(V/G):=Lm(G)L(V/G)L_{m}(V/G):=L_{m}(G)\cap L(V/G).

The control map VV is finitely representable if VV can be described by a finite-state automaton, say S=(Z,Σ,δ,zo,Zm=Z)S=(Z,\Sigma,\delta,z_{o},Z_{m}=Z), such that

  • L(SG)=L(V/G)L(S\wedge G)=L(V/G) and Lm(SG)=Lm(V/G)L_{m}(S\wedge G)=L_{m}(V/G),

  • (sL(S))EnS(s):={σΣ|sσL(S)}=V(s)(\forall s\in L(S))\,En_{S}(s):=\{\sigma\in\Sigma|s\sigma\in L(S)\}=V(s),

  • (s,sL(S))Po(s)=Po(s)δ(z0,s)=δ(z0,s)(\forall s,s^{\prime}\in L(S))\,P_{o}(s)=P_{o}(s^{\prime})\Rightarrow{\color[rgb]{0,0,0}\delta(z_{0},s)=\delta(z_{0},s^{\prime})}.

The last condition indicates that V(s)=EnS(s)=EnS(s)=V(s)V(s)=En_{S}(s)=En_{S}(s^{\prime})=V(s^{\prime}) if Po(s)=Po(s)P_{o}(s)=P_{o}(s^{\prime}). Such a supervisor SS can be computed by existing synthesis tools such as TCT [30] or SuSyNA [31]. It has been shown that, as long as a closed-loop language KLm(G)K\subseteq L_{m}(G) is controllable [23], observable [22] and Lm(G)L_{m}(G)-closed, i.e., K=K¯Lm(G)K=\overline{K}\cap L_{m}(G), there always exists a finitely-representable supervisory control map VV such that Lm(V/G)=KL_{m}(V/G)=K and L(V/G)=K¯L(V/G)=\overline{K}. From now on we make the following assumption.

Assumption 1.

VV is nonblocking, i.e., L(V/G)=Lm(V/G)¯L(V/G)=\overline{L_{m}(V/G)}, and finitely representable by SS. \Box

We will use VV or SS interchangeably, depending on the context. They will be called a (nonblocking) supervisor.

3.2 A smart sensor attack model

We assume that an attacker can observe each observable event generated by the plant GG, and replace the observable event with a sequence of observable events from Σo\Sigma_{o}^{*}, including the empty string ϵ\epsilon, in order to “fool” the given supervisor VV, known to the attacker. Considering that in practice any event occurrence takes a non-negligible amount of time, it is impossible for an attacker to insert an arbitrarily long observable sequence to replace a received observable event. Thus, we assume that there exists a known number nn\in\mathbb{N} such that the length of any “reasonable” observable sequence that the attacker can insert is no more than nn. Let Δn{sΣo||s|n}\Delta_{n}{\color[rgb]{0,0,0}\subseteq}\{s\in\Sigma_{o}^{*}||s|\leq n\} be the set of all nn-bounded observable sequences possibly inserted by an attacker. A sensor attack is a total map A:Po(L(G))ΔnA:P_{o}(L(G))\rightarrow\Delta_{n}^{*}, where

  • A(ϵ)=ϵA(\epsilon)=\epsilon,

  • (σΣ0)A(σ)Δn(\forall\sigma\in\Sigma_{0})\,A(\sigma)\in\Delta_{n},

  • (sPo(L(G)))(σΣo)A(sσ)=A(s)A(σ){\color[rgb]{0,0,0}(\forall s\in P_{o}(L(G)))(\forall\sigma\in\Sigma_{o})\,A(s\sigma)=A(s)A(\sigma)}.

The first condition states that, before any observation is obtained, the attack cannot generate any non-empty output, because, otherwise, such a fake observation sequence may reveal the existence of an attack, if the plant has not started yet, whose starting time is unknown to the attacker. The second and third conditions state that each received observation σΣo\sigma\in\Sigma_{o} will trigger a fake string in Δn\Delta_{n}. This model captures moves of insertion, deletion and replacement introduced in, e.g., [11] [6] [12].

An attack model AA is regular if there exists a finite-state transducer 𝒜=(Y,Σoϵ×Δn,η,I,O,y0,Ym)\mathcal{A}=(Y,\Sigma_{o}^{\epsilon}\times\Delta_{n},\eta,I,O,y_{0},Y_{m}), where Ym=YY_{m}=Y, η:Y×Σoϵ×ΔnY\eta:Y\times\Sigma_{o}^{\epsilon}\times\Delta_{n}\rightarrow Y is the (partial) transition mapping such that if η(y,σ,u)!\eta(y,\sigma,u)! and σ=ϵ\sigma=\epsilon then u=ϵu=\epsilon, i.e., if there is no observation input, then there should be no observation output. The functions I:(Σoϵ×Δn)ΣoI:(\Sigma_{o}^{\epsilon}\times\Delta_{n})^{*}\rightarrow\Sigma_{o}^{*} and O:(Σoϵ×Δn)ΔnO:(\Sigma_{o}^{\epsilon}\times\Delta_{n})^{*}\rightarrow\Delta_{n}^{*} are the input and output mappings, respectively, such that for each μ=(a1,b1)(a2,b2)(al,bl)(Σoϵ×Δn)\mu=(a_{1},b_{1})(a_{2},b_{2})\cdots(a_{l},b_{l})\in(\Sigma_{o}^{\epsilon}\times\Delta_{n})^{*}, I(μ)=a1a2alI(\mu)=a_{1}a_{2}\cdots a_{l} and O(μ)=b1b2blO(\mu)=b_{1}b_{2}\cdots b_{l}. We require that, for each μL(𝒜)\mu\in L(\mathcal{A}), we have A(I(μ))=O(μ)A(I(\mu))=O(\mu) and I(L(𝒜))=Po(L(G))I(L(\mathcal{A}))=P_{o}(L(G)). Since AA is a function, we know that for all μ,μL(𝒜)\mu,\mu^{\prime}\in L(\mathcal{A}), if I(μ)=I(μ)I(\mu)=I(\mu^{\prime}), then O(μ)=A(I(μ))=A(I(μ))=O(μ)O(\mu)=A(I(\mu))=A(I(\mu^{\prime}))=O(\mu^{\prime}), that is, the same input should result in the same output. Notice that, in [9] [10], an attack model is directly introduced as a finite-state transducer, which may not necessarily be representable by an attack map AA, because a finite-transducer model allows nondeterminism, i.e., for the same observation input, an attacker may choose different attack moves, as long as they are allowed by the transducer model. In this sense, the attack model concerned in this paper is a special case of the one introduced in [9] [10], and bears more resemblance to the model introduced in [12], as both treat an attack as a function. But since there exists a nondeterministic attack model if and only if there exists a deterministic one, the decidability results derived in this paper shall be applicable to nondeterministic attack models introduced in [9] [10]. To see this fact, it is clear that each deterministic model is a nondeterministic model. Thus, we only need to show that from each nondeterministic model we can derive at least one deterministic model. We will use a simple example to illustrate the construction procedure. Assume that the nondeterministic attack model adopted from [10] is shown in Figure 4, which is a transducer. We first start from damage states (i.e., marker states), and perform co-reachability search to find all states in the nondeterministic model that satisfy the following two conditions: (1) each state is reachable from the initial state, (2) at each state, each observable event is associated with only one transition (denoting an attack move). After that, we perform reachability search upon those states derived from the first step and add new necessary states in so that the following condition holds: at each state, each observable event is associated with only one transition (denoting an attack move) if and only if it is associated with at least one transition in the original nondeterministic model. This construction will result in a deterministic smart sensor attack model, shown in Figure 4.

Refer to caption
Figure 4: Transforming a nondeterministic attack to a deterministic attack

In this example, we can see that there can be several deterministic attack models derivable from the nondeterministic model.

Assumption 2.

Only regular attacks are considered.

The combination of the attack AA and the supervisor VV forms a new supervisor VA:Po(L(G))ΓV\circ A:P_{o}(L(G))\rightarrow\Gamma, where

(sPo(L(G)))VA(s):=V(A(s)).(\forall s\in P_{o}(L(G)))\,V\circ A(s):=V(A(s)).

We call VAV\circ A an attacked supervisor under AA. This definition consumes the standard style of one command per each received (fake) observation used in, e.g., [6] [35], as a special case, when nn is set to 1. The closed and marked behaviours, L(VA/G)L(V\circ A/G) and Lm(VA/G)L_{m}(V\circ A/G), of the closed-loop system VA/GV\circ A/G are defined accordingly. We call L(VA/G)L(V\circ A/G) the attacked language of V/GV/G under AA. The closed-loop system is depicted in Figure 5.

Refer to caption
Figure 5: The block diagram of a plant under attack
Definition 1.

Given a plant GG and a supervisor VV realized by SS, let LdamL(G)L(V/G)L_{dam}\subseteq L(G)-L(V/G) be a damage language. The closed-loop system V/GV/G is attackable with respect to LdamL_{dam}, if there exists an attack AA, called a smart sensor attack of V/GV/G, such that the following hold:

  1. 1.

    Covertness: Event changes made by AA are covert to the supervisor VV, i.e.,

    A(Po(L(VA/G)))L(S).A(P_{o}(L(V\circ A/G)))\subseteq L(S). (1)
  2. 2.

    Damage infliction: AA causes “damage” to GG, i.e.,

    • strong attack: Any string may lead to damage:

      L(VA/G)=L(VA/G)Ldam¯;L(V\circ A/G)=\overline{L(V\circ A/G)\cap L_{dam}}; (2)
    • weak attack: Some string may lead to damage:

      L(VA/G)Ldam.L(V\circ A/G)\cap L_{dam}\neq\varnothing. (3)

If V/GV/G is not attackable with respect to LdamL_{dam}, then VV is resilient to smart attacks with respect to LdamL_{dam}. \Box

The concept of attackability introduced in Def. 1 simplifies the concept of attackability introduced in [10] by, firstly, dropping the requirement of control existence, as VAV\circ A automatically allows all uncontrollable transitions, thus, ensuring controllability, and secondly, dropping the normality requirement, as we directly model an attack as a function over the plant’s observable behaviours, instead of a language used in [10] (which is equivalent to a nondeterministic attack), making the closed-loop language L(VA/G)L(V\circ A/G) observable automatically.

Remark: In [10], a special subset of observable events called protected events is introduced, which is denoted by Σo,pΣo\Sigma_{o,p}\subseteq\Sigma_{o}, representing observable events in the plant that cannot be changed by any sensor attack. This feature makes the modeling framework more general. However, it diminishes the chance of having a smart sensor attack, due to the challenge of ensuring the covertness property, when the system trajectory sL(VA/G)s\in L(V\circ A/G) is outside the legal language L(V/G)L(V/G) and there are a few protected system output events that will inevitably reveal the attack. Due to this complication, we lack a simple sufficient and necessary condition to characterize the existence of a smart sensor attack, making the subsequent study of the existence of a supervisor resilient to such smart sensor attacks infeasible. To overcome this challenge, we could restrict the damage language LdamL_{dam} to be L(G)L(V/G)L(G)-L(V/G), i.e., any string outside L(V/G)L(V/G) is a damage string. This will allow us to relax the covertness property to be

A(Po(L(VA/G)L(V/G)))L(S),A(P_{o}(L(V\circ A/G)\cap L(V/G)))\subseteq L(S),

that is, an attacker does not need to make any event change, after the system trajectory is outside L(V/G)L(V/G), as damage has been inflicted. Then all results presented in this paper will still be valid. So a user of this theory has two options for the system setup, that is, either Σo,p=\Sigma_{o,p}=\varnothing and LdamL(G)L(V/G)L_{dam}\subseteq L(G)-L(V/G), as adopted in Def. 1 of this paper, or Σo,p\Sigma_{o,p}\neq\varnothing and Ldam=L(G)L(V/G)L_{dam}=L(G)-L(V/G).

Let (G,V,Ldam)\mathcal{F}(G,V,L_{dam}) be the collection of all attacked languages caused by smart sensor attacks. Clearly, ((G,V,Ldam),)(\mathcal{F}(G,V,L_{dam}),\subseteq) is a partially ordered set. When L(VA/G)L(V\circ A/G) is required to be normal [22], i.e., only observable events may be disabled, and the attack model AA is nondeterministic, i.e., for the same observable input, AA may have more than one output choice, it has been shown in [10] that ((G,V,Ldam),)(\mathcal{F}(G,V,L_{dam}),\subseteq) over all smart strong attacks becomes an upper semilattice, and the supremal strong attacked language L(VA/G)L(V\circ A_{*}/G) exists such that for any smart strong sensor attack AA, we have L(VA/G)L(VA/G)L(V\circ A/G)\subseteq L(V\circ A_{*}/G). In this case, the supremal strong attacked language is computable, as shown in [10]. With a similar spirit, the supremal weak attacked language exists and is also computable, as briefly mentioned in the conclusion of [10]. When only deterministic attack models are adopted, it turns out that the supremal deterministic attack model may not always exist. However, by computing the supremal nondeterministic smart weak attacked language first, which induces a finite-state transducer, as shown in [10], we can show that a deterministic attack model derivable from the finite-state transducer by applying the transformation procedure shown in Figure 4 results in a maximal attacked language in (G,V,Ldam)\mathcal{F}(G,V,L_{dam}). Detailed arguments are omitted here, due to limited space and the focus of this paper that is not about supremality or maximality of attacked languages. In the example depicted in Figure 4, the illustrated deterministic smart attack model results in a maximal attacked language. However, there is no supremal attacked language induced by a deterministic smart weak attack.

4 A sufficient and necessary condition for the existence of a smart sensor attack

Let us start with a small example, which is depicted in Figure 6.

Refer to caption
Figure 6: Example 1: A smart sensor attack

Assume that the attacker AA wants to achieve a string abcLdamabc\in L_{dam}, which leads to a damage state. Assume that event aa is contained in control pattern γ1\gamma_{1}, event bb is in control pattern γ2\gamma_{2}, and event cc in control pattern γ3\gamma_{3}. After event aa fires, the attacker wants the control pattern γ2\gamma_{2} to be issued. Since event aa does not lead to control pattern γ2\gamma_{2}, but event dd does, the attacker AA will replace event aa with dd to trick the supervisor SS to generate γ2\gamma_{2}. Assume that bb is fired afterwards. The attacker wants γ3\gamma_{3} to be issued. Since event bb does not lead to γ3\gamma_{3}, instead, event ee does, the attacker AA replaces event bb with event ee to trick the supervisor SS to issue γ3\gamma_{3}, if event cc happens afterwards, the attacker achieves his/her goal without being detected by the supervisor. The attacker could continue this trick as long as it is possible. So essentially, by faking some observable string, the attacker hopes to trick the supervisor to issue a sequence of control patterns, which contain some damaging strings, without being detected by the supervisor. We now generalize this idea. For notational simplicity, given a string t=ν1νnΣt=\nu_{1}\cdots\nu_{n}\in\Sigma^{*} with nn\in\mathbb{N}, for each i{1,,n}i\in\{1,\cdots,n\}, we use tit^{i} to denote the prefix substring ν1νi\nu_{1}\cdots\nu_{i}. By convention, t0:=ϵt^{0}:=\epsilon.

Theorem 1.

Given a plant GG, a supervisor VV and a damage language LdamL(G)L(V/G)L_{dam}\subseteq L(G)-L(V/G), there is a smart weak sensor attack AA, if and only if the following condition holds: there exists s=u1σ1urσrur+1Ldam{\color[rgb]{0,0,0}s}=u_{1}\sigma_{1}\cdots u_{r}\sigma_{r}u_{r+1}\in L_{dam}, with rr\in\mathbb{N}, u1,,ur+1Σuou_{1},\cdots,u_{r+1}\in\Sigma_{uo}^{*} and σ1,,σrΣo\sigma_{1},\cdots,\sigma_{r}\in\Sigma_{o}, and t=ν1νrPo(L(V/G))t=\nu_{1}\cdots\nu_{r}\in P_{o}(L(V/G)) with ν1,,νrΔn\nu_{1},\cdots,\nu_{r}\in\Delta_{n} such that (1) u1,σ1V(t0)u_{1},\sigma_{1}\in V(t^{0})^{*}; (2) for each i{2,,r}i\in\{2,\cdots,r\}, ui,σiV(ti1)u_{i},\sigma_{i}\in V(t^{i-1})^{*}; (3) ur+1V(t)u_{r+1}\in V(t)^{*}. \Box

As an illustration, in Example 1 depicted in Figure 6, we can see that r=3r=3, σ1=a\sigma_{1}=a, σ2=b\sigma_{2}=b, σ3=c\sigma_{3}=c, ν1=d\nu_{1}=d, ν2=e\nu_{2}=e, u1=u2=u3=u4=ϵu_{1}=u_{2}=u_{3}=u_{4}=\epsilon.

The strings ss and tt in Theorem 1 form a risky pair (s,t)Ldam×Δn(s,t)\in L_{dam}\times\Delta_{n}^{*} such that, by mapping Po(s)P_{o}(s) to tt, the attacker can rely on the existing supervisor VV to inflict a weak attack on the plant GG, without being detected by the supervisor. Since the existence of a risky pair is sufficient and necessary for the existence of a smart weak sensor attack, we will use this fact to determine the existence of a resilient supervisor. But before that, we would like to state the following result about the decidability of the existence of a regular smart weak sensor attack.

Theorem 2.

Given a plant GG, a regular supervisor VV, and a regular damage language LdamL(G)L(V/G)L_{dam}\subseteq L(G)-L(V/G), the existence of a regular smart weak sensor attack is decidable. \Box

By the proof of Theorem 2 shown in the Appendix, the computational complexity of deciding the existence of a regular smart weak sensor attack is O(|Σ|2|Δn|2|G||S||D|)O(|\Sigma|^{2}|\Delta_{n}|2^{|G||S||D|}), where SS is an automaton realization of VV and DD is an automaton recognizing LdamL_{dam}.

In [12] the authors have shown that a deterministic attack function that ensures the covertness and weak damage infliction can always be synthesized, when it exists. But since the attack model adopted in this paper is different from the one used in [12], e.g., the latter does not requires A(ϵ)=ϵA(\epsilon)=\epsilon (thus, non-existence of an attack model in our definition does not necessarily means the non-existence of an attack model in [12]), and encodes attack moves differently, Theorem 2 has its own value by providing another way of synthesizing a regular deterministic smart weak sensor attack, whenever it exists.

5 Supervisor resilient to smart sensor attacks

In this section we explore whether there exists a sufficient and necessary condition to ensure the existence of a supervisor that is resilient to all regular smart sensor attacks, i.e., the closed-loop system is not attackable by any regular smart sensor attack. In Section 3 we have shown that there is a sufficient and necessary condition for the existence of a smart weak sensor attack shown in Theorem 1. Since each strong attack is also a weak attack, if we can effectively eliminate those risky pairs described in Theorem 1, we shall be able to prevent the existence of any smart sensor attack. Since, given a plant GG and a requirement SpecSpec, we can always synthesize a controllable and observable sublanguage of Lm(G)Lm(Spec)L_{m}(G)\cap L_{m}(Spec), without loss of generality, we assume that the plant GG satisfies all given requirements. Thus, we will only focus on the following problem.

Problem 1.

Given a plant GG and a damage language LdamL(G)L_{dam}\subseteq L(G), synthesize a supervisor VV such that V/GV/G is not attackable by any regular smart sensor attack with respect to LdamL_{dam}. \Box

To solve this problem, we first intend to find a proper way of encoding all risky pairs. Given a string sΣs\in\Sigma^{*}, we use ss^{\uparrow} to denote the last event of ss. If s=ϵs=\epsilon, by convention, s:=ϵs^{\uparrow}:=\epsilon. In addition, we use sos_{o} to denote the longest prefix substring of ss, whose last event is observable, i.e., so{s}¯(ΣuoΣo)Po1(Po({s}))s_{o}\in\overline{\{s\}}\cap(\Sigma_{uo}^{*}\Sigma_{o})^{*}\cap P_{o}^{-1}(P_{o}(\{s\})). Thus, if sΣuos\in\Sigma_{uo}^{*}, then we can derive that so=ϵs_{o}=\epsilon.

Let ι:Σ2(Σ×Γ)\iota:\Sigma^{*}\rightarrow 2^{(\Sigma\times\Gamma)^{*}} be a partial mapping, where

  • ι(ϵ):={ϵ}\iota(\epsilon):={\color[rgb]{0,0,0}\{\epsilon\}};

  • (sΣ)(σΣ)ι(sσ):=ι(s){(σ,γ)|σγ}(\forall s\in\Sigma^{*})(\forall\sigma\in\Sigma)\,\iota(s\sigma):=\iota(s)\{(\sigma,\gamma)|\sigma\in\gamma\}.

In Example 1, we have (a,γ1)(b,γ2)(c,γ3)ι(abc)(a,\gamma_{1})(b,\gamma_{2})(c,\gamma_{3})\in\iota(abc). What the map ι\iota does is to map each string sΣs\in\Sigma^{*} to a set of sequences of control patterns such that each derived control pattern sequence, say γ1γrΓ\gamma_{1}\cdots\gamma_{r}\in\Gamma^{*}, contains the string ss in the sense that sγ1γrΣs\in\gamma_{1}\cdots\gamma_{r}\subseteq\Sigma^{*}. By applying the map ι\iota to the damage language LdamL_{dam}, the result ι(Ldam):=sLdamι(s)\iota(L_{dam}):=\cup_{s\in L_{dam}}\iota(s) presents all possible sequences of control patterns, each of which contains at least one string in LdamL_{dam} - in other words, each string in ι(Ldam)\iota(L_{dam}) may potentially result in damage.

To further illustrate how this function works, we introduce another simple example depicted in Figure 7,

Refer to caption
Figure 7: Example 2: A small plant GG

where Σ={a,b,c,d,v}\Sigma=\{a,b,c,d,v\}, Σc={a,b,d}\Sigma_{c}=\{a,b,d\} and Σo={a,b,c,d}\Sigma_{o}=\{a,b,c,d\}. To simplify our illustration, in this example we assume that Δn=Σoϵ\Delta_{n}=\Sigma_{o}^{\epsilon}, i.e., n=1n=1. The damage language Ldam={ad}L_{dam}=\{ad\}, which is shown by a dashed line leading to state 3. Figure 8 depicts the outcome of ι(Ldam)\iota({\color[rgb]{0,0,0}L_{dam}}).

Refer to caption
Figure 8: Example 2: The model of ι(Ldam)\iota({\color[rgb]{0,0,0}L_{dam}})

A smart sensor attack replaces each intercepted observable event σΣo\sigma\in\Sigma_{o} with a string in Δn\Delta_{n}, unless σ\sigma is silent, i.e., σ=ϵ\sigma=\epsilon. To capture the impact of such changes on the control pattern sequences, we introduce a mapping ψ:(Σ×Γ)2((ΣΔn)×Γ)\psi:(\Sigma\times\Gamma)^{*}\rightarrow 2^{((\Sigma\cup\Delta_{n})\times\Gamma)^{*}}, where

  • ψ(ϵ):={ϵ}\psi(\epsilon):={\color[rgb]{0,0,0}\{\epsilon\}};

  • For each μ(Σ×Γ)\mu\in(\Sigma\times\Gamma)^{*} and (σ,γ)Σ×Γ(\sigma,\gamma)\in\Sigma\times\Gamma, we have

    ψ(μ(σ,γ)):={ψ(μ){(σ,γ)}if σΣuo,ψ(μ)(Δn×{γ})otherwise.\psi(\mu(\sigma,\gamma)):=\left\{\begin{array}[]{ll}\psi(\mu)\{(\sigma,\gamma)\}&\textrm{if $\sigma\in\Sigma_{uo}$,}\\ \psi(\mu)(\Delta_{n}\times\{\gamma\})&\textrm{otherwise.}\end{array}\right.

We extend the domain of ψ\psi to languages in the usual way, i.e., for all L(Σ×Γ)L\subseteq(\Sigma\times\Gamma)^{*}, ψ(L):=sLψ(s)\psi(L):=\cup_{s\in L}\psi(s).

To explicitly describe how a smart attack may utilize possible sequences of control patterns, we introduce one more mapping

ν:((ΣΔn)×Γ)2(Σoϵ×Γ),\nu:((\Sigma\cup\Delta_{n})\times\Gamma)^{*}\rightarrow 2^{(\Sigma_{o}^{\epsilon}\times\Gamma)^{*}},

where

  • ν(ϵ):={ϵ}\nu(\epsilon):={\color[rgb]{0,0,0}\{\epsilon\}};

  • For all (σ,γ)(Σ{ϵ})×Γ(\sigma,\gamma)\in(\Sigma\cup\{\epsilon\})\times\Gamma,

    ν(σ,γ)={(σ,γ)if σΣoσγ;(ϵ,γ)if σΣuoσγ;otherwise.\nu(\sigma,\gamma)=\left\{\begin{array}[]{ll}(\sigma,\gamma)&\textrm{if $\sigma\in\Sigma_{o}\wedge\sigma\in\gamma$;}\\ (\epsilon,\gamma)&\textrm{if $\sigma\in\Sigma_{uo}\wedge\sigma\in\gamma$;}\\ \varnothing&\textrm{otherwise.}\end{array}\right.
  • For all s=σ1σrΔns=\sigma_{1}\cdots\sigma_{r}\in\Delta_{n}, |Po(s)|=r2{\color[rgb]{0,0,0}|P_{o}(s)|}=r\geq 2, and γΓ\gamma\in\Gamma,

    ν(s,γ):={(σ1,γ1)(σr,γ)|σrγ\nu(s,\gamma):=\{(\sigma_{1},\gamma_{1})\cdots(\sigma_{r},\gamma)|\sigma_{r}\in\gamma\wedge

    (i{1,,r1})σiγr1Γ}.(\forall i\in\{1,\cdots,r-1\})\sigma_{i}\in\gamma_{r-1}\in\Gamma\}.

  • (μ(s,γ)((ΣΔn)×Γ)+)ν(μ(s,γ))=ν(μ)ν(s,γ)(\forall\mu(s,\gamma)\in((\Sigma\cup\Delta_{n})\times\Gamma)^{+})\,\nu(\mu(s,\gamma))=\nu(\mu)\nu(s,\gamma).

As an illustration, we apply the map ψ\psi to the damage language ι(Ldam)\iota(L_{dam}) in Figure 8, where n=1n=1. To simplify illustration, we assume that an attacker can, but prefers not to, change events cc and dd. The outcome is depicted in Figure 9. Notice that when event aa is intercepted by the attacker, it can be replaced by any other strings in Δn\Delta_{n}. Because n=1n=1, we have Δ1=Σo{ϵ}={a,b,c,d,ϵ}\Delta_{1}=\Sigma_{o}\cup\{\epsilon\}=\{a,b,c,d,\epsilon\} - in this case, the outcome of ν(ψ(ι(L(G))))\nu(\psi(\iota(L(G)))) equals ψ(ι(L(G)))\psi(\iota(L(G))).

Refer to caption
Figure 9: Example 2: The model of ψ(ι(L(G)))\psi(\iota(L(G)))

Next, we determine all control pattern sequences in the plant GG that may be used by a smart attack. Let ΥG:L(G)×Σ×Γ{0,1}\Upsilon_{G}:L(G)\times\Sigma^{*}\times\Gamma\rightarrow\{0,1\} be a Boolean map, where for each (s,t,γ)L(G)×Σ×Γ(s,t,\gamma)\in L(G)\times\Sigma^{*}\times\Gamma,

ΥG(s,t,γ)=1stL(G)tγ.\Upsilon_{G}(s,t,\gamma)=1\iff st\in L(G)\wedge t\in\gamma^{*}.

For each γΓ\gamma\in\Gamma, let

B(γ):={{(ϵ,γ)}if γΣuo,{ϵ}otherwise.B(\gamma):=\left\{\begin{array}[]{ll}\{(\epsilon,\gamma)\}^{*}&\textrm{if $\gamma\cap\Sigma_{uo}\neq\varnothing$,}\\ \{\epsilon\}&\textrm{otherwise.}\end{array}\right.

Let p:(Σoϵ×Γ)Γp:(\Sigma_{o}^{\epsilon}\times\Gamma)^{*}\rightarrow\Gamma^{*} be a projection map, where

  • p(ϵ):=ϵp(\epsilon):=\epsilon;

  • (s(σ,γ)(Σoϵ×Γ)+)p(s(σ,γ)):=p(s)γ(\forall s(\sigma,\gamma)\in(\Sigma_{o}^{\epsilon}\times\Gamma)^{+})\,p(s(\sigma,\gamma)):=p(s)\gamma.

And let g:(Σoϵ×Γ)Σog:(\Sigma_{o}^{\epsilon}\times\Gamma)^{*}\rightarrow\Sigma_{o}^{*} be a projection map, where

  • g(ϵ):=ϵg(\epsilon):=\epsilon;

  • (μ(σ,γ)(Σoϵ×Γ)+)g(μ(σ,γ)):=g(μ)Po(σ)(\forall\mu(\sigma,\gamma)\in(\Sigma_{o}^{\epsilon}\times\Gamma)^{+})\,g(\mu(\sigma,\gamma)):=g(\mu)P_{o}(\sigma).

Let ζ:L(G)2(Σoϵ×Γ)\zeta:L(G)\rightarrow 2^{(\Sigma_{o}^{\epsilon}\times\Gamma)^{*}} be a total mapping, where

  • ζ(ϵ):=(γΓ:γΣuo{(ϵ,γ)}+)(γΓ:γΣo{(ϵ,γ)})\zeta(\epsilon):=(\cup_{\gamma\in\Gamma:\gamma\cap\Sigma_{uo}\neq\varnothing}\{(\epsilon,\gamma)\}^{+})\bigcup(\cup_{\gamma\in\Gamma:\gamma\subseteq\Sigma_{o}}\{(\epsilon,\gamma)\});

  • For all s(ΣuoΣo)s\in(\Sigma_{uo}^{*}\Sigma_{o})^{*} and tΣuoΣoϵt\in\Sigma_{uo}^{*}\Sigma_{o}^{\epsilon} with stL(G)st\in L(G),

    ζ(st):={ζ(s)if Po(t)=ϵ,Motherwise,\zeta(st):={\color[rgb]{0,0,0}\left\{\begin{array}[]{ll}\zeta(s)&\textrm{if $P_{o}(t)=\epsilon$,}\\ M&\textrm{otherwise,}\end{array}\right.}

    where

    M:=wζ(s):ΥG(s,t,p(w))=1γΓ{w(Po(t),γ)}B(γ).M:=\bigcup_{w\in\zeta(s):\Upsilon_{G}(s,t,p(w)^{\uparrow})=1}\bigcup_{\gamma^{\prime}\in\Gamma}\{w(P_{o}(t),\gamma^{\prime})\}B(\gamma^{\prime}).

We call ζ(L(G))\zeta(L(G)) the augmented closed behaviour of GG. The augmented marked behaviour of GG induced by ζ\zeta is defined as ζ(L(G))g1(Po(Lm(G)))\zeta(L(G))\cap g^{-1}(P_{o}(L_{m}(G))).

This definition of ζ\zeta indicates that, except for control patterns generated initially, i.e., when s=ϵs=\epsilon, each control pattern will be changed only after an observable event is received, i.e., when stΣΣoL(G)st\in\Sigma^{*}\Sigma_{o}\cap L(G). This matches the definition of a supervisor VV that changes its output only when a new observation is received. In addition, if a control pattern γ\gamma contains unobservable events, it will be contained in a self-loop of the augmented event (ϵ,γ)(\epsilon,\gamma), i.e., {(ϵ,γ)}\{(\epsilon,\gamma)\}^{*}, denoting that the control pattern γ\gamma may be used more than once by the plant, as long as no new observable event has been received. Again, this matches the Ramadge-Wonham supervisory control paradigm, where execution of any unobservable transition allowed by the current control pattern will not change the current control pattern - recall that in a finite-state automaton realization of VV, unobservable events are self-looped at relevant states.

As an illustration, we apply ζ\zeta to the plant model L(G)L(G) depicted in Figure 7. Part of the outcome is depicted in Figure 10.

Refer to caption
Figure 10: Example 2: The model of ζ(L(G))\zeta(L(G))

Because the total state set is X×Σoϵ×ΓX\times\Sigma_{o}^{\epsilon}\times\Gamma, which is too big to be shown entirely in the picture, we only include states that have at least one future extension, unless they are marker states (i.e., states (3,d,{v,c})(3,d,\{v,c\}), (5,c,{v,c})(5,c,\{v,c\}) and (7,d,{v,c})(7,d,\{v,c\})), except for one blocking state (2,b,{v,c})(2,b,\{v,c\}), which is left there for an illustration purpose that will be explained shortly. The marker states in Figure 10 denote the augmented marked behaviour of GG in Example 2.

Till now, we have provide sufficient means to describe all risky pairs, which are captured by ν(ψ(ι(Ldam)))\nu(\psi(\iota(L_{dam}))) at the attacker’s demand side, and ζ(L(G))\zeta(L(G)) at the plant’s supply side. To avoid such risky pairs, we only need to remove p1(p(ν(ψ(ι(Ldam))))(Σoϵ×Γ)p^{-1}(p(\nu(\psi(\iota(L_{dam}))))(\Sigma_{o}^{\epsilon}\times\Gamma)^{*} from ζ(L(G))\zeta(L(G)). The reason why we concatenate (Σoϵ×Γ)(\Sigma_{o}^{\epsilon}\times\Gamma)^{*} at the end of p1(p(ν(ψ(ι(Ldam))))p^{-1}(p(\nu(\psi(\iota(L_{dam})))) is to denote all possible augmented strings that may contain some strings in p1(p(ν(ψ(ι(Ldam))))p^{-1}(p(\nu(\psi(\iota(L_{dam})))) as prefix substrings. Thus, all safe supervisory control pattern sequences shall be contained in H^:=ζ(L(G))p1(p(ν(ψ(ι(Ldam))))(Σoϵ×Γ)\hat{H}:=\zeta(L(G))-p^{-1}(p(\nu(\psi(\iota(L_{dam}))))(\Sigma_{o}^{\epsilon}\times\Gamma)^{*} in order to prevent any sequence of control patterns from being used by an attacker.

Figure 11 depicts

Refer to caption
Figure 11: Example 2: The model of H^\hat{H}

the outcome of subtracting risky control pattern sequences p1(p(ν(ψ(ι(Ldam))))(Σoϵ×Γ)p^{-1}(p(\nu(\psi(\iota(L_{dam}))))(\Sigma_{o}^{\epsilon}\times\Gamma)^{*} from (part of) ζ(L(G))\zeta(L(G)) shown in Figure 10. It is clear that there cannot be any sequence of control patterns γ1γ2γl\gamma_{1}\gamma_{2}\cdots\gamma_{l} such that aγ1a\in\gamma_{1} and dγ2d\in\gamma_{2}.

To extract a proper supervisor from H^\hat{H}, we need a few more technical preparations. Let H:=H^¯(Σoϵ×Γ)H:=\overline{\hat{H}}\subseteq(\Sigma_{o}^{\epsilon}\times\Gamma)^{*} be the prefix closure of H^\hat{H}. All tuples (σ,γ)Σo×Γ(\sigma,\gamma)\in\Sigma_{o}\times\Gamma are considered to be controllable, except for tuples {ϵ}×Γ\{\epsilon\}\times\Gamma. We introduce the concept of conditional controllability inspired by the standard notion of controllability in [27].

Definition 2.

A sublanguage LHL\subseteq H is conditionally controllable with respect to ζ(L(G))\zeta(L(G)) and {ϵ}×Γ\{\epsilon\}\times\Gamma, if

(L¯{ϵ})({ϵ}×Γ)ζ(L(G))L¯.(\overline{L}-\{\epsilon\})(\{\epsilon\}\times\Gamma)\cap\zeta(L(G))\subseteq\overline{L}.\hskip 28.45274pt\Box

In other words, as long as (ϵ,γ)(\epsilon,\gamma) is not defined at the beginning, i.e., (ϵ,γ)ζ(L(G))(\epsilon,\gamma)\notin\zeta(L(G)), it should not be disabled, if it follows a non-empty string sL¯s\in\overline{L}. We can briefly explain the motivation as follows. If an event (ϵ,γ)(\epsilon,\gamma) does not appear at the beginning, by the definition of ζ(L(G))\zeta(L(G)) and subsequently that of HH, it must be incurred by another string s(σ,γ)s(\sigma,\gamma) such that γΣuo\gamma\cap\Sigma_{uo}\neq\varnothing – clearly, we can stop (σ,γ)(\sigma,\gamma), if σϵ\sigma\neq\epsilon, by not choosing γ\gamma; but after γ\gamma is chosen and some unobservable event allowed by γ\gamma occurs, the same control pattern γ\gamma will continuously remain active, i.e., (ϵ,γ)(\epsilon,\gamma) will still be allowed, until a new observation is generated, leading to a new control pattern. But the situation is different initially, as we can directly disable the control pattern γ\gamma, thus stop the event (ϵ,γ)(\epsilon,\gamma). It is clear that conditional controllability is also closed under set union.

Let 𝒞(ζ(L(G)),H)\mathcal{C}(\zeta(L(G)),H) be the set of all prefix-closed sublanguages of HH, which is conditionally controllable with respect to ζ(L(G))\zeta(L(G)) and {ϵ}×Γ\{\epsilon\}\times\Gamma. It is clear that the supremal conditionally controllable sublanguage in 𝒞(ζ(L(G)),H)\mathcal{C}(\zeta(L(G)),H) under the partial order of set inclusion exists. We denote this unique sublanguage as 𝒮:=sup𝒞(ζ(L(G)),H)\mathcal{S}_{*}:=\textrm{sup}\mathcal{C}(\zeta(L(G)),H). Notice that 𝒮\mathcal{S}_{*} contains no sequence of control patterns that may be used by a smart attack to inflict damage. Later, we will show that 𝒮\mathcal{S}_{*} contains all feasible supervisors that are resilient to smart sensor attacks, as long as such a supervisor exists. We now introduce techniques to extract a feasible resilient supervisor out of 𝒮\mathcal{S}_{*}, if it exists. To this end, we introduce a few more concepts.

Let f:𝒮2Xf:\mathcal{S}_{*}\rightarrow 2^{X} be a mapping, where

  • For all (ϵ,γ)𝒮(\epsilon,\gamma)\in\mathcal{S}_{*},

    f(ϵ,γ):={xX|(tγΣuoΣo¯)ξ(x0,t)=x};f(\epsilon,\gamma):=\{x\in X|(\exists t\in\gamma^{*}\cap\overline{\Sigma_{uo}^{*}\Sigma_{o}})\xi(x_{0},t)=x\};
  • For all s𝒮s\in\mathcal{S}_{*} and (σ,γ)Σoϵ×Γ(\sigma,\gamma)\in\Sigma_{o}^{\epsilon}\times\Gamma with s(σ,γ)𝒮s(\sigma,\gamma)\in\mathcal{S}_{*}, if σ=ϵ\sigma=\epsilon, then f(s(σ,γ)):=f(s)f(s(\sigma,\gamma)):=f(s); otherwise,

    f(s(σ,γ)):=f(s(\sigma,\gamma)):=

    {xX|(tγΣuoΣo¯)(xf(s))ξ(x,σt)=x}.\{x\in X|(\exists t\in\gamma^{*}\cap\overline{\Sigma_{uo}^{*}\Sigma_{o}})(\exists x^{\prime}\in f(s))\xi(x^{\prime},\sigma t)=x\}.

The map ff essentially associates each string s𝒮s\in\mathcal{S}_{*} with the corresponding state estimate of GG. Let h:𝒮2Xh:\mathcal{S}_{*}\rightarrow 2^{X} be the marking coreachability map associated with the plant GG, where for each s=(ϵ,γ0)(σ1,γ1)(σn,γn)𝒮s=(\epsilon,\gamma_{0})(\sigma_{1},\gamma_{1})\cdots(\sigma_{n},\gamma_{n})\in\mathcal{S}_{*} with nn\in\mathbb{N},

  • f(s)Xm=h(s)=f(s)\cap X_{m}=\varnothing\Rightarrow h(s)=\varnothing;

  • If f(s)Xmf(s)\cap X_{m}\neq\varnothing, then let ϱ:2X×Γ2X\varrho:2^{X}\times\Gamma\rightarrow 2^{X}, where for all U2XU\in 2^{X} and γΓ\gamma\in\Gamma,

    ϱ(U,γ):=\varrho(U,\gamma):=

    {xX|(tγΣuoΣo¯)(xU)ξ(x,t)=x},\{x\in X|(\exists t\in\gamma^{*}\cap\overline{\Sigma_{uo}^{*}\Sigma_{o}})(\exists x^{\prime}\in U)\xi(x,t)=x^{\prime}\},

    and h(s):=i=0nUih(s):=\cup_{i=0}^{n}U_{i}, where

    • Un:=ϱ(f(s)Xm,γn)U_{n}:=\varrho(f(s)\cap X_{m},\gamma_{n});

    • (i{0,,n1})Ui:=ϱ(Ui+1,γi)(\forall i\in\{0,\cdots,n-1\})\,U_{i}:=\varrho(U_{i+1},\gamma_{i}).

Definition 3.

A resilient supervisor candidate 𝒮\mathcal{L}\subseteq\mathcal{S}_{*} is nonblocking with respect to GG, if for all ss\in\mathcal{L},

f(s)t:sth(t).f(s)\subseteq\bigcup_{t\in\mathcal{L}:s\leq t}h(t).

\Box

Definition 4.

A sublanguage 𝒞(ζ(L(G)),H)\mathcal{L}\in\mathcal{C}(\zeta(L(G)),H) is a nonblocking resilient supervisor candidate if for all ss\in\mathcal{L},

  1. 1.

    (tg1(g(s)))p(t)=p(s)(\forall t\in g^{-1}(g(s))\cap\mathcal{L})p(t)^{\uparrow}=p(s)^{\uparrow};

  2. 2.

    g(En(s))=Po(p(s))g(Enζ(L(G))(s))g(En_{\mathcal{L}}(s))=P_{o}(p(s^{\uparrow}))\cap g(En_{\zeta(L(G))}(s));

  3. 3.

    \mathcal{L} is nonblocking with respect to GG. \Box

Notice that tg1(g(s))t\in g^{-1}(g(s))\cap\mathcal{L} means that g(s)=g(t)g(s)=g(t), and p(t)=p(s)p(t)^{\uparrow}=p(s)^{\uparrow} means that the incurred control patterns by g(t)g(t) and g(s)g(s) are the same. Thus, the first condition in Def. 4 essentially states that, all observably identical strings must lead to the same control pattern – consequently, any silent transition ϵ\epsilon cannot generate any new control pattern other than the current one. The second condition states that an “observable” event σΣoϵ\sigma\in\Sigma_{o}^{\epsilon} is allowed by \mathcal{L}, i.e., σg(En(s))\sigma\in g(En_{\mathcal{L}}(s)), if and only if it is allowed by the control pattern incurred by ss, i.e., σPo(p(s))\sigma\in P_{o}(p(s^{\uparrow})), and also allowed by L(G)L(G), i.e., σg(Enζ(L(G))(s)))\sigma\in g(En_{\zeta(L(G))}(s))). The last condition refers to nonblockingness of \mathcal{L}.

As an illustration, we calculate sup𝒞(ζ(L(G)),H)\textrm{sup}\mathcal{C}(\zeta(L(G)),H) and remove all states that violate either one of the conditions of Def. 4. Figure 12 depicts

Refer to caption
Figure 12: Example 2: The set of all nonblocking resilient supervisor candidates of 𝒮\mathcal{S}_{*}

the outcome. We can see that the state (2,b,{v,c})(2,b,\{v,c\}) in Figure 11 needs to be removed because it is blocking, violating the third condition in Def. 4. In addition, states (0,ϵ,{a,b,v,c})(0,\epsilon,\{a,b,v,c\}) and (0,ϵ,{a,b,d,v,c})(0,\epsilon,\{a,b,d,v,c\}) and (0,ϵ,{a,d,v,c})(0,\epsilon,\{a,d,v,c\}) in Figure 11 also need to be removed because they clearly violate the second condition of Def. 4, as the event bb is defined in control patterns {a,b,v,c}\{a,b,v,c\} and {a,b,d,v,c}\{a,b,d,v,c\} of states (0,ϵ,{a,b,v,c})(0,\epsilon,\{a,b,v,c\}) and (0,ϵ,{a,b,d,v,c})(0,\epsilon,\{a,b,d,v,c\}), respectively, but no outgoing transitions containing bb are allowed at these two states in HH, even though these transitions are allowed in ζ(L(G))\zeta(L(G)), and event dd is defined in the control pattern {a,d,v,c}\{a,d,v,c\} of state (0,ϵ,{a,d,v,c})(0,\epsilon,\{a,d,v,c\}), but no outgoing transition containing dd is allowed in HH, even though such a transition is allowed in ζ(L(G))\zeta(L(G)).

We now state the following theorem, which is the first step towards solving the decidability problem of the existence of a supervisor resilient to smart sensor attacks.

Theorem 3.

Given a plant GG and a damage language LdamL(G)L_{dam}\subseteq L(G), let 𝒮\mathcal{S}_{*} be defined above. Then there exists a supervisor V:Po(L(G))ΓV:P_{o}(L(G))\rightarrow\Gamma such that V/GV/G is not attackable w.r.t. LdamL_{dam}, iff there exists a nonblocking resilient supervisor candidate 𝒮\mathcal{L}\subseteq\mathcal{S}_{*}. \Box

As an illustration, we can check that any marked sequence in Figure 12 is a nonblocking resilient supervisor candidate. For example, take a look at the sublanguage :={(ϵ,{a,v,c})}+{(a,{v,c})}{(ϵ,{v,c})}\mathcal{L}:=\{(\epsilon,\{a,v,c\})\}^{+}\{(a,\{v,c\})\}\{(\epsilon,\{v,c\})\}^{*} {(c,{v,c})}{(ϵ,{v,c})}\{(c,\{v,c\})\}\{(\epsilon,\{v,c\})\}^{*}. We can check that \mathcal{L} is conditional controllable with respect to ζ(L(G))\zeta(L(G)) and {ϵ}×Γ\{\epsilon\}\times\Gamma. Thus, 𝒞(ζ(L(G)),H)\mathcal{L}\in\mathcal{C}(\zeta(L(G)),H). In addition, \mathcal{L} is nonblocking and satisfies conditions in Def. 4. Thus, \mathcal{L} is a nonblocking resilient supervisor candidate of 𝒮\mathcal{S}_{*}. By Theorem 3, we know that there must exist a resilient supervisor VV that does not allow any smart sensor attack. Based on the construction shown in the proof of Theorem 3, the corresponding supervisor is V(ϵ):={a,v,c}V(\epsilon):=\{a,v,c\}, V(a):={v,c}V(a):=\{v,c\} and V(ac):={v,c}V(ac):=\{v,c\}. For any other observable string sPo(L(G))s\in P_{o}(L(G)), we simply set V(s):=ΣucV(s):=\Sigma_{uc}.

Theorem 3 indicates that, to decide whether there exists a nonblocking supervisor that disallows smart sensor attacks, we only need to decide whether there exists a nonblocking resilient supervisor candidate 𝒮\mathcal{L}\subseteq\mathcal{S}_{*}. Next, we shall discuss how to determine the existence of such a language \mathcal{L}.

6 Decidability of the existence of a supervisor resilient to smart sensor attacks

In the previous section we present a sufficient and necessary condition for the existence of a resilient supervisor. However, the computability issue is not addressed. In this section, we discuss how to compute all those sets and languages introduced in the previous section, and eventually show how to decide the existence of a resilient supervisor, i.e., to decide when that sufficient and necessary condition mentioned in Theorem 3 holds for a given plant GG and a regular damage language LdamL_{dam}.

We first discuss how to compute ι(Ldam)\iota(L_{dam}). As shown in Section 4, let D=(W,Σ,κ,w0,Wm)D=(W,\Sigma,\kappa,w_{0},W_{m}) recognize LdamL_{dam}, i.e., Lm(D)=LdamL_{m}(D)=L_{dam}. We construct another finite-state automaton Dι:=(W,Σ×Γ,κι,w0,Wm)D_{\iota}:=(W,\Sigma\times\Gamma,\kappa_{\iota},w_{0},W_{m}), where κι:W×Σ×ΓW\kappa_{\iota}:W\times\Sigma\times\Gamma\rightarrow W is the (partial) transition map such that for each (w,σ,γ)W×Σ×Γ(w,\sigma,\gamma)\in W\times\Sigma\times\Gamma and wWw^{\prime}\in W,

κι(w,σ,γ)=wσγκ(w,σ)=w.\kappa_{\iota}(w,\sigma,\gamma)=w^{\prime}\iff\sigma\in\gamma\wedge\kappa(w,\sigma)=w^{\prime}.
Proposition 1.

ι(Ldam)=Lm(Dι)\iota(L_{dam})=L_{m}(D_{\iota}). \Box

Proof: It is clear from the construction of DιD_{\iota}. \blacksquare

Next, we describe how to calculate ψ(ι(Ldam))\psi(\iota(L_{dam})). Let Dψ=(W,(ΣΔn)×Γ,κψ,w0,Wm)D_{\psi}=(W,(\Sigma\cup\Delta_{n})\times\Gamma,\kappa_{\psi},w_{0},W_{m}), where κψ:W×(ΣΔn)×ΓW\kappa_{\psi}:W\times(\Sigma\cup\Delta_{n})\times\Gamma\rightarrow W is the (partial) transition map such that for each (w,u,γ)W×(ΣΔn)×Γ(w,u,\gamma)\in W\times(\Sigma\cup\Delta_{n})\times\Gamma and wWw^{\prime}\in W, we have κψ(w,u,γ)=w\kappa_{\psi}(w,u,\gamma)=w^{\prime} if one of the following holds:

  • uΣuoκι(w,u,γ)=wu\in\Sigma_{uo}\,\wedge\,\kappa_{\iota}(w,u,\gamma)=w^{\prime};

  • uΔn(σΣo)κι(w,σ,γ)=wu\in\Delta_{n}\,\wedge\,(\exists\sigma\in\Sigma_{o})\,\kappa_{\iota}(w,\sigma,\gamma)=w^{\prime}.

Proposition 2.

ψ(ι(Ldam))=Lm(Dψ)\psi(\iota(L_{dam}))=L_{m}(D_{\psi}). \Box

Proof: By the construction of DψD_{\psi} and the definition of ψ\psi, the proposition follows. \blacksquare,

Next, we describe how to calculate ν(ψ(ι(L(G))))\nu(\psi(\iota(L(G)))) by modifying DψD_{\psi}. For each transition κψ(w,u,γ)=w\kappa_{\psi}(w,u,\gamma)=w^{\prime}, if uΔnu\in\Delta_{n} and |u|2|u|\geq 2, we make the following changes to DψD_{\psi}. Assume that u=σ1σru=\sigma_{1}\cdots\sigma_{r} with rr\in\mathbb{N} and σiΣo\sigma_{i}\in\Sigma_{o} (i{1,,r}i\in\{1,\cdots,r\}). We create r1r-1 new states w~1,,w~r1\tilde{w}_{1},\cdots,\tilde{w}_{r-1} such that for each sequence γ1γr1Γ\gamma_{1}\cdots\gamma_{r-1}\in\Gamma^{*} with σiγi\sigma_{i}\in\gamma_{i} (i=1,,ri=1,\cdots,r), we define κψ(w,σ1,γ1)=w~1\kappa_{\psi}(w,\sigma_{1},\gamma_{1})=\tilde{w}_{1}, κψ(w~i,σi+1,γi+1)=w~i+1\kappa_{\psi}(\tilde{w}_{i},\sigma_{i+1},\gamma_{i+1})=\tilde{w}_{i+1} (i=1,,r2i=1,\cdots,r-2) and κψ(w~r1,σr,γ)=w\kappa_{\psi}(\tilde{w}_{r-1},\sigma_{r},\gamma)=w^{\prime}. Add newly created states to the state set WW of DψD_{\psi} and new transitions to κψ\kappa_{\psi}. Continue this process until all transitions are processed. Let the final finite-state automaton be DνD_{\nu}.

Proposition 3.

ν(ψ(ι(Ldam)))=Lm(Dν)\nu(\psi(\iota(L_{dam})))=L_{m}(D_{\nu}). \Box

Proof: By the construction of DνD_{\nu} and the definition of ν\nu, the proposition follows. \blacksquare

Next, we will show how to compute ζ(L(G))\zeta(L(G)). We construct a nondeterministic finite-state automaton Gζ:=(X×Σoϵ×Γ,Σoϵ×Γ,ξζ,(x0,ϵ,Σ),Xm×Σoϵ)G_{\zeta}:=(X\times\Sigma_{o}^{\epsilon}\times\Gamma,\Sigma_{o}^{\epsilon}\times\Gamma,\xi_{\zeta},(x_{0},\epsilon,\Sigma),X_{m}\times\Sigma_{o}^{\epsilon}), where

ξζ:X×Σoϵ×Γ×Σoϵ×Γ2X×Σoϵ×Γ\xi_{\zeta}:X\times\Sigma_{o}^{\epsilon}\times\Gamma\times\Sigma_{o}^{\epsilon}\times\Gamma\rightarrow 2^{X\times\Sigma_{o}^{\epsilon}\times\Gamma}

is the nondeterministic transition map such that

  • For all γΓ\gamma\in\Gamma, ξζ(x0,ϵ,Σ,ϵ,γ):={(x0,ϵ,γ)}\xi_{\zeta}(x_{0},\epsilon,\Sigma,\epsilon,\gamma):=\{(x_{0},\epsilon,\gamma)\};

  • For all (x,σ,γ)X×Σoϵ×Γ{(x0,ϵ,Σ)}(x,\sigma,\gamma)\in X\times\Sigma_{o}^{\epsilon}\times\Gamma-\{(x_{0},\epsilon,\Sigma)\}, and (σ,γ)Σoϵ×Γ(\sigma^{\prime},\gamma^{\prime})\in\Sigma_{o}^{\epsilon}\times\Gamma, we have that

    • if σ=ϵ\sigma^{\prime}=\epsilon and γ=γ\gamma^{\prime}=\gamma and γΣuo\gamma\cap\Sigma_{uo}\neq\varnothing, then

      ξζ(x,σ,γ,ϵ,γ)={(x,σ,γ)};\xi_{\zeta}(x,\sigma,\gamma,\epsilon,\gamma)=\{(x,\sigma,\gamma)\};
    • if σΣo\sigma^{\prime}\in\Sigma_{o}, then

      ξζ(x,σ,γ,σ,γ):={(x,σ,γ)X×Σoϵ×Γ|\xi_{\zeta}(x,\sigma,\gamma,\sigma^{\prime},\gamma^{\prime}):=\{(x^{\prime},\sigma^{\prime},\gamma^{\prime})\in X\times\Sigma_{o}^{\epsilon}\times\Gamma|

      (uPo1(σ)γ(ΣuoΣo))ξ(x,u)=x}.(\exists u\in P_{o}^{-1}(\sigma^{\prime})\cap\gamma^{*}\cap(\Sigma_{uo}^{*}\Sigma_{o})^{*})\xi(x,u)=x^{\prime}\}.

To illustrate the construction procedure for GζG_{\zeta}, a small example is depicted in Figure 13,

Refer to caption
Figure 13: Example 3: A plant GG and the corresponding GζG_{\zeta}

where Σ={a,b,c,v}\Sigma=\{a,b,c,v\}, Σc={a}\Sigma_{c}=\{a\} and Σo={a,b,c}\Sigma_{o}=\{a,b,c\}. Thus, there are only two control patterns γ1={a,b,v,c}\gamma_{1}=\{a,b,v,c\} and γ2=Σuc={b,v,c}\gamma_{2}=\Sigma_{uc}=\{b,v,c\}. The outcome of GζG_{\zeta} is shown in Figure 13, where nondeterministic transitions occur at both (augmented) states (1,a,{b,v,c})(1,a,\{b,v,c\}) and (1,a,{a,b,v,c})(1,a,\{a,b,v,c\}).

Proposition 4.

ζ(L(G))=L(Gζ)\zeta(L(G))=L(G_{\zeta}). \Box

Proof: By the definition of ζ\zeta and the construction of GζG_{\zeta}, it is clear that ζ(L(G))L(Gζ)\zeta(L(G))\subseteq L(G_{\zeta}). So we only need to show that L(Gζ)ζ(L(G))L(G_{\zeta})\subseteq\zeta(L(G)). We use induction. At the initial state (x0,ϵ,Σ)(x_{0},\epsilon,\Sigma), for each γΓ\gamma\in\Gamma, if γΣuo\gamma\cap\Sigma_{uo}\neq\varnothing, we have κζ(x0,ϵ,Σ,ϵ,γ)={(x0,ϵ,γ)}\kappa_{\zeta}(x_{0},\epsilon,\Sigma,\epsilon,\gamma)=\{(x_{0},\epsilon,\gamma)\} and κζ(x0,ϵ,γ,ϵ,γ)={(x0,ϵ,γ)})\kappa_{\zeta}(x_{0},\epsilon,\gamma,\epsilon,\gamma)=\{(x_{0},\epsilon,\gamma)\}), namely {(ϵ,γ)}+L(Gζ)\{(\epsilon,\gamma)\}^{+}\subseteq L(G_{\zeta}). By the definition of ζ(L(G))\zeta(L(G)), we know that {(ϵ,γ)}+ζ(L(G))\{(\epsilon,\gamma)\}^{+}\subseteq\zeta(L(G)). If γΣuo=\gamma\cap\Sigma_{uo}=\varnothing, then we have κζ(x0,ϵ,Σ,ϵ,γ)={(x0,ϵ,γ)}\kappa_{\zeta}(x_{0},\epsilon,\Sigma,\epsilon,\gamma)=\{(x_{0},\epsilon,\gamma)\}, namely (ϵ,γ)L(Gζ)(\epsilon,\gamma)\in L(G_{\zeta}). By the definition of ζ(L(G))\zeta(L(G)), we know that (ϵ,γ)ζ(L(G))(\epsilon,\gamma)\in\zeta(L(G)). Thus, the base case holds. Assume that sζ(L(G))L(Gζ)s\in\zeta(L(G))\cap L(G_{\zeta}), and s(σ,γ)L(Gζ)s(\sigma,\gamma)\in L(G_{\zeta}), we need to show that s(σ,γ)ζ(L(G))s(\sigma,\gamma)\in\zeta(L(G)). If σ=ϵ\sigma=\epsilon, then since s(σ,γ)L(Gζ)s(\sigma,\gamma)\in L(G_{\zeta}), we know that γ=p(s)\gamma=p(s)^{\uparrow} and γΣuo\gamma\cap\Sigma_{uo}\neq\varnothing. Since sζ(L(G))s\in\zeta(L(G)) and p(s)=γp(s)^{\uparrow}=\gamma and γΣuo\gamma\cap\Sigma_{uo}\neq\varnothing, we know that s(ϵ,γ)ζ(L(G))s(\epsilon,\gamma)\in\zeta(L(G)). If σΣo\sigma\in\Sigma_{o}, then clearly there exists tuL(G)tu\in L(G) such that g(s)=Po(t)g(s)=P_{o}(t) and uPo1(σ)p(s)(ΣuoΣo)u\in P_{o}^{-1}(\sigma)\cap p(s)^{*}\cap(\Sigma_{uo}^{*}\Sigma_{o})^{*}. Clearly, sζ(t)s\in\zeta(t) and Po(u)=σϵP_{o}(u)=\sigma\neq\epsilon. Thus, by the definition of ζ(L(G))\zeta(L(G)), we know that s(Po(u),γ)=s(σ,γ)ζ(L(G))s(P_{o}(u),\gamma)=s(\sigma,\gamma)\in\zeta(L(G)). Thus, the induction holds, which completes the proof. \blacksquare

Notice that in GζG_{\zeta}, except for being at the initial state (x0,ϵ,Σ)(x_{0},\epsilon,\Sigma), no transition between two different states can be unobservable.

Since the map pp introduced before is a projection, it is not difficult to check that H^=ζ(L(G))p1(p(ν(ψ(ι(Ldam)))))(Σoϵ×Γ)\hat{H}=\zeta(L(G))-p^{-1}(p(\nu(\psi(\iota(L_{dam})))))(\Sigma_{o}^{\epsilon}\times\Gamma)^{*} is regular, as both ζ(L(G))\zeta(L(G)) and ν(ψ(ι(Ldam)))\nu(\psi(\iota(L_{dam}))) are shown to be regular. Thus, its prefix closure H:=H^¯H:=\overline{\hat{H}} is also regular. Let the alphabet be Σoϵ×Γ\Sigma_{o}^{\epsilon}\times\Gamma and the uncontrollable alphabet be {ϵ}×Γ\{\epsilon\}\times\Gamma. Since GζG_{\zeta} is nondeterministic, HH can be recognized by a nondeterministic automaton, without masking out necessary marking information inherited from GG, which will be used later. By using a synthesis algorithm similar to the one proposed in [24] [25], which is realized in [31], we can show that 𝒮=sup𝒞(ζ(L(G)),H)\mathcal{S}_{*}=\textrm{sup}\mathcal{C}(\zeta(L(G)),H) is also regular, and generated by a nondeterministic finite-state automaton :=(Q,Σoϵ×Γ,Ξ,q0,Qm)\mathcal{H}:=(Q,\Sigma_{o}^{\epsilon}\times\Gamma,\Xi,q_{0},Q_{m}), where Q=X×Σoϵ×Γ×RQ=X\times\Sigma_{o}^{\epsilon}\times\Gamma\times R and Qm=Xm×Σoϵ×Γ×RQ_{m}=X_{m}\times\Sigma_{o}^{\epsilon}\times\Gamma\times R with RR being the state set of the recognizer of p1(p(ν(ψ(ι(Ldam)))))(Σoϵ×Γ)p^{-1}(p(\nu(\psi(\iota(L_{dam})))))(\Sigma_{o}^{\epsilon}\times\Gamma)^{*}. That is 𝒮=L()\mathcal{S}_{*}=L(\mathcal{H}). Next, we will develop a computational method to determine whether a nonblocking resilient supervisor candidate in 𝒮\mathcal{S}_{*} exists.

To handle partial observation induced by gg, we undertake the following subset-construction style operation on \mathcal{H}. Let 𝒫()=(Q𝒫,Σoϵ×Γ,Ξ𝒫,q0,𝒫,Qm,𝒫)\mathcal{P}(\mathcal{H})=(Q_{\mathcal{P}},\Sigma_{o}^{\epsilon}\times\Gamma,\Xi_{\mathcal{P}},q_{0,\mathcal{P}},Q_{m,\mathcal{P}}), where

  • Q𝒫:=Σoϵ×2Q×QQ_{\mathcal{P}}:=\Sigma_{o}^{\epsilon}\times 2^{Q}\times Q, Qm,𝒫:=Σoϵ×2Q×QmQ_{m,\mathcal{P}}:=\Sigma_{o}^{\epsilon}\times 2^{Q}\times Q_{m};

  • q0,𝒫:=(ϵ,{qQ|(tg1(ϵ))qΞ(q0,t)},q0)q_{0,\mathcal{P}}:=(\epsilon,\{q\in Q|(\exists t\in g^{-1}(\epsilon))q\in\Xi(q_{0},t)\},q_{0});

  • The transition map Ξ𝒫:Q𝒫×Σoϵ×Γ2Q𝒫\Xi_{\mathcal{P}}:Q_{\mathcal{P}}\times\Sigma_{o}^{\epsilon}\times\Gamma\rightarrow 2^{Q_{\mathcal{P}}} is defined as follows: for each (σ,U,q)Q𝒫(\sigma,U,q)\in Q_{\mathcal{P}} and (σ,γ)Σoϵ×Γ(\sigma^{\prime},\gamma)\in\Sigma_{o}^{\epsilon}\times\Gamma, if σ=ϵ\sigma^{\prime}=\epsilon, then

    Ξ𝒫(σ,U,q,ϵ,γ):={σ}×{U}×Ξ(q,ϵ,γ);\Xi_{\mathcal{P}}(\sigma,U,q,\epsilon,\gamma):=\{\sigma\}\times\{U\}\times\Xi(q,\epsilon,\gamma);

    otherwise, we have

    Ξ𝒫(σ,U,q,σ,γ):={σ}×Ξ(U,σ,γ)×Ξ(q,σ,γ),\Xi_{\mathcal{P}}(\sigma,U,q,\sigma^{\prime},\gamma):=\{\sigma^{\prime}\}\times\Xi(U,\sigma^{\prime},\gamma)\times\Xi(q,\sigma^{\prime},\gamma),

    where

    Ξ(U,σ,γ):=\Xi(U,\sigma^{\prime},\gamma):=

    {q^Q𝒫|(q~U)(tg1(Po(σ)))q^Ξ(q~,t)}.\{\hat{q}\in Q_{\mathcal{P}}|(\exists\tilde{q}\in U)(\exists t\in g^{-1}(P_{o}(\sigma^{\prime})))\hat{q}\in\Xi(\tilde{q},t)\}.

Remarks: It is clear that L(𝒫())=L()=𝒮L(\mathcal{P}(\mathcal{H}))=L(\mathcal{H})=\mathcal{S}_{*}. In addition, since all unobservable transitions in GζG_{\zeta} are selflooped at relevant states, by the construction of 𝒮\mathcal{S}_{*}, we can check that the recognizer \mathcal{H} also selfloops all unobservable transitions. Due to this property, we have Ξ𝒫(σ,U,q,ϵ,γ):={σ}×{U}×Ξ(q,ϵ,γ)\Xi_{\mathcal{P}}(\sigma,U,q,\epsilon,\gamma):=\{\sigma\}\times\{U\}\times\Xi(q,\epsilon,\gamma) in the definition of 𝒫()\mathcal{P}(\mathcal{H}), where Ξ(q,ϵ,γ)\Xi(q,\epsilon,\gamma) either equals {q}\{q\} or \varnothing in \mathcal{H}.

To illustrate the construction procedure for 𝒫()\mathcal{P}(\mathcal{H}), assume that in Example 3 depicted in Figure 13, =Gζ\mathcal{H}=G_{\zeta}.

Refer to caption
Figure 14: Example 3: The model of 𝒫()\mathcal{P}(\mathcal{H})

After applying the construction procedure for 𝒫()\mathcal{P}(\mathcal{H}), the outcome is depicted in Figure 14, where

U0\displaystyle U_{0} =\displaystyle= {q0,𝒫,(0,ϵ,{a,b,v,c}),(0,ϵ,{b,v,c})};\displaystyle\{q_{0,\mathcal{P}},(0,\epsilon,\{a,b,v,c\}),(0,\epsilon,\{b,v,c\})\};
U1\displaystyle U_{1} =\displaystyle= {(1,a,{a,b,v,c}),(1,a,{b,v,c})};\displaystyle\{(1,a,\{a,b,v,c\}),(1,a,\{b,v,c\})\};
U2\displaystyle U_{2} =\displaystyle= {(2,b,{a,b,v,c}),(2,b,{b,v,c})};\displaystyle\{(2,b,\{a,b,v,c\}),(2,b,\{b,v,c\})\};
U3\displaystyle U_{3} =\displaystyle= {(3,c,{a,b,v,c}),(3,c,{b,v,c}),(5,c,{a,b,v,c}),\displaystyle\{(3,c,\{a,b,v,c\}),(3,c,\{b,v,c\}),(5,c,\{a,b,v,c\}),
(5,c,{b,v,c})};\displaystyle(5,c,\{b,v,c\})\};
U4\displaystyle U_{4} =\displaystyle= {(7,c,{a,b,v,c}),(7,c,{b,v,c})}.\displaystyle\{(7,c,\{a,b,v,c\}),(7,c,\{b,v,c\})\}.
Definition 5.

Given 𝒫()\mathcal{P}(\mathcal{H}), a reachable sub-automaton Ω=(QΩQ𝒫,Σoϵ×Γ,ΞΩ,q0,𝒫,Qm,ΩQm,𝒫)\Omega=(Q_{\Omega}\subseteq Q_{\mathcal{P}},\Sigma_{o}^{\epsilon}\times\Gamma,\Xi_{\Omega},q_{0,\mathcal{P}},Q_{m,\Omega}\subseteq Q_{m,\mathcal{P}}) of 𝒫()\mathcal{P}(\mathcal{H}) is control feasible if the following conditions hold:

  1. 1.

    For all q=(σ,U,x,σ,γ,r)QΩq=(\sigma,U,x,\sigma,\gamma,r)\in Q_{\Omega} with qq0,𝒫q\neq q_{0,\mathcal{P}},

    (γΓ)ξζ(x,σ,γ,ϵ,γ)ΞΩ(q,ϵ,γ);(\forall\gamma^{\prime}\in\Gamma)\,\xi_{\zeta}(x,\sigma,\gamma,\epsilon,\gamma^{\prime})\neq\varnothing\Rightarrow\Xi_{\Omega}(q,\epsilon,\gamma^{\prime})\neq\varnothing;
  2. 2.

    For all (σ,U,x1,σ,γ1,r1),(σ,U,x2,σ,γ2,r2)QΩ(\sigma,U,x_{1},\sigma,\gamma_{1},r_{1}),(\sigma,U,x_{2},\sigma,\gamma_{2},r_{2})\in Q_{\Omega}, we have γ1=γ2\gamma_{1}=\gamma_{2};

  3. 3.

    For each q=(σ,U,x,σ,γ,r)QΩq=(\sigma,U,x,\sigma,\gamma,r)\in Q_{\Omega},

    g(EnΩ(q))=Po(γ)g(EnGζ(x,σ,γ));g(En_{\Omega}(q))=P_{o}(\gamma)\cap g(En_{G_{\zeta}}(x,\sigma,\gamma));
  4. 4.

    For all (σ,U,q)QΩ(\sigma,U,q)\in Q_{\Omega} and μΣoϵ×Γ\mu\in\Sigma_{o}^{\epsilon}\times\Gamma, if ΞΩ(σ,U,q,μ)\Xi_{\Omega}(\sigma,U,q,\mu)\neq\varnothing, then for all (σ,U,q)Q𝒫(\sigma,U,q^{\prime})\in Q_{\mathcal{P}},

    ΞΩ(σ,U,q,μ)=Ξ𝒫(σ,U,q,μ)QΩ;\Xi_{\Omega}(\sigma,U,q^{\prime},\mu)=\Xi_{\mathcal{P}}(\sigma,U,q^{\prime},\mu)\subseteq Q_{\Omega};
  5. 5.

    Ω\Omega is co-reachable. \Box

The first condition in Def. 5 essentially states that in Ω\Omega no uncontrollable transitions allowed by GζG_{\zeta} shall be disabled, which is similar to the concept of state controllability in [24] that handles nondeterministic transitions. Based on the construction of 𝒫()\mathcal{P}(\mathcal{H}), if (ϵ,γ)(\epsilon,\gamma^{\prime}) is allowed at state q=(σ,U,x,σ,γ,r)q=(\sigma,U,x,\sigma,\gamma,r) in Ω\Omega, then γ=γ\gamma^{\prime}=\gamma and ΞΩ(q,ϵ,γ)={q}\Xi_{\Omega}(q,\epsilon,\gamma)=\{q\}. The second condition states that all strings observably identical in L(Ω)L(\Omega) must result in the same control pattern. The third condition states that, for any state in Ω\Omega, an observable event is allowed at state qq if and only if it is allowed both by the plant GζG_{\zeta} and the corresponding control pattern γ\gamma associated with qq. The fourth condition is similar to the concept of state observability in [24] to handle nondeterminism, which requires that all states in 𝒫()\mathcal{P}(\mathcal{H}) reachable by strings observably identical to some string in L(Ω)L(\Omega), must be included in Ω\Omega. The last condition is self-explained.

As an illustration, Figure 15 depicts one choice of Ω\Omega derived from 𝒫()\mathcal{P}(\mathcal{H}) in Example 3.

Refer to caption
Figure 15: Example 3: A model containing one Ω\Omega

We can see that clearly no self-looped uncontrollable events are disabled. So the first condition in Def. 5 holds. Due to the second condition in Def. 5, in U0U_{0} we choose to keep γ={a,b,v,c}\gamma=\{a,b,v,c\}, and thus, only states q0,𝒫q_{0,\mathcal{P}} and (ϵ,U0,0,ϵ,{a,b,v,c})(\epsilon,U_{0},0,\epsilon,\{a,b,v,c\}) will be kept in Ω\Omega. Similarly, in U1U_{1} the control pattern γ={b,v,c}\gamma=\{b,v,c\} is chosen; in U2U_{2} the control pattern γ={a,b,v,c}\gamma=\{a,b,v,c\} is chosen; in U3U_{3} the pattern γ={a,b,v,c}\gamma=\{a,b,v,c\} is chosen; and in U4U_{4} the pattern γ={b,v,c}\gamma=\{b,v,c\} is chosen. Due to the third condition in Def. 5, we can see that in U0U_{0} both outgoing transitions (a,{b,v,c}(a,\{b,v,c\} and (b,{a,b,v,c})(b,\{a,b,v,c\}) of state (ϵ,U0,0,ϵ,{a,b,v,c})(\epsilon,U_{0},0,\epsilon,\{a,b,v,c\}) must be chosen in Ω\Omega, as both events aa and bb are allowed by the control pattern {a,b,v,c}\{a,b,v,c\} and the augmented plant GζG_{\zeta}. In U1U_{1}, due to the fourth condition in Def. 5, both nondeterministic outgoing transitions (c,{a,b,v,c})(c,\{a,b,v,c\}) towards (c,U3,3,c,{a,b,v,c})(c,U_{3},3,c,\{a,b,v,c\}) and (c,U3,5,c,{a,b,v,c})(c,U_{3},5,c,\{a,b,v,c\}) must be allowed in Ω\Omega. Clearly, all reachable states in Ω\Omega is co-reachable. Thus, after removing all unreachable states in Figure 15, the remaining structure Ω\Omega is a control feasible sub-automaton of 𝒫()\mathcal{P}(\mathcal{H}) in Example 3. The corresponding supervisory control map V:Po(L(G))ΓV:P_{o}(L(G))\rightarrow\Gamma can be derived as follows: V(ϵ):={a,b,v,c}V(\epsilon):=\{a,b,v,c\}, V(a):={b,v,c}V(a):=\{b,v,c\}, V(b):={a,b,v,c}V(b):=\{a,b,v,c\}, V(ac):={a,b,v,c,}V(ac):=\{a,b,v,c,\} and V(bc):={b,v,c}V(bc):=\{b,v,c\}. Similarly, we can check that in Example 2, each marked trajectory in Figure 12 leads to one control feasible sub-automaton Ω\Omega, which satisfies all conditions in Def. 5.

Theorem 4.

Let 𝒫()\mathcal{P}(\mathcal{H}) be constructed as shown above. Then there exists a nonblocking resilient supervisor candidate of 𝒮\mathcal{S}_{*} if and only if there exists a control feasible reachable sub-automaton of 𝒫()\mathcal{P}(\mathcal{H}). \Box

The complexity of computing 𝒫()\mathcal{P}(\mathcal{H}) is O(|Q𝒫|2|Σoϵ||Γ|)O(|Q_{\mathcal{P}}|^{2}|\Sigma_{o}^{\epsilon}||\Gamma|). To determine the existence of a control feasible sub-automaton of 𝒫()\mathcal{P}(\mathcal{H}), in the worst case we need to check each sub-automaton. There are 2|Q𝒫|2^{|Q_{\mathcal{P}}|} sub-automata. For each sub-automaton Ω\Omega, whose state set is QΩQ𝒫Q_{\Omega}\subseteq Q_{\mathcal{P}}, we need to check all four conditions defined in Def. 5, whose complexity is O(|QΩ|2+|QΩ||Σoϵ||Γ|)O(|Q_{\Omega}|^{2}+|Q_{\Omega}||\Sigma_{o}^{\epsilon}||\Gamma|). Typically, we have |Q𝒫||Σoϵ||Γ||Q_{\mathcal{P}}|\gg|\Sigma_{o}^{\epsilon}||\Gamma| and 2|Q𝒫||Q𝒫|32^{|Q_{\mathcal{P}}|}\gg|Q_{\mathcal{P}}|^{3}. The final complexity of finding a control feasible sub-automaton is O(2|Q𝒫|)O(2^{|Q_{\mathcal{P}}|}). Notice that |Q𝒫|=|Σoϵ|2|Q||Q||Q_{\mathcal{P}}|=|\Sigma_{o}^{\epsilon}|2^{|Q|}|Q|, where |Q|=|X||Σoϵ||Γ||R||Q|=|X||\Sigma_{o}^{\epsilon}||\Gamma||R| with |R|=2|W|+n|Δn||R|=2^{|W|+n|\Delta_{n}|}. The final complexity is O(2|Σoϵ|2|X||Σoϵ||Γ|2|W|+n|Δn||X||Σoϵ||Γ|2|W|+n|Δn|)O(2^{|\Sigma_{o}^{\epsilon}|2^{|X||\Sigma_{o}^{\epsilon}||\Gamma|2^{|W|+n|\Delta_{n}|}}|X||\Sigma_{o}^{\epsilon}||\Gamma|2^{|W|+n|\Delta_{n}|}}).

Theorem 5.

Given a plant GG and a damage language LdamL(G)L_{dam}\subseteq L(G), it is decidable whether there exists a nonblocking supervisor VV such that the closed-loop system V/GV/G is not attackable with respect to LdamL_{dam}. \Box

Proof: By Theorem 3, there exists a nonblocking supervisor which disallows any regular smart sensor attack with respect to LdamL_{dam} if and only if there exists a nonblocking resilient supervisor candidate 𝒮\mathcal{L}\subseteq\mathcal{S}_{*}. By Theorem 4, we know that there exists a nonblocking resilient supervisor candidate if and only if there exists a control feasible sub-automaton of 𝒫()\mathcal{P}(\mathcal{H}), which recognizes 𝒮\mathcal{S}_{*}. Since there exists a finite number of sub-automata in 𝒫()\mathcal{P}(\mathcal{H}), the existence of a control feasible sub-automaton of 𝒫()\mathcal{P}(\mathcal{H}) is decidable. Thus, the existence of a nonblocking supervisor which disallows any regular smart sensor attack with respect to LdamL_{dam} is decidable. \blacksquare

It is interesting to point out that, in general, there are typically many choices of a control feasible sub-automaton Ω\Omega, leading to possibly many resilient supervisors. It is unfortunate that the most permissive resilient supervisor in terms of set inclusion of closed-loop behaviours typically does not exist. For example, in Example 2 there are up to three different supervisory control maps depicted in Figure 12, leading to two non-compatible maximally permissive supervisors: one generates the closed-loop behaviour of L(V1/G)={avc}¯L(V_{1}/G)=\overline{\{avc\}} and the other one generates L(V2/G)={bvd}¯L(V_{2}/G)=\overline{\{bvd\}}. It is an interesting question whether the structure 𝒫()\mathcal{P}(\mathcal{H}) could be used to directly synthesize a maximally permissive nonblocking resilient supervisor, as it conceptually contains all resilient supervisors.

7 Conclusions

Although in our early work [9] [10], the concept of smart sensor attacks was introduced, and syntheses of a smart sensor attack and a supervisor resilient to smart sensor attacks were presented, it has not been shown whether the existence of a nonblocking supervisor resilient to all smart sensor attacks is decidable, as the synthesis algorithm presented in [10] does not guarantee to find a resilient supervisor, even though it may exist. In this paper we have first shown that the existence of a regular smart weak sensor attack is decidable, and in case it exists, it can be synthesized. Our first contribution is to identify risky pairs that describe how a legal sequence of control patterns may be used by a sensor attack to inflict weak damage, which is stated in Theorem 1 that there exists a smart weak sensor attack if and only if there exists at least one risky pair. Notice that this result is valid, regardless of whether the attack model is regular, i.e., representable by a finite-state automaton. With this key idea, to ensure the existence of a supervisor resilient to smart sensor attacks, we only need to make sure that there should be no risky pairs. Our second contribution is to show that all risky pairs can be identified and removed from the plant behaviours, via a genuine encoding scheme, upon which a verifiable sufficient and necessary condition is presented to ensure the existence of a nonblocking supervisor resilient to smart sensor attacks. This establishes the result that the existence of a supervisor resilient to all smart sensor attacks is decidable. Finally, as our third contribution, the decision process renders a synthesis algorithm for a resilient supervisor, whenever it exists, which has never been addressed in any existing works.

The decidability result established in this paper may shed light on future research on cyber attack related resilient synthesis, e.g., to decide existence of a resilient supervisor for smart actuator attacks or smart attacks with observations different from those of the supervisor, which are gaining more and more attention recently. This decidability result allows us to focus more on computational efficiency related to smart sensor attacks.

Appendix

1. Proof of Theorem 1: (1) We first show the IF part. Assume that there exist s=u1σ1urσrur+1Ldams=u_{1}\sigma_{1}\cdots u_{r}\sigma_{r}u_{r+1}\in L_{dam}, with rr\in\mathbb{N}, u1,,ur+1Σuou_{1},\cdots,u_{r+1}\in\Sigma_{uo}^{*} and σ1,,σrΣo\sigma_{1},\cdots,\sigma_{r}\in\Sigma_{o}, and t=ν1νrPo(L(V/G))t=\nu_{1}\cdots\nu_{r}\in P_{o}(L(V/G)) with ν1,,νrΔn\nu_{1},\cdots,\nu_{r}\in\Delta_{n} such that (1) u1,σ1V(t0)u_{1},\sigma_{1}\in V(t^{0})^{*}; (2) for each i{2,,r}i\in\{2,\cdots,r\}, ui,σiV(ti1)u_{i},\sigma_{i}\in V(t^{i-1})^{*}; (3) ur+1V(t)u_{r+1}\in V(t)^{*}. We now explicitly design an attack model AA as follows.

  1. 1.

    A(ϵ):=ϵA(\epsilon):=\epsilon;

  2. 2.

    for each sPo(L(G))s\in P_{o}(L(G)), where A(s)A(s) has been defined, for each σΣo\sigma\in\Sigma_{o} with sσPo(L(G))s\sigma\in P_{o}(L(G)),

    A(sσ):={A(s)νiif sσ=σ1σii{1,,r};A(s)σif sσL(V/G){σ1σr}¯;A(s)otherwise.A(s\sigma):=\left\{\begin{array}[]{ll}A(s)\nu_{i}&\textrm{if $s\sigma=\sigma_{1}\cdots\sigma_{i}$, $i\in\{1,\cdots,r\}$;}\\ A(s)\sigma&\textrm{if $s\sigma\in L(V/G)-\overline{\{\sigma_{1}\cdots\sigma_{r}\}};$}\\ A(s)&\textrm{otherwise.}\end{array}\right.

Clearly, AA is well defined. We now show that A(Po(L(VA/G)))L(S)A(P_{o}(L(V\circ A/G)))\subseteq L(S), i.e., AA is covert, by using induction on the length of strings in Po(L(G))P_{o}(L(G)). Clearly, ϵPo(L(VA/G))\epsilon\in P_{o}(L(V\circ A/G)), and A(ϵ)=ϵL(S)A(\epsilon)=\epsilon\in L(S). Assume that for all strings sPo(L(VA/G))s\in P_{o}(L(V\circ A/G)) with |s|n|s|\leq n, where nn\in\mathbb{N}, we have A(s)L(S)A(s)\in L(S). We need to show that for each σΣo\sigma\in\Sigma_{o} with sσPo(L(VA/G))s\sigma\in P_{o}(L(V\circ A/G)), we have A(sσ)L(S)A(s\sigma)\in L(S). If sσ=σ1σn+1s\sigma=\sigma_{1}\cdots\sigma_{n+1}, where n+1rn+1\leq r, then we have A(sσ)=ν1νn+1{t}¯Po(L(V/G))L(S)A(s\sigma)=\nu_{1}\cdots\nu_{n+1}\in\overline{\{t\}}\subseteq P_{o}(L(V/G))\subseteq L(S). If sσL(V/G){σ1σr}¯s\sigma\in L(V/G)-\overline{\{\sigma_{1}\cdots\sigma_{r}\}}, then we have two cases to consider. Case 1: A(s)σL(V/G)L(S)A(s)\sigma\in L(V/G)\subseteq L(S). Then A(sσ)=A(s)σL(S)A(s\sigma)=A(s)\sigma\in L(S). Case 2: A(s)σL(S)A(s)\sigma\notin L(S). We will show that, sσPo(L(VA/G))s\sigma\notin P_{o}(L(V\circ A/G)). Since sσL(VA/G)s\sigma\in L(V\circ A/G), we have A(s)L(S)A(s)\subseteq L(S). Because sPo(L(G))s\in P_{o}(L(G)), there must exist s~L(VA/G)\tilde{s}\in L(V\circ A/G) such that s=Po(s~)s=P_{o}(\tilde{s}). For all u~Σuo\tilde{u}\in\Sigma_{uo}^{*}, if s~u~σL(VA/G)\tilde{s}\tilde{u}\sigma\in L(V\circ A/G), we know that u~σV(A(Po(s~)))=V(A(s))\tilde{u}\sigma\in V(A(P_{o}(\tilde{s})))^{*}=V(A(s))^{*}. By the definition of VV, we know that σ\sigma must also be in V(A(s))V(A(s)). Thus, A(s)σL(S)A(s)\sigma\in L(S). But this contradicts our assumption that A(s)σL(S)A(s)\sigma\notin L(S). Thus, the only possibility is that sσL(V/G)s\sigma\notin{\color[rgb]{0,0,0}L(V/G)}. Since sσPo(L(VA/G))s\sigma\in P_{o}(L(V\circ A/G)), we know that A(s)L(S)A(s)\in L(S) and σV(A(s))Γ(V)\sigma\in V(A(s))\in\Gamma(V). If sL(V/G)s\in L(V/G), then clearly sσL(G)(L(V/G){σ1σr}¯)s\sigma\in L(G)-(L(V/G)\cup\overline{\{\sigma_{1}\cdots\sigma_{r}\}}). Thus, by Definition of AA, we have A(sσ)=A(s)L(S)A(s\sigma)=A(s)\in L(S). With a similar argument, we know that for all sΣs^{\prime}\in\Sigma^{*}, ssL(VA/G)ss^{\prime}\in L(V\circ A/G) implies that sV(A(s))s^{\prime}\in V(A(s))^{*}, and A(ss)=A(s)L(S)A(ss^{\prime})=A(s)\in L(S). If sL(V/G)s\notin L(V/G), then we can always find s^s\hat{s}\leq s and σ^Σo\hat{\sigma}\in\Sigma_{o} with s^σ^s\hat{s}\hat{\sigma}\leq s such that s^L(V/G)\hat{s}\in L(V/G) but s^σ^L(V/G)\hat{s}\hat{\sigma}\notin L(V/G). Then with the same argument, we know that (s/s^)σL(G)(L(V/G){σ1σr}¯)(s/\hat{s})\sigma\in L(G)-(L(V/G)\cup\overline{\{\sigma_{1}\cdots\sigma_{r}\}}), namely A(sσ)=A(s^(s/s^)σ)=A(s^)L(S)A(s\sigma)=A(\hat{s}(s/\hat{s})\sigma)=A(\hat{s})\in L(S). Thus, the induction part holds, which means AA is covert.

Since AA results in weak damage due to the existence of s^\hat{s}, by Def. 1, AA is a smart weak sensor attack.
(2) Next, we show the ONLY IF part. Assume that there exists a smart weak sensor attack AA. By Def. 1, we know that A(Po(L(VA/G)))L(S)A(P_{o}(L(V\circ A/G)))\subseteq L(S) and L(VA/G)LdamL(V\circ A/G)\cap L_{dam}\neq\varnothing. Thus, there exists s=u1σ1urσrur+1L(VA/G)Ldams=u_{1}\sigma_{1}\cdots u_{r}\sigma_{r}u_{r+1}\in L(V\circ A/G)\cap L_{dam} with rr\in\mathbb{N}, u1,,ur+1Σuou_{1},\cdots,u_{r+1}\in\Sigma_{uo}^{*} and σ1,,σrΣo\sigma_{1},\cdots,\sigma_{r}\in\Sigma_{o}, such that A(Po(u1))=ϵA(P_{o}(u_{1}))=\epsilon, A(Po(u1)σ1)=ν1ΔnA(P_{o}(u_{1})\sigma_{1})=\nu_{1}\in\Delta_{n}; A(Po(u1)σ1Po(uj))=A(Po(u1)σ1Po(uj1)σj1)A(P_{o}(u_{1})\sigma_{1}\cdots P_{o}(u_{j}))=A(P_{o}(u_{1})\sigma_{1}\cdots P_{o}(u_{j-1})\sigma_{j-1}) and A(Po(u1)σ1Po(uj)σj)=ν1νjA(P_{o}(u_{1})\sigma_{1}\cdots P_{o}(u_{j})\sigma_{j})=\nu_{1}\cdots\nu_{j} with νjΔn\nu_{j}\in\Delta_{n} for all j{2,,r}j\in\{2,\cdots,r\}; and finally,

A(Po(s))=A(Po(u1)σ1Po(ur)σr).A(P_{o}(s))=A(P_{o}(u_{1})\sigma_{1}\cdots P_{o}(u_{r})\sigma_{r}).

Let t=ν1νrt=\nu_{1}\cdots\nu_{r}. Since sL(VA/G)s\in L(V\circ A/G), by the definition of L(VA/G)L(V\circ A/G), we know that (1) u1,σ1V(t0)u_{1},\sigma_{1}\in V(t^{0})^{*}; (2) for each i{2,,r}i\in\{2,\cdots,r\}, ui,σiV(ti1)u_{i},\sigma_{i}\in V(t^{i-1})^{*}; (3) ur+1V(t)u_{r+1}\in V(t)^{*}. Thus, the theorem follows. \blacksquare

2. Proof of theorem 2: Since VV is regular, there is a finite-state automaton S=(Z,Σ,δ,z0,Zm=Z)S=(Z,\Sigma,\delta,z_{0},Z_{m}=Z) that realizes VV. We follow an idea adopted from [10], and start with a single-state transducer 𝒜=(Y,Σoϵ×Δn,η,I,O,y0,Ym=Y)\mathcal{A}=(Y,{\color[rgb]{0,0,0}\Sigma_{o}^{\epsilon}}\times\Delta_{n},\eta,I,O,y_{0},Y_{m}=Y), where Y={y0}Y=\{y_{0}\} and for all (σ,u)Σo×Δn(\sigma,u)\in\Sigma_{o}\times\Delta_{n}, we have η(y0,σ,u)=y0\eta(y_{0},\sigma,u)=y_{0}. 𝒜\mathcal{A} contains all possible attack moves. Since LdamL_{dam} is regular, there exists a finite-state automaton D=(W,Σ,κ,w0,Wm)D=(W,\Sigma,\kappa,w_{0},W_{m}) such that L(D)=ΣL(D)=\Sigma^{*} and Lm(D)=LdamL_{m}(D)=L_{dam}. We now form a combination of all relevant finite-state transition structures. Let

Ψ=(N,ΣN,λ,n0,Nm),\Psi=(N,\Sigma_{N},\lambda,n_{0},N_{m}),

where

  • N=X×Z×Y×WN=X\times Z\times Y\times W, Nm=Xm×Zm×Ym×WmN_{m}=X_{m}\times Z_{m}\times Y_{m}\times W_{m};

  • n0=(x0,z0,y0,w0)n_{0}=(x_{0},z_{0},y_{0},w_{0});

  • ΣN:={(σ,σ,u)Σ×Σoϵ×Δn|σ=Po(σ)[σ=ϵu=ϵ]}\Sigma_{N}:=\{(\sigma,\sigma^{\prime},u)\in\Sigma\times\Sigma_{o}^{\epsilon}\times\Delta_{n}|\sigma^{\prime}=P_{o}(\sigma)\wedge[\sigma^{\prime}=\epsilon\Rightarrow u=\epsilon]\};

  • λ:N×ΣNN\lambda:N\times\Sigma_{N}\rightarrow N is the partial transition map: for each (x,z,y,w),(x,z,y,w)N(x,z,y,w),(x^{\prime},z^{\prime},y^{\prime},w^{\prime})\in N and (σ,σ,u)ΣN(\sigma,\sigma^{\prime},u)\in\Sigma_{N},

    λ(x,z,y,w,σ,σ,u)=(x,z,y,w)\lambda(x,z,y,w,\sigma,\sigma^{\prime},u)=(x^{\prime},z^{\prime},y^{\prime},w^{\prime})

    if and only if the following conditions hold:

    1. 1.

      σEnS(z)\sigma\in En_{S}(z);

    2. 2.

      δ(z,u)!\delta(z,u)!;

    3. 3.

      ξ(x,σ)=x\xi(x,\sigma)=x^{\prime}, δ(z,u)=z\delta(z,u)=z^{\prime}, η(y,σ,u)=y\eta(y,\sigma^{\prime},u)=y^{\prime}, and κ(w,σ)=w\kappa(w,\sigma)=w^{\prime}.

Let the controllable alphabet of Ψ\Psi be

ΣN,c:=ΣN(Σo×Σo×Δn).\Sigma_{N,c}:=\Sigma_{N}\cap(\Sigma_{o}\times\Sigma_{o}\times\Delta_{n}).

Let π:ΣNΣ\pi:\Sigma_{N}^{*}\rightarrow\Sigma^{*} be a projection, where

  • π(ϵ)=ϵ\pi(\epsilon)=\epsilon;

  • ((σ,σ,u)ΣN)π(σ,σ,u):=σ(\forall(\sigma,\sigma^{\prime},u)\in\Sigma_{N})\,\pi(\sigma,\sigma^{\prime},u):=\sigma;

  • (sςΣN)π(sς)=π(s)π(ς)(\forall s\varsigma\in\Sigma_{N}^{*})\,\pi(s\varsigma)=\pi(s)\pi(\varsigma).

Similarly, let ϖ:ΣNΔn\varpi:\Sigma_{N}^{*}\rightarrow\Delta_{n}^{*} be a projection, where

  • ϖ(ϵ)=ϵ\varpi(\epsilon)=\epsilon;

  • ((σ,σ,u)ΣN)ϖ(σ,σ,u):=u(\forall(\sigma,\sigma^{\prime},u)\in\Sigma_{N})\,\varpi(\sigma,\sigma^{\prime},u):=u;

  • (sςΣN)ϖ(sς)=ϖ(s)ϖ(ς)(\forall s\varsigma\in\Sigma_{N}^{*})\,\varpi(s\varsigma)=\varpi(s)\varpi(\varsigma).

We calculate a controllable [23] prefix-closed sublanguage UL(Ψ)U\subseteq L(\Psi) w.r.t. Ψ\Psi and ΣN,uc:=ΣNΣN,c\Sigma_{N,uc}:=\Sigma_{N}-\Sigma_{N,c}, i.e.,

UΣN,ucL(Ψ)U,U\Sigma_{N,uc}\cap L(\Psi)\subseteq U,

which satisfies the following properties:

  • π(U)Lm(D)\pi(U)\cap L_{m}(D)\neq\varnothing;

  • (sU)π({ςΣN|sςU})=EnL(G)(π(s))EnS(ϖ(s))(\forall s\in U)\pi(\{\varsigma\in\Sigma_{N}|s\varsigma\in U\})=En_{L(G)}(\pi(s))\cap En_{S}(\varpi(s));

  • (sU)(tπ1(Po1(Po(π(s))))U)ϖ(s)=ϖ(t)(\forall s\in U)(\forall t\in\pi^{-1}(P_{o}^{-1}(P_{o}(\pi(s))))\cap U)\varpi(s)=\varpi(t).

We can check that Condition 1 of UU states a weak nonblocking property. Condition 2 is an “extended” controllability property, which states that, after a string sUs\in U, each outgoing transition ςΣN\varsigma\in\Sigma_{N} is allowed, as long as the plant GG allows it, i.e., π(ς)EnL(G)(π(s))\pi(\varsigma)\in En_{L(G)}(\pi(s)), and the supervisor also allows it, i.e., π(ς)EnS(ϖ(s))\pi(\varsigma)\in En_{S}(\varpi(s)). Because the supervisor allows all uncontrollable transitions, thus, no uncontrollable events in Σuc\Sigma_{uc} shall be disabled here, which is the reason why we call it a special controllability property. Condition 3 states that any two strings ss and tt, “observably” identical in the sense that Po(π(s))=Po(π(t))P_{o}(\pi(s))=P_{o}(\pi(t)), must lead to the same (fake) observable strings in Δn\Delta_{n}^{*}, i.e., ϖ(s)=ϖ(t)\varpi(s)=\varpi(t), which means Po(π(s))=Po(π(t))P_{o}(\pi(s))=P_{o}(\pi(t)) implies the same attack move - thus, may result in a deterministic attack function. Based on this interpretation, by adopting either a power set construction over Ψ\Psi via the projection PoπP_{o}\circ\pi and a state pruning algorithm similar to the one proposed in [24] that originally aims to compute a supremal nonblocking supervisor with respect to Lm(D)L_{m}(D), that is state-controllable and state-normal, or one algorithm proposed in [33] that computes a maximally controllable and observable nonblocking supervisor, we can show that the existence of such a UU is decidable.

To complete the proof, we only need to show that there exists a regular smart weak sensor attack if and only if there exists such a language UU.

To show the IF part, we define an attack model A:Po(L(G))ΔnA:P_{o}(L(G))\rightarrow\Delta_{n}^{*}, where

  • (sU)A(Po(π(s))):=ϖ(s)(\forall s\in U)A(P_{o}(\pi(s))):=\varpi(s);

  • for all sUs\in U and μΣN\mu\in\Sigma_{N},

    sμU(tΣN)A(Po(π(sμt))):=A(Po(π(s))).s\mu\notin U\Rightarrow(\forall t\in\Sigma_{N}^{*})A(P_{o}(\pi(s\mu t))):=A(P_{o}(\pi(s))).

Since for all s,tUs,t\in U, if Po(π(s))=Po(π(t))P_{o}(\pi(s))=P_{o}(\pi(t)), then ϖ(s)=ϖ(t)\varpi(s)=\varpi(t), we know that AA is well defined.

Next, we show that conditions (1) and (3) stated in Def. 1 hold for AA, meaning that AA is a smart weak sensor attack.

We first show that Condition (1) in Def. 1 holds, i.e., A(Po(L(VA/G)))L(S)A(P_{o}(L(V\circ A/G)))\subseteq L(S). We first consider all sUs\in U. Since UL(Ψ)U\subseteq L(\Psi), by the definition of Ψ\Psi and Condition 2 of UU, we write string ss as s=s1srUs={\color[rgb]{0,0,0}s_{1}\cdots s_{r}\in U}, where si=(τi,1,ϵ,ϵ)(τi,li,ϵ,ϵ)(σi,σi,ui)s_{i}=(\tau_{i,1},\epsilon,\epsilon)\cdots(\tau_{i,l_{i}},\epsilon,\epsilon)(\sigma_{i},\sigma_{i},u_{i}) with r,l1,,lrr,l_{1},\cdots,l_{r}\in\mathbb{N}, 1ir1\leq i\leq r, σ1,,σrΣo\sigma_{1},\cdots,\sigma_{r}\in\Sigma_{o} and {τi,1,,τi,li}Σuo\{\tau_{i,1},\cdots,\tau_{i,l_{i}}\}\subseteq\Sigma_{uo} such that τj,pV(u1uj1)=EnS(δ(z0,u1uj1))\tau_{j,p}\in V(u_{1}\cdots u_{j-1})=En_{S}(\delta(z_{0},u_{1}\cdots u_{j-1})) (j=2,,rj=2,\cdots,r, 1plj1\leq p\leq l_{j}) and τ1,qV(ϵ)=EnS(z0)\tau_{1,q}\in V(\epsilon)=En_{S}(z_{0}) with 1ql11\leq q\leq l_{1}. Thus, ϖ(s)=u1urL(S)\varpi(s)=u_{1}\cdots u_{r}\in L(S), as all unobservable transitions are self-looped in SS. Thus, A(Po(π(s)))=ϖ(s)L(S)A(P_{o}(\pi(s)))=\varpi(s)\in L(S). For each string tL(VA/G)t\in L(V\circ A/G), there exists sπ1(t)ΣNs^{\prime}\in\pi^{-1}(t)\in\Sigma_{N}^{*} and, by the definition of AA, A(Po(π(s)))=A(Po(t))L(S)A(P_{o}(\pi(s^{\prime})))=A(P_{o}(t))\subseteq L(S).

Next, we show that Condition (3) in Def. 1 holds, that is, L(VA/G)LdamL(V\circ A/G)\cap L_{dam}\neq\varnothing. To see this, notice that L(VA/G)=π(U)L(V\circ A/G)=\pi(U) and since π(U)Ldam\pi(U)\cap L_{dam}\neq\varnothing, we have L(VA/G)LdamL(V\circ A/G)\cap L_{dam}\neq\varnothing. Thus, by Def. 1, AA is a smart weak sensor attack.

To show the ONLY IF part, assume that there exists a regular smart weak sensor attack AA represented by a finite-transducer 𝒜=(Y,Σoϵ×Δn,η,I,O,y0,Y)\mathcal{A}=(Y,\Sigma_{o}^{\epsilon}\times\Delta_{n},\eta,I,O,y_{0},Y). We construct Ψ\Psi as shown above and let U=L(Ψ)U=L(\Psi). Since 𝒜\mathcal{A} is a smart weak sensor attack, conditions (1) and (3) in Def. 1 hold. Clearly, UU is controllable and prefix closed. We know that π(U)Ldam=L(VA/G)Ldam\pi(U)\cap L_{dam}=L(V\circ A/G)\cap L_{dam}\neq\varnothing, due to Condition (3) in Def. 1. Due to the covertness condition in Def. 1, we know that, for all sUs\in U, we have ϖ(s)L(S)\varpi(s)\in L(S). By the definition of UU, we know that

π({ςΣN|sςU})=EnL(G)(π(s))EnS(ϖ(s)).\pi(\{\varsigma\in\Sigma_{N}|s\varsigma\in U\})=En_{L(G)}(\pi(s))\cap En_{S}(\varpi(s)).

Finally, because the attack model A:Po(L(G))ΔnA:P_{o}(L(G))\rightarrow\Delta_{n}^{*} is a map, which maps all strings observably identical to the same observable string acceptable by SS, by the definition of UU, we have

(sU)(tπ1(Po1(Po(π(s))))U)ϖ(s)=ϖ(t).(\forall s\in U)(\forall t\in\pi^{-1}(P_{o}^{-1}(P_{o}(\pi(s))))\cap U)\varpi(s)=\varpi(t).

Thus, all required conditions for UU hold. This completes the proof. \blacksquare

3. Proof of Theorem 3: (1) We first show the IF part. Assume that there exists a nonblocking resilient supervisor candidate 𝒮\mathcal{L}\subseteq\mathcal{S}_{*}. For each sPo(L(G))s\in P_{o}(L(G)), if sg()s\notin g(\mathcal{L}) then let V(s):=ΣucV(s):=\Sigma_{uc}; otherwise, for any ug1(s)u\in g^{-1}(s)\cap\mathcal{L}, let V(s):=[p(u)]V(s):=[p(u)]^{\uparrow}. For the latter case, we first show that V(s)V(s) is well defined. Assume that it is not true, then there exist u1,u2g1(s)u_{1},u_{2}\in g^{-1}(s)\cap\mathcal{L} such that u1u2u_{1}\neq u_{2} and [p(u1)][p(u2)][p(u_{1})]^{\uparrow}\neq[p(u_{2})]^{\uparrow}. But this violates Condition 1 of Def. 4, thus, contradicts our assumption that \mathcal{L} is a nonblocking resilient supervisor candidate. So VV must be well defined, that is, for each sPo(L(G))s\in P_{o}(L(G)), V(s)V(s) is uniquely defined.

Secondly, since [p(u)][p(u)]^{\uparrow} is a control pattern for ug1(s)u\in g^{-1}(s)\cap\mathcal{L}, it is clear that V(s)ΓV(s)\in\Gamma. Since VV maps all strings observably identical to a same control pattern, we know that L(V/G)L(V/G) is observable. Finally, by the third condition of Def. 4, it is clear that \mathcal{L} is nonblocking. By the construction of \mathcal{L}, and the second condition of Def. 4, where for all s^\hat{s}\in\mathcal{L},

g(En(s^))=Po(p(s^))g(Enζ(L(G))(s^)),g(En_{\mathcal{L}}(\hat{s}))=P_{o}(p(\hat{s}^{\uparrow}))\cap g(En_{\zeta(L(G))}(\hat{s})),

we can show that g()=Po(L(V/G))g(\mathcal{L})=P_{o}(L(V/G)). Thus, by the third condition of Def. 4, we have that VV is a nonblocking supervisory control map. Clearly, VV does not allow any weak sensor attack damage. Thus, it is resilient to any smart sensor attack, regardless of whether the attack is a strong or weak one.

(2) We now show the ONLY IF part. Assume that there exists a supervisor VV, which does not allow any smart sensor attack. Since each strong attack is also a weak attack, we will only need to consider weak sensor attacks. We define the following language \mathcal{L} induced from VV:

  1. i)

    ϵ\epsilon\in\mathcal{L};

  2. ii)

    (ϵ,V(ϵ))(\epsilon,V(\epsilon))\in\mathcal{L};

  3. iii)

    For all ss\in\mathcal{L}, and σPo(p(s))\sigma^{\prime}\in P_{o}(p(s)^{\uparrow}) and γΓ\gamma\in\Gamma,

    (σ,γ)Enζ(L(G))(s)s(σ,V(g(s)σ));(\sigma^{\prime},\gamma)\in En_{\zeta(L(G))}(s)\Rightarrow s(\sigma^{\prime},V(g(s)\sigma^{\prime}))\in\mathcal{L};
  4. iv)

    All strings in \mathcal{L} are generated in Steps (1)-(3).

Clearly, ζ(L(G))\mathcal{L}\subseteq\zeta(L(G)). Because VV is a resilient supervisor, by Theorem 1 we know that H\mathcal{L}\subseteq H - otherwise, there must exist a smart weak attack. By the construction of \mathcal{L}, we know that \mathcal{L} is conditionally controllable with respect to ζ(L(G))\zeta(L(G)) and {ϵ}×Γ\{\epsilon\}\times\Gamma. Thus, 𝒞(ζ(L(G)),H)\mathcal{L}\in\mathcal{C}(\zeta(L(G)),H), namely, 𝒮\mathcal{L}\subseteq\mathcal{S}_{*}. Since VV is a nonblocking supervisor, we can check that the first and last conditions in Def. 4 hold. Since ζ(L(G))\mathcal{L}\subseteq\zeta(L(G)), we know that g(En(s))g(Enζ(L(G))(s))g(En_{\mathcal{L}}(s))\subseteq g(En_{\zeta(L(G))}(s)). By Steps (iii)-(iv), we know that g(En(s))Po(p(s))g(En_{\mathcal{L}}(s))\subseteq P_{o}(p(s^{\uparrow})). Thus, we have g(En(s))Po(p(s))g(Enζ(L(G))(s))g(En_{\mathcal{L}}(s))\subseteq P_{o}(p(s^{\uparrow}))\cap g(En_{\zeta(L(G))}(s)). On the other hand, by Step (iii), we know that g(En(s))Po(p(s))g(Enζ(L(G))(s))g(En_{\mathcal{L}}(s))\supseteq P_{o}(p(s^{\uparrow}))\cap g(En_{\zeta(L(G))}(s)). Thus, we finally have

g(En(s))=Po(p(s))g(Enζ(L(G))(s)),g(En_{\mathcal{L}}(s))=P_{o}(p(s^{\uparrow}))\cap g(En_{\zeta(L(G))}(s)),

which means the second condition of Def. 4 holds. Thus, \mathcal{L} is a nonblocking resilient supervisor candidate, which completes the proof. \blacksquare

4. Proof of Theorem 4: (1) To show the IF part, assume that Ω\Omega is a control feasible reachable sub-automaton of 𝒫()\mathcal{P}(\mathcal{H}). Let :=L(Ω)\mathcal{L}:=L(\Omega). By condition (1) of Def. 5, we know that \mathcal{L} is conditionally controllable with respect to ζ(L(G))\zeta(L(G)) and {ϵ}×Γ\{\epsilon\}\times\Gamma. Thus, 𝒞(ζ(L(G)),H)\mathcal{L}\in\mathcal{C}(\zeta(L(G)),H). For all ss\in\mathcal{L} and tg1(g(s))t\in g^{-1}(g(s))\cap\mathcal{L}, let (σ,U,x1,σ,γ1,r1),(σ,U,x2,σ,γ2,r2)QΩ(\sigma,U,x_{1},\sigma,\gamma_{1},r_{1}),(\sigma,U,x_{2},\sigma,\gamma_{2},r_{2})\in Q_{\Omega} be induced by ss and tt with σ=g(s)=g(t)\sigma=g(s)^{\uparrow}=g(t)^{\uparrow}. Then by condition (2) of Def. 5, we have γ1=γ2\gamma_{1}=\gamma_{2}. Thus, the first condition in Def. 4 holds. In addition, we have

En(s):=q=(g(s),U,x,g(s),γ,r)ΞΩ(q0,𝒫,s)EnΩ(q).En_{\mathcal{L}}(s):=\bigcup_{q=(g(s)^{\uparrow},U,x,g(s)^{\uparrow},\gamma,r)\in\Xi_{\Omega}(q_{0,\mathcal{P}},s)}En_{\Omega}(q).

By condition (3) of Def. 5, we have g(EnΩ(q))=Po(γ)g(EnGζ(x,g(s),γ))g(En_{\Omega}(q))=P_{o}(\gamma)\cap g(En_{G_{\zeta}}(x,g(s)^{\uparrow},\gamma)), by condition (4) of Def. 5, we have

(σ,U,x,σ,γ,r)ΞΩ(q0,𝒫,s)EnGζ(x,σ,γ)=Enζ(L(G))(s),\bigcup_{(\sigma,U,x,\sigma,\gamma,r)\in\Xi_{\Omega}(q_{0,\mathcal{P}},s)}En_{G_{\zeta}}(x,\sigma,\gamma)=En_{\zeta(L(G))}(s),

where σ=g(s)\sigma=g(s)^{\uparrow}. Thus, we conclude that g(En(s))=Po(p(s))g(Enζ(L(G))(s))g(En_{\mathcal{L}}(s))=P_{o}(p(s^{\uparrow}))\cap g(En_{\zeta(L(G))}(s)), namely the second condition of Def. 4 holds. Finally, since Ω\Omega is co-reachable, and together with condition (4) of Def. 5, we know that \mathcal{L} is nonblocking. Thus, by Def. 4, \mathcal{L} is a nonblocking resilient supervisor candidate of 𝒮\mathcal{S}_{*}.

(2) To show the ONLY IF part, assume that there exists a nonblocking resilient supervisor candidate 𝒮\mathcal{L}\subseteq\mathcal{S}_{*}. We need to show that there exists a control feasible sub-automaton Ω\Omega of 𝒫()\mathcal{P}(\mathcal{H}). We construct a sub-automaton 𝒫():=(Q,Σoϵ×Γ,Ξ,q0,𝒫,Qm,)\mathcal{P}(\mathcal{H})_{\mathcal{L}}:=(Q_{\mathcal{L}},\Sigma_{o}^{\epsilon}\times\Gamma,\Xi_{\mathcal{L}},q_{0,\mathcal{P}},Q_{m,\mathcal{L}}), where

Q:={qQ𝒫|(s)qΞ𝒫(q0,𝒫,s)},Q_{\mathcal{L}}:=\{q\in Q_{\mathcal{P}}|(\exists s\in\mathcal{L})q\in\Xi_{\mathcal{P}}(q_{0,\mathcal{P}},s)\},

and Qm,:=QQm,𝒫Q_{m,\mathcal{L}}:=Q_{\mathcal{L}}\cap Q_{m,\mathcal{P}}. The transition map Ξ\Xi_{\mathcal{L}} is the restriction of Ξ𝒫\Xi_{\mathcal{P}} over QQ_{\mathcal{L}}.

Let Ω\Omega be the sub-automaton 𝒫()\mathcal{P}(\mathcal{H})_{\mathcal{L}}. Since \mathcal{L} is a supervisor candidate, by the first condition of Def. 4, we have the following property:

(s){[p(t)]|tg1(g(s))}={p(s)}.()(\forall s\in\mathcal{L})\{[p(t)]^{\uparrow}|t\in g^{-1}(g(s))\cap\mathcal{L}\}=\{p(s)^{\uparrow}\}.\hskip 28.45274pt(*)

By the construction of 𝒫()\mathcal{P}(\mathcal{H}), we know that for each state reachable by ss, say (g(s),Us,qs)(g(s)^{\uparrow},U_{s},q_{s}), and each state reachable by tg1(g(s))t\in g^{-1}(g(s))\cap\mathcal{L}, say (g(t),Ut,qt)(g(t)^{\uparrow},U_{t},q_{t}), we have Us=UtU_{s}=U_{t}. Thus, if qs=(xs,g(s),γs,rs)q_{s}=(x_{s},g(s)^{\uparrow},\gamma_{s},r_{s}) and qt=(xt,g(t),γt,rt)q_{t}=(x_{t},g(t)^{\uparrow},\gamma_{t},r_{t}), by the property ()(*), we have γs=γt\gamma_{s}=\gamma_{t}, which means the second condition of Def. 5 holds. Based on the construction of Ω\Omega, it is also clear that the condition (1) of Def. 5 holds because 𝒫()\mathcal{P}(\mathcal{L})_{\mathcal{L}} is conditionally controllable due to the conditional controllability of \mathcal{L}. Because 𝒫()\mathcal{P}(\mathcal{H})_{\mathcal{L}} is derived from a language \mathcal{L}, the fourth condition of Def. 5 holds for 𝒫()\mathcal{P}(\mathcal{H})_{\mathcal{L}}. In addition, since \mathcal{L} is a resilient supervisor candidate, by the second condition of Def. 4, we know that the third condition of Def. 5 holds. Finally, since \mathcal{L} is nonblocking, based on Def. 3, we know that each state in Ω\Omega must be co-reachable. This completes the proof that Ω\Omega is indeed control feasible. \blacksquare

References

  • [1] Dibaji, S. M., Pirani, M., Flamholz, D. B., Annaswamy, A. M., Johansson, K. H., & Chakrabortty, A. (2019). A systems and control perspective of CPS security. Annual Reviews in Control, 47: 394–411.
  • [2] Carvalho, L. K., Wu, Y.-C., Kwong, R., & Lafortune, S. (2016). Detection and prevention of actuator enablement attacks in supervisory control systems. In Proceedings of the 13th International Workshop on Discrete Event Systems (WODES), pp. 298–305.
  • [3] Lima, P., Alves, M. V., Carvalho, L., & Moreira, M. (2017). Security against network attacks in supervisory control systems. IFACPapersOnLine, 50(1):12333–12338.
  • [4] Lima, P., Carvalho, L., & Moreira, M. (2018). Detectable and undetectable network attack security of cyber-physical systems. IFACPapersOnLine, 51(7):179–185.
  • [5] Gao, C., Seatzu, C., Li, Z., & Giua, A. (2019). Multiple attacks detection on discrete event systems. In Proceedings of 2019 IEEE International Conference on Systems, Man and Cybernetics (SMC), pp. 2352–2357.
  • [6] Carvalho, L., Wu, Y., Kwong, R., & Lafortune, S. (2018). Detection and mitigation of classes of attacks in supervisory control systems. Automatica, 97:121–133.
  • [7] Wang, Y., & Pajic, M. (2019a). Attack-resilient supervisory control with intermittently secure communication. In Proceedings of the 58th IEEE Conference on Decision and Control (CDC), pp. 2015–2022.
  • [8] Wang, Y., & Pajic, M. (2019b). Supervisory control of discrete event systems in the presence of sensor and actuator attacks. In Proceedings of the 58th IEEE Conference on Decision and Control (CDC), pp. 5350–5355.
  • [9] Su, R. (2017). A cyber attack model with bounded sensor reading alterations. In Proceedings of 2017 American Control Conference (ACC), pp. 3200–3205.
  • [10] Su, R. (2018). Supervisor synthesis to thwart cyber attack with bounded sensor reading alterations. Automatica, 94:35–44.
  • [11] Meira-Góes, R., Kang, E., Kwong, R., & Lafortune, S. (2017). Stealthy deception attacks for cyber-physical systems. In Proceedings of the 56th IEEE Conference on Decision and Control (CDC), pp. 4224–4230.
  • [12] Meira-Góes, R., Kang, E., Kwong, R., & Lafortune, S. (2020). Synthesis of sensor deception attacks at the supervisory layer of cyber-physical systems. Automatica, 121:109172 (online access).
  • [13] Meira-Góes, R., Kwong, R., & Lafortune, S. (2019). Synthesis of sensor deception attacks for systems modeled as probabilistic automata. In Proceedings of 2019 American Control Conference (ACC), pp. 5620–5626.
  • [14] Lin, L., Thuijsman, S., Zhu, Y., Ware, S., Su, R., & Reniers, M. (2019a). Synthesis of supremal successful normal actuator attackers on normal supervisors. In Proceedings of 2019 American Control Conference (ACC), pp. 5614–5619.
  • [15] Lin, L., & Su, R. (2021). Synthesis of covert actuator and sensor attackers. Automatica , 130:109714 (early access).
  • [16] Lin, L., Zhu, Y., & Su, R. (2019b). Towards bounded synthesis of resilient supervisors. In Proceedings of the 58th IEEE Conference on Decision and Control (CDC), pp. 7659–7664.
  • [17] Lin, L., Zhu, Y., & Su, R. (2020). Synthesis of covert actuator attackers for free. Journal of Discrete Event Dynamic Systems, 30:561-577.
  • [18] Zhu, Y., Lin, L., & Su, R. (2019). Supervisor obfuscation against actuator enablement attack. In Proceedings of 2019 European Control Conference (ECC), pp. 1760–1765.
  • [19] Wakaiki, M., Tabuada, P., & Hespanha, J. P. (2019). Supervisory control of discrete-event systems under attacks. Dynamic Games and Applications, 9(4):965-983.
  • [20] Fritz, R., & Zhang, P. (2018). Modeling and detection of cyber attacks on discrete event systems. In Proceedings of the 14th International Workshop on Discrete Event Systems (WODES), pp. 285-290.
  • [21] Khoumsi, A. (2019). Sensor and actuator attacks of cyber-physical systems: a study based on supervisory control of discrete event systems. In Proceedings of the 8th International Conference on Systems and Control (ICSC), pp. 176-182.
  • [22] Lin, F., & Wonham, W. M. (1988). On observability of discrete-event systems. Information Sciences, 44(3), 173-198.
  • [23] Ramadge, P. J., & Wonham, W. M. (1987). Supervisory control of a class of discrete event systems. SIAM J. Control and Optimization, 25(1), 206–230.
  • [24] Su, R., Van Schuppen, J. H., & Rooda, J. E. (2010). Aggregative synthesis of distributed supervisors based on automaton abstraction. IEEE Trans. Automatic Control, 55(7), 1627-1640.
  • [25] Su, R., Van Schuppen, J. H., & Rooda, J. E. (2012). Maximally permissive coordinated distributed supervisory control of nondeterministic discrete-event systems. Automatica, 48(7), 1237-1247.
  • [26] Wonham, W. M. (2014). Supervisory Control of Discrete-Event Systems. Systems Control Group, Dept. of ECE, University of Toronto. URL: www.control.utoronto.ca/DES.
  • [27] Wonham, W. M., & Ramadge, P. J. (1987). On the supremal controllable sublanguage of a given language. SIAM J. Control and Optimization, 25(3), 637-659.
  • [28] Paoli, A., Sartini, M., & Lafortune, S. (2011). Active fault tolerant control of discrete event systems using online diagnostics. Automatica, 47(4), 639-649.
  • [29] Rasouli, M., Miehling, E., & Teneketzis, D. (2014). A supervisory control approach to dynamic cyber-security. Proceedings of 2014 International Conference on Decision and Game Theory for Security, (pp. 99-117).
  • [30] TCT: A Computation Tool for Supervisory Control Synthesis. http://www.control.utoronto.ca/DES/Research.html.
  • [31] SuSyNA: Supervisor Synthesis for Nondeterministic Automata. http://www.ntu.edu.sg/home/rsu/Downloads.htm.
  • [32] Alves, M., Basilio, J. C., da Cunha, A., Carvalho, L. K., & Moreira, M. V. (2014). Robust supervisory control against intermittent loss of observations. Proceedings of the 12th Int. Workshop on Discrete Event Syst., (pp. 294-299).
  • [33] Yin, X., & Lafortune, S. (2016). Synthesis of maximally permissive supervisors for partially observed discrete event systems. IEEE Trans. Automatic Control, 61(5), 1239-1254.
  • [34] Sampath, M., Sengupta, R., Lafortune, S., Sinnamohideen, K., & Teneketzis, D. (1995). Diagnosability of discrete-event systems. IEEE Trans. on Automatic Control, 40(9), 1555-1575.
  • [35] Meira-Goes, R., Marchand, H., & Lafortune, S. (2019). Towards resilient supervisors against sensor deception attacks. Proceedings of the IEEE 58th Conference on Decision and Control, (pp. 5144-5149).
  • [36] Meira-Goes, R., Lafortune, S., & Marchand, H. (2021). Synthesis of supervisors robust against sensor deception attacks. IEEE Transactions on Automatic Control, 66(10), 4990-4997.
  • [37] Meira-Góes, R., Kwong, R., & Lafortune, S. (2021). Synthesis of optimal multi-objective attack strategies for controlled systems modeled by probabilistic automata. IEEE Transactions on Automatic Control, 10.1109/TAC.2021.3094737 (early access).