Skip to main content
Log in

Supervisory control and reactive synthesis: a comparative introduction

  • Published:
Discrete Event Dynamic Systems Aims and scope Submit manuscript

Abstract

This paper presents an introduction to and a formal connection between synthesis problems for discrete event systems that have been considered, largely separately, in the two research communities of supervisory control in control engineering and reactive synthesis in computer science. By making this connection mathematically precise in a paper that attempts to be as self-contained as possible, we wish to introduce these two research areas to non-expert readers and at the same time to highlight how they can be bridged in the context of classical synthesis problems. After presenting general introductions to supervisory control theory and reactive synthesis, we provide a novel reduction of the basic supervisory control problem, non-blocking case, to a problem of reactive synthesis with plants and with a maximal permissiveness requirement. The reduction is for fully-observed systems that are controlled by a single supervisor/controller. It complements prior work that has explored problems at the interface of supervisory control and reactive synthesis. The formal bridge constructed in this paper should be a source of inspiration for new lines of investigation that will leverage the power of the synthesis techniques that have been developed in these two areas.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15

Similar content being viewed by others

Notes

  1. This definition differs a bit from the classical definition of a computation tree’s containment in the tree language induced by a CTL formula, where the safisfaction of ϕ is checked at the root node itself. For reactive synthesis, where every node is labeled by the last input, this definition is a bit awkward, however, as the root node does not have a last input. By evaluating a CTL formula on all children of the root node, we circumvent this problem. For the scope of this paper, we find this approach to be conceptually cleaner than allowing the system to choose an arbitrary first input proposition valuation at the root, as done in many classical publications on reactive synthesis.

  2. In Madhusudan (2001) this is also called the control problem for the universal environment. In his thesis, Madhusudan also defines a control problem for reactive environments, where the goal is to find a controller that works against all possible strategies of the environment, instead of a controller that works against the single, “maximally nondeterministic” strategy of the environment which is to offer all possible inputs (the latter is the universal environment). In the case of LTL specifications, a winning strategy for the maximally-nondeterministic environment is also winning for any other environment. As pointed out in Madhusudan (2001), this is not the case for CTL or CTL specifications. For example, a specification of the form E ϕ may be satisfied in a maximally-nondeterministic environment which allows a certain path satisfying ϕ, whereas in a more restrictive environment which does not allow such a path, the formula may not hold. Madhusudan (2001) shows that the control problem for reactive environments is harder (from a complexity point of view) than the control problem for the universal environment. For our purposes, the latter problem suffices to capture SSCP.

  3. Note that from state (x 3,⊥) there is a path to a c c. This may seem counter-intuitive, as (x 3,⊥) may be interpreted as the state where the plant is at x 3 and the supervisor has disabled all controllable events. Since no uncontrollable event exists at x 3, this must be a blocking situation. As it turns out, this is not a problem, because we insist on maximally-permissive supervisors and strategies. Such a strategy either allows also controllable events from x 3, in which case blockingness is avoided by reaching the corresponding controllable successors, or disables all controllable successors of x 3, in which case x 3 is already blocking. Therefore, it is safe to allow a back-transition from (x 3,⊥) to x 3.

References

  • Abadi M, Lamport L, Wolper P (1989) Realizable and unrealizable concurrent program specifications. In: Proceedings of the 25th International Colloq. on Automata, Languages, and Programming, volume 372 of Lecture Notes in Computer Science. Springer, pp 1–17

  • Asarin E, Maler O, Pnueli A (1995) Symbolic controller synthesis for discrete and timed systems. In: Hybrid Systems II

  • Arnold A, Vincent A, Walukiewicz I (2003) Games for synthesis of controllers with partial observation. Theor Comput Sci 303(1):7–34

    Article  MathSciNet  MATH  Google Scholar 

  • Büchi JR, Landweber LH (1969) Solving sequential conditions by finite-state strategies. Trans. AMS 138:295–311

    Article  MathSciNet  MATH  Google Scholar 

  • Barrett G, Lafortune S (1998) On the synthesis of communicating controllers with decentralized information structures for discrete-event systems. In: IEEE Conference on Decision and Control

  • Clarke EM, Emerson EA (1981) Design and synthesis of synchronization skeletons using branching time temporal logic. In: Proceedings Workshop on Logic of Programs, volume 131 of Lecture Notes in Computer Science, pp 52–71. Springer

  • Clarke EM, Emerson EA, Sistla AP (1986) Automatic verification of finite-state concurrent systems using temporal logic specifications. ACM Trans Program Lang Syst 8(2):244–263

    Article  MATH  Google Scholar 

  • Clarke E, Grumberg O, Peled D (2000) Model Checking. MIT Press

  • Cassez F, Henzinger T, Raskin J-F (2002) A Comparison of Control Problems for Timed and Hybrid Systems. In: HSCC’02, volume 2289 of LNCS. Springer-Verlag

  • Church A (1957) Applicaton of recursive arithmetics to the problem of circuit synthesis. In: Summaries of Talks Presented at The Summer Institute for Symbolic Logic, 3–50. Communications Research Division, Institute for Defense Analysis

  • Church A (1963) Logic, arithmetic and automata. In: Proceedings of the International Congress of Mathematics

  • Cassandras CG, Lafortune S (2008) Introduction to Discrete Event Systems, 2nd. Springer, Boston

    Book  MATH  Google Scholar 

  • Dill DL (1989) Trace theory for automatic hierarchical verification of speed independent circuits. MIT Press

  • de Queiroz MH, Cury JER, Wonham WM (2005) Multitasking supervisory control of discrete-event systems. Discrete Event Dynamic Systems. Theory Appl 15 (4):375–395

    MATH  Google Scholar 

  • Emerson EA, Clarke EM (1982) Using branching time logic to synthesize synchronization skeletons. Sci Comput Program 2:241–266

    Article  MATH  Google Scholar 

  • Emerson EA, Halpern JY (1986) Sometimes and Not Never revisited: on branching versus linear time temporal logic. J. ACM 33(1):151–178

    Article  MathSciNet  MATH  Google Scholar 

  • Ehlers R (2013) Symmetric and Efficient Synthesis. PhD thesis, Universität des Saarlandes

  • Ehlers R, Lafortune S, Tripakis S, Vardi M (2014) Bridging the gap between supervisory control and reactive synthesis: Case of full observation and centralized control. In: Proceedings of the 12th International Workshop on Discrete Event Systems (WODES 2014)

  • Francez N (1992) Program verification. Int. Computer Science. Addison-Weflay

  • Green CC (1969) Application of theorem proving to problem solving. In: 1st International Joint Conference on Artificial Intelligence, pp 219–240

  • Henzinger T, Kopke P (1997) Discrete-time control for rectangular hybrid automata. In: ICALP ’97

  • Harel D, Marelly R (2003) Come, Let’s Play. Springer

  • Harel D, Pnueli A (1985) On the development of reactive systems. In: Apt K (ed) Logics and Models of Concurrent Systems, volume F-13 of NATO Advanced Summer Institutes. Springer, pp 477–498

  • Hoffmann G, Wong Toi H (1992) Symbolic synthesis of supervisory controllers. In: American Control Conference

  • Jackson D (2009) A direct path to dependable software. Commun. ACM 52 (4):78–88

    Article  Google Scholar 

  • Jiang S, Kumar R (2006) Supervisory Control of Discrete Event Systems with CTL* Temporal Logic Specifications. SIAM J Control Optim 44(6):2079–2103

    Article  MathSciNet  MATH  Google Scholar 

  • Kress-Gazit H, Fainekos GE, Pappas GJ (2007) Where’s waldo? Sensor-based temporal logic motion planning. In: IEEE International Conference on Robotics and Automation, ICRA, pp 3116– 3121

  • Kumar R, Garg VK (1995) Modeling and control of logical discrete event systems. Kluwer Academic Publishers

  • Kumar R, Garg V, Marcus SI (1992) On supervisory control of sequential behaviors. IEEE Trans Autom Control 37(12):1978–1985

    Article  MathSciNet  MATH  Google Scholar 

  • Kupferman O, Madhusudan P, Thiagarajan PS, Vardi MY (2000) Open systems in reactive environments: Control and synthesis. In: 11th International Conference on Concurrency Theory, CONCUR’00. Springer, pp 92–107

  • Komenda J, Masopust T, van Schuppen JH (2012) Supervisory control synthesis of discrete-event systems using a coordination scheme. Automatica 48(2):247–254

    Article  MathSciNet  MATH  Google Scholar 

  • Kupferman O, Vardi M (1996) Module checking. In: Alur R, Henzinger T (eds) Computer Aided Verification, volume 1102 of LNCS. Springer, pp 75–86

  • Kupferman O, Vardi M (1999) Church’s problem revisited. Bull Symb Log 5 (2)

  • Kupferman O, Vardi MY (2000) Synthesis with incomplete information. Advances in Temporal Logic, pp 109–127. Kluwer Academic Publishers

  • Lin F (1993) Analysis and synthesis of discrete event systems using temporal logic. Control Theory Adv Technol 9:341–350

    MathSciNet  Google Scholar 

  • Lichtenstein O, Pnueli A (1985) Checking that finite state concurrent programs satisfy their linear specification. In: Proceedings 12th ACM Symposium on Principles of Programming Languages, pp 97–107

  • Lamouchi H, Thistle J (2000) Effective control synthesis for DES under partial observations. In: 39th IEEE Conference on Decision and Control, pp 22–28

  • Lustig Y, Vardi M (2009) Synthesis from component libraries, Foundations of Software Science and Computational Structures, pp 395–409

  • Madhusudan P (2001) Control and Synthesis of Open Reactive Systems. PhD thesis, University of Madras

  • Maler O, Pnueli A, Sifakis J (1995) On the synthesis of discrete controllers for timed systems. In: STACS ’95

  • Manna Z, Wolper P (1984) Synthesis of communicating processes from temporal logic specifications. ACM TOPLAS 6(1)

  • Overkamp A, van Schuppen JH (2000) Maximal solutions in decentralized supervisory control. SIAM J Control Optim 39(2):492–511

    Article  MathSciNet  MATH  Google Scholar 

  • Pnueli A (1977) The temporal logic of programs. In: Proceedings of the 18th IEEE Symposium on Foundations of Computer Science, pp 46–57

  • Piterman N, Pnueli A, Saar Y (2006) Synthesis of reactive(1) designs. In: Proceedings of the 7th International Conference on Verification, Model Checking, and Abstract Interpretation, volume 3855 of Lecture Notes in Computer Science. Springer, pp 364–380

  • Pnueli A, Rosner R (1989a) On the synthesis of a reactive module. In: ACM Symposium POPL

  • Pnueli A, Rosner R (1989b) On the synthesis of an asynchronous reactive module. In: Proceedings of the 16th International Colloq. on Automata, Languages, and Programming, volume 372 of Lecture Notes in Computer Science. Springer, pp 652–671

  • Pnueli A, Rosner R (1990) Distributed reactive systems are hard to synthesize. In: Proceedings of the 31th IEEE Symposium on Foundations of Computer Science, pp 746–757

  • Pinchinat S, Riedweg S (2005) You can always compute maximally permissive controllers under partial observation when they exist. In: Proceedings of the 2005 American Control Conference, pp 2287–2292

  • Queille JP, Sifakis J (1982) Specification and verification of concurrent systems in Cesar. In: Proceedings of the 8th ACM Symposium on Principles of Programming Languages, volume 137 of Lecture Notes in Computer Science. Springer, pp 337–351

  • Rabin MO (1972) Automata on infinite objects and Church’s problem. Amer. Mathematical Society

  • Ramadge PJ (1989) Some tractable supervisory control problems for discrete-event systems modeled by Büchi automata. IEEE Trans Autom Control 34(1):10–19

    Article  MathSciNet  MATH  Google Scholar 

  • Riedweg S, Pinchinat S (2003) Quantified mu-calculus for control synthesis. In: Rovan B, Vojas P (eds) Mathematical Foundations of Computer Science 2003, volume 2747 of Lecture Notes in Computer Science. Springer, Berlin, pp 642–651

  • Riedweg S, Pinchinat S (2004) Maximally permissive controllers in all contexts. In: Proceedings of the 2004 International Workshop on Discrete Event Systems

  • Ricker SL, Rudie K (2000) Know means no: Incorporating knowledge into discrete-event control systems. IEEE Trans Autom Control 45(9):1656–1668

    Article  MathSciNet  MATH  Google Scholar 

  • Ramadge P, Wonham W (1987) Supervisory control of a class of discrete event processes. SIAM J Control Optim 25(1):206–230

    Article  MathSciNet  MATH  Google Scholar 

  • Ramadge P, Wonham W (1989) The control of discrete event systems, In: Proceedings of the IEEE

  • Rudie K, Wonham W (1992) Think globally, act locally: Decentralized supervisory control. IEEE Trans Autom Control:37

  • Seatzu C, Silva M, van Schuppen J (eds) (2013) Control of Discrete Event Systems. Automata and Petri Net Perspectives. Springer

  • Thistle JG (1995) On control of systems modelled as deterministic Rabin automata. Discrete Event Dynamic Systems 5(4):357–381

    Article  MATH  Google Scholar 

  • Thistle JG (1996) Supervisory control of discrete event systems. Mathl Comput Modelling 23(11/12):25–53

    Article  MathSciNet  MATH  Google Scholar 

  • Thistle JG, Malhamé RP (1998) Control of omega-automata under state fairness assumptions. Syst Control Lett:33

  • Tripakis S (2004) Undecidable Problems of Decentralized Observation and Control on Regular Languages. Inf Process Lett 90(1):21–28

    Article  MathSciNet  MATH  Google Scholar 

  • Thistle JG, Wonham WM (1986) Control problems in a temporal logic framework. Int J Control 44(4):943–976

    Article  MathSciNet  MATH  Google Scholar 

  • Thistle J, Wonham W (1994a) Control of infinite behavior of finite automata. SIAM J Control Optim 32(4):1075–1097

  • Thistle J, Wonham W (1994b) Supervision of infinite behavior of discrete-event systems. SIAM J Control Optim 32(4):1098–1113

  • Vardi MY (1995) An automata-theoretic approach to fair realizability and synthesis. In: Proceedings of the 7th International Conference on Computer Aided Verification, volume 939 of Lecture Notes in Computer Science. Springer, pp 267–292

  • van Hulst AC, Reniers MA, Fokkink WJ (2014) Maximal synthesis for Hennessy-Milner logic with the box modality. In: Proceedings of the 2014 International Workshop on Discrete Event Systems

  • Vardi MY, Wolper P (1986) An automata-theoretic approach to automatic program verification. In: Proceedings of the 1st IEEE Symposium on Logic in Computer Science, pp 332–344

  • Wonham WM (2015) Supervisory Control of Discrete Event Systems. Available on the author’s website

  • Wonham W, Ramadge P (1987) On the supremal controllable sublanguage of a given language. SIAM J. Control Optim. 25(3):637–659

    Article  MathSciNet  Google Scholar 

  • Wong-Toi H, Dill DL (1991) Synthesizing processes and schedulers from temporal specifications. In: Clarke EM, Kurshan RP (eds) Proc. 2nd Int. Conf. on Computer Aided Verification, volume 3 of DIMACS Series in Discrete Mathematics and Theoretical Computer Science, pp 177–186. AMS

Download references

Acknowledgments

We would like to thank Orna Kupferman, Madhusudan Parthasarathy, and John Thistle, for a number of interesting discussions, and Dror Fried for a careful reading of an earlier version of the paper. We also thank the anonymous reviewers for their pertinent comments.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Stéphane Lafortune.

Additional information

This work was primarily supported by the US National Science Foundation (NSF) Expeditions in Computing project ExCAPE: Expeditions in Computer Augmented Program Engineering (grant CCF-1138860). Additional support from the following sources is also acknowledged: the University of California at Berkeley, the University of Michigan, Rice University, Aalto University, the iCyPhy Research Center (supported by IBM and United Technologies), the Academy of Finland, NSF award CNS-1329759, and the Institutional Strategy of the University of Bremen, funded by the German Excellence Initiative.

Appendices

A Proof of theorem 1

We use the formalism defined in Section 2.1 to show that the concept of maximally permissive solution, which is a central requirement in problem BSCP-NB of Section 2.1.8, is well defined. This will provide a proof of Theorem 1 that is self-contained.

For this purpose, we must first define the disjunction of two supervisors.

Let G be a DES plant and let S 1,S 2 be two supervisors for G. We define S 1S 2 to be a new supervisor, denoted by S 1∪2 for G, such that S 1∪2(σ) = S 1(σ)∪S 2(σ) for all σE . We call S 1∪2 the disjunction of S 1 and S 2, since S 1∪2 allows all strings that S 1 and S 2 respectively allow.

We now wish to characterize the controlled behavior \(\mathcal {L} (S_{1\cup 2}/G) \) under the disjunction of S 1 and S 2. Recall that when S i is applied to G in isolation, the definition of S i over \(E^{*} \setminus \mathcal {L}(S_{i}/G)\) is irrelevant, since these strings will never occur in the controlled system. However, in the context of disjunction, this is no longer true since the controlled behavior will in general exceed \(\mathcal {L}(S_{i}/G)\) due to the actions of the other supervisor(s). In order to allow for a simple characterization of \(\mathcal {L} (S_{1\cup 2}/G) \), we make the following assumption:

$$ S_{i} (\sigma) = E_{uc} \text{~for all~} \sigma \in E^{*} \setminus \mathcal{L}(S_{i}/G). $$
(3)

We refer to supervisors that satisfy this assumption as “ G-matched supervisors.”

We can think of S i as being “out of range” when the controlled language leaves \(\mathcal {L}(S_{i}/G)\). Hence, when this occurs, S i will not enable any events, other than uncontrollable ones, as it assumes that the controlled behavior is now in the range of another supervisor. Any supervisor \(S^{\prime }_{i}\), when applied in isolation to G, can be replaced by a G-matched one, S i , that results in the same controlled behavior \(\mathcal {L} (S^{\prime }_{i}/G) = \mathcal {L}(S_{i}/G)\).

It follows directly from the G-matched assumption and from the definition of disjunction that

$$ \mathcal{L} (S_{1\cup 2}/G) = \mathcal{L}(S_{1}/G) \cup \mathcal{L} (S_{2}/G) . $$
(4)

Since marking is a property of the plant, we similarly have that

$$\begin{array}{@{}rcl@{}} \mathcal{L}_{m} (S_{1\cup 2}/G) & = & \mathcal{L}(S_{1\cup 2}/G) \cap \mathcal{L}_{m}(G) \end{array} $$
(5)
$$\begin{array}{@{}rcl@{}} & = & [ \mathcal{L}(S_{1}/G) \cup \mathcal{L} (S_{2}/G) ] \cap \mathcal{L}_{m}(G) \end{array} $$
(6)
$$\begin{array}{@{}rcl@{}} & = & [ \mathcal{L}(S_{1}/G) \cap \mathcal{L}_{m}(G) ] \cup \left[\right. \mathcal{L} (S_{2}/G)\left.\right) \cap \mathcal{L}_{m}(G)\left.\right] \end{array} $$
(7)
$$\begin{array}{@{}rcl@{}} & = & \mathcal{L}_{m}(S_{1}/G) \cup \mathcal{L}_{m}(S_{2}/G) \end{array} $$
(8)

Remark 5 (Supervisor disjunction)

It is worth noting that, without the assumption in Eq. (3), the closed-loop language under disjunction of supervisors may not be the union of their respective languages. As an example, consider again plant G 3 of Fig. 5, with L a m :={ε,c 1}. Consider supervisors S 1 and S 2 where S 1 always disables c 1 and enables c 2, whereas S 2 always disables c 2 and enables c 1. Both S 1 and S 2 are non-blocking for G 3, because all states in the closed-loop system are accepting. Moreover, both S 1 and S 2 are safe w.r.t. the above L a m . Indeed, S 2 always disables c 2, while S 1, by disabling c 1, prevents G 3 from reaching state x 1, thus indirectly preventing c 2. However, S 1S 2 is not safe, since it allows both c 1 and c 2 at any state.

The following result establishes a key property of supervisor disjunction.

Theorem 5

Let G be a DES plant and let \(L_{am} \subseteq \mathcal {L}_{m}(G)\) be the admissible marked language. If S 1 ,S 2 are two non-blocking and safe supervisors that are G-matched,

then S 1 ∪S 2 is also a non-blocking and safe supervisor, and it is G-matched.

Proof

We have that \(\overline {\mathcal {L}_{m}(S_{i}/G)} = \mathcal {L}(S_{i}/G)\) and \(\mathcal {L}_{m}(S_{i}/G) \subseteq {L_{am}}\), for i=1,2.

Safety: Clearly,

$$\mathcal{L}_{m}(S_{1\cup 2}/G) = \mathcal{L}_{m}(S_{1}/G) \cup \mathcal{L}_{m}(S_{2}/G) \subseteq {L_{am}} $$

and thus S 1S 2 is a safe supervisor.

Non-blockingness: Since prefix-closure can be distributed over union (the proof of this fact is straightforward), we have that

$$\begin{array}{@{}rcl@{}} \overline{\mathcal{L}_{m}(S_{1 \cup 2}/G)} &=& \overline{\mathcal{L}_{m}(S_{1}/G) \cup \mathcal{L}_{m}(S_{2}/G)} \end{array} $$
(9)
$$\begin{array}{@{}rcl@{}} &=& \overline{\mathcal{L}_{m}(S_{1}/G)} \cup \overline{\mathcal{L}_{m}(S_{2}/G)} \end{array} $$
(10)
$$\begin{array}{@{}rcl@{}} &=& \mathcal{L}(S_{1}/G) \cup \mathcal{L}(S_{2}/G) \end{array} $$
(11)
$$\begin{array}{@{}rcl@{}} &=& \mathcal{L}(S_{1 \cup 2}/G). \end{array} $$
(12)

which proves that S 1S 2 is a non-blocking supervisor.

Finally, it is clear that S 1∪2 is G-matched as it inherits this property from the definitions of S 1 and S 2 outside of \( \mathcal {L}(S_{1 \cup 2}/G)\).

Corollary 3

Theorem 5 holds for infinite disjunctions of supervisors.

Proof

All steps in the proof of Theorem 5 hold for an arbitrary number of disjunctions.

The hypothesis of Theorem 1 is that there exists at least one non-blocking supervisor for G that is safe w.r.t. L a m . If there exists a single supervisor with these properties, then it is necessarily the unique desired S m p n b , as no other safe non-blocking supervisor exists. Let us assume then that there are several safe and non-blocking supervisors. If a supervisor S is not G-matched, then we can always make it G-matched without changing \(\mathcal {L}(S/G)\) or \(\mathcal {L}_{m}(S/G)\). By taking the disjunction of all G-matched non-blocking supervisors for G that are safe w.r.t. L a m , we obtain a unique G-matched supervisor that is also safe and non-blocking by Corollary 3; let us denote it by \(S_{disj}^{G}\). Then \(\mathcal {L}_{m}(S_{disj}^{G})\) contains all the sublanguages of L a m that can be achieved by any safe and non-blocking supervisor. Otherwise, if the sublanguage of L a m achieved by one supervisor is not contained in \(\mathcal {L}_{m}(S_{disj}^{G})\), then the G-matched version of that supervisor would not have been added in the disjunction of all G-matched safe and non-blocking supervisors, a contradiction.

Once we have the unique maximally-permissive closed-loop behavior \(\mathcal {L}_{m}(S_{disj}^{G})\), we take S m p n b to be the unique maximally permissive supervisor that achieves it. To obtain S m p n b , we simply add to \(S_{disj}^{G}\) all infeasible (in G) controllable events for strings in \(\mathcal {L}(S_{disj}^{G} / G)\) and all controllable events for strings in \(E^{*} \setminus \mathcal {L}(S_{disj}^{G} /G)\). Since \(\mathcal {L}(S_{mpnb}/G) = \mathcal {L}(S_{disj}^{G}/G)\) and \(\mathcal {L}_{m}(S_{mpnb}/G) = \mathcal {L}_{m}(S_{disj}^{G}/G)\), then S m p n b is non-blocking for G and safe w.r.t. L a m . S m p n b is not G-matched anymore, but this is of no consequence in the later developments in the paper.

This completes the proof of Theorem 1.

B Proof of theorem 2

First, we state and prove the following lemma.

Lemma 5

Let G=(X,x 0 ,X m ,E,δ), \(L_{am}\subseteq \mathcal {L}_{m}(G)\) , and assume that L am is \(\mathcal {L}_{m}(G)\) -closed. Let A be a complete DFA such that \(\mathcal {L}_{m}(A)=L_{am}\). Let S be a supervisor for G, and therefore also for G×A. Then, the following hold:

  1. 1.

    If S is non-blocking for plant G×A, then S is non-blocking for plant G.

  2. 2.

    If S is non-blocking for plant G×A, then S is safe for plant G w.r.t. L am .

  3. 3.

    If S is non-blocking for plant G and safe for plant G w.r.t. L am , then S is non-blocking for plant G × A.

  4. 4.

    S is safe for plant G×A w.r.t. \(\mathcal {L}_{m}(G\times A)\).

Proof

  1. 1.

    To show that S is non-blocking for G, we need to show \(\mathcal {L}(S/G)\subseteq \overline {\mathcal { L}_{m}(S/G)}\). Let \(\sigma \in \mathcal {L}(S/G)\). We need to find σ such that \(\sigma \cdot \sigma ^{\prime } \in \mathcal {L}_{m}(S/G)\). We know that \(\sigma \in \mathcal {L}(S/G\times A)\) because A is complete. Also, S is non-blocking for G×A, thus \(\sigma \in \overline {\mathcal {L}_{m}(S/G\times A)}\). Therefore there exists σ such that \(\sigma \cdot \sigma ^{\prime }\in \mathcal {L}_{m}(S/G\times A)\). By definition of the marked states of G×A, both G and A accept σσ . Therefore, \(\sigma \cdot \sigma ^{\prime } \in \mathcal {L}_{m}(S/G)\).

  2. 2.

    To show that S is safe for G w.r.t. L a m , we need to show \(\mathcal {L}_{m}(S/G) \subseteq L_{am}\). Let \(\sigma \in \mathcal {L}_{m}(S/G)\). We need to show σL a m . \(\sigma \in \mathcal {L}_{m}(S/G)\) implies \(\sigma \in \mathcal { L}(S/G)\), and therefore \(\sigma \in \mathcal {L}(S/G\times A)\) because A is complete. Consider the (unique) run of G×A on σ. We claim that this run ends on a product state that is marked for both G and A. \(\sigma \in \mathcal {L}_{m}(S/G)\), therefore the product state must indeed be marked for G. We show that \(\sigma \in \mathcal {L}_{m}(A)\) which implies that the product state is also marked for A. Since S is non-blocking for G×A, there exists σ such that \(\sigma \cdot \sigma ^{\prime }\in \mathcal {L}_{m}(S/G\times A)\). But this means \(\sigma \cdot \sigma ^{\prime }\in \mathcal { L}_{m}(A)\), which implies \(\sigma \in \overline {\mathcal {L}_{m}(A)}\). Also, \(\sigma \in \mathcal {L}_{m}(S/G)\) implies \(\sigma \in \mathcal {L}_{m}(G)\). Therefore, we have \(\sigma \in \mathcal {L}_{m}(G)\cap \overline {\mathcal {L}_{m}(A)}\).

    Since \(\mathcal {L}_{m}(A)\) (i.e., L a m ) is \(\mathcal {L}_{m}(G)\)-closed, \(\sigma \in \mathcal {L}_{m}(A)\).

  3. 3.

    To show that S is non-blocking for plant G×A, we need to show \(\mathcal {L}(S/G\times A) \subseteq \overline {\mathcal {L}_{m}(S/G\times A)}\). Let \(\sigma \in \mathcal {L}(S/G\times A)\). We need to find σ such that \(\sigma \cdot \sigma ^{\prime }\in \mathcal {L}_{m}(S/G\times A)\). \(\sigma \in \mathcal {L}(S/G\times A)\) implies \(\sigma \in \mathcal {L}(S/G)\) and \(\sigma \in \mathcal {L}(A)\). Since S is non-blocking for G, there exists σ such that \(\sigma \cdot \sigma ^{\prime }\in \mathcal {L}_{m}(S/G)\). Since \(\mathcal {L}_{m}(S/G)\subseteq L_{am}=\mathcal {L}_{m}(A)\), \(\sigma \cdot \sigma ^{\prime }\in \mathcal {L}_{m}(A)\). \(\sigma \cdot \sigma ^{\prime }\in \mathcal {L}_{m}(S/G)\) and \(\sigma \cdot \sigma ^{\prime }\in \mathcal { L}_{m}(A)\) implies \(\sigma \cdot \sigma ^{\prime }\in \mathcal {L}_{m}(S/G\times A)\). Therefore \(\sigma \in \overline {\mathcal {L}_{m}(S/G\times A)}\).

  4. 4.

    Trivially, since safe w.r.t. \(\mathcal {L}_{m}(G \times A)\) means \(\mathcal {L}_{m}(S/G \times A)\subseteq \mathcal { L}_{m}(G \times A)\), which holds for any S.

We can now present the proof of Theorem 2.

Proof

2⇒1 : We need to show that S is non-blocking for G, safe w.r.t. L a m , and maximally-permissive. Non-blockingness follows from Lemma 5, part 1. Safety follows from Lemma 5, part 2.

To show that S is maximally-permissive in G, suppose there exists a non-blocking and safe w.r.t. L a m supervisor S which is strictly more permissive than S. By Lemma 5, parts 3 and 4, S is non-blocking for G×A and safe for G×A w.r.t. \(\mathcal {L}_{m}(G\times A)\). The fact that S is strictly more permissive than S in G also means that S is strictly more permissive than S in G×A. This contradicts the hypothesis that S is maximally-permissive in G×A.

1⇒2 : We need to show that S is non-blocking for G×A, safe for G×A w.r.t. \(\mathcal { L}_{m}(G \times A)\), and maximally-permissive. Non-blockingness follows from Lemma 5, part 3. Safety follows from Lemma 5, part 4.

To show that S is maximally-permissive in G×A, suppose there exists a non-blocking supervisor S for G×A (and also trivially safe w.r.t. \(\mathcal {L}_{m}(G\times A)\)) which is strictly more permissive than S.

By Lemma 5, parts 1 and 2, S is non-blocking for G and safe for G w.r.t. L a m . The fact that S is strictly more permissive than S in G×A also means that S is strictly more permissive than S in G. This contradicts the hypothesis that S is maximally-permissive in G.

C An algorithm for SSCP

For the sake of completeness of this paper, a simple algorithm to solve SSCP is presented below. The algorithm starts by labeling as Blocking all states that cannot reach a marked state (note that this generally requires reachability analysis). Then the algorithm iterates, repeatedly labeling more states as Blocking, until no more can be labeled. A state is labeled during this iteration, if either it has an uncontrollable successor already labeled, or all its successors are already labeled. At the end, if the initial state is labeled Blocking then no supervisor exists. Otherwise, a state-based supervisor can easily be constructed by avoiding all controllable transitions leading to Blocking states.

figure e

The above algorithm essentially computes a fixpoint of a function that takes a set of blocking states and returns those states that have an uncontrollable transition to a blocking successor or all of whose successor states are blocking. The fixpoint evaluation starts from the set of states that do not have a path to a marked state. The algorithm is furthermore an adaptation of the standard algorithm in Wonham and Ramadge (1987) for solving BSCP-NB to the special case of SSCP. Examples of the application of the standard algorithm for solving BSCP-NB can be found in Wonham (2015), Cassandras and Lafortune (2008), for instance.

As a simple example of how the algorithm operates, consider the plant G 1 of Figure 3. After initialization, Blocking contains a single state, namely x 2. (Note that x 1 has no path to itself, but is not considered blocking because it is marked.) After executing the body of the repeat loop no more states are added to the set Blocking. Indeed, no state has an uncontrollable transition to x 2, therefore the set StatesWithUncontrollablyBlockingSuccs turns out to be empty. The set NewDeadlocks also turns out to be empty because there is no state whose only successors, if any, are blocking, i.e., x 2 (note that, again, the marked state x 1 is exempted). Since Blocking does not change, the loop is exited after one iteration. The initial state is not blocking, therefore a supervisor exists and is defined as follows: S(x 0)={u,c 1}, S(x 1) = S(x 2)={u,c 1,c 2}, and S(x 3)={c 2}. The computed supervisor corresponds to supervisor S 2 shown in Fig. 3.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Ehlers, R., Lafortune, S., Tripakis, S. et al. Supervisory control and reactive synthesis: a comparative introduction. Discrete Event Dyn Syst 27, 209–260 (2017). https://doi.org/10.1007/s10626-015-0223-0

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10626-015-0223-0

Keywords

Navigation