{'fraction_non_alphanumeric': 0.044346342931674526, 'fraction_numerical': 0.01050132102605264, 'mean_word_length': 4.217588553481068, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 11, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Modeling and Analysis of Networked Discrete Event Systems with Multiple Control Channels

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., [1], [5], [7]- [10], [12], [15], [16], [26].
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 largescale 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 [2], [14], [15], [24], [25].
In the recent work of Lin [7] and its subsequential works [6], [17]- [19], 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 overapproximation 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. 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 arXiv:2004.01876v1 [eess.SY] 4 Apr 2020 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 statespace 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 closedloop 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 [1], [9], [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 A. Standard Supervisory Control
We consider a DES modeled as a deterministic finite-state automaton (DFA) where Q is the finite set of states, Σ is the finite set of events, δ : Q × Σ → Q is the (partial) transition function and q 0 ∈ Q is the initial state. The transition function can be extended to δ : Q×Σ * → 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 ∈ Σ; a language is a set of strings. We denote by Σ * the set of all strings over Σ including the empty string . Then the language generated by DFA G is L(G) = {s ∈ Σ * : δ(q 0 , s)!}, where ! means "is defined". For any positive natural number N ∈ N, we denote by [1, N ] the set of natural numbers from 1 to N .
In the supervisory control framework, the event set is partitioned as two disjoint sets where Σ c is the set of controllable events and Σ uc is the set of uncontrollable events. A supervisor is a function 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 L(SUP/G), is defined recursively by Intuitively, the above definition says that sσ is in the closedloop language if (i) s is in the closed-loop language; and (ii) sσ is feasible in G; and (iii) σ is either uncontrollable or enabled by SUP upon the occurrence of s.

B. Supervisor Implementation over Networks
Note that we can write supervisor SUP in Equation (1) equivalently as 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) 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)(σ) (disable or enable) to each σ 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 | actuators. Hereafter, for the sake of simplicity, we assume that event set Σ is ordered so that the first |Σ c | events in Σ are controllable with Σ c = {σ 1 , σ 2 , · · · , σ |Σc| }. For each σ i ∈ Σ c , the corresponding actuator is denoted by ACT i . Also, for the sake of simplicity, we write which is the control decision (0 or 1) the supervisor sends to ACT i upon the occurrence of string s in the plant. In the nonnetworked setting, this decision will be received by ACT i immediately and take effect. However, in the networked setting, the decision for σ i is transmitted to ACT i via the corresponding control channel denoted by CHANNEL i , which may be subject to the following issues: • Control Delays: decision SUP i (s) may be delayed in the sense that it will go to CHANNEL i and is not received by ACT i immediately but after some delays. • Control Losses: decision SUP i (s) may be lost in the sense that it will not go to CHANNEL i , and therefore, it will never be received by 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: A1 For each CHANNEL i , the number of consecutive decision losses is upper bounded by integer N L i ∈ N; A2 For each CHANNEL i , the number of control delays is upper bounded by integer N D i ∈ N; A3 The number of delays or losses are counted by event occurrences in the plant; A4 For each CHANNEL i , decisions in the channel are firstin-first-out (FIFO); A5 The initial control decisions are embedded in each ACT i ; hence are not subject to control delays or losses; A6 The dynamic of each CHANNEL i , i = 1, . . . , |Σ 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.

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 ∈ L(SUP/G) executed is sufficient enough to serve as the "state" of the system as it determines both the current-state δ(q 0 , s) in the plant and the current control decision 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: (i) The states of the plant and the supervisor; both can be determined by string s ∈ L(G) executed. (ii) The configuration of each actuator ACT i representing the current effective control decision (0 or 1) for σ i .
(iii) The configuration of each control channel CHANNEL i , which captures what decisions are waiting in the channel and in what order. Formally, for each CHANNEL i , the channel configuration for σ i is a set of pairs in the form of We denote by Θ i the set of all channel configurations for CHANNEL i . Intuitively, for each (γ, n) ∈ θ i , γ ∈ {0, 1} represents a disable or enable decision while n represents the maximum remaining time of γ in the channel. (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.

B. Communication Delays
For the case of control delays, in addition to the current string executed s ∈ L(G), we also need to track the current channel configuration θ i ∈ Θ i and the current actuator which decreases the remaining time of each control decision in the channel by one unit. Now, for controllable event σ i ∈ Σ c , suppose that the current actuator configuration for ACT i is a i ∈ {0, 1} and the current channel configuration CHANNEL i is θ i = {(γ 1 , n 1 ), (γ 2 , n 2 ), . . . , (γ k , n k )} ∈ Θ i . Suppose that SUP i sends a new decision γ ∈ {0, 1}. We are interested in what are the next actuator configuration and channel configuration for σ i . To this end, we define operator • If θ i = ∅ and n min = 1, then where (γ min , n min ) ∈ θ is the pair such that n min = min{n 1 , . . . , n k }. Intuitively, Move D i captures how the configurations of CHANNEL i and ACT i evolve when a new decision is issued.
Note that Move D i is a non-deterministic transition function as control delay may happen or not. More precisely: • Equation (3) captures the case when CHANNEL i is empty. Depending on whether or not control delay occurs, there are two scenarios -Decision γ is received by ACT i without delay: then the configuration of ACT i will be updated to γ and the configuration of CHANNEL i is still ∅; -Decision γ is delayed in CHANNEL i : then the configuration of ACT i will be unchanged while the configuration of CHANNEL i will be updated to {(γ, N D i )}, where N D i is the upper bound for delays.
• Equation (4) captures the case when CHANNEL i is full in the sense that there exists a control decision γ min with only one unit left, i.e., n min = 1. Since we consider FIFO channel, ACT i will receive γ min definitely and the remaining times of all other decisions in CHANNEL i will be decreased by one unit with new decision (γ, N D i ) plugged in. • Equation (5) captures the case when CHANNEL i is non-empty but is also not full. Then the following two scenarios are possible -No decision is received by ACT i . In this case, the actuator configuration remains unchanged and the channel configuration is updated to NX the actuator configuration is updated to γ min and the channel configuration is updated by eliminating γ min and adding γ. Still, no decision whose remaining time is greater than n min can be received due to the FIFO property of the channel.
Therefore, when N D i = 0, i.e., CHANNEL i is not suffering from control delay, the channel configuration is always empty, i.e., θ i = ∅. In this case, operator Move D i is always in the form of 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 ACT i and 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 G shown in Figure 2 with Σ = {σ 1 , σ 2 , σ 3 }, Σ c = {σ 1 , σ 2 }. Suppose that 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 . For example, (0, 0) at state 1 represents that the initial control decisions are SUP 1 ( ) = 0 and SUP 2 ( ) = 0. Now, let us consider how CHANNEL 2 for event σ 2 evolves under communication delays. Here we assume N D 2 = 2. Initially, the configuration for ACT 2 is a 2 = SUP 2 ( ) = 0 and the configuration for CHANNEL 2 is θ 2 = ∅. When new event σ 3 occur, the supervisor sends γ = SUP 2 (σ 3 ) = 0 to CHANNEL 2 and we update the configurations to where (a 2 , θ 2 ) = (0, ∅) corresponds to the case that the newly issued 0 is received by ACT 2 and (a 2 , θ 2 ) = (0, {(0, 2)}) corresponds to the case that the newly issued 0 is delayed in CHANNEL 2 and ACT 2 is still using the original disable decision 0. Let us assume that the second case happens and the current configurations are (a 2 , θ 2 ) = (0, {(0, 2)}). Then when event σ 1 occurs, the supervisor will send γ = SUP 2 (σ 3 σ 1 ) = 1 to CHANNEL 2 and then we update the configurations to where (i) (a 2 , θ 2 ) = (0, {(1, 2)}) corresponds to the case that the previous issued decision 0 in the channel is received by ACT 2 and the newly issued decision 1 is waiting in the channel; and (ii) (a 2 , θ 2 ) = (0, {(0, 1), (1, 2)}) corresponds to the case that both the previous issued 0 and the newly issued 1 are delayed in CHANNEL 2 and ACT 2 is still using the initial decision 0.

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 CHANNEL i cannot have more than N L i consecutive losses, we need to introduce a "counter" component. We denote by N L i := {0, 1, · · · , N L i } the counter set. Now, for controllable event σ i ∈ Σ c , suppose that the current actuator configuration is a i ∈ {0, 1} and the counter number is c i ∈ N L i . Suppose that SUP i sends a new decision γ ∈ {0, 1}. We are also interested in what are the next actuator configuration and the next counter number for σ i . To this end, we define operator Intuitively, Equation (6) captures the case that there are already N L i consecutive losses for control decisions transmissions. Therefore, the current decision γ will be received by ACT i definitely and the counter is reset to 0. On the other hand, Equation (7) captures the case that the accumulated consecutive losses c i has not yet exceeded the upper bound. Then decision γ may either be received, which leads to (γ, 0), or be lost, which leads to (a i , c i + 1). Therefore, Move L i is still a non-deterministic function in general. Remark 2: When N L i = 0, the above model also boils down to the standard non-networked case. In this case, c i is always equal to 0, and Move L i is only in the form of Move L i (a i , 0, γ) = (γ, 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 G shown in Figure 2 with Σ = {σ 1 , σ 2 , σ 3 }, Σ c = {σ 1 , σ 2 }. We assume that CHANNEL 1 for σ 1 is subject to communication losses with N L 1 = 1 and we illustrate how CHANNEL 1 evolves. Initially, the configuration for ACT 1 is a 1 = SUP 1 ( ) = 0 and the counter is c 1 = 0. When the supervisor sends the first control decision γ = SUP 1 (σ 3 ) = 1 to CHANNEL 1 upon the occurrence of σ 3 , we update it according to where (i) (0, 1) corresponds to the case that the newly issued decision 1 is lost and therefore, ACT 1 is still using the previous 0 and the countered is added to 1; and (ii) (1, 0) corresponds to the case that the newly issued decision 1 is received by ACT 1 and the counter is reset to 0. Note that if the first case happen, then the second control decision γ = SUP 1 (σ 3 σ 1 ) = 0 to CHANNEL 1 will not be lost for sure as the counter is already 1 = N L 2 .

D. General Case with Both Delays and Losses
Now, we consider the general case in which both delays and losses may happen in CHANNEL i . In this case, we need to track the channel configuration θ i ∈ Θ i , the actuator configuration a i ∈ ACT i and the counter number c i ∈ N L i ; 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}, we define operator which combines Move D i and Move L i . Specifically, for any a i ∈ {0, 1}, θ i ∈ Θ, c i ∈ N L i and γ ∈ {0, 1}, we have • If θ i = ∅, n min = 1 and c i = N L i , then .  (8) and (9) becomes Equations (6) and (7), respectively. However, Equations (11) and (13) capture the scenarios when delays and losses are combined. Specifically, the first element in Equation (11) corresponds to the case that γ min is received by ACT i but γ is plugged in CHANNEL i , while the the second element corresponds to the case that γ min is received by ACT i but γ is lost. For Equation (13), it captures the four possible combinations of "γ min is received by ACT i or not" and "γ 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.

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 |-dimensional vector a = (a 1 , a 2 , . . . , a |Nc| ) ∈ {0, 1} |Σc| .
We denote by A the set of all actuator configurations. For each actuator configuration a ∈ A, we denote by Γ(a) the set of controllable events that are enabled, i.e., Similarly, the channel configuration of the overall system is a |Σ c |-dimensional vector We denote by Θ = Θ 1 × · · · × Θ |Σc| the set of all channel configurations. Also, we define the overall consecutive losses counter as The dynamics of the overall network configuration is defined by operator

B. Closed-loop Language
In order to specify the complete dynamics of the closedloop 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 Since the communication channels are all empty initially, the initial channel configuration is given by Also, the initial counter is given by 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 A set of extended string is called an extended language. Therefore, a networked supervisory control system essentially generates an extended language L e (SUP/G) defined recursively as follows: • ( , a 0 , θ 0 , c 0 ) ∈ L e (SUP/G); • For any t = (s, a, θ, c) and σ ∈ Σ, we have t = (s , a , θ , c ) ∈ L e (SUP/G) iff t ∈ L e (SUP/G); s = sσ ∈ L(G); σ ∈ Γ(a) ∪ Σ uc ; -(a , θ , c ) ∈ Move(a, θ, c, γ(s )), where γ(s ) := (SUP 1 (s ), . . . , SUP |Σc| (s )) 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 σ should be feasible in the original plant G. The third condition says that event σ 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 ). The effect of γ(s ) 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., This completes our general model for networked supervisory control system over multiple channel networks.

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 is partitioned as m groups such that actuators in each Σ c,i share the same control channel 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 CHANNEL i is then in the domain of {0, 1} |Σc,i| rather than in {0, 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.
• Finally, since Γ((0, 1)) = {σ 2 } for each of the above extended string, we can no longer proceed to enable σ 1 , i.e., no extended string can be defined from σ 3 σ 1 σ 2 . Therefore, by projecting the obtained extended strings above to their first components, we have L(SUP/G) = { , σ 3 , σ 3 σ 1 , σ 3 σ 1 σ 2 }. Remark 3: In the proposed modeling framework, the state-space grows exponentially fast with the delay upper bound N D i and the loss upper bound N L i due to the combination of configurations of control channels. However, in practice, N D i and N 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 N c steps and at least one control command in the past N 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/G) 1 : • ∈ L(SUP/G); • for any s ∈ Σ * , σ ∈ Σ, we have sσ ∈ L(SUP/G) iff s ∈ L(SUP/G); and sσ ∈ L(G); and σ ∈ Σ uc ∪SUP(s)∪SUP(s −1 )∪· · ·∪SUP(s −Nc ) where s −k denotes the string obtained by removing the last k events in s. This definition essentially handles control delays by roughly considering all possible control decision in the past N 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/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 G shown in Figure 2 with Σ c = {σ 1 , σ 2 }. We assume there is only one single control channel, i.e., σ 1 and σ 2 shares the same channel as the case of Example 3. Also, we assume the delay bound is N D = 2 or N c = 2 using the notation of [7].