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

Modeling and Analysis of Networked Discrete Event Systems
with Multiple Control Channels

Zhaocong Liu, Junyao Hou, Xiang Yin and Shaoyuan Li This work was supported by the National Natural Science Foundation of China (61803259, 61833012) and by Shanghai Jiao Tong University Scientific and Technological Innovation Funds.Zhaocong Liu, Junyao Hou, Xiang Yin and Shaoyuan Li are with Department of Automation and Key Laboratory of System Control and Information Processing, Shanghai Jiao Tong University, Shanghai 200240, China E-mail: {zhaocongl,houjunyao,yinxiang}@sjtu.edu.cn.
Abstract

In this paper, we propose a novel framework for modeling and analysis of networked discrete-event systems (DES). We assume that the plant is controlled by a feedback supervisor whose control decisions are subject to communication delays and losses. Furthermore, we consider a general setting where the supervisor sends control decisions to different actuators via different communication channels whose dynamics are independent. We provide a system theoretic approach by identifying the state-space of overall networked system and investigating the dynamic of the entire state-space. Our approach precisely specifies the roles of the supervisor, the communication channels and the actuators. Also, we compare the proposed networked DES model with the existing one and show that the proposed networked model captures physical situations of networked systems more precisely.

I Introduction

Supervisory control theory (SCT) in the context of Discrete Event Systems (DESs) is a formal approach for the synthesis of correct-by-construction controllers for dynamic systems. The SCT has been extensively investigated for more than thirty years since the seminal work of Ramadge and Wonham [20]. Nowadays, in many modern applications, supervisors are connected with plants via communication networks to transmit data, e.g., control decisions or sensor readings. This leads to the so called networked discrete event systems, which have drawn considerable attention in the past few years; see, e.g., [7, 12, 15, 10, 26, 1, 16, 8, 5, 9].

Compared with non-networked control architecture, one of the most important features of networked control architecture is that the control decision module, e.g., the supervisor, may not be embedded in the plant but are connected with plants via networks. In many applications, for example, this is due to physical constraints because sensors, actuators and supervisors are physically distributed, in particular, for large-scale systems. Moreover, the networked control architecture provides more flexibility for the implementation of the supervisors. For example, one can implement the supervisor in the cloud by utilizing more powerful computational resources.

On the other hand, transmitting data over networks is sometimes unreliable due to communication delays and losses; this is particularly the case in process industries with severe operation environments [11]. Therefore, the central problem in networked DES is to appropriately handle communication delays and losses in the control/observation channels, which is an active research direction in the literature. For example, in [3, 22, 23], I/O automata are used to model networked DES with communication delays. In [13, 24], the robustness of supervisors with networks has been investigated. Timing issue has also been considered in networked DES by [15, 14, 25, 24, 2].

In the recent work of Lin [7] and its subsequential works [17, 6, 19, 18], a language-based framework is proposed for modeling and control of networked DES. In particular, communication delays and losses are considered in both the control channel and the observation channel. In this framework, necessary and sufficient conditions for the existence of a supervisor as well as supervisor synthesis procedures have been investigated extensively. Our work is motivated by the language-based framework proposed by Lin. However, we aim to further explore more practical networked DES models by considering the following two issues that have not been fully addressed in [7]:

  • The control decision in the framework of [7] is sent as a “package" to all actuators; this corresponds to the case of a single control channel. In practice, actuators in the plant may be physically distributed and, therefore, different actuators, which correspond to different controllable events, may receive decisions from the supervisor by different control channels.

  • The closed-loop language defined in [7] is an over-approximation of the exact language of the networked systems. Particularly, there may exist physically infeasible strings in the closed-loop language defined in [7]; an example for such a scenario is provided in Section V.

Refer to caption
Figure 1: Networked supervisory control architecture with multiple control channels considered in this work.

In this work, we investigate the networked supervisory control architecture depicted in Figure 1, where the supervisor sends control decisions to different actuators via different control channels whose dynamics are independent and all channels may be subject to communication delays and losses. To focus on investigating the effect of delays and losses in multiple control channels, we assume that the observation channel is perfect with full observation. Our approach is from a system theoretic perspective by identifying the state-space of overall networked system and investigating the dynamic of the entire state-space. Such “states" of the entire networked systems are referred to as network configurations. In particular, we explicitly distinguish the roles of the supervisor, the communication channels and the actuators because the current control decision issued by the supervisor may not be the current control decision applied in the actuator. In particular, we show that, compared with the closed-loop language defined in [7], our definition of closed-loop language is more precise in the sense that it excludes those strings that are physically infeasible.

Our work is most related to the recent work of [26], where FIFO channel automata are proposed to model the dynamic of the communication channels. However, the model in [26] is for the case of single control channel, while our new dynamic model captures the nature of multiple control channels. In the literature of networked DES, the effect of multiple observation channels has been investigated very recently for the purpose of state estimation and detection [9, 1, 21]. However, to the best of our knowledge, the effect of multiple control channels in the context of networked DES has never been considered. Furthermore, we explicitly compare the closed-loop language in our framework with the one in [7], which is also not considered in [26].

The remainder of this paper is organized as follows. In Section II, we introduce some necessary notations and present multi-channel setting. Modeling and analysis of communication delays and communication losses in each single control channel are provided in Section III. In Section IV, we propose the closed-loop dynamics of the overall system consisting of multiple control channels. The comparison between our framework and the framework in [7] is provided in Section V.

II Networked Supervisory Control

II-A Standard Supervisory Control

We consider a DES modeled as a deterministic finite-state automaton (DFA)

𝐆=(Q,Σ,δ,q0),\mathbf{G}=(Q,\Sigma,\delta,q_{0}),

where QQ is the finite set of states, Σ\Sigma is the finite set of events, δ:Q×ΣQ\delta:Q\times\Sigma\to Q is the (partial) transition function and q0Qq_{0}\in Q is the initial state. The transition function can be extended to δ:Q×ΣQ\delta:Q\times\Sigma^{*}\to Q recursively in the usual manner; see, e.g., [4]. A string is a sequence of events in the form of s=σ1σ2σn,σiΣs=\sigma_{1}\sigma_{2}\cdots\sigma_{n},\sigma_{i}\in\Sigma; a language is a set of strings. We denote by Σ\Sigma^{*} the set of all strings over Σ\Sigma including the empty string ϵ\epsilon. Then the language generated by DFA 𝐆\mathbf{G} is (𝐆)={sΣ:δ(q0,s)!}\mathcal{L}(\mathbf{G})=\{s\in\Sigma^{*}:\delta(q_{0},s)!\}, where !! means “is defined". For any positive natural number NN\in\mathbb{N}, we denote by [1,N][1,N] the set of natural numbers from 11 to NN.

In the supervisory control framework, the event set is partitioned as two disjoint sets

Σ=Σc˙Σuc,\Sigma=\Sigma_{c}\dot{\cup}\Sigma_{uc},

where Σc\Sigma_{c} is the set of controllable events and Σuc\Sigma_{uc} is the set of uncontrollable events. A supervisor is a function

Sup:(G)2Σc,\textbf{{Sup}}:\mathcal{L}(G)\to 2^{\Sigma_{c}}, (1)

that dynamically decides which controllable events to enable. Note that uncontrollable events are always enabled by default. Then the closed-loop language under control, denoted by (Sup/𝐆)\mathcal{L}(\textbf{{Sup}}/\mathbf{G}), is defined recursively by

  • ϵ(Sup/𝐆)\epsilon\in\mathcal{L}(\textbf{{Sup}}/\mathbf{G});

  • for any sΣ,σΣs\in\Sigma^{*},\sigma\in\Sigma, we have sσ(Sup/𝐆)s\sigma\in\mathcal{L}(\textbf{{Sup}}/\mathbf{G}) iff

    [s(Sup/𝐆)][sσ(𝐆)][σSup(s)Σuc].[s\in\mathcal{L}(\textbf{{Sup}}/\mathbf{G})]\wedge[s\sigma\in\mathcal{L}(\mathbf{G})]\wedge[\sigma\in\textbf{{Sup}}(s)\cup\Sigma_{uc}].

Intuitively, the above definition says that sσs\sigma is in the closed-loop language if (i) ss is in the closed-loop language; and (ii) sσs\sigma is feasible in 𝐆\mathbf{G}; and (iii) σ\sigma is either uncontrollable or enabled by Sup upon the occurrence of ss.

II-B Supervisor Implementation over Networks

Note that we can write supervisor Sup in Equation (1) equivalently as

Sup:(𝐆)×Σc{0,1},\textbf{{Sup}}:\mathcal{L}(\mathbf{G})\times\Sigma_{c}\to\{\textbf{0},\textbf{1}\}, (2)

where “0" means “disable" and “1" means “enable".

Although supervisors defined in Equations (1) and (2) are mathematically equivalent, their physical interpretations in terms of how the supervisor is implemented are quite different. Specifically, Equation (1) suggests that, at each instant, the supervisor sends control decision Sup(s)\textbf{{Sup}}(s) as a package to the plant. However, in practice, each controllable event represents a single actuator and actuators in the plant may be physically distributed. Therefore, Equation (2) captures a more general scenario where the supervisor sends control decision Sup(s)(σ)\textbf{{Sup}}(s)(\sigma) (disable or enable) to each σ\sigma individually. This difference is crucial in the networked setting as the supervisor may send control decisions to different actuators by different communication channels whose network properties (delays or losses) are different and independent.

In general, the system has |Σc||\Sigma_{c}| actuators. Hereafter, for the sake of simplicity, we assume that event set Σ\Sigma is ordered so that the first |Σc||\Sigma_{c}| events in Σ\Sigma are controllable with Σc={σ1,σ2,,σ|Σc|}\Sigma_{c}=\{\sigma_{1},\sigma_{2},\cdots,\sigma_{|\Sigma_{c}|}\}. For each σiΣc\sigma_{i}\in\Sigma_{c}, the corresponding actuator is denoted by Acti\textbf{{Act}}_{i}. Also, for the sake of simplicity, we write

Supi(s):=Sup(s)(σi),\textbf{{Sup}}_{i}(s):=\textbf{{Sup}}(s)(\sigma_{i}),

which is the control decision (0 or 1) the supervisor sends to Acti\textbf{{Act}}_{i} upon the occurrence of string ss in the plant. In the non-networked setting, this decision will be received by Acti\textbf{{Act}}_{i} immediately and take effect. However, in the networked setting, the decision for σi\sigma_{i} is transmitted to Acti\textbf{{Act}}_{i} via the corresponding control channel denoted by Channeli\textbf{{Channel}}_{i}, which may be subject to the following issues:

  • Control Delays: decision Supi(s)\textbf{{Sup}}_{i}(s) may be delayed in the sense that it will go to Channeli\textbf{{Channel}}_{i} and is not received by Acti\textbf{{Act}}_{i} immediately but after some delays.

  • Control Losses: decision Supi(s)\textbf{{Sup}}_{i}(s) may be lost in the sense that it will not go to Channeli\textbf{{Channel}}_{i}, and therefore, it will never be received by Acti\textbf{{Act}}_{i}.

Note that, in this work, we only focus on the issue of delays and losses in control channels. The observation channels are assumed to be perfect with full observation. To present our framework, we make the following assumptions on the control channels:

  1. A1

    For each Channeli\textbf{{Channel}}_{i}, the number of consecutive decision losses is upper bounded by integer NiLN_{i}^{L}\in\mathbb{N};

  2. A2

    For each Channeli\textbf{{Channel}}_{i}, the number of control delays is upper bounded by integer NiDN_{i}^{D}\in\mathbb{N};

  3. A3

    The number of delays or losses are counted by event occurrences in the plant;

  4. A4

    For each Channeli\textbf{{Channel}}_{i}, decisions in the channel are first-in-first-out (FIFO);

  5. A5

    The initial control decisions are embedded in each Acti\textbf{{Act}}_{i}; hence are not subject to control delays or losses;

  6. A6

    The dynamic of each Channeli,i=1,,|Σc|\textbf{{Channel}}_{i},i=1,\dots,|\Sigma_{c}| are independent, i.e., delays or losses in one channel will not affect delays or losses in another channel.

In the following sections, we will formally describe the dynamics of such a networked supervisory control system.

III Delays and Losses in Single Channel

Since control channels are independent, in this section, we focus on modeling and analysis of each single channel. Specifically, we provide a framework to explicitly capture the issues of delays and losses from a system theoretic perspective.

III-A State Space for Control Networks

In the system theory, states are referred to as variables with minimum number that are sufficient enough to represent the current status of the dynamic system. In the standard supervisory control framework, string s(Sup/𝐆)s\in\mathcal{L}(\textbf{{Sup}}/\mathbf{G}) executed is sufficient enough to serve as the “state" of the system as it determines both the current-state δ(q0,s)\delta(q_{0},s) in the plant and the current control decision Sup(s)\textbf{{Sup}}(s) applied (when Sup is realized by a finite-state automaton, it further suffices to know the current-state in the supervisor automaton). However, this information is not sufficient to determine the current status of a networked control system as the current control decision issued and the current control decision applied may be different due to communication delays and losses.

Now, we provide a general state-space model for networked supervisory control systems. The “state" of the networked closed-loop system contains four components:

  1. (i)

    The states of the plant and the supervisor; both can be determined by string s(𝐆)s\in\mathcal{L}(\mathbf{G}) executed.

  2. (ii)

    The configuration of each actuator Acti\textbf{{Act}}_{i} representing the current effective control decision (0 or 1) for σi\sigma_{i}.

  3. (iii)

    The configuration of each control channel Channeli\textbf{{Channel}}_{i}, which captures what decisions are waiting in the channel and in what order. Formally, for each Channeli\textbf{{Channel}}_{i}, the channel configuration for σi\sigma_{i} is a set of pairs in the form of

    θi={(γ1,n1),(γ2,n2),,(γk,nk)}\theta_{i}=\{(\gamma_{1},n_{1}),(\gamma_{2},n_{2}),\dots,(\gamma_{k},n_{k})\}

    where γj{0,1}\gamma_{j}\in\{\textbf{0},\textbf{1}\} and nj[1,NiD]n_{j}\in[1,N_{i}^{D}]. We denote by Θi\Theta_{i} the set of all channel configurations for Channeli\textbf{{Channel}}_{i}. Intuitively, for each (γ,n)θi(\gamma,n)\in\theta_{i}, γ{0,1}\gamma\in\{\textbf{0},\textbf{1}\} represents a disable or enable decision while nn represents the maximum remaining time of γ\gamma in the channel.

  4. (iv)

    Finally, for the case of decision losses, we also need a counter to capture the number of consecutive decision losses for each channel.

Hereafter, we will discuss how this state-space evolves, i.e., the dynamics of the networked control system. We first discuss the issues of communication delays and losses separately and then show how to combine them together.

III-B Communication Delays

For the case of control delays, in addition to the current string executed s(𝐆)s\in\mathcal{L}(\mathbf{G}), we also need to track the current channel configuration θiΘi\theta_{i}\in\Theta_{i} and the current actuator configuration ai{0,1}a_{i}\in\{\textbf{0},\textbf{1}\}. For any θiΘi\theta_{i}\in\Theta_{i}, we define operator NX:ΘiΘi\textsc{NX}:\Theta_{i}\to\Theta_{i} by

NX(θi)={(γ,n1):(γ,n)θin>1}\textsc{NX}(\theta_{i})=\{(\gamma,n-1):(\gamma,n)\in\theta_{i}\wedge n>1\}

which decreases the remaining time of each control decision in the channel by one unit.

Now, for controllable event σiΣc\sigma_{i}\in\Sigma_{c}, suppose that the current actuator configuration for Acti\textbf{{Act}}_{i} is ai{0,1}a_{i}\in\{\textbf{0},\textbf{1}\} and the current channel configuration Channeli\textbf{{Channel}}_{i} is θi={(γ1,n1),(γ2,n2),,(γk,nk)}Θi\theta_{i}=\{(\gamma_{1},n_{1}),(\gamma_{2},n_{2}),\dots,(\gamma_{k},n_{k})\}\in\Theta_{i}. Suppose that Supi\textbf{{Sup}}_{i} sends a new decision γ{0,1}\gamma\in\{\textbf{0},\textbf{1}\}. We are interested in what are the next actuator configuration and channel configuration for σi\sigma_{i}. To this end, we define operator

MoveiD:{0,1}×Θi×{0,1}2{0,1}×Θi\texttt{Move}_{i}^{D}:\{\textbf{0},\textbf{1}\}\times\Theta_{i}\times\{\textbf{0},\textbf{1}\}\to 2^{\{\textbf{0},\textbf{1}\}\times\Theta_{i}}

by: for any (ai,θi){0,1}×Θi(a_{i},\theta_{i})\in\{\textbf{0},\textbf{1}\}\times\Theta_{i} and γ{0,1}\gamma\in\{\textbf{0},\textbf{1}\}, we have

  • If θi=\theta_{i}=\emptyset, then

    MoveiD(ai,θi,γ)={(γ,),(ai,{(γ,NiD)})}\texttt{Move}_{i}^{D}(a_{i},\theta_{i},\gamma)=\{(\gamma,\emptyset),(a_{i},\{(\gamma,N_{i}^{D})\})\} (3)
  • If θi\theta_{i}\neq\emptyset and nmin=1n_{min}=1, then

    MoveiD(ai,θi,γ)={(γmin,NX(θi){(γ,NiD)})}\texttt{Move}_{i}^{D}(a_{i},\theta_{i},\gamma)=\{(\gamma_{min},\textsc{NX}(\theta_{i})\cup\{(\gamma,N_{i}^{D})\})\} (4)
  • If θi\theta_{i}\neq\emptyset and nmin>1n_{min}>1, then

    MoveiD(ai,θi,γ)\displaystyle\texttt{Move}_{i}^{D}(a_{i},\theta_{i},\gamma) (5)
    =\displaystyle= {(ai,NX(θi){(γ,NiD)}),(γmin,NX(θi{(γmin,nmin)}){(γ,NiD)})}\displaystyle\left\{\!\!\begin{array}[]{c c}(a_{i},\textsc{NX}(\theta_{i})\cup\{(\gamma,N_{i}^{D})\}),\\ (\gamma_{min},\textsc{NX}(\theta_{i}\setminus\{(\gamma_{min},n_{min})\})\cup\{(\gamma,N_{i}^{D})\})\end{array}\!\!\right\} (8)

    where (γmin,nmin)θ(\gamma_{min},n_{min})\in\theta is the pair such that nmin=min{n1,,nk}n_{min}=\min\{n_{1},\dots,n_{k}\}.

Intuitively, MoveiD\texttt{Move}_{i}^{D} captures how the configurations of Channeli\textbf{{Channel}}_{i} and Acti\textbf{{Act}}_{i} evolve when a new decision is issued. Note that MoveiD\texttt{Move}_{i}^{D} is a non-deterministic transition function as control delay may happen or not. More precisely:

  • Equation (3) captures the case when Channeli\textbf{{Channel}}_{i} is empty. Depending on whether or not control delay occurs, there are two scenarios

    • Decision γ\gamma is received by Acti\textbf{{Act}}_{i} without delay: then the configuration of Acti\textbf{{Act}}_{i} will be updated to γ\gamma and the configuration of Channeli\textbf{{Channel}}_{i} is still \emptyset;

    • Decision γ\gamma is delayed in Channeli\textbf{{Channel}}_{i}: then the configuration of Acti\textbf{{Act}}_{i} will be unchanged while the configuration of Channeli\textbf{{Channel}}_{i} will be updated to {(γ,NiD)}\{(\gamma,N_{i}^{D})\}, where NiDN_{i}^{D} is the upper bound for delays.

  • Equation (4) captures the case when Channeli\textbf{{Channel}}_{i} is full in the sense that there exists a control decision γmin\gamma_{min} with only one unit left, i.e., nmin=1n_{min}=1. Since we consider FIFO channel, Acti\textbf{{Act}}_{i} will receive γmin\gamma_{min} definitely and the remaining times of all other decisions in Channeli\textbf{{Channel}}_{i} will be decreased by one unit with new decision (γ,NiD)(\gamma,N_{i}^{D}) plugged in.

  • Equation (5) captures the case when Channeli\textbf{{Channel}}_{i} is non-empty but is also not full. Then the following two scenarios are possible

    • No decision is received by Acti\textbf{{Act}}_{i}. In this case, the actuator configuration remains unchanged and the channel configuration is updated to NX(θi){(γ,NiD)}\textsc{NX}(\theta_{i})\cup\{(\gamma,N_{i}^{D})\}.

    • Decision γmin\gamma_{min} is received by Acti\textbf{{Act}}_{i}. In this case, the actuator configuration is updated to γmin\gamma_{min} and the channel configuration is updated by eliminating γmin\gamma_{min} and adding γ\gamma. Still, no decision whose remaining time is greater than nminn_{min} can be received due to the FIFO property of the channel.

Remark 1

Note that, in Θi\Theta_{i}, the domain of each (γ,n)Θi(\gamma,n)\in\Theta_{i} is {0,1}×[1,NiD]\{\textbf{0},\textbf{1}\}\times[1,N_{i}^{D}]. Therefore, when NiD=0N_{i}^{D}=0, i.e., Channeli\textbf{{Channel}}_{i} is not suffering from control delay, the channel configuration is always empty, i.e., θi=\theta_{i}=\emptyset. In this case, operator MoveiD\texttt{Move}_{i}^{D} is always in the form of

MoveiD(ai,,γ)=(γ,),ai,γ{0,1}.\texttt{Move}_{i}^{D}(a_{i},\emptyset,\gamma)=(\gamma,\emptyset),\forall a_{i},\gamma\in\{\textbf{0},\textbf{1}\}.

This recovers the standard non-networked setting, where we do not need to specify the actuator configuration separately because it is always the case that the actuator configuration is the same as the latest control decision made by the supervisor. However, separating the roles of Acti\textbf{{Act}}_{i} and Supi\textbf{{Sup}}_{i} is crucial in our networked setting.

We illustrate the above concepts for the case of communication delays by the following example.

Example 1

Consider system 𝐆\mathbf{G} shown in Figure 2 with Σ={σ1,σ2,σ3},Σc={σ1,σ2}\Sigma=\{\sigma_{1},\sigma_{2},\sigma_{3}\},\Sigma_{c}=\{\sigma_{1},\sigma_{2}\}. Suppose that 𝐆\mathbf{G} is controlled by a given supervisor Sup. Since we assume that the system is fully observed, the vector associated with each state denotes the control decision of Sup for each σi\sigma_{i}. For example, (0,0)(\textbf{0},\textbf{0}) at state 11 represents that the initial control decisions are Sup1(ϵ)=0\textbf{{Sup}}_{1}(\epsilon)=\textbf{0} and Sup2(ϵ)=0\textbf{{Sup}}_{2}(\epsilon)=\textbf{0}.

Now, let us consider how Channel2\textbf{{Channel}}_{2} for event σ2\sigma_{2} evolves under communication delays. Here we assume N2D=2N_{2}^{D}=2. Initially, the configuration for Act2\textbf{{Act}}_{2} is a2=Sup2(ϵ)=0a_{2}=\textbf{{Sup}}_{2}(\epsilon)=\textbf{0} and the configuration for Channel2\textbf{{Channel}}_{2} is θ2=\theta_{2}=\emptyset. When new event σ3\sigma_{3} occur, the supervisor sends γ=Sup2(σ3)=0\gamma=\textbf{{Sup}}_{2}(\sigma_{3})=\textbf{0} to Channel2\textbf{{Channel}}_{2} and we update the configurations to

Move2D(0,,0)={(0,),(0,{(0,2)})},\texttt{Move}_{2}^{D}(\textbf{0},\emptyset,\textbf{0})=\{(\textbf{0},\emptyset),(\textbf{0},\{(\textbf{0},2)\})\},

where (a2,θ2)=(0,)(a_{2},\theta_{2})=(\textbf{0},\emptyset) corresponds to the case that the newly issued 0 is received by Act2\textbf{{Act}}_{2} and (a2,θ2)=(0,{(0,2)})(a_{2},\theta_{2})=(\textbf{0},\{(\textbf{0},2)\}) corresponds to the case that the newly issued 0 is delayed in Channel2\textbf{{Channel}}_{2} and Act2\textbf{{Act}}_{2} is still using the original disable decision 0. Let us assume that the second case happens and the current configurations are (a2,θ2)=(0,{(0,2)})(a_{2},\theta_{2})=(\textbf{0},\{(\textbf{0},2)\}). Then when event σ1\sigma_{1} occurs, the supervisor will send γ=Sup2(σ3σ1)=1\gamma=\textbf{{Sup}}_{2}(\sigma_{3}\sigma_{1})=\textbf{1} to Channel2\textbf{{Channel}}_{2} and then we update the configurations to

Move2D(0,{(0,2)},1)={(0,{(1,2)}),(0,{(0,1),(1,2)})},\texttt{Move}_{2}^{D}(\textbf{0},\{(\textbf{0},2)\},\textbf{1})=\{(\textbf{0},\{(\textbf{1},2)\}),(\textbf{0},\{(\textbf{0},1),(\textbf{1},2)\})\},

where (i) (a2,θ2)=(0,{(1,2)})(a_{2},\theta_{2})=(\textbf{0},\{(\textbf{1},2)\}) corresponds to the case that the previous issued decision 0 in the channel is received by Act2\textbf{{Act}}_{2} and the newly issued decision 1 is waiting in the channel; and (ii) (a2,θ2)=(0,{(0,1),(1,2)})(a_{2},\theta_{2})=(\textbf{0},\{(\textbf{0},1),(\textbf{1},2)\}) corresponds to the case that both the previous issued 0 and the newly issued 1 are delayed in Channel2\textbf{{Channel}}_{2} and Act2\textbf{{Act}}_{2} is still using the initial decision 0.

Refer to caption
Figure 2: System 𝐆\mathbf{G} with Σ={σ1,σ2,σ3}\Sigma=\{\sigma_{1},\sigma_{2},\sigma_{3}\} and Σuc={σ3}\Sigma_{uc}=\{\sigma_{3}\}.

III-C Communication Losses

Now we proceed to model communication losses in the control channel. As we mentioned earlier, we assume that communication losses can happen only when the supervisor sends a control decision to a communication channel. In other words, once a decision goes into the communication channel, it will not be lost in between and will arrive at the actuator eventually.

To focus on the effect of control losses, we first do not consider control delays in this subsection. Therefore, we do not need the channel configuration as a part of the "state". However, to capture the assumption that Channeli\textbf{{Channel}}_{i} cannot have more than NiLN_{i}^{L} consecutive losses, we need to introduce a “counter" component. We denote by iL:={0,1,,NiL}\mathbb{N}_{i}^{L}:=\{0,1,\cdots,N_{i}^{L}\} the counter set.

Now, for controllable event σiΣc\sigma_{i}\in\Sigma_{c}, suppose that the current actuator configuration is ai{0,1}a_{i}\in\{\textbf{0},\textbf{1}\} and the counter number is ciiLc_{i}\in\mathbb{N}_{i}^{L}. Suppose that Supi\textbf{{Sup}}_{i} sends a new decision γ{0,1}\gamma\in\{\textbf{0},\textbf{1}\}. We are also interested in what are the next actuator configuration and the next counter number for σi\sigma_{i}. To this end, we define operator

MoveiL:{0,1}×iL×{0,1}2{0,1}×iL\texttt{Move}_{i}^{L}:\{\textbf{0},\textbf{1}\}\times\mathbb{N}_{i}^{L}\times\{\textbf{0},\textbf{1}\}\to 2^{\{\textbf{0},\textbf{1}\}\times\mathbb{N}_{i}^{L}}

by: for any ai{0,1},ciiLa_{i}\in\{\textbf{0},\textbf{1}\},c_{i}\in\mathbb{N}_{i}^{L} and γ{0,1}\gamma\in\{\textbf{0},\textbf{1}\}, we have

  • If ci=NiLc_{i}=N_{i}^{L}, then

    MoveiL(ai,ci,γ)={(γ,0)}.\texttt{Move}_{i}^{L}(a_{i},c_{i},\gamma)=\{(\gamma,0)\}. (9)
  • If ci<NiLc_{i}<N_{i}^{L}, then

    MoveiL(ai,ci,γ)={(γ,0),(ai,ci+1)}.\texttt{Move}_{i}^{L}(a_{i},c_{i},\gamma)=\{(\gamma,0),(a_{i},c_{i}+1)\}. (10)

Intuitively, Equation (9) captures the case that there are already NiLN_{i}^{L} consecutive losses for control decisions transmissions. Therefore, the current decision γ\gamma will be received by Acti\textbf{{Act}}_{i} definitely and the counter is reset to 0. On the other hand, Equation (10) captures the case that the accumulated consecutive losses cic_{i} has not yet exceeded the upper bound. Then decision γ\gamma may either be received, which leads to (γ,0)(\gamma,0), or be lost, which leads to (ai,ci+1)(a_{i},c_{i}+1). Therefore, MoveiL\texttt{Move}_{i}^{L} is still a non-deterministic function in general.

Remark 2

When NiL=0N_{i}^{L}=0, the above model also boils down to the standard non-networked case. In this case, cic_{i} is always equal to 0, and MoveiL\texttt{Move}_{i}^{L} is only in the form of MoveiL(ai,0,γ)=(γ,0)\texttt{Move}_{i}^{L}(a_{i},0,\gamma)=(\gamma,0), i.e., the control decision can always be received by the actuator immediately.

We illustrate the above concepts for the case of communication losses by the following example.

Example 2

We still consider system 𝐆\mathbf{G} shown in Figure 2 with Σ={σ1,σ2,σ3},Σc={σ1,σ2}\Sigma=\{\sigma_{1},\sigma_{2},\sigma_{3}\},\Sigma_{c}=\{\sigma_{1},\sigma_{2}\}. We assume that Channel1\textbf{{Channel}}_{1} for σ1\sigma_{1} is subject to communication losses with N1L=1N_{1}^{L}=1 and we illustrate how Channel1\textbf{{Channel}}_{1} evolves. Initially, the configuration for Act1\textbf{{Act}}_{1} is a1=Sup1(ϵ)=0a_{1}=\textbf{{Sup}}_{1}(\epsilon)=\textbf{0} and the counter is c1=0c_{1}=0. When the supervisor sends the first control decision γ=Sup1(σ3)=1\gamma=\textbf{{Sup}}_{1}(\sigma_{3})=\textbf{1} to Channel1\textbf{{Channel}}_{1} upon the occurrence of σ3\sigma_{3}, we update it according to

Move1L(0,0,1)={(0,1),(1,0)},\texttt{Move}_{1}^{L}(\textbf{0},0,\textbf{1})=\{(\textbf{0},1),(\textbf{1},0)\},

where (i) (0,1)(\textbf{0},1) corresponds to the case that the newly issued decision 1 is lost and therefore, Act1\textbf{{Act}}_{1} is still using the previous 0 and the countered is added to 11; and (ii) (1,0)(\textbf{1},0) corresponds to the case that the newly issued decision 1 is received by Act1\textbf{{Act}}_{1} and the counter is reset to 0. Note that if the first case happen, then the second control decision γ=Sup1(σ3σ1)=0\gamma=\textbf{{Sup}}_{1}(\sigma_{3}\sigma_{1})=\textbf{0} to Channel1\textbf{{Channel}}_{1} will not be lost for sure as the counter is already 1=N2L1=N_{2}^{L}.

III-D General Case with Both Delays and Losses

Now, we consider the general case in which both delays and losses may happen in Channeli\textbf{{Channel}}_{i}. In this case, we need to track the channel configuration θiΘi\theta_{i}\in\Theta_{i}, the actuator configuration aiActia_{i}\in\textbf{{Act}}_{i} and the counter number ciiLc_{i}\in\mathbb{N}_{i}^{L}; these together constitute the "state" of the system, which are also referred to as the network configuration. To capture how the state evolves upon the occurrence of new decision γ{0,1}\gamma\in\{\textbf{0},\textbf{1}\}, we define operator

MoveiDL:{0,1}×Θi×iL×{0,1}2{0,1}×Θi×iL,\texttt{Move}_{i}^{DL}:\{\textbf{0},\textbf{1}\}\times\Theta_{i}\times\mathbb{N}_{i}^{L}\times\{\textbf{0},\textbf{1}\}\to 2^{\{\textbf{0},\textbf{1}\}\times\Theta_{i}\times\mathbb{N}_{i}^{L}},

which combines MoveiD\texttt{Move}_{i}^{D} and MoveiL\texttt{Move}_{i}^{L}. Specifically, for any ai{0,1},θiΘ,ciiLa_{i}\in\{\textbf{0},\textbf{1}\},\theta_{i}\in\Theta,c_{i}\in\mathbb{N}_{i}^{L} and γ{0,1}\gamma\in\{\textbf{0},\textbf{1}\}, we have

  • If θi=\theta_{i}=\emptyset and ci=NiLc_{i}=N_{i}^{L}, then

    MoveiDL(ai,θi,ci,γ)={(γ,,0),(ai,{(γ,NiD)},0)}.\!\!\!\texttt{Move}_{i}^{DL}(a_{i},\theta_{i},c_{i},\gamma)=\left\{\begin{array}[]{c c}(\gamma,\emptyset,0),\\ (a_{i},\{(\gamma,N_{i}^{D})\},0)\end{array}\right\}. (11)
  • If θi=\theta_{i}=\emptyset and ci<NiLc_{i}<N_{i}^{L}, then

    MoveiDL(ai,θi,ci,γ)={(ai,,ci+1),(γ,,0),(ai,{(γ,NiD)},0)}.\!\!\!\texttt{Move}_{i}^{DL}(a_{i},\theta_{i},c_{i},\gamma)=\left\{\begin{array}[]{c c}(a_{i},\emptyset,c_{i}+1),\\ (\gamma,\emptyset,0),\\ (a_{i},\{(\gamma,N_{i}^{D})\},0)\end{array}\right\}. (12)
  • If θi,nmin=1\theta_{i}\neq\emptyset,n_{min}=1 and ci=NiLc_{i}=N_{i}^{L}, then

    MoveiDL(ai,θi,ci,γ)=\displaystyle\texttt{Move}_{i}^{DL}(a_{i},\theta_{i},c_{i},\gamma)= (13)
    {(γmin,NX(θi){(γ,NiD)},0)}.\displaystyle\left\{(\gamma_{min},\textsc{NX}(\theta_{i})\cup\{(\gamma,N_{i}^{D})\},0)\right\}.
  • If θi,nmin=1\theta_{i}\neq\emptyset,n_{min}=1 and ci<NiLc_{i}<N_{i}^{L}, then

    MoveiDL(ai,θi,ci,γ)=\displaystyle\texttt{Move}_{i}^{DL}(a_{i},\theta_{i},c_{i},\gamma)= (14)
    {(γmin,NX(θi){(γ,NiD)},0),(γmin,NX(θi),ci+1})}.\displaystyle\left\{\begin{array}[]{c c}(\gamma_{min},\textsc{NX}(\theta_{i})\cup\{(\gamma,N_{i}^{D})\},0),\\ (\gamma_{min},\textsc{NX}(\theta_{i}),c_{i}+1\})\end{array}\right\}. (17)
  • If θi,nmin>1\theta_{i}\neq\emptyset,n_{min}>1 and ci=NiLc_{i}=N_{i}^{L}, then

    MoveiDL(ai,θi,ci,γ)=\displaystyle\texttt{Move}_{i}^{DL}(a_{i},\theta_{i},c_{i},\gamma)= (18)
    {(γmin,NX(θi{(γmin,nmin)}){(γ,NiD)},0),(ai,NX(θi){(γ,NiD)},0)}.\displaystyle\left\{\begin{array}[]{c c}(\gamma_{min},\textsc{NX}(\theta_{i}\setminus\{(\gamma_{min},n_{min})\})\cup\{(\gamma,N_{i}^{D})\},0),\\ (a_{i},\textsc{NX}(\theta_{i})\cup\{(\gamma,N_{i}^{D})\},0)\end{array}\right\}. (21)
  • If θi,nmin>1\theta_{i}\neq\emptyset,n_{min}>1 and ci<NiLc_{i}<N_{i}^{L}, then

    MoveiDL(ai,θi,ci,γ)=\displaystyle\texttt{Move}_{i}^{DL}(a_{i},\theta_{i},c_{i},\gamma)= (22)
    {(ai,NX(θi),ci+1),(γmin,NX(θi{(γmin,nmin)}),ci+1),(ai,NX(θi){(γ,NiD)},0),(γmin,NX(θi{(γmin,nmin)}){(γ,NiD)},0)}.\displaystyle\left\{\begin{array}[]{c c}(a_{i},\textsc{NX}(\theta_{i}),c_{i}+1),\\ (\gamma_{min},\textsc{NX}(\theta_{i}\setminus\{(\gamma_{min},n_{min})\}),c_{i}+1),\\ (a_{i},\textsc{NX}(\theta_{i})\cup\{(\gamma,N_{i}^{D})\},0),\\ (\gamma_{min},\textsc{NX}(\theta_{i}\setminus\{(\gamma_{min},n_{min})\})\cup\{(\gamma,N_{i}^{D})\},0)\end{array}\right\}. (27)

The above defined MoveiDL\texttt{Move}_{i}^{DL} boils down to MoveiD\texttt{Move}_{i}^{D} or MoveiL\texttt{Move}_{i}^{L}, respectively, when NiL=0N_{i}^{L}=0 or NiD=0N_{i}^{D}=0. Specifically, when NiL=0N_{i}^{L}=0, Equations (11), (13) and (18) becomes Equations (3), (4) and (5), respectively. When NiD=0N_{i}^{D}=0, Equations (11) and (12) becomes Equations (9) and (10), respectively. However, Equations (14) and (22) capture the scenarios when delays and losses are combined. Specifically, the first element in Equation (14) corresponds to the case that γmin\gamma_{min} is received by Acti\textbf{{Act}}_{i} but γ\gamma is plugged in Channeli\textbf{{Channel}}_{i}, while the the second element corresponds to the case that γmin\gamma_{min} is received by Acti\textbf{{Act}}_{i} but γ\gamma is lost. For Equation (22), it captures the four possible combinations of "γmin\gamma_{min} is received by Acti\textbf{{Act}}_{i} or not" and "γ\gamma is lost or not".

IV Closed-loop Dynamics of the Overall System

In the previous section, we have discussed how to model the state and dynamic of each single channel. In this section, we aim to consider all (independent) channels together and provide the closed-loop behavior of the overall supervisory control system with control delays and losses.

IV-A Multiple Channel System

Since control channels are independent, the overall "state" of the systems is a vector in which each component reflects the status of a single channel. Formally, the actuator configuration of the overall system is a |Σc||\Sigma_{c}|-dimensional vector

a=(a1,a2,,a|Nc|){0,1}|Σc|.\textbf{a}=(a_{1},a_{2},\dots,a_{|N_{c}|})\in\{\textbf{0},\textbf{1}\}^{|\Sigma_{c}|}.

We denote by AA the set of all actuator configurations. For each actuator configuration aA\textbf{a}\in A, we denote by Γ(a)\Gamma(\textbf{a}) the set of controllable events that are enabled, i.e.,

Γ(a)={σiΣc:ai=1}.\Gamma(\textbf{a})=\{\sigma_{i}\in\Sigma_{c}:a_{i}=\textbf{1}\}.

Similarly, the channel configuration of the overall system is a |Σc||\Sigma_{c}|-dimensional vector

𝜽=(θ1,θ2,,θ|Nc|)Θ1×Θ2××Θ|Σc|.\boldsymbol{\theta}=(\theta_{1},\theta_{2},\dots,\theta_{|N_{c}|})\in\Theta_{1}\times\Theta_{2}\times\cdots\times\Theta_{|\Sigma_{c}|}.

We denote by Θ=Θ1××Θ|Σc|\Theta=\Theta_{1}\times\cdots\times\Theta_{|\Sigma_{c}|} the set of all channel configurations. Also, we define the overall consecutive losses counter as

c=(c1,c2,,c|Σc|)1L×2L××|Σc|L=:L\textbf{c}=(c_{1},c_{2},\cdots,c_{|\Sigma_{c}|})\in\mathbb{N}_{1}^{L}\times\mathbb{N}_{2}^{L}\times\cdots\times\mathbb{N}_{|\Sigma_{c}|}^{L}=:\mathbb{N}^{L}

The dynamics of the overall network configuration is defined by operator

Move:A×Θ×L×{0,1}|Σc|2A×Θ×L\texttt{Move}:A\times\Theta\times\mathbb{N}^{L}\times\{\textbf{0},\textbf{1}\}^{|\Sigma_{c}|}\to 2^{A\times\Theta\times\mathbb{N}^{L}}

such that: for any (a,𝜽,c),(a,𝜽,c)A×Θ×L(\textbf{a},\boldsymbol{\theta},\textbf{c}),(\textbf{a}^{\prime},\boldsymbol{\theta}^{\prime},\textbf{c}^{\prime})\in A\times\Theta\times\mathbb{N}^{L} and 𝜸{0,1}|Σc|\boldsymbol{\gamma}\in\{\textbf{0},\textbf{1}\}^{|\Sigma_{c}|} , we have (a,𝜽,c)Move(a,𝜽,c,𝜸)(\textbf{a}^{\prime},\boldsymbol{\theta}^{\prime},\textbf{c}^{\prime})\in\texttt{Move}(\textbf{a},\boldsymbol{\theta},\textbf{c},\boldsymbol{\gamma}) iff

i=1,,|Σc|:(ai,θi,ci)MoveiDL(ai,θi,ci,γi).\displaystyle\forall i=1,\dots,|\Sigma_{c}|:(a_{i}^{\prime},\theta_{i}^{\prime},c_{i}^{\prime})\!\in\!\texttt{Move}_{i}^{DL}(a_{i},\theta_{i},c_{i},\gamma_{i}). (28)

IV-B Closed-loop Language

In order to specify the complete dynamics of the closed-loop system, the last piece is to specify the initial configuration of the network. As we mentioned early, the initial control decision can neither be delayed nor lost. In practice, this means that the initial decisions are already embedded in the actuators before the plant runs. Therefore, the initial actuator configuration is given by

a0=(Sup1(ϵ),Sup2(ϵ),,Sup|Σc|(ϵ))A.\textbf{a}_{0}=(\textbf{{Sup}}_{1}(\epsilon),\textbf{{Sup}}_{2}(\epsilon),\dots,\textbf{{Sup}}_{|\Sigma_{c}|}(\epsilon))\in A.

Since the communication channels are all empty initially, the initial channel configuration is given by

𝜽0=(,,,)Θ.\boldsymbol{\theta}_{0}=(\emptyset,\emptyset,\dots,\emptyset)\in\Theta.

Also, the initial counter is given by

c0=(0,0,,0)L.\textbf{c}_{0}=(0,0,\dots,0)\in\mathbb{N}^{L}.

Note that, although our main purpose is to calculate the actual strings generated by the system, to this end, we also need to track the configurations of the overall network simultaneously. This is captured by the concept of extended strings. Formally, an extended string is a string augmented with the network configuration in the form of

t=(s,a,𝜽,c)Σ×A×Θ×L.t=(s,\textbf{a},\boldsymbol{\theta},\textbf{c})\in\Sigma^{*}\times A\times\Theta\times\mathbb{N}^{L}.

A set of extended string is called an extended language. Therefore, a networked supervisory control system essentially generates an extended language e(Sup/𝐆)\mathcal{L}_{e}(\textbf{{Sup}}/\mathbf{G}) defined recursively as follows:

  • (ϵ,a0,𝜽0,c0)e(Sup/𝐆)(\epsilon,\textbf{a}_{0},\boldsymbol{\theta}_{0},\textbf{c}_{0})\in\mathcal{L}_{e}(\textbf{{Sup}}/\mathbf{G});

  • For any t=(s,a,𝜽,c)t=(s,\textbf{a},\boldsymbol{\theta},\textbf{c}) and σΣ\sigma\in\Sigma, we have t=(s,a,𝜽,c)e(Sup/𝐆)t^{\prime}=(s^{\prime},\textbf{a}^{\prime},\boldsymbol{\theta}^{\prime},\textbf{c}^{\prime})\in\mathcal{L}_{e}(\textbf{{Sup}}/\mathbf{G}) iff

    • te(Sup/𝐆)t\in\mathcal{L}_{e}(\textbf{{Sup}}/\mathbf{G});

    • s=sσ(𝐆)s^{\prime}=s\sigma\in\mathcal{L}(\mathbf{G});

    • σΓ(a)Σuc\sigma\in\Gamma(\textbf{a})\cup\Sigma_{uc};

    • (a,𝜽,c)Move(a,𝜽,c,𝜸(s))(\textbf{a}^{\prime},\boldsymbol{\theta}^{\prime},\textbf{c}^{\prime})\in\texttt{Move}(\textbf{a},\boldsymbol{\theta},\textbf{c},\boldsymbol{\gamma}(s^{\prime})), where 𝜸(s):=(Sup1(s),,Sup|Σc|(s))\boldsymbol{\gamma}(s^{\prime}):=(\textbf{{Sup}}_{1}(s^{\prime}),\dots,\textbf{{Sup}}_{|\Sigma_{c}|}(s^{\prime}))

The above definition is explained as follows. Essentially, it defines all extended strings that can be generated by the system in an inductive manner. In the inductive step, the first condition says that the prefix should be an extended string generated by the system. The second condition says that new event σ\sigma should be feasible in the original plant 𝐆\mathbf{G}. The third condition says that event σ\sigma should be enabled by the current actuator configuration a. Finally, the last condition captures how the network configuration evolves upon the new control decision 𝜸(s)\boldsymbol{\gamma}(s^{\prime}). The effect of 𝜸(s)\boldsymbol{\gamma}(s^{\prime}) will be recorded in the network configuration and may determine the occurrence of some future events when it arrives at actuators as a.

Based on the extended language, we can define the actual language generated by the closed-loop system in the networked setting as the projection of the extended language onto the first component, i.e.,

(Sup/𝐆)={sΣ:a,𝜽,c s.t.(s,a,𝜽,c)e(Sup/𝐆)}.\mathcal{L}(\textbf{{Sup}}/\mathbf{G})=\{s\!\in\!\Sigma^{*}:\exists\textbf{a},\boldsymbol{\theta},\textbf{c}\text{ s.t.}(s,\textbf{a},\boldsymbol{\theta},\textbf{c})\!\in\!\mathcal{L}_{e}(\textbf{{Sup}}/\mathbf{G})\}.

This completes our general model for networked supervisory control system over multiple channel networks.

IV-C Case of Shared Control Channels

Note that, in all the above developments, it is assumed that each actuator uses its own control channel. In some applications, a group of actuators may share the same control channel because they are physically located together and the control decisions are sent as packages to each group of actuators. In such a scenario, we can assume that Σc\Sigma_{c} is partitioned as mm groups

Σc=Σc,1˙Σc,2˙˙Σc,m\Sigma_{c}=\Sigma_{c,1}\dot{\cup}\Sigma_{c,2}\dot{\cup}\dots\dot{\cup}\Sigma_{c,m}

such that actuators in each Σc,i\Sigma_{c,i} share the same control channel Channeli\textbf{{Channel}}_{i}. Our framework and all previous developments can be easily adapted to the case. The only differences is that the control decision in each Channeli\textbf{{Channel}}_{i} is then in the domain of {0,1}|Σc,i|\{\textbf{0},\textbf{1}\}^{|\Sigma_{c,i}|} rather than in {0,1}\{\textbf{0},\textbf{1}\}. In the most extreme case where all actuators share the same control channel, this general setting boils down to the single channel setting in the framework of Lin [7], where all decisions are sent as a single package. Here, instead of formally presenting the generalization which is rather straightforward, we use the following example to illustrate our point.

Example 3

We still consider system 𝐆\mathbf{G} shown in Figure 2 with Σc={σ1,σ2}\Sigma_{c}=\{\sigma_{1},\sigma_{2}\}. Now assume that both events σ1\sigma_{1} and σ2\sigma_{2} share the same control channel, which is the single channel denoted by Channel. This actually corresponds to the setting in [7], where all control decisions are sent as a package. Therefore, each control decision in the channel is in {0,1}×{0,1}\{\textbf{0},\textbf{1}\}\times\{\textbf{0},\textbf{1}\}. For instance, γ=(1,0)\gamma=(\textbf{1},\textbf{0}) at state 22 means that Sup1(σ3)=1\textbf{{Sup}}_{1}(\sigma_{3})=\textbf{1} and Sup2(σ3)=0\textbf{{Sup}}_{2}(\sigma_{3})=\textbf{0}.

Now, suppose that Channel is subject to communication delays with ND=2N^{D}=2 and communication losses with NL=1N^{L}=1. We still consider supervisor Sup as specified in Figure 2. Then the extended language generated by Sup/𝐆\textbf{{Sup}}/\mathbf{G} can be computed as follows:

  • Initially, we have

    (ϵ,a0,θ0,c0)=(ϵ,(0,0),,0)e(Sup/𝐆),(\epsilon,\textbf{a}_{0},\theta_{0},\textbf{c}_{0})=(\epsilon,(\textbf{0},\textbf{0}),\emptyset,0)\in\mathcal{L}_{e}(\textbf{{Sup}}/\mathbf{G}),

    Note that the dimensions of θ0\theta_{0} and c0\textbf{c}_{0} are both one since there is only one single channel.

  • Since σ3\sigma_{3} is uncontrollable and σ3(𝐆)\sigma_{3}\in\mathcal{L}(\mathbf{G}), we compute

    Move(a0,𝜽0,c0,γ)=\displaystyle\texttt{Move}(\textbf{a}_{0},\boldsymbol{\theta}_{0},\textbf{c}_{0},\gamma)=
    {((0,0),{((1,0),2)},0),((0,0),,1),((1,0),,0)}\displaystyle\{((\textbf{0},\textbf{0}),\{((\textbf{1},\textbf{0}),2)\},0),((\textbf{0},\textbf{0}),\emptyset,1),((\textbf{1},\textbf{0}),\emptyset,0)\}

    with γ=(Sup1(σ3),Sup2(σ3))=(1,0)\gamma=(\textbf{{Sup}}_{1}(\sigma_{3}),\textbf{{Sup}}_{2}(\sigma_{3}))=(\textbf{1},\textbf{0}). Therefore, the following three extended strings are in e(Sup/𝐆)\mathcal{L}_{e}(\textbf{{Sup}}/\mathbf{G}):

    • (σ3,(0,0),{((1,0),2)},0)(\sigma_{3},(\textbf{0},\textbf{0}),\{((\textbf{1},\textbf{0}),2)\},0); and

    • (σ3,(0,0),,1)(\sigma_{3},(\textbf{0},\textbf{0}),\emptyset,1); and

    • (σ3,(1,0),,0)(\sigma_{3},(\textbf{1},\textbf{0}),\emptyset,0).

    which represent the cases that the newly issued control decision (package) γ=(1,0)\gamma=(\textbf{1},\textbf{0}) is delayed, lost and neither delayed nor lost, respectively.

  • When the actuator configuration is (0,0)(\textbf{0},\textbf{0}), we have Γ((0,0))=\Gamma((\textbf{0},\textbf{0}))=\emptyset, which means both σ1\sigma_{1} and σ2\sigma_{2} are disabled; therefore, no event can happen from state 22. However, for Γ((1,0))={σ1}\Gamma((\textbf{1},\textbf{0}))=\{\sigma_{1}\}, we can enable σ1\sigma_{1} for extended string (σ3,(1,0),,0)(\sigma_{3},(\textbf{1},\textbf{0}),\emptyset,0). Then we compute

    Move((1,0),,0,γ)=\displaystyle\texttt{Move}((\textbf{1},\textbf{0}),\emptyset,0,\gamma)=
    {((1,0),{((0,1),2)},0),((1,0),,1),((0,1),,0)}\displaystyle\{((\textbf{1},\textbf{0}),\{((\textbf{0},\textbf{1}),2)\},0),((\textbf{1},\textbf{0}),\emptyset,1),((\textbf{0},\textbf{1}),\emptyset,0)\}

    with γ=(Sup1(σ3σ1),Sup2(σ3σ1))=(0,1)\gamma=(\textbf{{Sup}}_{1}(\sigma_{3}\sigma_{1}),\textbf{{Sup}}_{2}(\sigma_{3}\sigma_{1}))=(\textbf{0},\textbf{1}). This yields the following three extended strings in e(Sup/𝐆)\mathcal{L}_{e}(\textbf{{Sup}}/\mathbf{G}):

    • (σ3σ1,(1,0),{((0,1),2)},0)(\sigma_{3}\sigma_{1},(\textbf{1},\textbf{0}),\{((\textbf{0},\textbf{1}),2)\},0); and

    • (σ3σ1,(1,0),,1)(\sigma_{3}\sigma_{1},(\textbf{1},\textbf{0}),\emptyset,1); and

    • (σ3σ1,(0,1),,0)(\sigma_{3}\sigma_{1},(\textbf{0},\textbf{1}),\emptyset,0).

  • For the last extended string above, we have Γ((0,1))={σ2}\Gamma((\textbf{0},\textbf{1}))=\{\sigma_{2}\}, i.e., event σ2\sigma_{2} is enabled. By computing Move((0,1),,0,γ)\texttt{Move}((\textbf{0},\textbf{1}),\emptyset,0,\gamma) for γ=(Sup1(σ3σ1σ2),Sup2(σ3σ1σ2))=(0,1)\gamma=(\textbf{{Sup}}_{1}(\sigma_{3}\sigma_{1}\sigma_{2}),\textbf{{Sup}}_{2}(\sigma_{3}\sigma_{1}\sigma_{2}))=(\textbf{0},\textbf{1}), we obtain the following three extended strings:

    • (σ3σ1σ2,(0,1),{((0,1),2)},0)(\sigma_{3}\sigma_{1}\sigma_{2},(\textbf{0},\textbf{1}),\{((\textbf{0},\textbf{1}),2)\},0); and

    • (σ3σ1σ2,(0,1),,1)(\sigma_{3}\sigma_{1}\sigma_{2},(\textbf{0},\textbf{1}),\emptyset,1); and

    • (σ3σ1σ2,(0,1),,0)(\sigma_{3}\sigma_{1}\sigma_{2},(\textbf{0},\textbf{1}),\emptyset,0).

  • Finally, since Γ((0,1))={σ2}\Gamma((\textbf{0},\textbf{1}))=\{\sigma_{2}\} for each of the above extended string, we can no longer proceed to enable σ1\sigma_{1}, i.e., no extended string can be defined from σ3σ1σ2\sigma_{3}\sigma_{1}\sigma_{2}.

Therefore, by projecting the obtained extended strings above to their first components, we have (Sup/𝐆)={ϵ,σ3,σ3σ1,σ3σ1σ2}\mathcal{L}(\textbf{{Sup}}/\mathbf{G})=\{\epsilon,\sigma_{3},\sigma_{3}\sigma_{1},\sigma_{3}\sigma_{1}\sigma_{2}\}.

Remark 3

In the proposed modeling framework, the state-space grows exponentially fast with the delay upper bound NiDN^{D}_{i} and the loss upper bound NiLN^{L}_{i} due to the combination of configurations of control channels. However, in practice, NiDN^{D}_{i} and NiLN^{L}_{i} are usually very small and delays/losses occur very rarely. For the case of large delays and losses, one may first seek to improve the network hardware environment rather than to improve the control algorithm.

V Comparison and Discussion

In [7], Lin proposed a language-based framework for supervisory control of networked discrete event systems. In this section, we compare the our model for networked supervisory control systems with the one proposed in [7] and show that our model more precisely captures the practical situation compared with Lin’s model.

Note that the framework in [7] considers delays and losses in both control and observation channels. For the purpose of comparison, here we just review the part for delays and losses in control channels. The basic setting of control delays and losses in [7] is as follows:

  • The control decision made by the supervisor is sent as a package to the actuators; and

  • Communication delays in control are assumed to be bounded by NcN_{c} steps and at least one control command in the past NcN_{c} steps can be received by the supervisor.

Essentially, the first setting assumes that a single control channel is used in the feedback loop. However, our framework captures the more general setting with multiple control channels. For the second setting, [7] proposes the following definition of closed-loop language L(Sup/𝐆)L(\textbf{{Sup}}/\mathbf{G}) 111We used L()L(\cdot) rather than ()\mathcal{L}(\cdot) to distinguish between the closed-loop language defined in [7] with our definition.:

  • ϵL(Sup/𝐆)\epsilon\in L(\textbf{{Sup}}/\mathbf{G});

  • for any sΣ,σΣs\in\Sigma^{*},\sigma\in\Sigma, we have sσL(Sup/𝐆)s\sigma\in L(\textbf{{Sup}}/\mathbf{G}) iff

    • sL(Sup/𝐆)s\in L(\textbf{{Sup}}/\mathbf{G}); and

    • sσL(𝐆)s\sigma\in L(\mathbf{G}); and

    • σΣucSup(s)Sup(s1)Sup(sNc)\sigma\!\in\!\Sigma_{uc}\!\cup\!\textbf{{Sup}}(s)\!\cup\!\textbf{{Sup}}(s_{-1})\!\cup\!\cdots\!\cup\!\textbf{{Sup}}(s_{-N_{c}})

where sks_{-k} denotes the string obtained by removing the last kk events in ss. This definition essentially handles control delays by roughly considering all possible control decision in the past NcN_{c} steps. Since all possible control decisions are considered, control losses are handled implicitly as the case of no decision received is also included.

Therefore, such a definition does not precisely distinguish between control delays and losses precisely as both are handled roughly. As a consequence, L(Sup/𝐆)L(\textbf{{Sup}}/\mathbf{G}) is just an over-approximation of the behavior of the closed-loop system and it may contain some behaviors that are physically not possible. We illustrate this point by the following example.

Example 4

We consider system GG shown in Figure 2 with Σc={σ1,σ2}\Sigma_{c}=\{\sigma_{1},\sigma_{2}\}. We assume there is only one single control channel, i.e., σ1\sigma_{1} and σ2\sigma_{2} shares the same channel as the case of Example 3. Also, we assume the delay bound is ND=2N^{D}=2 or Nc=2N_{c}=2 using the notation of [7].

According to the definition of closed-loop language in [7], we can compute L(Sup/𝐆)L(\textbf{{Sup}}/\mathbf{G}) recursively by:

  • ϵL(Sup/𝐆)\epsilon\in L(\textbf{{Sup}}/\mathbf{G});

  • σ3L(Sup/𝐆)\sigma_{3}\in L(\textbf{{Sup}}/\mathbf{G}) since σ3Σuc\sigma_{3}\in\Sigma_{uc}

  • σ3σ1L(Sup/𝐆)\sigma_{3}\sigma_{1}\in L(\textbf{{Sup}}/\mathbf{G}) since σ1Sup(σ3)\sigma_{1}\in\textbf{{Sup}}(\sigma_{3});

  • σ3σ1σ2L(Sup/𝐆)\sigma_{3}\sigma_{1}\sigma_{2}\in L(\textbf{{Sup}}/\mathbf{G}) since σ2Sup(σ3σ1)\sigma_{2}\in\textbf{{Sup}}(\sigma_{3}\sigma_{1});

  • σ3σ1σ2σ1L(Sup/𝐆)\sigma_{3}\sigma_{1}\sigma_{2}\sigma_{1}\in L(\textbf{{Sup}}/\mathbf{G}) since σ1Sup((σ3σ1σ2)2)\sigma_{1}\in\textbf{{Sup}}((\sigma_{3}\sigma_{1}\sigma_{2})_{-2}).

However, the last string σ3σ1σ2σ1\sigma_{3}\sigma_{1}\sigma_{2}\sigma_{1} is not physically possible because the enablement of the last σ1\sigma_{1} relies on decision Sup((σ3σ1σ2)2)=Sup(σ3)\textbf{{Sup}}((\sigma_{3}\sigma_{1}\sigma_{2})_{-2})=\textbf{{Sup}}(\sigma_{3}) which is received at the instant of σ3\sigma_{3}. However, the occurrence of σ3σ1σ2\sigma_{3}\sigma_{1}\sigma_{2} means that the actuator must have received Sup(σ3σ1)=σ2\textbf{{Sup}}(\sigma_{3}\sigma_{1})=\sigma_{2} without delay or loss. This means that Sup(σ3)\textbf{{Sup}}(\sigma_{3}) has already been (i) taken from the channel, (ii) received by the actuator; and (iii) erased by new decision received by the actuator. Therefore, event σ1\sigma_{1} after σ3σ1σ2\sigma_{3}\sigma_{1}\sigma_{2} is not possible physically. However, this string is included in the definition of [7] because it only considers an estimated possible control decisions, in which some may not be feasible.

However, as we have already discussed in Example 3 (assuming there is no control loss), string σ3σ1σ2σ1\sigma_{3}\sigma_{1}\sigma_{2}\sigma_{1} is not included in (Sup/𝐆)\mathcal{L}(\textbf{{Sup}}/\mathbf{G}) because we precisely model the state-space and the dynamics of the network. This example also justifies the advantage of the proposed network model compared with the existing one in the literature in addition to the general multiple channel setting.

VI Conclusion

In this paper, we provide a new framework for modeling and analysis of networked supervisory control systems with control delays and control losses over multiple communication channel networks. Our approach follow a system theoretic perspective by identifying the state-space of overall networked system and investigating the dynamic of the entire state-space. Compared with the language-based definition of networked DES, our framework more precisely captures the behavior of a networked DES that are physically feasible. Furthermore, our framework allow to handle the general scenario where the supervisor may send control decisions to different actuators via different communication channels.

Note that, throughout this paper, we investigate how the networked system evolves under a given supervisor and define its closed-loop language appropriately. Two immediate problems arise within this framework: (i) whether or not there exists a supervisor achieving a given specification language; and (ii) how can we synthesize a supervisor whose closed-loop behavior is a sub-language of the specification. The former is the supervisor existence problem and the latter is the supervisor synthesis problem. We plan to investigate them within our framework in the future. Also, we would like to consider the issue of delays and losses in observation channels together with the control channels.

References

  • [1] M.V.S. Alves and J.C. Basilio. State estimation and detectability of networked discrete event systems with multi-channel communication networks. In American Control Conference, pages 5602–5607, 2019.
  • [2] M.V.S. Alves, Lilian K Carvalho, and J.C. Basilio. Supervisory control of timed networked discrete event systems. In 56th IEEE Conference on Decision and Control, pages 4859–4865, 2017.
  • [3] S. Balemi. Input/output discrete event processes and communication delays. Discrete Event Dynamic Systems, 4(1):41–85, 1994.
  • [4] C.G. Cassandras and S. Lafortune. Introduction to Discrete Event Systems. Springer, 2nd edition, 2008.
  • [5] Y. Hou, W. Wang, Y. Zang, F. Lin, M. Yu, and C. Gong. Relative network observability and its relation with network observability. IEEE Trans. Automatic Control, 2020.
  • [6] J. Komenda and F. Lin. Modular supervisory control of networked discrete-event systems. In 13th International Workshop on Discrete Event Systems, pages 85–90, 2016.
  • [7] F. Lin. Control of networked discrete event systems: dealing with communication delays and losses. SIAM Journal on Control and Optimization, 52(2):1276–1298, 2014.
  • [8] F. Lin, L.Y. Wang, W. Chen, W. Wang, and F. Wang. Information control in networked discrete event systems and its application to battery management systems. Discrete Event Dynamic Systems, pages 1–26, 2020.
  • [9] F. Lin, W. Wang, L. Han, and B. Shen. State estimation of multi-channel networked discrete event systems. IEEE Trans. Control of Network Systems, 7(1):53–63, 2020.
  • [10] Z. Liu, X. Yin, S. Shu, and S. Li. Online supervisory control of networked discrete-event systems with control delays. In 58th IEEE Conference on Decision and Control, pages 6706–6711, 2019.
  • [11] J. Lunze. Control Theory of Digitally Networked Dynamic Systems. Springer, 2014.
  • [12] C.E.V. Nunes, M.V. Moreira, M.V.S. Alves, L.K. Carvalho, and J.C. Basilio. Codiagnosability of networked discrete event systems subject to communication delays and intermittent loss of observation. Discrete Event Dynamic Systems, pages 1–32, 2018.
  • [13] S.-J. Park and K.-H. Cho. Delay-robust supervisory control of discrete-event systems with bounded communication delays. IEEE Trans. Automatic Control, 51(5):911–915, 2006.
  • [14] S. Pruekprasert and T. Ushio. Supervisory control of communicating timed discrete event systems for state avoidance problem. IEEE Control Systems Letters, 4(1):259–264, 2019.
  • [15] A. Rashidinejad, M. Reniers, and L. Feng. Supervisory control of timed discrete-event systems subject to communication delays and non-fifo observations. In 14th International Workshop on Discrete Event Systems, pages 456–463, 2018.
  • [16] Y. Sasi and F. Lin. Detectability of networked discrete event systems. Discrete Event Dynamic Systems, 28(3):449–470, 2018.
  • [17] S. Shu and F. Lin. Decentralized control of networked discrete event systems with communication delays. Automatica, 50(8):2108–2112, 2014.
  • [18] S. Shu and F. Lin. Deterministic networked control of discrete event systems with nondeterministic communication delays. IEEE Trans. Automatic Control, 62(1):190–205, 2017.
  • [19] S. Shu and F. Lin. Predictive networked control of discrete event systems. IEEE Trans. Automatic Control, 62(9):4698–4705, 2017.
  • [20] W.M. Wonham, K. Cai, and K. Rudie. Supervisory control of discrete-event systems: A brief history. Annual Reviews in Control, 45:250–256, 2018.
  • [21] X. Yin and S. Li. Opacity of networked supervisory control systems over insecure multiple channel networks. In 58th IEEE Conference on Decision and Control, pages 7641–7646, 2019.
  • [22] M. Zgorzelski and J. Lunze. A new approach to tracking control of networked discrete-event systems. In 14th International Workshop on Discrete Event Systems, pages 448–455, 2018.
  • [23] M. Zgorzelski and J. Lunze. A model abstraction method for networked discrete-event systems. In 18th European Control Conference, pages 3976–3983, 2019.
  • [24] R. Zhang, K. Cai, Y. Gan, and W.M. Wonham. Delay-robustness in distributed control of timed discrete-event systems based on supervisor localisation. International J. Control, 89(10):2055–2072, 2016.
  • [25] B. Zhao, F. Lin, C. Wang, X. Zhang, M.P. Polis, and L.Y. Wang. Supervisory control of networked timed discrete event systems and its applications to power distribution networks. IEEE Trans. Control of Network Systems, 4(2):146–158, 2017.
  • [26] Y. Zhu, L. Lin, S. Ware, and R. Su. Supervisor synthesis for networked discrete event systems with communication delays and lossy channels. In 58th IEEE Conference on Decision and Control, pages 6730–6735, 2019.