supervisory control of discrete-event systems ece … · the control of discrete-event systems...

497
SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE 1636F/1637S 2009-10 W.M. Wonham Systems Control Group Edward S. Rogers Sr. Dept. of Electrical & Computer Engineering University of Toronto Revised 2010.07.01 This monograph may be reproduced for the purpose of research, private study, classroom distribution, or review, provided that the source and the author are indicated thereon. The monograph, or any substantial part thereof, is not to be produced or reproduced for commercial use. c copyright by W.M. Wonham, 1997-2010

Upload: others

Post on 02-Aug-2020

6 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

SUPERVISORY CONTROL OF

DISCRETE-EVENT SYSTEMS

ECE 1636F/1637S 2009-10

W.M. Wonham

Systems Control Group

Edward S. Rogers Sr. Dept. of

Electrical & Computer Engineering

University of Toronto

Revised 2010.07.01

This monograph may be reproduced for the purpose of research, private

study, classroom distribution, or review, provided that the source and

the author are indicated thereon. The monograph, or any substantial

part thereof, is not to be produced or reproduced for commercial use.

c©copyright by W.M. Wonham, 1997-2010

Page 2: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Foreword

This monograph is based on the author’s lectures at the University of Toronto during the sessions1987-88 through 2009-10, as well as at Washington University (St. Louis) in May 1988, the IndianInstitute of Technology (Kanpur) in February 1989, Bilkent University (Ankara) in May 1989, theUniversidade Federal de Santa Catarina (Florianopolis) in February 1993, the Centro de Investigaciony de Estudios Avanzados (Guadalajara, Mexico) in February 1997, the University of Stuttgart in May1998, the Banaras Hindu University in February 2000, December 2001, and February 2006, and ZhejiangUniversity in May-June 2006-2010. The material on control theory originated with the U. of T. doctoraltheses of Peter Ramadge (1983), Feng Lin (1987), Yong Li (1991), Hao Zhong (1992), Bertil Brandin(1993), Shulin Chen (1996), Kai Wong (1994), and others, together with joint publications with theauthor. The software package TCT (for untimed DES) has been developed with the help of KarenRudie, Pablo Iglesias, Jimmy Wong, Pok Lee, and Zhang Renyuan; while the package TTCT for timedDES was developed by Christian Meder and Ali Saadatpoor.

I am indebted to Bibiana Pang for typing and editorial assistance.

W.M.W.2010.07.01

i

Page 3: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Contents

Foreword i

Introduction vii

TCT: General Information xi

1 Algebraic Preliminaries 1

1.1 Posets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 Lattices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.3 Equivalence Relations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.4 Equivalence Kernel and Canonical Factorization . . . . . . . . . . . . . . . . . . . . . . 13

1.5 Application: Internal Model Principle . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

1.6 Sprays and Covers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

1.7 Dynamic Invariance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

1.8 Notes and References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

2 Linguistic Preliminaries 37

2.1 Languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

2.2 Nerode Equivalence and Right Congruence . . . . . . . . . . . . . . . . . . . . . . . . . 38

2.3 Canonical Recognizers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

2.4 Automata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

ii

Page 4: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

2.5 Generators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

2.6 Regular Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

2.7 Causal Output Mapping and Hierarchical Aggregation . . . . . . . . . . . . . . . . . . 63

2.8 Chains of Regular Languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

2.9 Notes and References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

3 Supervision of Discrete-Event Systems: Basics 78

3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

3.2 Representation of Controlled Discrete-Event Systems . . . . . . . . . . . . . . . . . . . 79

3.3 Synchronous Product, Shuffle, and Meet . . . . . . . . . . . . . . . . . . . . . . . . . . 82

3.4 Controllability and Supervision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

3.5 Supremal Controllable Sublanguages and Optimal Supervision . . . . . . . . . . . . . . 97

3.6 Implementation of Supervisory Controls by Automata . . . . . . . . . . . . . . . . . . . 103

3.7 Design of Supervisors Using TCT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

3.8 Forced Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

3.9 Mutual Exclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

3.10 Supervisor Reduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

3.11 Notes and References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128

4 Decentralized Supervision of Discrete-Event Systems 129

4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

4.2 Conjunction of Supervisors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

4.3 Naive Decentralized Supervision: Deadly Embrace . . . . . . . . . . . . . . . . . . . . . 132

4.4 Decentralized Supervision: Small Factory . . . . . . . . . . . . . . . . . . . . . . . . . . 134

4.5 Decentralized Supervision: Big Factory . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

4.6 Decentralized Supervision: Transfer Line . . . . . . . . . . . . . . . . . . . . . . . . . . 139

iii

Page 5: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

4.7 Decentralized Supervision: AGVs in a Manufacturing Workcell . . . . . . . . . . . . . . 144

4.8 Decentralized Supervision by Natural Projection . . . . . . . . . . . . . . . . . . . . . . 172

4.9 Reasoning About Nonblocking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178

4.10 Synchronization and Event Hiding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184

4.11 Notes and References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187

5 Hierarchical Supervision of Discrete-Event Systems 189

5.1 Hierarchical Control Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189

5.2 Two-Level Controlled Discrete-Event System . . . . . . . . . . . . . . . . . . . . . . . . 191

5.3 High-Level Control Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194

5.4 Command and Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199

5.5 Hierarchical Consistency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204

5.6 Hierarchical Supervision of Transfer Line . . . . . . . . . . . . . . . . . . . . . . . . . . 209

5.7 Hierarchical Supervision with Nonblocking . . . . . . . . . . . . . . . . . . . . . . . . . 214

5.8 Appendix: Computational Algorithm for Output-Control-Consistency . . . . . . . . . . 226

5.9 Appendix: Conceptual Procedure for Strict-Output-Control-Consistency . . . . . . . . 230

5.10 Appendix: Computational Algorithm for Hierarchical Consistency . . . . . . . . . . . . 231

5.11 Listing for Pseudo-Pascal Unit POCC and Program PSHC . . . . . . . . . . . . . . . . 237

5.12 Notes and References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242

6 Supervisory Control With Partial Observations 244

6.1 Natural Projections and Normal Languages . . . . . . . . . . . . . . . . . . . . . . . . 244

6.2 Observable Languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257

6.3 Feasible Supervisory Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263

6.4 Infimal Closed Observable Sublanguages . . . . . . . . . . . . . . . . . . . . . . . . . . 279

6.5 Supervisory Control and Normality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283

iv

Page 6: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

6.6 Control of a Guideway . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293

6.7 Nondeterminism, Quasi-Congruences, and the Observer Property . . . . . . . . . . . . 301

6.8 Notes and References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316

7 State-Based Control of Discrete-Event Systems 317

7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317

7.2 Predicates and State Subsets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317

7.3 Predicate Transformers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318

7.4 State Feedback and Controllability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320

7.5 Balanced State Feedback Controls and Modularity . . . . . . . . . . . . . . . . . . . . . 324

7.6 Dynamic State Feedback Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326

7.7 Notes and References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329

7.8 Appendix: Two Industrial Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329

8 Supervision of Vector Discrete-Event Systems 336

8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336

8.2 Vector Discrete-Event Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336

8.3 VDES Modelling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339

8.4 Linear Predicates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341

8.5 State Feedback and Controllability of VDES . . . . . . . . . . . . . . . . . . . . . . . . 342

8.6 Reachability and Loop-Freeness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345

8.7 Loop-Freeness and Optimal Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349

8.8 Example: FACT#5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351

8.9 Memory and Dynamic State Feedback Control for VDES . . . . . . . . . . . . . . . . . 355

8.10 Modular Dynamic State Feedback Control for VDES . . . . . . . . . . . . . . . . . . . 356

8.11 Example: FACT#2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358

v

Page 7: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

8.12 Modelling and Control of a Production Network . . . . . . . . . . . . . . . . . . . . . . 360

8.13 Representation of Optimal Control by a Control VDES . . . . . . . . . . . . . . . . . . 366

8.14 Appendix: Three Examples from Petri Nets . . . . . . . . . . . . . . . . . . . . . . . . 376

8.15 Notes and References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387

9 Supervisory Control of Timed Discrete-Event Systems 388

9.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388

9.2 Timed Discrete-Event Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389

9.3 Example 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393

9.4 Example 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395

9.5 Time Bounds as Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396

9.6 Composition of TDES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397

9.7 Example 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398

9.8 Controllability of TDES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399

9.9 Supremal Controllable Sublanguages and Optimal Supervision . . . . . . . . . . . . . . 404

9.10 Example 4: Endangered Pedestrian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406

9.11 Example 5: Timed Manufacturing Cell . . . . . . . . . . . . . . . . . . . . . . . . . . . 410

9.12 Modular Supervision of TDES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418

9.13 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423

9.14 Notes and References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423

Bibliography 424

Appendix: Supervisory Control of a Mine Pump 449

Index 472

vi

Page 8: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Introduction

The control of discrete-event systems (DES) is a research area of current vitality, stimulated by thehope of discovering general principles common to a wide range of application domains. Among thelatter are manufacturing systems, traffic systems, database management systems, communication pro-tocols, and logistic (service) systems. The contributing specialities are notably control, computer andcommunication science and engineering, together with industrial engineering and operations research.

With this variety of supporting disciplines, it is no surprise that the DES research area embracesa corresponding variety of problem types and modelling approaches. It is fair to say that no singlecontrol-theoretic paradigm is dominant, nor is it necessarily desirable that matters should be otherwise.

From a formal viewpoint, a DES can be thought of as a dynamic system, namely an entity equippedwith a state space and a state-transition structure. In particular, a DES is discrete in time and (usually)in state space; it is asynchronous or event-driven: that is, driven by events other than, or in additionto, the tick of a clock; and it may be nondeterministic: that is, capable of transitional ‘choices’ byinternal chance or other mechanisms not necessarily modelled by the system analyst.

The present monograph is devoted to a simple, abstract model of controlled DES that has provedto be tractable, appealing to control specialists, and expressive of a range of control-theoretic ideas.As it was introduced in the control literature by P.J. Ramadge and the author in 1982, it will bereferred to as RW. RW supports the formulation of various control problems of standard types, like thesynthesis of controlled dynamic invariants by state feedback, and the resolution of such problems interms of naturally definable control-theoretic concepts and properties, like reachability, controllabilityand observability. RW is automaton-based, or dually language-based, depending on whether one prefersan internal structural or external behavioral description at the start. Briefly, a DES is modelled asthe generator of a formal language, the control feature being that certain events (transitions) canbe disabled by an external controller. The idea is to construct this controller so that the events itcurrently disables depend in a suitable way on the past behavior of the generating DES. In this waythe DES can be made to behave optimally with respect to a variety of criteria, where ‘optimal’ meansin ‘minimally restrictive fashion’. Among the criteria are ‘safety’ specifications like the avoidance ofprohibited regions of state space, or the observation of service priorities; and ‘liveness’ specifications,at least in the weak sense that distinguished target states always remain reachable.

As a practical matter, in the present state of RW software technology, DES and their specificationsand controllers must be representable by finite transition structures (FTS), although there is no intrinsicrestriction to FTS in the theory itself. In the FTS setup the computations for many of the control

vii

Page 9: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

solutions entail only polynomial effort in the model’s state size. However, complex controlled DESare directly modelled as product structures of simpler components; so each time a new componentis adjoined (with state space size N, say) the state size of the product FTS is multiplied by N; andthus the size of the model increases exponentially with the number of components. The situation isactually worse in the case of control with partial observations: in one natural version of this problem,the computational effort is exponential (rather than polynomial) in the model size itself, for instanceowing to the necessity of converting from a nondeterministic FTS to its deterministic counterpart.

While exponential complexity is not inevitably disastrous (after all, salesmen continue to travel) itis surely a strong incentive to refine the approach. For this, two well known and universal systemicstrategies can be invoked, each of them already familiar in control theory. The first is to create suitablearchitecture: that is, to exploit horizontal and vertical modularity, or in this context decentralized andhierarchical control. The second is to exploit internal regularity of algebraic or arithmetic structure ifit happens to be present.

Thus a specialization of the RW base model to ‘vector’ DES (VDES) allows the exploitation ofvector-additive arithmetic state structure: for instance, when dealing with sets of similar objects ofwhich the number in a given state may be incremented or decremented by various events (machinesin a factory workcell, entering a busy state or a breakdown state). For modelling and analysis in thisdomain Petri nets have been widely utilized, especially by computer and communications specialists,but there seems little need to adopt the arcane terminology of nets to treat what after all are juststandard control problems in a specialized state framework. Of course, insights from the extensiveliterature on Petri nets may be exploited to advantage.

Taking a different approach, one may seek to generalize the RW model in directions of greaterrealism and modelling flexibility. For instance, a generalization to ‘timed transition models’ (TTMs)incorporates real-time features along with modelling enhancements like program variables, their trans-formations, and transition guards. Another, deep and rather technical, generalization in the spirit oftemporal logic (due to both Peter Ramadge and John Thistle) brings in languages over sets of infinitestrings and addresses issues of ‘eventuality’, or liveness in the long run.

While the present text does not cover all the topics just listed, it provides an introduction to, andpreparation for research in, control of DES in the style described. Two software packages are availableas project tools: TCT, for untimed DES, and TTCT, for both timed and untimed systems. These arelinked to the website

http://www.control.utoronto.ca/DES

Introductory exercise: Elevator modelling and simulation

Part 1: Write a simple simulation program for a single-cage elevator in a 6-story building. Theelevator should respond to both external and internal calls, in a “reasonable” way which matches yourexperience. No special background knowledge is assumed about DES or elevators.

Simulation runs are generated by allowing calls to occur randomly. The elevator state can be taken

viii

Page 10: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

to be the floor at which the cage is currently located, together with the current pattern of unservicedcalls and such other information that you deem relevant. Cage transitions between adjacent floors canbe assumed instantaneous.

The display may be quite simple, say in the form of a table, as shown. Here the cage is at Floor3, and there are unserviced calls to Floors 1 and 5 that have originated inside the cage, along withexternal up-calls at Floors 0, 1, 4 and down-calls at Floors 2, 4.

FLOOR CAGE-LOCATION INCALLS EXCALLSUP EXCALLSDN

5 x4 x x3 x2 x1 x x0 x

In the presence of unserviced calls the cage location should change by one level at each stage,following which new x’s in the CALLS columns may appear and old ones disappear.

Include a brief description of your approach and your control logic.

Part 2: Develop an automaton model of the system in Part 1, including a complete specification ofthe state set and transition structure. For instance, the state set could take the form

Q = F ×H × (U0 × ... × U4) × (D1 × ... ×D5) × (I0 × ... × I5)

where F = 0, 1, ..., 5 is the floor set, H = up, rest, down is the cage heading set, and Ui,Di, Iirepresent 2-state switches (‘buttons’) with state sets set, reset for external up-calls, external down-calls, and inside-cage-calls. Thus ui = set ∈ Ui indicates the presence of an up-call at floor i; ui will beswitched back to reset when the call is serviced. The state size is |Q| = 6× 3× 25 × 25 × 26 = 1179648.Write f ∈ F for the current floor, h ∈ H for the current heading, u, d, i for the button vectors (thusu = (u0, ..., u4) ∈ U0 × ... × U4), and calls = (u, d, i). Then

hnext = δH((calls)next, f, h)

fnext = δF (hnext, f)

for suitable functions δH , δF . Define callsnext as a suitable (in part, random) function of the currentvalues (calls, f, h), so the computation sequence is

(calls, f, h) 7−→ callsnext

(callsnext, f, h) 7−→ hnext

(hnext, f) 7−→ fnext

ix

Page 11: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Part 3: Check systematically whether or not your simulation code from Part 1 is an implementationof your automaton model in Part 2. If the automaton model were developed first, would it be helpfulin writing the code?

Part 4: Discuss possible performance specifications for your elevator (e.g. “Every call is eventuallyserviced.”). Sketch a proof that your automaton model satisfies them.

x

Page 12: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

TCT: General Information

TCT is a program for the synthesis of supervisory controls for discrete-event systems. Generators andrecognizers are represented as standard DES in the form of a 5-tuple

[Size, Init, Mark, Voc, Tran]

Size is the number of states (the standard state set is 0,...,Size-1), Init is the initial state (alwaystaken to be 0), Mark lists the marker states, Voc the vocal states, and Tran the transitions. A vocalstate is a pair [I, V ] representing positive integer output V at state I. A transition is a triple [I, E, J ]representing a transition from the exit (source) state I to the entrance (target) state J and havingevent label E. E is an odd or even nonnegative integer, depending on whether the corresponding eventis controllable or uncontrollable.

exit I J entranceevent E

All DES transition structures must be deterministic: distinct transitions from the same exit statemust carry distinct labels.

SYNTHESIS PROCEDURES

DES = create(DES)

is a new discrete-event system (DES). Option 1 allows fast user input via a sequence ofprompts, resulting in direct creation of a .DES file. Option 2 allows user to create a text(.ADS) file with any ASCII text editor; this file can be converted to a .DES file usingthe TCT procedure FD.

DES2 = selfloop(DES1,[SELF-LOOPED EVENTS])

is DES1 augmented by selfloops at each state, with common event labels listed by theuser. To prevent nondeterminism, this list must not contain event labels appearing inDES1.

xi

Page 13: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

DES2 = trim(DES1)

is the trim (reachable and coreachable) substructure of DES1.

DES3 = sync(DES1,DES2)

is the (reachable) synchronous product of DES1 and DES2. Not for use with vocalizedDES.

DES3 = meet(DES1,DES2)

is the meet (reachable cartesian product) of DES1 and DES2. DES3 need not be core-achable. Not for use with vocalized DES.

DES3 = supcon(DES1,DES2)

is a trim recognizer for the supremal controllable sublanguage of the marked (“legal”)language generaged by DES2 with respect to the marked (“plant”) generated by DES1.DES3 provides a proper supervisor for DES1. Not for use with vocalized DES.

DES3 = mutex(DES1,DES2, [EXCLUDED-STATE-PAIRS])

is formed from the shuffle of DES1 and DES2, by excluding state pairs listed as[[I1,J1],[I2,J2],...], plus all state pairs from which they are reachable along an uncontrol-lable path; and then taking the reachable substructure of the result. DES3 is reachableand controllable, but need not be coreachable. For the corresponding control data, com-pute DES = sync(DES1,DES2), then DAT = condat(DES,DES3). If DES3 is trim, itprovides a proper supervisor for the mutual exclusion problem; if not, a solution is SUP= supcon(DES,DES3). Not for use with vocalized DES.

DAT2 = condat(DES1,DES2)

returns control data DAT2 for the supervisor DES2 of the controlled system DES1. IfDES2 represents a controllable language (with respect to DES1), as when DES2 hasbeen previously computed with Supcon, then DAT2 will tabulate the events that are tobe disabled at each state of DES2. In general condat can be used to test whether thelanguage represented by DES2 is controllable with respect to DES1: just check that thedisabled events tabled in DAT2 are themselves controllable (have odd-numbered labels).To show DAT call SA. condat is not for use with vocalized DES.

DES3 = supreduce(DES1,DES2,DAT2)

is a reduced supervisor for plant DES1 which is control- equivalent to DES2, whereDES2 and control data DAT2 were previously computed using Supcon and Condat. Alsoreturned is an estimated lower bound slb for the state size of a strictly state-minimalreduced supervisor. DES3 is strictly minimal if its reported state size happens to equalslb.

xii

Page 14: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

DES2 = minstate(DES1)

is a minimal state transition structure that generates the same closed and marked lan-guages as DES1, and the same string mapping induced by vocalization (if any). DES2 isreachable but not coreachable unless DES1 is coreachable.

DES2 = complement(DES1, [AUXILIARY-EVENTS])

is a generator of the marked language complementary to the marked language of DES1,with respect to the extended alphabet comprising the event labels of DES1 plus thosein the auxiliary-event list. The closed behavior of DES2 is all strings over the extendedalphabet. The string mapping induced by vocalization (if any) is unchanged.

DES2 = project(DES1, [NULL/IMAGE EVENTS])

is a generator of the projected closed and marked languages of DES1, under the naturalprojection specified by the listed Null or Image events. In decentralized control, DES2could be an observer’s local model of DES1. Not for use with vocalized DES.

DES2 = relabel(DES1, [OLD-NEW EVENT LABEL PAIRS])

coincides with DES1, except for a mapping of specified event labels in DES1; unmappedlabels are unchanged. Can be used with project to construct an arbitrary zero-memoryoutput map having as domain the language represented by DES1. Not for use withvocalized DES.

DES2 = vocalize(DES1, [STATE-OUTPUT PAIRS])

has the same closed and marked behaviors as DES1, but with state outputs correspondingto selected state/event input pairs.

DES2 = outconsis(DES1)

has the same closed and marked behaviors as DES1, but is output- consistent in thesense that nonzero state outputs are unambiguously controllable or uncontrollable. Avocal state with output V in the range 10...99 may be split into siblings with outputsrespectively V1 or V0 in the range 100...991.

DES2 = hiconsis(DES1)

has the same closed and marked behaviors as DES1, but is hierarchically consistent inthe sense that high-level controllable events may be disabled without side effects. Thismay require additional vocalization together with change in the control status of existingstate outputs. hiconsis incorporates and extends outconsis.

xiii

Page 15: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

DES2 = higen(DES1)

is defined over the state-output alphabet of (vocalized) DES1, and represents the closedand marked state-output (or ‘high- level’) behaviors of DES1. For instance, starting witha ‘low- level’ vocalized model GLO, the sequence

OCGLO = outconsis(GLO)HCGLO = hiconsis(OCGLO)HCGHI = higen(HCGLO)

returns a DES pair (HCGLO, HCGHI) that is hierarchically consistent: controllable lan-guages in HCGHI can be synthesized, via the state-output map, as controllable languagesin HCGLO.

DES3 = supnorm(DES1,DES2, [NULL/IMAGE EVENTS])

is a trim transition structure which represents the supremal sublanguage of the legallanguage DES1, that is normal with respect to the marked behavior of the plant generatorDES2 and the natural projection specified by the NULL/IMAGE event list. Not for usewith vocalized DES.

For supervisor synthesis, project DES2 to get PDES2, and DES3 to get PDES3,with respect to the specified projection. The local supervisor is DES4 = sup-con(PDES2,PDES3). The global supervised behavior is represented by

DES5 = meet(DES2,selfloop(DES4, [NULL EVENTS]))

In general DES5 may fail to be nonblocking: trim to check.

DES3 = supscop(DES1,DES2, [NULL/IMAGE EVENTS])

is a trim transition structure DES3 which represents the supremal solution to the “Super-visory Control and Observation Problem” (SCOP), corresponding to the legal languageDES1, plant DES2, and specified natural projection. Not for use with vocalized DES.

DES2 = supqc(DES1,[NULL/IMAGE EVENTS])

is a possibly nondeterministic DES with ‘silent’ transitions (labelled ‘e’) which representsDES1 reduced by canonical (i.e. supremal) quasi-congruence with respect to the specifiednatural projection. The user may select whether or not to print the corresponding statepartition in MAKEIT.TXT; the printout omits singleton cells. Not for use with vocalizedDES.

xiv

Page 16: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

DES2 = supsqc(DES1,[NULL/IMAGE EVENTS])

is a possibly nondeterministic DES with ‘silent’ transitions (labelled ‘e’) which representsDES1 reduced by canonical (i.e. supremal) strong quasi-congruence with respect to thespecified natural projection. The user may select whether or not to print the correspond-ing state partition in MAKEIT.TXT; the printout omits singleton cells. Not for use withvocalized DES.

DES2 = allevents(DES1)

is a one-state DES selflooped with all the events of DES1.

True/False = nonconflict(DES1,DES2)

tests whether DES1, DES2 are nonconflicting, namely whether all reachable states of theproduct DES are coreachable. Not for use with vocalized DES.

True/False = isomorph(DES1,DES2)

tests whether DES1 and DES2 are identical up to renumbering of states; if so, their statecorrespondence is displayed.

True/False = (s)observ(DES1,DES2,[NULL/IMAGE EVENTS])

tests whether Lm(DES2) is (strongly) (DES1,P)-observable, for the specified naturalprojection P. If not, a diagnostic file is provided. Not for use with vocalized DES.

UTILITIES

DES2 = BFS(DES1)

is DES1 with its state set recoded by breadth-first search from state 0. BFS recodingcan facilitate drawing a transition diagram, or in compensating for previous recodingsintroduced by Outconsis or Hiconsis.

DES2 = edit(DES1)

is obtained from DES1 by user modifications.

ScreenDisplay = show(DES)

SE displays an existing DES, SA a DAT (condat) table, SX a TXT (text) file. Tablescan be browsed with Page keys. The file MAKEIT.TXT keeps a record of user files asthey are generated.

TextFile = FE(DES)/FA(DAT)

xv

Page 17: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

is an ASCII text file PDS/PDT or Postscript file PSS/PST for printing. Some printersmay only recognize a Postscript file with suffix .PS; in that case, rename the .PSS/.PSTfiles, taking care to avoid duplication.

DESFile = FD(ADS)

FD converts an ADS file or group of files, formed using Create (option 2), to the corre-sponding DES file(s).

UserDirectory = UD

is a listing of the current user subdirectory.

GIF = CE(DES)

CE converts a DES file to a GIF file for graphical display

LabeledTransitionGraph = DE(GIF)

DE displays a GIF file obtained from CE as a labeled transition graph

xvi

Page 18: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Chapter 1

Algebraic Preliminaries

1.1 Posets

Partially ordered sets or “posets” play a basic role in system theory; for instance, such structures areneeded to support certain concepts of optimization. Posets lead to lattices, of which the lattice ofsubsets (of a fixed set) and the lattice of equivalence relations (on a fixed set) will be of key importancein the theory of formal languages.

Let X be a set. A binary relation on X is a subset of X×X, the cartesian product of X with itself.Let ≤ be a binary relation on X. We use infix notation (as usual) and, for x, y ∈ X, write x ≤ y tomean that the ordered pair (x, y) ∈ X ×X belongs to the relation ≤. The relation ≤ is a partial order(p.o.) on X if it is

reflexive: (∀x ∈ X) x ≤ xtransitive: (∀x, y, z ∈ X) x ≤ y & y ≤ z ⇒ x ≤ zantisymmetric: (∀x, y ∈ X) x ≤ y & y ≤ x⇒ x = y .

Elements x, y ∈ X are comparable if either x ≤ y or y ≤ x. A p.o. is a total ordering if every twoelements of X are comparable. In a p.o. in general, it needn’t be the case that two arbitrary elementsx, y ∈ X are comparable; if x, y are not comparable, we may write x <> y.

If ≤ is a partial order on X, the pair (X,≤) is a poset (or partially ordered set). If ≤ is understood,one speaks of “the poset X”.

Examples

1. Let X = R (the real numbers), or X = N := 0, 1, 2, ... (the natural numbers), or X = Z :=...,−1, 0,+1, ... (the integers), with ≤ the usual ordering.

2. Let X = N+ := 1, 2, 3, ... and define x ≤ y iff x|y (x divides y), namely (∃k ∈ N+)y = kx.

1

Page 19: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

3. Let X = Z×Z. Let x = (x1, x2) and y = (y1, y2) belong to X. Define x ≤ y iff x1 ≤ y1 and x2 ≤ y2.Thus (7,-2) ≤ (9,-1), but (7,2) <> (-10,3).

4. Let A be a set and let X = Pwr(A) be the set of all subsets of A (the power set) of A. Thusx, y, ... ∈ X are subsets of A. Define x ≤ y iff x ⊆ y.

5. With n fixed, let X = Sn×n be the set of n×n symmetric matrices with real elements. For P,Q ∈ Xdefine P ≤ Q iff the matrix Q− P is positive semidefinite.

6. Let X, Y be posets. Define a relation ≤ on X × Y by the recipe:

(x1, y1) ≤ (x2, y2) iff x1 ≤ x2 in X and y1 ≤ y2 in Y

Exercise 1.1.1: Verify that the definition in Example 5 really does turn X into a poset. By consideringP and Q as quadratic forms, interpret the relation P ≤ Q in geometric terms. What is the picture ifP <> Q?

Exercise 1.1.2: In Example 6 check that (X × Y,≤) is actually a poset. It is the product poset of Xand Y . 3

From now on we assume that X is a poset. Let x, y ∈ X. An element a ∈ X is a lower bound for xand y if a ≤ x and a ≤ y. An element l ∈ X is a meet (or greatest lower bound) for x and y iff

l ≤ x & l ≤ y [i.e. l is a lower bound for x and y]

& (∀a ∈ X)a ≤ x & a ≤ y ⇒ a ≤ l

[i.e. l beats every other lower bound for x and y]

Exercise 1.1.3: Check that if l, l′ are both meets for x and y then l = l′: a meet, if it exists, is unique.If it exists, the meet of x, y is denoted by x ∧ y. 3

Dually, an element b ∈ X is an upper bound for x, y iff x ≤ b and y ≤ b. An element u ∈ X is a join(or least upper bound) of x and y if

x ≤ u & y ≤ u & (∀b ∈ X)x ≤ b & y ≤ b ⇒ u ≤ b.

If the join of x and y exists it is unique, and is written x ∨ y.

2

Page 20: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Examples

1. Let X = Pwr(A) and x, y ∈ X. Then x∧ y = x∩ y (set intersection) and x∨ y = x∪ y (set union).Thus the meet and join always exist.

2. Let X = Z × Z, and let x = (x1, x2), y = (y1, y2) ∈ X. Then

x ∧ y = (min(x1, y1),min(x2, y2)),

x ∨ y = (max(x1, y1),max(x2, y2)).

Again the meet and join always exist.

3. Let X = Sn×n. In general P ∨Q and P ∧Q do not exist.

Exercise 1.1.4: Explain this situation with a 2 × 2 counterexample, and draw the picture.

Hint: Consider P = 0, Q =

[0 11 0

].

Exercise 1.1.5: Investigate the existence of meet and join for the poset (N+, ·|·) defined earlier. 3

The following extensions of our notation are often useful. Write x ≥ y for y ≤ x; x < y for x ≤ y& x 6= y; x > y for x ≥ y & x 6= y. Notice that, in general, the negation of x ≤ y is (either x > y orx <> y). Also let ⊥ stand for bottom element (if it exists): namely ⊥ ∈ X and ⊥ ≤ x for all x ∈ X.Similarly let ⊤ stand for top element: ⊤ ∈ X and ⊤ ≥ x for all x ∈ X.

Hasse Diagrams

A Hasse diagram for the poset (X,≤) is a directed graph with nodes corresponding to elementsx ∈ X and edges to pairs (x, y) with x < y. Edges are drawn as rising lines and are usually displayedonly for ‘neighboring’ x, y. For A = α, β, γ and X = Pwr(A) the Hasse diagram is shown in Fig.1.1.1.

In the Hasse diagram of Fig. 1.1.2, a, b are both lower bounds for x, y, but x and y have no greatestlower bound: x ∧ y doesn’t exist. However, a ∧ b exists and is ⊥. Dually a ∨ b doesn’t exist, butx ∨ y = ⊤.

Exercise 1.1.6: Investigate the existence of ⊥ and ⊤ in (N,≤), (N+, ·|·), (Z,≤) and (Pwr A,⊆).

Exercise 1.1.7: Define the poset X = (N, ·|·) according to x ≤ y iff x|y, i.e. (∃k ∈ N) y = kx. Thusx|0 (x ∈ N) but not 0|x if x 6= 0. Show that ⊥ = 1 and ⊤ = 0.

3

Page 21: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

α

α, β

⊤ = α, β, γ

⊥ = ∅

β γ

β, γα, γ

Fig. 1.1.1Hasse Diagram: X = Pwr(A)

b

y

a

x

Fig. 1.1.2Hasse Diagram: X = ⊤, x, y, a, b,⊥

4

Page 22: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

1.2 Lattices

A lattice is a poset L in which the meet and join of any two elements always exist; in other words thebinary operations ∨ and ∧ define functions

∧ : L× L→ L, ∨ : L× L→ L.

It is easy to see that, if x, y, z ∈ L and if ⋆ denotes either ∧ or ∨ consistently throughout, then

x ⋆ x = x (⋆ is idempotent)x ⋆ y = y ⋆ x (⋆ is commutative)

(x ⋆ y) ⋆ z = x ⋆ (y ⋆ z) (⋆ is associative)

So for any k one can write x1 ⋆x2 ⋆ ... ⋆xk, say, without ambiguity, namely the meet and join are definedfor arbitrary nonempty finite subsets of elements of L.

In addition one has the easily verified relationships

x ∧ (x ∨ y) = x ∨ (x ∧ y) = x (traditionally called “absorption”)x ≤ y iff x ∧ y = x iff x ∨ y = y (“consistency”)

Exercise 1.2.1: Verify the above relationships.

Exercise 1.2.2: In any lattice

y ≤ z ⇒ (x ∧ y ≤ x ∧ z) & (x ∨ y ≤ x ∨ z)[∧ and ∨ are “isotone”]

x ∧ (y ∨ z) ≥ (x ∧ y) ∨ (x ∧ z)x ∨ (y ∧ z) ≤ (x ∨ y) ∧ (x ∨ z)

[distributive inequalities]x ≤ z ⇒ x ∨ (y ∧ z) ≤ (x ∨ y) ∧ z [modular inequality]

Exercise 1.2.3: Investigate the lattices X = Pwr(A) and X = Z × Z to see whether the distributiveinequalities, or the right side of the modular inequality, can be strengthened to equality. 3

If in a given lattice, the distributive inequalities are actually always equalities, the lattice is dis-tributive; if the right side of the modular inequality is actually always equality, the lattice is modular.Clearly every distributive lattice is modular.

Let (L,∧,∨), or simply L, be a lattice and let S be a nonempty, and possibly infinite, subset of L.To generalize the notion of meet (greatest lower bound) of the elements of S, define l = inf(S) to meanthat l is an element of L with the properties:

(∀y ∈ S)l ≤ y & (∀z)((∀y ∈ S)z ≤ y) ⇒ z ≤ l

5

Page 23: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Notice that it is not required that l belong to S. Similarly, the notion of join is generalized by definingan element u = sup(S) in dual fashion. It should be clear that inf(S), sup(S) are always unique. IfS is finite, then inf(S) and sup(S) reduce to the meet and join as defined above for a finite numberof elements of L, and hence always exist because L is a lattice; but if S is an infinite subset, it neednot be true that inf(S) or sup(S) exist. The lattice L is complete if, for any nonempty subset S of L,both inf(S) and sup(S) exist (as elements of L). Thus one easily verifies that L = (Pwr(A),∩,∪) iscomplete, but that L = (Z × Z,∧,∨) is not complete.

Exercise 1.2.4: Let V be a finite-dimensional linear vector space and let X = S(V ) be the set of linearsubspaces of V . For subspaces x and y of V , define x ≤ y iff x ⊆ y (subspace inclusion). Verify that(X,≤) is a complete lattice, where ∧ is subspace intersection and ∨ is subspace addition (i.e. vectoraddition extended to subspaces). Show that X is modular but not distributive.

Exercise 1.2.5: L = (Q[0, 1], inf, sup), the rational numbers in [0,1] with the usual real-analysisdefinitions of inf and sup, is not complete; while L = (R[0, 1], inf, sup), the real numbers in [0,1], iscomplete.

Exercise 1.2.6 If L and M are lattices, show that the product poset L×M is a lattice as well. It isthe product lattice of L and M . Show that L×M is complete iff L,M are both complete. 3

Whether or not L is complete, if sup(L) (or ⊤) happens to exist then the empty subset S = ∅ ⊆ Lcan be brought within the scope of our definition of inf(S) by the convention

inf(∅) = sup(L)

Similarly, if inf(L) (or ⊥) exists then one may define

sup(∅) = inf(L)

These odd-looking conventions are, in fact, forced by “empty set logic”, as can easily be checked.

Exercise 1.2.7: Adjoin to the (incomplete) lattice (Z,≤) two new symbols −∞, +∞ to form Z :=Z ∪ −∞,+∞. Extend ≤ to Z according to

x < +∞ if x ∈ Z ∪ −∞−∞ < x if x ∈ Z ∪ +∞

Show that (Z,≤) is complete and identify ⊥, ⊤.

Exercise 1.2.8: Show that, if inf(S) exists (in L) for every subset S ⊆ L, then L is complete. Hint:Let S+ := x ∈ L|(∀y ∈ S)x ≥ y. Show that sup(S) = inf(S+). 3

Let L = (X,≤) be a lattice and Y ⊆ X. We say that M := (Y,≤) is a sublattice of L if Y is closedunder the meet and join operations of L.

6

Page 24: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Exercise 1.2.9: Referring to Exercise 1.2.5, show that Q[0, 1] is an incomplete sublattice of thecomplete lattice R[0, 1].

Exercise 1.2.10: For L = (X,≤) a lattice and Y ⊆ X an arbitrary subset, show that there is a(unique) smallest subset Z ⊆ X such that Y ⊆ Z and M = (Z,≤) is a sublattice of L. M is thesublattice of L generated by Y . Hint: First show that the intersection of an arbitrary nonemptycollection of sublattices of L is a sublattice.

1.3 Equivalence Relations

Let X be a nonempty set, and E ⊆ X ×X a binary relation on X. E is an equivalence relation if

(∀x ∈ X)xEx (E is reflexive)(∀x, x′ ∈ X)xEx′ ⇒ x′Ex (E is symmetric)(∀x, x′, x′′ ∈ X)xEx′ & x′Ex′′ ⇒ xEx′′ (E is transitive)

Instead of xEx′ we shall often write x ≡ x′(mod E).

For x ∈ X let [x] denote the subset of elements x′ that are equivalent to x:

[x] := x′ ∈ X|x′Ex ⊆ X

The subset [x] is the coset (or equivalence class) of x with respect to the equivalence relation E. Byreflexivity x ∈ [x], i.e. every coset is nonempty. The following proposition states that any two cosetseither coincide or are disjoint.

Proposition 1.3.1(∀x, y ∈ X) either [x] = [y] or [x] ∩ [y] = ∅

Proof

Let x, y ∈ X. Assuming [x] ∩ [y] 6= ∅, let u ∈ [x] ∩ [y], so that uEx and uEy. We claim that[x] ⊆ [y]. If x′ ∈ [x] then x′Ex. Since xEu (by symmetry) we have x′Eu (by transitivity) and so (againby transitivity) x′Ey, namely x′ ∈ [y], proving the claim. Similarly [y] ⊆ [x], and therefore [x] = [y]. 2

We write |E| for the cardinality (number of cosets) of E.

Let P be a family of subsets of X indexed by α in some index set A:

P = Cα|α ∈ A, Cα ⊆ X

7

Page 25: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

The family P is a partition of X if

(∀α ∈ A) Cα 6= ∅ (each subset Cα is nonempty)X =

⋃Cα|α ∈ A (the Cα cover X)(∀α, β ∈ A) α 6= β ⇒ Cα ∩ Cβ = ∅ (subsets with distinct indices are

pairwise disjoint)

The second of these conditions could be written (∀x ∈ X)(∃α ∈ A)x ∈ Cα. The subsets Cα are thecells of P.

Thus for the equivalence relation E we have proved that the collection of distinct cosets [x] (eachof them indexed, say, by some representative member x) is a partition of X. Conversely for a partitionP of X, as above, we may define an equivalence relation E on X by the recipe

xEy iff (∃α ∈ A)x ∈ Cα & y ∈ Cα;

namely x and y are equivalent iff they belong to the same cell of P. It is easily checked that E as justdefined really is an equivalence relation on X. With this correspondence in mind we shall often speakof equivalence relations and partitions interchangeably.

Let E(X), or simply E, be the class of all equivalence relations on (or partitions of) X. We shallassign a p.o. to E in such a way that E becomes a complete lattice, as follows:

(∀E1, E2 ∈ E)E1 ≤ E2 iff (∀x, y ∈ X)xE1y ⇒ xE2y

In other words E1 ≤ E2 iff, whenever x ≡ y (mod E1) then x ≡ y (mod E2); that is, every coset of E1

is a subset of some (and therefore exactly one) coset of E2. If E1 ≤ E2 one may say that E1 refines E2,or E1 is finer than E2, or E2 is coarser than E1. If E1 ≤ E2, clearly |E1| ≥ |E2|.

Exercise 1.3.1: Verify that ≤ really does define a p.o. on E; that is, ≤ is reflexive, transitive andantisymmetric. 3

Proposition 1.3.2

In the poset (E,≤) the meet E1 ∧E2 of elements E1 and E2 always exists, and is given by

(∀x, x′ ∈ X)x ≡ x′ (mod E1 ∧ E2)

iff x ≡ x′ (mod E1) & x ≡ x′ (mod E2)

8

Page 26: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Proof (Outline)

Write E := E1 ∧ E2 as just defined. Then E really is an equivalence relation on X, that is E ∈ E.Next, E ≤ E1 and E ≤ E2. Finally if F ∈ E and F ≤ E1, F ≤ E2 then F ≤ E. 2

Exercise 1.3.2: Supply all the details in the above proof. 3

The meet may be described by saying that E1 ∧E2 is the coarsest partition that is finer than bothE1 and E2. In general |E1 ∧ E2| ≤ |E1| · |E2|. The situation is sketched in Fig. 1.3.1.

Fig. 1.3.1Meet of Two Partitions

—— - —— - —— boundaries of E-cells. . . . . . . . . . . . . . . . . . boundaries of F -cellsAny boundary line is a boundary of an (E ∧ F )-cell

The definition of join is more complicated to state than the definition of meet.

Proposition 1.3.3

In the poset (E,≤) the join E1 ∨E2 of elements E1, E2 always exists and is given by

(∀x, x′ ∈ X)x ≡ x′(mod E1 ∨ E2)

iff (∃ integer k ≥ 1) (∃x0, x1, ..., xk ∈ X)x0 = x & xk = x′

& (∀i) 1 ≤ i ≤ k ⇒ [xi ≡ xi−1(mod E1) or xi ≡ xi−1(mod E2)] 2

9

Page 27: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Exercise 1.3.3: Prove Proposition 1.3.3. 3

The definition of join amounts to saying that x and x′ can be chained together by a sequence ofauxiliary elements x1, ..., xk−1, where each link in the chain represents either equivalence (mod E1) orequivalence (mod E2). In case k = 1, either x ≡ x′ (mod E1) or x ≡ x′ (mod E2). The join maybe described by saying that E1 ∨ E2 is the finest partition that is coarser than both E1 and E2. Thesituation is sketched in Fig. 1.3.2.

Fig. 1.3.2Join of Two Partitions

—— - —— - —— boundaries of E-cells. . . . . . . . . . . . . . . . . . boundaries of F -cells

common boundaries of E-cells and F -cells,forming boundaries of (E ∨ F )-cells

We have now established that (E,≤) is a lattice, the lattice of equivalence relations (or partitions)on X. Finally we show that the lattice E is complete.

Proposition 1.3.4

Let F ⊆ E be a nonempty collection of equivalence relations on X. Then inf(F) exists; in fact

(∀x, x′ ∈ X)x(inf(F))x′ iff (∀F ∈ F)xFx′

Also sup(F) exists; in fact

(∀x, x′ ∈ X)x(sup(F))x′

iff (∃ integer k ≥ 1) (∃F1, ..., Fk ∈ F) (∃x0, ..., xk ∈ X)

10

Page 28: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

x0 = x & xk = x′ & (∀i)1 ≤ i ≤ k ⇒ xi ≡ xi−1(mod Fi)

Proof (Outline)

As defined above, inf(F) and sup(F) are indeed equivalence relations on X, and have the propertiesrequired by the definitions of inf and sup given in Sect. 1.2. 2

Exercise 1.3.4: Supply the details. 3

The definition of inf(F) says that x and x′ are equivalent with respect to each of the equivalencerelations in the collection F. The definition of sup(F) says that x and x′ can be chained together bya finite sequence of elements, where each link of the chain represents equivalence (mod F ) for someF ∈ F.

In particular ⊥ = inf(E) and ⊤ = sup(E) exist and are given by

x ≡ x′(mod ⊥) iff x = x′, x ≡ x′(mod ⊤) iff true.

Thus ⊥ is the finest possible partition (each singleton is a cell), while ⊤ is the coarsest possible partition(there is only one cell: the whole set X).

We have now shown that the lattice of equivalence relations on X is complete.

To conclude this section we note that the elements of E(X) may be crudely interpreted as informationstructures on X. Thus if E ∈ E(X), and some element y ∈ X is “known exactly”, we may interpretthe statement “x ≡ y(mod E)” to mean that “x is known to within the coset that contains y”. [As ametaphor, consider an ideal voltmeter that is perfectly accurate, but only reads out to a precision of 0.01volt. If a voltage may be any real number and if, say, a reading of 1.23 volts means that the measuredvoltage v satisfies 1.225 ≤ v < 1.235, then the meter determines a partition of the real line into cells(intervals) of length 0.01. What is “known” about any measured voltage is just that it lies within thecell corresponding to the reading.] On this basis a given partition represents more information thana coarser one. The element ⊥ ∈ E stands for “perfect information” (or “zero ignorance”), while ⊤stands for “zero information” (“complete ignorance”). If E,F ∈ E(X) then E ∧ F represents “theinformation contributed by E and F when present together, or cooperating.” [Let X be the state spaceof an electrical network, and let E and F represent an ideal ammeter and an ideal voltmeter.] DuallyE∨F might be interpreted as “the information that E and F produce in common.” [With X as before,suppose the state x ∈ X of the network can be perturbed, either by a shove or a kick. Assume thatshoves and kicks are known to define partitions S and K belonging to E(X): a shove can only perturbx to a state x′ in the same cell of S, while a kick can only perturb x to a state x′ in the same cell of K.If initially x is measured with perfect accuracy, and the network is subsequently perturbed by somearbitrary sequence of shoves and kicks, then the best available information about the final state y isthat y ≡ x(mod S ∨K).]

11

Page 29: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Exercise 1.3.5: In a certain Nation, regarded as a network of villages, it is always possible to makea two-way trip from any village to zero or more other villages (i.e. perhaps only the same village) byat least one of the modes: canoe, footpath, or elephant. Show that, to a Traveller restricted to thesemodes, the Nation is partitioned into Territories that are mutually inaccessible, but within each ofwhich every village can be reached from any other.

Exercise 1.3.6: For X = 1, 2, 3 present E(X) as a list of partitions of X and draw the Hassediagram. Repeat for X = 1, 2, 3, 4.

Exercise 1.3.7: Let E,F,G ∈ E(X). Investigate the validity of proposed distributive identities

(?) E ∧ (F ∨G) = (E ∧ F ) ∨ (E ∧G)

and(?) E ∨ (F ∧G) = (E ∨ F ) ∧ (E ∨G)

If either one is valid (i.e. holds for arbitrary E,F,G), prove it; otherwise provide a counterexample.Hint: Examine the first Hasse diagram of Exercise 1.3.6.

Exercise 1.3.8: Investigate whether E(X) is modular. That is, either prove that E(X) is modular, orshow by a counterexample that it isn’t. Hint: Examine the second Hasse diagram of Exercise 1.3.6.

Exercise 1.3.9: Given two elements E,F ∈ E(X), say that elements x, x′ ∈ X are indistinguishable,and write xIx′, if either x ≡ x′ (mod E) or x ≡ x′ (mod F ), or possibly both. It can be checkedthat the binary relation I is reflexive and symmetric but not necessarily transitive. Such a relation isa tolerance relation. Provide examples of tolerance relations that are not transitive. If R is any binaryrelation on X (i.e. R ⊆ X × X), the transitive closure of R is the smallest (in the sense of subsetinclusion in X × X) transitive binary relation that contains R. Show that the transitive closure of Iis an element of E(X) and compute this element in terms of E and F . Hint: First show that thetransitive closure of R is given by

R∗ := (x, x′)|(∃k)(∃x0, ..., xk)x = x0,

x′ = xk, (∀i = 1, ..., k)xi−1Rxi

Exercise 1.3.10: For |X| = n let pn := |E(X)| (n = 1, 2, ...) and let p0 := 1. Show that

pn+1 =n∑

k=0

(nk

)pk

Deduce that (i) p2n ≥ n!2n, and (ii) pn ≤ n!. Write a program to compute pn (1 ≤ n ≤ 10), andcalculate pn approximately for n = 20, 30, ... (e.g. p50 ≃ 1.86 × 1047).

12

Page 30: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

1.4 Equivalence Kernel and Canonical Factorization

Let X and Y be sets. In this section we shall write π, ρ etc. for elements of E(X). It will be convenientto think of the elements of E(X) as partitions of X. Let π ∈ E(X) and let X denote the set of (distinct)cells of π. Alternatively X can be taken to be a set of labels or indices for these cells. Often X iswritten X/π, read “X mod π”. Denote by Pπ the surjective function mapping any x to its coset (orcoset label):

Pπ : X → X/π : x 7→ [x]

where [x] is the coset of x mod π. We call Pπ the canonical projection associated with π.

Let f : X → Y be a function with domain X and codomain Y . With f we often associate theinduced function f∗ : Pwr(X) → Pwr(Y ) taking subsets of X into their f -images in Y :

f∗(A) := f(x) | x ∈ A, A ∈ Pwr(X), i.e. A ⊆ X

Thus f∗(A) ⊆ Y . In particular f∗(X) is the image of f, denoted Im(f). Usually we do not distinguishnotationally between f and f∗, simply writing f(A) for f∗(A).

With f : X → Y we also associate the inverse image function f−1 : Pwr(Y ) → Pwr(X) accordingto

f−1(B) := x ∈ X | f(x) ∈ B, B ∈ Pwr(Y ) (i.e. B ⊆ Y )

Thus f−1(B) ⊆ X. Notice that f−1 is always well-defined, even if f does not have an ‘inverse’ in theordinary sense. If f happens to be bijective, then the ordinary inverse of f (strictly, its induced mapon subsets of Y ) coincides with the inverse image function f−1.

Next, with f : X → Y associate an equivalence relation in E(X) called the equivalence kernel of fand denoted by ker f , as follows:

(∀x, x′ ∈ X)x ≡ x′(mod ker f) iff f(x) = f(x′)

For instance, ker Pπ = π. The cosets of ker f are just the subsets of X on which f assumes itsdistinct values in Y , and are sometimes called the fibers of f . [For illustration consider the functionf : S2 → R that maps points on the earth’s surface into their elevation above sea level in m. Thenf−1(100) is the coset of ker f consisting of those points whose elevation is 100 m.] The partitioncorresponding to ker f consists of the subfamily of (distinct) nonempty subsets of X formed from thefamily of subsets

f−1(y)|y ∈ Y Intuitively, f “throws away more or less information according to whether its kernel is coarser orfiner.” [Consider the ideal voltmeter as a function f : R → R. Compare the kernels of two voltmeters,respectively reading out to the nearest 0.01 v. and 0.001 v.]

Exercise 1.4.1: Let f : X → Y . Show that

13

Page 31: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

(i) (∀B ⊆ Y )f(f−1(B)) ⊆ B;

equality holds for B iff B ⊆ Im(f); and equality holds for all B ⊆ Y iff Im f = Y , i.e. f issurjective.

(ii) (∀A ⊆ X)f−1(f(A)) ⊇ A;

equality holds for A iff ker f ≤ A,X − A; and equality holds for all A iff ker f = ⊥, i.e. f isinjective.

(iii) Let Aα, Bβ be arbitrary families of subsets of X, Y respectively. Then

f(∪αAα) = ∪αf(Aα), f(∩αAα) ⊆ ∩αf(Aα)

f−1(∪βBβ) = ∪βf−1(Bβ), f−1(∩βBβ) = ∩βf

−1(Bβ)

Illustrate strict inclusion in the second of these distribution relations.

(iv) For all A ⊆ X,B ⊆ Y, f(A ∩ f−1(B)) = f(A) ∩ B 3

Let f : X → Y , and let Pf : X → X/ ker f be the canonical projection. Then there is a uniquefunction g : X/ ker f → Y such that f = g Pf . ( denotes composition of functions). Indeed ifz ∈ X/ker f and z = Pf(x) for some x ∈ X, define g(z) := f(x). This definition is unambiguous becauseif, also, z = Pf(x

′) then Pf (x′) = Pf(x) and therefore f(x′) = f(x) since kerPf = ker f . Uniqueness

of g follows by the fact that Pf is surjective. In this way we obtain the canonical factorization of fthrough its equivalence kernel. The situation is displayed in the commutative diagram below.

g

X/ ker f

Y

f

XPf

In a canonical factorization f = g Pf the left factor g is always injective. For suppose z, z′ ∈ X/ ker fand g(z) = g(z′). If z = Pf(x) and z′ = Pf(x

′) then

f(x) = g Pf(x) = g(z) = g(z′) = g Pf(x′) = f(x′),

namely x ≡ x′(mod ker f), so x ≡ x′(mod kerPf), i.e.

z = Pf(x) = Pf (x′) = z′

as claimed.

If π ∈ E(X) we may write Pπ : X → X/π for the canonical projection; thus kerPπ = π.

14

Page 32: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

The following propositions offer variations on the foregoing theme; their proof will be left as anexercise.

Proposition 1.4.1

Suppose f : X → Y and let ρ ∈ E(X) with ker f ≥ ρ. There exists a unique map g : X/ρ → Ysuch that f = g Pρ.

ker f ≥ ρ

X/ρ

g

Y

f

XPρ

Proposition 1.4.2

Suppose f : X → Y and g : X → Z and let ker f ≥ ker g. Then there exists a map h : Z → Y suchthat f = h g. Furthermore h is uniquely defined on the image g(X) of X in Z; that is, the restrictionh|g(X) is unique.

ker f ≥ ker g

YZ

g f

X

h

In this situation f is said to factor through g. Intuitively, “g preserves enough information tocalculate f (via h).”

Proposition 1.4.3

If π, ρ ∈ E(X) and π ≤ ρ, there is a unique function f : X/π → X/ρ such that Pρ = f Pπ.

f

ρ ≥ π

X/ρX/π

X

Pπ Pρ

15

Page 33: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Exercise 1.4.2: Prove Propositions 1.4.1 - 1.4.3. In Proposition 1.4.3, by drawing a picture of Xinterpret ker f ∈ E(X/π) in terms of the partitions π, ρ of X.

Exercise 1.4.3: (Parable of the Toolmaker): To illustrate the benefits of functional factorization,consider a large field of N >> 1 stones. Each stone is suited for making exactly one of k possible tools:hammer, arrowhead, ... . One fine day, the toolmaker organizes his tribe to sort all the stones in thefield into k piles, one for each tool. Under suitable probabilistic assumptions, and taking into accountsearch and sort times, prove that the ‘sorted architecture’ is roughly k times more efficient than noarchitecture, given that the toolmaker will make N(→ ∞) tools over his lifetime.

Example 1.4.1: Congruence of a dynamic system

A dynamic system on a set X is a map α : X → X with the following interpretation. The elementsx ∈ X are the system ‘states’, and α is the ‘state transition function’. Select x0 ∈ X as ‘initial’ stateand let the system evolve successively through states x1 = α(x0), x2 = α(x1), ... Write αk for the k-foldcomposition of α (with α0 = identity, α1 = α). The sequence αk(x0)|k ∈ N ∈ XN is the path of(X,α) with initial state x0.

Let π ∈ E(X) with canonical projection Pπ : X → X := X/π. We say that π is a congruence for αif there exists a map α : X → X such that α Pπ = Pπ α, namely the following diagram commutes.

α

α

PπPπ

X

X X

X

Proposition 1.4.3

π is a congruence for α iffkerPπ ≤ ker(Pπ α),

namely(∀x, x′)(x, x′) ∈ π ⇒ (α(x), α(x′)) ∈ π

16

Page 34: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Proof

Immediate from Prop. 1.4.1, with the identifications (Y, f, ρ, g) = (X, Pπ α, π, α). 2

If π is a congruence for α, α is the map induced by α on X. The condition says that α ‘respects’ thepartition corresponding to π, in the sense that cells are mapped under α consistently into cells. Thusthe dynamic system (X, α) can be regarded as a consistent aggregated (or ‘high-level’ or ‘lumped’)model of (X,α).

Exercise 1.4.4: With (X,α) fixed, let C(X) ⊆ E(X) be the set of all congruences for α. Show thatC(X) is a complete sublattice of E(X) that contains the elements ⊤, ⊥ of E(X).

Exercise 1.4.5: Let X = X1 ×X2 and write x = (x1, x2). Suppose

α : X → X : (x1, x2) 7→ (α1(x1, x2), α2(x2)),

i.e. α : x 7→ x is coordinatized as

x1 = α1(x1, x2), x2 = α2(x2)

for suitable maps α1, α2. Let (x, x′) ∈ π iff x2 = x′2. Show that π is a congruence for α and find acoordinatization (i.e. a concrete representation) of (X, α).

Exercise 1.4.6: Consider a clock with hour, minute and second hands. Identify the correspondingcongruences. Hint: For the second hand alone, consider

α : R → R : t 7→ t+ 1

where t is real-valued time in units of seconds. Let P : R → R/60N = R, and identify α : R → R sothe appropriate diagram commutes. Generalize the picture to include the hour and minute hands.

Exercise 1.4.7: Let A be a set of maps α : X → X. Show that if π ∈ C(X) is a congruence for everyα ∈ A then π is a congruence for every composition αk αk−1 ... α1 of maps in A.

Exercise 1.4.8: Given a finite set X with |X| = n, construct α : X → X ‘randomly’, for instance byassigning each evaluation α(x) independently by a uniform probability distribution over X. Discussthe probability that (X,α) admits at least one nontrivial congruence (i.e. other than ⊥, ⊤), especiallyas n → ∞. Hint: Show that (X,α) admits a nontrivial congruence if α is not bijective. For fixed ncalculate the fractional number of such α and recall Stirling’s formula.

Exercise 1.4.9: Let X be a finite-dimensional linear vector space (over R, say) and assume α : X → Xis linear. Describe C(X) (as in Exercise 1.4.4).

17

Page 35: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Exercise 1.4.10: With X a set and x0 ∈ X, let α : X → Pwr(X). The triple (X, x0, α) is anondeterministic dynamic system. A path of (X,α) with initial state x0 is either an infinite sequencexk|k ≥ 0 with xk ∈ α(xk−1) (k ≥ 1) or a finite sequence xk|0 ≤ k ≤ n with xk ∈ α(xk−1) (1 ≤ k ≤n) and α(xn) = ∅. Let π ∈ E(X), Pπ : X → X := X/π. If S ⊆ X write PπS = Pπx|x ∈ S ⊆ X. Wesay that π is a quasi-congruence for (X,α) if

(∀x, x′ ∈ X)Pπx = Pπx′ ⇒ Pπ α(x) = Pπ α(x′)

where Pπ α(x) := Pπ[α(x)].

1. Show that ⊥ ∈ E(X) is a quasi-congruence and that the quasi-congruences for (X, x0, α) forma complete upper semilattice under the join operation of E(X), namely if πλ ∈ E(X) is a quasi-congruence for each λ ∈ Λ (some index set) then so is

supπλ|λ ∈ Λ

Find an example showing that if π1, π2 are quasi-congruences, π1 ∧ π2 need not be. Show alsothat ⊤ ∈ E(X) need not be a quasi-congruence.

2. Show that, if π is a quasi-congruence, there exists a unique (“induced”) mapping α : X →Pwr(X) such that the following diagram commutes.

x0 ∈ Xα

x0 ∈ Xα

Pwr(X)

Pwr(X)

PπPπ

In particular letρ := supπ|π is a quasi-congruence for (X, x0, α)

with X := PρX and (X, x0, α) the corresponding nondeterministic dynamic system. Show that⊥ ∈ E(X) is the only quasi-congruence for (X, x0, α).

3. For π ∈ E(X) and α : X → Pwr(X) define π · α ∈ E(X) according to

x ≡ x′(mod π · α) iff Pπ α(x) = Pπ α(x′) in Pwr(X/π)

Let E = x ∈ X|α(x) 6= ∅ and let ρ0 ∈ E(X) be given by the partition ρ0 = E,X − E. Nowconsider the sequence ρn ∈ E(X):

ρn = ρn−1 ∧ (ρn−1 · α), n ≥ 1

18

Page 36: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Assuming X is finite, and with ρ as in 2., show that

ρ = lim ρn(n→ ∞)

the limit being achieved in finitely many steps. In particular, if E = X, so ρ0 = ⊤, then alsoρ = ⊤.

4. Let X = 0, 1, ..., 10, x0 = 0, and let α : x→ Pwr(X) be given by the following table.

x 0 1 2 3 4 5 6 7 8 9 10α(x) 1 2,3 ∅ 4,5 ∅ 6 7,8 ∅ 9 10 ∅

Use the algorithm in 3. to compute ρ, and specify (X, x0, α).

Exercise 1.4.11: Let L be a complete lattice. A function ψ : L → L is monotone if, for all ω, ω′ ∈ L,ω ≤ ω′ implies ψ(ω) ≤ ψ(ω′). An element ω ∈ L is a fixpoint of ψ if ω = ψ(ω).

Show that if ψ is monotone it has at least one fixpoint. Hint: Let

Ω↑ := ω ∈ L|ω ≤ ψ(ω)

Note that ⊥ ∈ Ω↑. Define ω∗ := sup Ω↑, and show that ω∗ is a fixpoint of ψ.

Now let Ω be the set of all fixpoints of ψ. Clearly Ω ⊆ Ω↑.

Show that ω∗ is the greatest fixpoint of ψ, namely ω∗ ∈ Ω and thus ω∗ = sup Ω.

Dually letΩ↓ := ω ∈ L|ω ≥ ψ(ω)

Note that ⊤ ∈ Ω↓, and define ω∗ := inf Ω↓. Show that ω∗ is the least fixpoint of ψ, namely ω∗ ∈ Ω andthus ω∗ = inf Ω.

Suppose that ω1, ω2 ∈ Ω. Is it true that ω1 ∨ ω2, ω1 ∧ ω2 ∈ Ω? In each case either prove the positivestatement or provide a counterexample.

For a sequence ωn ∈ L|n ∈ N write ωn↓ if the ωn are nonincreasing, i.e. ωn ≥ ωn+1 for all n. Thefunction ψ is downward continuous if, whenever ωn ∈ L and ωn↓, then

ψ(infnωn) = inf

nψ(ωn)

Show that if ψ is downward continuous, it is necessarily monotone.

In case ψ is downward continuous show that

ω∗ = infψk(⊤)|k ∈ N

19

Page 37: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Exercise 1.4.12: Let L be a complete lattice. For a sequence ωn ∈ L | n ∈ N write ωn↑ if theωn are nondecreasing, i.e. ωn ≤ ωn+1 for all n. Say the function ψ : L → L is upward continuous if,whenever ωn ∈ L and ωn↑, then

ψ(supnωn) = sup

nψ(ωn)

Dualize the results of Exercise 1.4.11 for upward continuity.

Exercise 1.4.13: Let ψ : E(N) → E(N). Show that ψ monotone and upward (resp. downward)continuous does not imply ψ downward (resp. upward) continuous.

Exercise 1.4.14: (Yingcong Guan) In E(N) define

ω0 = ⊤ω1 = (0, 1), (2, 3, ...)ωn = (0, 1), (2), ..., (n), (n+ 1, n+ 2, ...), n ≥ 2

Write |π| for the number of cells of π ∈ E(N). Define ψ : E(N) → E(N) according to

ψ(ωn) = ωn+1, n ≥ 0

ψ(π) =

ωn if π 6= ωn and |π| = n + 1 (n ≥ 1)⊥ if |π| = ∞

Show that ψ is monotone, investigate the fixpoint(s) of ψ, and calculate ψ(infnωn) and inf

nψ(ωn).

Exercise 1.4.15: Let α : X → X be an arbitrary function. Recall that an element ω ∈ E(X) is acongruence for α if, whenever x ≡ x′ (mod ω) then α(x) ≡ α(x′) (mod ω), i.e. α ‘respects’ the partitioninduced by ω. Define ω · α ∈ E(X) according to:

ω · α = ker(Pω α)

Thus x ≡ x′ (mod ω · α) iff α(x) ≡ α(x′) (mod ω). Then ω is a congruence for α iff ω ≤ ω · α.

(i) Let γ : X → Y be a function from X to a set Y . We define the observer for the triple (X,α, γ)to be the equivalence relation

ωo := supω ∈ E(X)|ω ≤ (ker γ) ∧ (ω · α)

Define ψ : E(X) → E(X) according to ψ(ω) := (ker γ) ∧ (ω · α). Show that ψ is monotone andthat ωo is the greatest fixpoint of ψ. Thus the observer is the coarsest congruence for α that isfiner than ker γ. Prove that ψ is downward continuous, and that consequently

ωo = inf(ker γ) · αi−1|i = 1, 2, ...

where αj is the j-fold composition of α with itself.

20

Page 38: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

(ii) We interpret the observer as follows. Consider a dynamic system with state x ∈ X and discrete-time transition function α. When started in state x(0) at t = 0, the system generates the sequenceof states, or trajectory, given by

x(t+ 1) = α[x(t)], t = 0, 1, 2, ...

With γ an output map, the system generates the corresponding sequence of outputs, or observa-tions

y(t) = γ[x(t)], t = 0, 1, 2, ...

Thus ωo represents the information available about the initial state x(0) after observation of theentire output sequence y(t)|t = 0, 1, 2, ...: the observations cannot resolve the uncertainty aboutx(0) more finely than ωo. On this basis the pair (γ, α) is said to be observable if ωo = ⊥, namelythe observation sequence determines the initial state uniquely.

(iii) Calculate ωo when α, γ are defined as follows:

X = 1, 2, 3, 4, 5, 6, 7

x 1 2 3 4 5 6 7α(x) 2 3 4 5 1 7 5γ(x) r r r g g r g

Here r, g stand for ‘red’ and ‘green’. What conclusions can be drawn about the system fromyour result for ωo? With reference to Example 1.4.1, take π = ω0, explicitly coordinatize X =X/ω0, Pw0

, and the induced transition map α, and verify that α Pω0= Pω0

α.

Similarly, establish the existence and uniqueness, and a coordinatization, of the induced outputmap γ : X → Y such that γ Pω0

= γ. Verify that the pair (γ, α) is observable. These resultscan be displayed as shown below.

α

α

X

Pω0

γ

X

Pω0

X

Y

(iv) Calculate ωo for the following. Let X = N × N, and for (i, j) ∈ X,

α(i, j) = (i+ 1, j)

γ(i, j) =

0, i ≤ j1, i > j

Sketch the cells of ωo in the N2 plane, and coordinatize as in (iii).

21

Page 39: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

(v) Very often in practice one is more interested in the current state x(t), as inferred from theobservation set O(t) := y(0), y(1), ..., y(t), than in the initial state as estimated in the long run.Define

ωt = ker γ ∧ ker(γ α) ∧ ... ∧ ker(γ αt)

Xt = X/ωt

After observations O(t), the uncertainty in x(0) is represented by an element of Xt (i.e. cell of ωt

in X), inducing a map Pt : Y t+1 → Xt. The corresponding uncertainty in x(t) is just the subset

αt(x′)|x′ ∈ Pt(O(t)) ⊆ X

Discuss how to compute this subset in recursive fashion, ‘on-line’, and illustrate using the examplesin (iii), (iv).

(vi) Just because a system is observable, it need not be true that much useful information can begained about x(t) from O(t), even for large t. From this viewpoint investigate the ‘chaotic’ systemdefined as follows.

X := x ∈ R|0 ≤ x < 1For x ∈ R, x ≥ 0, write x = integ(x) + fract(x), where integ(x) ∈ N and 0 ≤ fract(x) < 1; anddefine α : X → X, γ : X → N according to

α(x) := fract(10x), γ(x) := integ(10x)

Exercise 1.4.16: Exponentiation

Let α, β, γ ∈ E(X) and write [x] for the cell of x ∈ X mod γ. Define fα : X → Pwr(X/α) accordingto

fα(x) := Pα(x′)|x′ ∈ [x]where Pα : X → X/α is the canonical projection; and similarly for fβ . Write

℘(α) := ker fα

the exponentiation of α with respect to γ. Show that |℘(α)| ≤ 2|α| and that

℘(α ∧ ℘(β)) = ℘(α) ∧ ℘(β) (1.1)

= ℘(℘(α) ∧ β) (1.2)

If in particular α ≤ β then ℘(α) ≤ ℘(β), so

℘(α ∧ ℘(β)) = ℘(α)

22

Page 40: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Exercise 1.4.17: Mutual information

If π, ρ ∈ E(X), illustrate how π ∨ ρ could be interpreted as ‘the information provided by π aboutρ’ (and vice-versa). Thus π ∨ ρ = ⊤ states that π provides no information about ρ, namely π, ρ areindependent. Let f : X → Y be surjective, and K ⊆ X with f(K) = Y . Let κ = K,X −K ∈ E(X).Show that

κ ∨ ker(f) = ⊤namely ‘knowledge merely that x ∈ K provides no information about f(x) ∈ Y ’. Illustrate with anexample, and extend to the ‘mutual information’ of π1, ..., πn ∈ E(X).

1

1.5 Application: Internal Model Principle

In this section we develop further the ideas of dynamic system (Example 1.4.1), congruence and observer(Exercise 1.4.15), to obtain a simple abstract version of the Internal Model Principle (IMP) of regulationtheory. The latter states that an ideal feedback regulator will include in its internal structure a dynamicmodel of the external ‘world’ behavior that the regulator tracks or regulates against.

First we consider the restriction of an observer to an invariant subset. As in Example 1.4.1 letα : X → X be a dynamic system, and let Z ⊆ X be a subset of X. It is convenient to represent thesubset property by means of a so-called insertion map as follows. Regard Z simply as a set in its ownright, initially with no special relation to X, and bring in an injection

inZ : Z → X : z 7−→ inZ(z) ∈ X

Thus inZ is a mechanism by which elements z ∈ Z are endowed with status as elements inZ(z) ∈ X,perhaps by a transformation from ‘local’ (in Z) to ‘global’ (in X) coordinates. To highlight thedistinction between Z as a ‘local’ object and a ‘global’ object embedded in X we may sometimes write

inZ : Zloc → X, Z = inZ(Zloc)

Say Z is an α-invariant subset of X if there exists a map αZ : Zloc → Zloc such that

α inZ = inZ αZ ,

namely the following diagram commutes:

inZ

αZ

inZ

αX

ZlocZloc

X

The map αZ is the restriction of α to Z, and is defined just when Z is α-invariant. [In traditional

1Not needed in the sequel.

23

Page 41: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

terminology, “Z ⊆ X is α-invariant if α(z) ∈ Z for every z ∈ Z.”] Often αZ is written α|Z.

Similarly, if f : X → Y and Z ⊆ X then the restriction of f to Z, written fZ or f |Z, is defined tobe fZ := f inZ , as in the diagram

XinZZloc Y

f

fZ

Next let π ∈ E(X) be an equivalence relation on X. We restrict π to Z ⊆ X simply by intersectingthe cells of π with Z. Namely π|Z ∈ E(Z) is defined by

z ≡ z′(mod π|Z) iff inZ(z) ≡ inZ(z′)(mod π) (1)

for all z, z′ ∈ Z. This rule inserts cells of Z/π|Z (considered as subsets of Z) into cells of X/π(considered as subsets of X), and in turn determines an insertion

inZ/π|Z : Z/π|Z → X/π

Indeed, distinct cells of π|Z are subsets (in Z) of distinct cells of π (in X). In terms of naturalprojections p(.) we now have the diagram

inZ

X/π

Z/π|Z

X

inZ/π|Z

Zpπ|Z

(2)

Exercise 1.5.1 Verify in detail that π|Z as defined by (1) is an element of E(Z), and then that inZ/π|Z

in (2) exists, is unique, and is injective. 3

As in Exercise 1.4.15 let γ : X → Y denote an ‘output’ map for the dynamic system (X,α). IfZ ⊆ X and α(Z) ⊆ Z we could compute an ‘observer on Z’ in two different ways:

1. Compute the ‘local observer’ on Z using the restrictions α|Z and γ|Z. Call the result ωZ ∈ E(Z).

2. Compute the ‘global observer’ ω ∈ E(X), then restrict to Z to get ω|Z ∈ E(Z).

Happily the results coincide.

Proposition 1.5.1: (Local observer = restricted global observer)

ωZ = ω|Z 2

24

Page 42: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

We say that Z ⊆ X with α(Z) ⊆ Z is detectable with respect to (X,α, γ) if ω|Z = ⊥, namely Z is‘locally observable’.

Exercise 1.5.2: Prove Proposition 1.5.1. 3

Consider now the following standard block diagram for regulation.

Exosystem Controller Plantoutputcontrolerrorreference

feedback

Here Exosystem (E), Controller (C) and Plant (P) are dynamic systems which generate, via suitableoutput maps, the reference, control and output signals respectively. The objective of regulation is toensure that the output signal coincides (eventually) with the reference, namely the system ‘tracks’. Tothis end the output is ‘fed back’ and compared (via ⊗) to the reference, and the resulting trackingerror signal used to ‘drive’ the controller. The latter in turn controls the plant, causing its output toapproach the reference, so that the tracking error eventually (perhaps as t→ ∞) approaches ‘zero’.

Our aim is to show that this setup implies, when suitably formalized, that the controller incorporatesa model of the exosystem: this statement is the Internal Model Principle.

We formalize the exosystem E as a dynamic system (XE, αE), and the total system, comprising E,Cand P, as a dynamic system (X,α). Very often X will be of simple product form X = XE ×XC ×XP

and α = αE × αC × αP : X → X, where

αE : XE → XE

αC : XE ×XC ×XP → XC

αP : XE ×XC ×XP → XP

In fact we do not need this degree of detail here. We shall, however, assume that the feedback loop,comprising C,P interconnected as shown, enjoys a stability property with the consequence that E‘induces’ a corresponding action on a unique α-invariant subset of X, namely there exists an injectioniE : XE → X such that the following diagram commutes:

iE

αE

iE

αX

XE

X

XE

(3)

Thus iE is assumed to be determined by

α iE = iE αE (4)

25

Page 43: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

together with injectivity, and uniqueness of iE(XE).

Exercise 1.5.3:

Suppose XE = R1, XS = R1, X = XE ⊕XS,

αE = 2, α =

[2 01 1/3

]

Show that iE =

[1

3/5

], determined by (4), is the eigenvector of α with eigenvalue 2, and that

iE(XE) is its span. 3

As to the controller, we assume that its state set XC can be projected from X by a surjectionγ : X → XC.

The target subset for regulation (conventionally, states x ∈ X where the tracking error is zero)will be modeled as a subset K ⊆ X. We assume that the condition x ∈ K places no restrictionon γ(x) ∈ XC; that is, knowledge merely that x ∈ K yields no information about the control statexC = γ(x) ∈ XC; briefly

γ(K) = XC ; (5)

namely any control state xC ∈ XC corresponds to some x ∈ K.

From now on we write iE(XE) = XE ⊆ X. We assume that the controller is capable of identifyingthe state in XE induced in X by the exosystem. Thus consider the time history

x(0) = x0 ∈ X, x(t+ 1) = α(x(t)), t ∈ N

Suppose x0 ∈ XE and the controller records

xC(t; x0) = γ(x(t)), t ∈ N

Then we assume x0 can be determined from the data

xC(t; x0)|t ∈ N

This means precisely that

XE is detectable with respect to (X,α, γ) (6)

Next we turn to feedback structure. By this we mean that the controller is externally driven onlywhen the system state deviates from the desired subset K ⊆ X (where ‘the error is zero’). Equivalently,as long as x ∈ K, the controller behaves as an autonomous dynamic system onXC. Formally, let x ∈ K.The control state is xC = γ(x) ∈ XC. Feedback implies that the ‘next’ controller state

x′C = γ(x′) = γ(α(x)) = γ α(x)

26

Page 44: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

depends only on xC = γ(x); i.e. for x ∈ K, γ α(x) can be computed from γ(x). Equivalently

ker(γ|K) ≤ ker(γ α|K) (7)

There is no implication, of course, that x′ = α(x) ∈ K; in general K itself will not be α-invariant.

Finally we bring in the regulation condition, namely that the induced subset XE lie in K:

XE ⊆ K (8)

In applications, loop stability will typically ensure that XE ⊆ X is a global attractor, namely forany initial condition x(0) ∈ X the motion x(t) will converge to XE as t → ∞; then (8) will ensureasymptotic regulation, as required. Note that K ⊆ X can be modeled by its insertion κ : Kloc → X,leading in view of (8) to an injection jE : XE → Kloc as shown below.

(9)

XE

X

iE iE = κ jEjE

κKloc

Exercise 1.5.4.:

Prove that jE in (9) exists, is unique, and is injective. 3

Now we have the sought-for result. Write

αE = α|XE, γE = γ|XE

Theorem 1.5.1: Internal Model Principle

Subject to the foregoing assumptions:

1. There exists a unique mapping αC : XC → XC determined by

αC γ|K = γ α|K

2. αC γE = γE αE

3. γE is injective

27

Page 45: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Proof

1. Let xC ∈ XC. By (5) there is x ∈ K (so x ∈ X) with γ(x) = xC. Define αC(xC) := γ α(x).The definition is unambiguous, for x′ ∈ K and γ(x′) = xC implies x′ ≡ x(mod ker γ), namely (asx, x′ ∈ K)x′ ≡ x(mod ker γ|K). By (7), x′ ≡ x(mod ker(γ α|K)) and so γ α(x′) = γ α(x).The situation is displayed below.

γX

X

XC

γ

αC

γ α|Kγ|K

(10)

κ

κ

Kloc

XC

2. Let x ∈ XE . Since XE ⊆ K, from 1 we get αC γ(x) = γ α(x). But α(x) = αE(x) andα(x) ∈ XE, so

αC γE(x) = γE αE(x) (11)

as claimed.

3. Recalling Exercise 1.4.15, let ω ∈ E(X) be the observer for (γ, α), and ωE := ω|XE its restrictionto XE. By observer theory

ωE = supω′ ∈ E(XE)|ω′ ≤ ker γE ∧ ω′ αE= ⊥

using (6). Also, (7) with restrictions to XE implies

ker γE ≤ ker(γE αE) = (ker γE) αE

Therefore ker γE ≤ ωE = ⊥, namely γE is injective as asserted. 2

28

Page 46: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Our results can be displayed in the commutative diagram:

γ

Kloc

X

X

XC XC

κ

γ

γK

iEiE

XEXE

αE

jE

(12)

κ

αC

Here γK := γ|K = γ κ. Thus

γE = γ|XE = γ iE = γ (κ jE)

= (γ κ) jE= γK jE

Finally, therefore, we have the diagram

XEαE−−−→ XE

γE

yyγE

XC −−−→αC

XC

This may be paraphrased by saying that the controller dynamics faithfully simulate the dynamicsof the exosystem under the condition of perfect regulation. The ‘internal model’ in the controlleris the dynamic system (γE(XE), αC |γE(XE)).

Example 1.5.1

Let the exosystem E be given by

XE = 0, 1, . . . , N − 1, αE(i) = i+ 1 (mod N), i ∈ XE

We identify the plant P with the controller C and take

XC = 0, 1, . . . , N − 1 =: N, say

29

Page 47: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

We take X = XE ×XC and let α : X → X be given by

α(i, j) =

(i+ 1, j + 1) if j = i

(i+ 1, j) if j 6= i

where evaluations of i, j are (mod N). Thus controller logic is to maintain tracking of xC = j ∈ XC

with respect to xE = i ∈ XE, if j = i, or else to delay xC until tracking is achieved.

For the action induced by E in X we have iE : XE → X given by

iE(i) = (i, i), i ∈ N

Clearly α iE = iE αE as required by (4), and iE is unique and injective.

Next, γ : X → XC is given byγ(i, j) = j, (i, j) ∈ N ×N

SettingK = (i, j) ∈ X|j = i

= (i, i)|i ∈ Nwe have γ(K) = i|i ∈ N = XC as in (5).

To check detectability as in (6) we compute the local observer corresponding to the restriction of(γ, α) to

XE = iE(XE) = (i, i)|i ∈ NThen

γE(i, i) = i, αE(i, i) = (i+ 1, i+ 1)

and thus ωE = ⊥ as required. The regulation condition (8) is simply

XE = iE(XE) = (i, i)|i ∈ N = K

For (9), we can modelKloc = N, κ : Kloc → X : i 7−→ (i, i)

whilejE : XE → Kloc : i 7−→ i

so that evidently iE = κ jE as stated.

Finally, Theorem 1.5.1 provides

αC : XC → XC : i 7−→ i+ 1

withαC γE(i, i) = αC(i) = i+ 1

γE αE(i, i) = γE(i+ 1, i+ 1) = i+ 1

30

Page 48: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

as the theorem asserts.

It is interesting to note that XE ⊆ X plays the role of ‘global attractor’ in the sense that ifx(0) = (i0, j0) is arbitrary, then

x(t) −→ XE as t→ ∞ (13)

In fact x(t) ∈ XE for all t ≥ N − 1. With this feature we can augment the diagram (3) as follows.Consider the mapping

pE : X → XE : (i, j) 7−→ i

and notice that ker pE is a congruence for α, namely

ker pE ≤ ker(pE α)

Thus we have the diagram

XXαα

XX

pEpE pEpE

XEXE XEαE

for a unique induced map αE. Since for i ∈ XE we have i = pE(i, j) for any j, there follows:

αE(i) = αE pE(i, j)

= pE α(i, j)

= i+ 1

= αE(i)

and we can identify αE = αE. Also

pE iE(i) = pE(i, i) = i

namely pE iE = idE, the identity on XE. Thus the diagram (3) can be augmented to

α

αE

αE

iE

XE

XE XE

iE

XE

pE

X X

pE

idEidE

Intuitively, pE ‘projects out the stable behavior of α’ to recover the ‘unstable behavior’ αE.

31

Page 49: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Exercise 1.5.5: In a sketch of N × N locate XE and exhibit the convergence (13) and the motionon XE(= K). What are the cosets of ker pE and how do they move under αE ?

Exercise 1.5.6: Extend Exercise 1.5.3 taking XP = XS and introducing suitable feedback controlstructure to ensure that P tracks E as t→ ∞. Identify all the elements discussed in this section.

Exercise 1.5.7: Extend Example 1.5.1 to a richer structure with physical significance.

2

1.6 Sprays and Covers

In this section we show how the canonical factorization of a function through its equivalence kernel canbe generalized to the setting of relations.

Let X and Y be sets. A relation from X to Y is a subset f ⊆ X × Y . If (x, y) ∈ f , y is said to bef -related to x. A relation f from X to Y is a spray if

(∀x ∈ X)(∃y ∈ Y )(x, y) ∈ f,

namely each element of X has at least one f -related element of Y . In this case we write f : X ⊣ Y . Aspray from X to Y is functional if for every x ∈ X there is just one y ∈ Y such that (x, y) ∈ f ; in thatcase the notation f : X ⊣ Y is thought of as ‘sharpened’ to the conventional notation f : X → Y . Letf : X ⊣ Y . The cover of f , denoted by cov (f), is the family of subsets of X given by

fy|y ∈ Y , fy := x ∈ X|(x, y) ∈ f

The subsets fy ⊆ X are the cells of cov (f). It is clear that for a spray f there holds

X = ∪fy|y ∈ Y ,

namely cov (f) is a ‘covering’ of X in the usual sense. A spray f : X ⊣ Y is surjective if

(∀y ∈ Y )(∃x ∈ X)(x, y) ∈ f,

namely for all y ∈ Y , fy 6= ∅. If f : X ⊣ Y and g : Y ⊣ Z then their composition g f : X ⊣ Z is thespray defined by

g f := (x, z) ∈ X × Z|(∃y ∈ Y )(x, y) ∈ f & (y, z) ∈ g;2Not needed in the sequel.

32

Page 50: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

namely for all z ∈ Z(g f)z = x ∈ X|(∃y ∈ Y )x ∈ fy & y ∈ gz

The following proposition describes how a given spray may be factored through another.

Proposition 1.6.1

Let f : X ⊣ Z and g : X ⊣ Y be sprays. There exists a spray h : Y ⊣ Z such that h g = f iff

(1) (∀y ∈ Y )(∃z ∈ Z)gy ⊆ fz, and

(2) (∀z ∈ Z)(∃Y ′ ⊆ Y )fz = ∪gy|y ∈ Y ′

Thus f factors through g iff every member of cov (g) is contained in some member of cov (f), andevery member of cov (f) is a union of certain members of cov (g). The situation is displayed in thefollowing commutative diagram of sprays.

h

X

f

Z

Yg

Proof:

(If) Suppose (1) and (2) hold. Define h : Y ⊣ Z by the rule: given y ∈ Y , let (y, z) ∈ h iff gy ⊆ fz;at least one such z exists by (1), and so h is a spray. To verify that f = h g, suppose first that(x, z) ∈ f , namely x ∈ fz. By (2) there is W ⊆ Y such that

fz = ∪gw|w ∈W

Since x ∈ fz there is w ∈W with x ∈ gw. Since gw ⊆ fz, there follows (w, z) ∈ h. Since (x, w) ∈ g thisgives (x, z) ∈ h g as required. For the reverse statement let (x, z) ∈ h g, so for some y ∈ Y therehold x ∈ gy and y ∈ hz. By definition of h, gy ⊆ fz, hence x ∈ fz, namely (x, z) ∈ f as required.

(Only if) Let f g. To verify (1) let y ∈ Y and choose z ∈ Z with y ∈ hz; since h is a spray suchz exists. There follows x ∈ fz for all x ∈ gy, namely gy ⊆ fz. As for (2), let z ∈ Z, and x ∈ fz. Bydefinition of h g, there is y ∈ Y such that x ∈ gy and y ∈ hz. If x′ ∈ gy then (x′, z) ∈ h g = f ,namely x′ ∈ fz and therefore gy ⊆ fz. For each x ∈ fz let y(x) ∈ Y be chosen as just described; then

fz = ∪gy(x)|x ∈ fz,

33

Page 51: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

a covering of fz as required. 2

Note that the role of condition (1) is just to guarantee that the relation h is actually a spray, namelyfor all y there is some z with (y, z) ∈ h.

For given sprays f and g as in Proposition 1.5.1, it is not true in general that the spray h isuniquely determined by the requirement that h g = f , even if g is surjective. For example, letX = x, Y = y1, y2 and Z = z1, z2, with f = (x, z1), (x, z2) and g = (x, y1), (x, y2). Thenf = h g = h′ g, where h = (y1, z1), (y2, z2) and h′ = (y1, z2), (y2, z1). However, as subsets ofY × Z, the sprays h : Y ⊣ Z are partially ordered by inclusion, and with respect to this ordering thefamily of sprays h that satisfy the condition f = hg has (if the family is nonempty) a unique maximalelement, say h∗, defined as in the proof of Proposition 1.5.1:

(y, z) ∈ h∗ iff gy ⊆ fz

We now examine coverings by subsets in their own right. A cover of X is a family C of subsets ofX (the cells of C) such that

X = ∪X ′|X ′ ∈ CLet C(X) be the collection of all covers of X. If C ∈ C(X), let Y be any set in bijective correspondencewith C, with y(X ′) the element of Y that indexes the cell X ′ ∈ C. Clearly C defines a spray f : X ⊣ Y ,with fy(X′) = X ′ and cov (f) = C. In case no cell of C is empty, the spray f is surjective. IfC1,C2 ∈ C(X) write C1 C2 to denote that the following two conditions hold:

(1) (∀X ′ ∈ C1)(∃X ′′ ∈ C2)X′ ⊆ X ′′

(2) (∀X ′′ ∈ C2)(∃C′1 ⊆ C1)X

′′ = ∪X ′|X ′ ∈ C′1

Thus every cell of C1 is contained in some cell of C2, and every cell of C2 is the union of some subfamilyof cells of C1. Clearly is reflexive and transitive on C(X). If C1 C2 and C2 C1, then we shall saythat C1 and C2 are equivalent, and write C1 ≡ C2. It is easily checked that

C(X) := C(X)/ ≡

is a poset with respect to the induced partial order, which we denote again by . However, it is nottrue that the poset C(X) is a lattice.

To illustrate the notation, we remark that Proposition 1.6.1 can be stated in the form: there existsh such that f = h g iff cov (f) cov (g).

34

Page 52: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

3

1.7 Dynamic Invariance

Let α : Q ⊣ Q and f : Q ⊣ X be sprays. We think of α as representing a (nondeterministic) ‘dynamicaction’ on Q, and f as representing a lumping or aggregation of Q into (possibly overlapping) subsetsindexed by X. It is thus of interest to know whether an induced dynamic action α : X ⊣ X can bedefined on X, such that α f = f α, namely the following diagram commutes:

Q

αQ

f f

X

By Proposition 1.6.1, such α exists iff

cov (f α) cov (f)

In this case we shall say that cov (f) is α-invariant. We also know that α can be defined in such away that it is ‘maximal’, namely to each x ∈ X, α assigns the largest possible subset Ax ⊆ X with theproperty that (x, x′) ∈ α iff x′ ∈ Ax.

As an aid to intuition it is convenient to paraphrase the statement q ∈ (f α)x by saying that thereis a ‘route’ from q to x via α and f . The first defining condition for cov (f) cov (f α) implies thatfor every x ∈ X there is x′ ∈ X such that, for every q ∈ fx there is a route to x′ via α and f . In thespecial but important case where α : Q → Q is functional, this means precisely that α(fx) ⊆ fx′. Thesecond defining condition states that, for every x′ ∈ X, the subset of all q that are routed to x′ (via αand f) can be indexed by some subset X ′ ⊆ X, in the sense that

(f α)x′ = ∪fx|x ∈ X ′

Intuitively, every transition qα−→ q′ in the detailed dynamic model α : Q ⊣ Q is represented by some

transition xα−→ x′ in the aggregated model α : X ⊣ X ′. In the absence of this condition, certain

transitions might be left unrepresented because their exit state q belongs to no cell of cov (f) with theproperty that all of its elements q are α-related to some particular cell of cov (f).

The following describes a tracking property of the aggregated model that holds when the detaileddynamic action α is functional.

3Not needed in the sequel.

35

Page 53: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Proposition 1.7.1

Suppose α : Q→ Q is functional, α f = f α, and let (q, q′) ∈ α. If q ∈ fx then

q′ ∈ ∩fx′|(x, x′) ∈ α

Proof:

Let (x, x′) ∈ α. Since (q, x) ∈ f we have

(q, x′) ∈ α f = f αso for some q′′, (q, q′′) ∈ α and (q′′, x′) ∈ f . Since α is functional, q′′ = q′ and so (q′, x′) ∈ f , i.e.q′ ∈ fx′. 2

It should be emphasized that even if α is functional, in general α will not be. Nevertheless, becausethe spray diagram commutes, the aggregated model does tend to restrict the spread of uncertaintyabout the location of the entrance state q′ under a transition q

α7−→ q′.

The considerations of this section are all naturally extendible to the case of several transition sprays.In fact let S be a family of state transition sprays s : Q ⊣ Q that is closed under composition, namelys′ s ∈ S if s, s′ ∈ S (so that S is a semigroup under composition). Assume that f : Q ⊣ X has theproperty that cov (f) is s-invariant for each s ∈ S. Then to each s there corresponds an induced sprays : X ⊣ X with the property s f = f s. The operation sending s to s will be made well-defined byrequiring that s be maximal in the sense described above. Let

S := s|s ∈ SSince

(s s′) f = s (s′ f) = s (f s′) = (s f) s′ = (f s) s′ = f (s s′),and since s s′ can be shown to be maximal for s s′, the operation s 7→ s determines a morphismS → S of semigroups.

Exercise 1.7.1: Can Exercise 1.4.11 be generalized to a (nondeterministic) transition relation andoutput relation? Investigate.

1.8 Notes and References

Much of the material in this chapter is standard. For Sects. 1.1-1.4 see especially Mac Lane & Birkhoff[1993], and Davey & Priestley [1990]. Sect. 1.5 follows Wonham [1976], which may be consulted formore detailed background; see also Wonham [1985], Ch. 8. Since 1980 the literature on the InternalModel Principle has grown considerably. Sects. 1.6-1.7 originate here, but are not used in the sequel.

36

Page 54: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Chapter 2

Linguistic Preliminaries

2.1 Languages

Let Σ be a finite set of distinct symbols σ, τ, .... We refer to Σ as an alphabet. Let Σ+ denote the setof all finite symbol sequences, of the form σ1σ2...σk where k ≥ 1 is arbitrary and the σi ∈ Σ. It isconvenient also to bring in the empty sequence (sequence with no symbols), denoted by the new symbolǫ, where ǫ 6∈ Σ. We then write

Σ∗ := ǫ ∪ Σ+

An element of Σ∗ is a word or string over the alphabet Σ; ǫ is the empty string. If Σ = ∅ then Σ+ = ∅and Σ∗ = ǫ.

Next we define the operation of catenation of strings:

cat : Σ∗ × Σ∗ → Σ∗

according tocat(ǫ, s) = cat(s, ǫ) = s, s ∈ Σ∗

cat(s, t) = st, s, t ∈ Σ+

Thus ǫ is the unit element of catenation. Evidently cat(·, ·) is associative, for clearly

cat(cat(s, t), u) = cat(s, cat(t, u))

if s, t, u ∈ Σ+, and the other possibilities are easily checked.

With catenation as the ‘product’ operation, the foregoing relationships turn Σ∗ into a multiplicativemonoid (or multiplicative semigroup with identity).

Notice that a symbol sequence likeσ1σ2ǫσ3ǫǫσ4 (σi ∈ Σ)

37

Page 55: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

is not (syntactically) an element of Σ∗. It will be taken as a convenient abbreviation for

cat(cat(cat(cat(cat(σ1σ2, ǫ), σ3), ǫ), ǫ), σ4)

As such it evaluates, of course, to the Σ∗-element σ1σ2σ3σ4. Also, brackets may sometimes be insertedin a string for clarity of exposition.

The length |s| of a string s ∈ Σ∗ is defined according to

|ǫ| = 0; |s| = k, if s = σ1...σk ∈ Σ+

Thus |cat(s, t)| = |s| + |t|.

A language over Σ is any subset of Σ∗, i.e. an element of the power set Pwr(Σ∗); thus the definitionincludes both the empty language ∅, and Σ∗ itself. Note the distinction between ∅ (the language withno strings) and ǫ (the string with no symbols). For instance the language ǫ is nonempty, but containsonly the empty string.

2.2 Nerode Equivalence and Right Congruence

Let L ⊆ Σ∗ be an arbitrary language. We would like to construct, if possible, a decision procedure totest any given string s ∈ Σ∗ for membership in L. We might visualize a machine into which s is fed asinput and which emits a beep just in case s ∈ L. To this end we first construct a partition of Σ∗ thatis finer than the partition L,Σ∗ − L and which has a certain invariance property with respect to L.

The Nerode equivalence relation on Σ∗ with respect to L (or mod L) is defined as follows. Fors, t ∈ Σ∗,

s ≡L t or s ≡ t (mod L) or (s, t) ∈ Ner(L)

iff(∀u ∈ Σ∗)su ∈ L iff tu ∈ L

In other words s ≡L t iff s and t can be continued in exactly the same ways (if at all) to form a stringof L.

We write ‖L‖ for the index (cardinality of the set of equivalence classes) of the Nerode equivalencerelation ≡L, i.e. ‖L‖ := | ≡L |. Since Σ∗ is countable, ‖L‖ is at most countable infinity (cardinality ofthe integers). If ‖L‖ <∞, the language L is said to be regular.

Let R ∈ E(Σ∗) be an equivalence relation on Σ∗. R is a right congruence on Σ∗ if

(∀s, t, u ∈ Σ∗)sRt ⇒ (su)R(tu)

In other words, R is a right congruence iff the cells of R are ‘respected’ by the operation of rightcatenation. As elements of E(Σ∗) the right congruences on Σ∗ inherit the partial order ≤ on E(Σ∗).

38

Page 56: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Proposition 2.2.1

Nerode equivalence is a right congruence.

Proof

Let s ≡ t (mod L) and u ∈ Σ∗. It must be shown that su ≡ tu (mod L). Let v ∈ Σ∗ and (su)v ∈ L.Then s(uv) ∈ L, so t(uv) ∈ L, i.e. (tu)v ∈ L. Similarly (tu)v ∈ L implies (su)v ∈ L, hence su ≡ tu(mod L) as claimed. 2

Proposition 2.2.2

Nerode equivalence is finer than the partition L,Σ∗ − L.

Proof

Let s ≡ t (mod L). Then s ∈ L iff sǫ ∈ L, iff tǫ ∈ L, iff t ∈ L. 2

Proposition 2.2.3

Let R be a right congruence on Σ∗ such that R ≤ L,Σ∗ − L. Then

R ≤ ≡L

Proof

Let sRt. We show that s ≡ t (mod L). Let su ∈ L. Now sRt⇒ (su)R(tu). Since R ≤ L,Σ∗ −Land su ∈ L, it follows that tu ∈ L. Similarly if tu ∈ L then su ∈ L. 2

We summarize Propositions 2.2.1 - 2.2.3 as

Theorem 2.2.1

Let L ⊆ Σ∗. The Nerode equivalence (mod L) is the coarsest right congruence on Σ∗ that is finerthan L,Σ∗ − L. 2

Exercise 2.2.1: Let E,F ∈ E(Σ∗) with E ≤ F . Let

R = R | R is a right congruence on Σ∗, with E ≤ R ≤ F

Assuming that R 6= ∅, show that R is a complete sublattice of E(Σ∗). (Recall that a sublattice L of alattice M is a subset of M that is a lattice under the operations of meet and join inherited from M .)

39

Page 57: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Exercise 2.2.2: In the notation of Ex. 2.2.1, assume that E,F ∈ R. Consider the statement

(∀G)G ∈ R ⇒ (∃H)H ∈ R & G ∧H = E & G ∨H = F

Either prove it’s always true or show by counterexample that it can be false. 3

For s ∈ Σ∗ we say t ∈ Σ∗ is a prefix of s, and write t ≤ s, if s = tu for some u ∈ Σ∗. Thus ǫ ≤ sand s ≤ s for all s ∈ Σ∗. If L ⊆ Σ∗ the (prefix) closure of L is the language L consisting of all prefixesof strings of L:

L = t ∈ Σ∗|t ≤ s for some s ∈ LClearly L ⊆ L. If L = ∅ then L = ∅; if L 6= ∅ then ǫ ∈ L. For a string s we write s instead of s forits set of prefixes. A language L is closed if L = L.

Exercise 2.2.3: If A ⊆ Σ∗ is closed and B ⊆ Σ∗ is arbitrary, show that A− BΣ∗ is closed.

3

The closure of a language L is often relevant to control problems because it embodies the ‘evolu-tionary history’ of words in L. Notice that if s, t ∈ Σ∗ − L then

(∀w ∈ Σ∗)sw 6∈ L & tw 6∈ L

so that s ≡ t (mod L). In other words the subset Σ∗ − L of Σ∗ is, if nonempty, a single Nerode cell,which we call the dump cell; a string that enters the dump cell can never exit from it. On the otherhand if s ∈ L and s ≡ t (mod L) then sw ∈ L for some w ∈ Σ∗ and so tw ∈ L, i.e. t ∈ L. If s ∈ L− Land s ≡ t (mod L) then s = sǫ 6∈ L, so t = tǫ 6∈ L but (as just proved) t ∈ L. These remarks aresummarized in

Proposition 2.2.4

Nerode equivalence ≡L refines the partition

L, L− L,Σ∗ − L

of Σ∗. 2

2.3 Canonical Recognizers

The fact that Nerode equivalence is invariant under right catenation allows us to construct abstractlyan automaton that tracks the Nerode cells which a string in Σ∗ visits as it evolves symbol-by-symbol.Because Nerode equivalence is as coarse as can be for this purpose, the corresponding automaton issaid to be canonical.

40

Page 58: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Thus let L ⊆ Σ∗ and writeX := Σ∗/ ≡L

withPL : Σ∗ → X : s 7→ [s]

the canonical projection. Write

cat : Σ∗ × Σ → Σ∗ : (s, σ) 7→ sσ

for catenation,idΣ : Σ → Σ : σ 7→ σ

for the identity on Σ, and

PL × idΣ : Σ∗ × Σ → X × Σ : (s, σ) 7→ ([s], σ)

Proposition 2.3.1

There exists a unique mapξ : X × Σ → X

such thatξ (PL × idΣ) = PL cat,

namely the following diagram commutes.

PL

Σ∗

X

cat

ξ

Σ∗ × Σ

X × Σ

PL × idΣ

Proof

By Prop. 1.4.2, for the existence of ξ it is enough to check that

ker(PL × idΣ) ≤ ker(PL cat)

Uniqueness will follow by the fact that PL × idΣ is surjective. Let

((s, σ), (s′, σ′)) ∈ ker(PL × idΣ)

41

Page 59: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

namely(PL × idΣ)(s, σ) = (PL × idΣ)(s′, σ′)

or([s], σ) = ([s′], σ′),

that is,s ≡L s

′, σ = σ′

Since ≡L is a right congruence,sσ ≡L s

′σ′

namely[sσ] = [s′σ′]

orPL(cat(s, σ)) = PL(cat(s′, σ′))

so(PL cat)(s, σ) = (PL cat)(s′, σ′)

or finally((s, σ), (s′, σ′)) ∈ ker(PL cat)

as required. 2

The elements x ∈ X are the states of L; X is the state set of L; ξ is the transition function of L;and the triple (X,Σ, ξ) is the transition structure of L. It is convenient to extend ξ to a map

ξ : X × Σ∗ → X

as follows. Define

ξ(x, ǫ) = x, x ∈ X

ξ(x, σ) = ξ(x, σ) x ∈ X, σ ∈ Σ

ξ(x, sσ) = ξ(ξ(x, s), σ) x ∈ X, s ∈ Σ∗, σ ∈ Σ

It is easily checked (say, by induction on length of strings) that ξ is well defined. From now on we omitthe ˆ and write ξ in place of ξ.

If x = [t] then by definition of ξ, ξ(x, σ) = [tσ]. Assuming inductively that ξ(x, s) = [ts] we have

ξ(x, sσ) = ξ(ξ(x, s), σ) by definition of ξ (i.e. ξ)= ξ([ts], σ) by the inductive assumption= [tsσ] by definition of ξ

so that ξ(x, u) = [tu] for all u ∈ Σ∗. From this we get the composition property: for all x ∈ X ands, u ∈ Σ∗,

ξ(x, su) = [tsu]

= ξ(x′, u), x′ = [ts]

= ξ(ξ(x, s), u)

42

Page 60: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

We distinguish an element xo and a subset Xm of X as follows. Let

xo = [ǫ], Xm = [s]|s ∈ L

The state xo is the initial state of L, and if x ∈ Xm, x is a marker state of L. We have by definition

ξ(xo, s) = [ǫs] = [s], s ∈ Σ∗

In particular, if s ∈ L thenξ(xo, s) = [s] ∈ Xm

Thus one can think of Xm as the subset of states of L that ‘mark’ precisely the strings of L: imaginethat a beep sounds just when such a state is reached. These definitions are displayed in the diagrambelow.

PL

L

Xm

PL

ǫ ∈ Σ∗

x0 ∈ X

Here the horizontal arrows are the natural subset injections.

Finally the dump state of L is the (single) state corresponding to the dump cell Σ∗ − L, when thelatter is nonempty.

In general, then, a language L can be visualized as shown in Fig. 2.3.1. The shaded divisionsdemarcate the cosets of ≡L. The marker states are the cosets contained in L. The initial state (coset)xo belongs to L if the empty string ǫ ∈ L; otherwise (provided L 6= ∅) xo belongs to L. In case L = ∅then L = ∅, so

X = Σ∗, xo = Σ∗, Xm = ∅.On the other hand if L = Σ∗ then L = Σ∗ and

X = Σ∗, xo = Σ∗, Xm = Σ∗

In general if L is closed thenXm = X − Σ∗ − L

namely all states except the dump state are marked.

Fig. 2.3.2 displays alternative ‘high-level’ transition graphs for L, showing in a general way howtransitions may occur in the two cases where (a) the initial state is not a marker state (namely theempty string ǫ does not belong to L), and (b) the initial state is a marker state. If L were nonemptyand closed then in the corresponding graph (b) the right-hand state (identified with L − L) and itsassociated transitions would be deleted.

43

Page 61: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

L L− L Σ∗ − L Σ∗

Fig. 2.3.1Subset diagram for a typical language L ⊆ Σ∗

Σ∗ = L∪(L− L)∪(Σ∗ − L)

44

Page 62: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

+

+

+

+

LL

L LL

L L

L(b) 2 L

(a) 62 L

Fig. 2.3.2‘High-level’ state transition graphs for a language L

Case (a): ǫ ∈ L− L; xo 6∈ Xm

Case (b): ǫ ∈ L; xo ∈ Xm

45

Page 63: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

The 5-tupleR = (X,Σ, ξ, xo, Xm)

will be called a canonical recognizer for L. While its existence has now been established abstractlythere is, of course, no implication in general that R can actually be implemented by some constructiveprocedure. Naturally this issue is fundamental in the applications.

In general, a recognizer for L (see below, Sect. 2.4) will be called canonical if its state set X is inbijective correspondence with the cosets of ≡L; thus |X| = | ≡L | = ‖L‖. Subject to this requirement, Xmay be chosen according to convenience, for example as a subset of the integers. In another commonrepresentation, X is identified with the nodes of a directed graph G whose edges are labelled withsymbols σ ∈ Σ; namely (x, σ, x′) is a labelled edge

σx′x

of G, if and only if ξ(x, σ) = x′. Such a graph G is a state transition graph for R (or L). In G we attachto xo an entering arrow, as in

xo

and to state x ∈ Xm an exiting arrow, as in

x

If xo happens also to be a marker state we may attach a double arrow, as in

xo

The dump state will be labelled +.

Example 2.3.1: Canonical Recognizers

Let Σ = α, β.

46

Page 64: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

1. L = ∅

α, β+

2. L = Σ∗

α, β

3. L = αn|n = 0, 1, 2, ...α, βα

β +

4. L = αnβn|n = 0, 1, 2, ....

....

....

....

....

α, β

++++

β β β ββ β β β

α α α

α α αααα

β

In the above transition graph, the nodes labelled + should be merged to a single ‘dump’ nodeself-looped with α, β.

5. L = s|#α(s) = #β(s), where 0 ≤ #σ(s) = number of σ’s in the string s.

α α α α α

β β β β β β

α

......

3

47

Page 65: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

We conclude this section with a useful extension of the concept of canonical recognizer, obtainedby starting with an arbitrary partition θ of Σ∗ in place of the binary partition L,Σ∗ − L. Let Tbe a new alphabet, not necessarily disjoint from Σ, with |T | = |θ| (here we allow the possibility thatT is countably infinite); and label the cells of θ in bijective correspondence with T . Thus T ∼= Σ∗/θ.There is then a well-defined projection, say Pθ : Σ∗ → T , taking strings s ∈ Σ∗ to their labels in T , asshown below. An element τ ∈ T can be thought of as signalling the presence of a string s ∈ Σ∗ in thecorresponding cell of θ (or kerPθ); for this reason T will be called the output alphabet.

Σ∗ → Σ∗/θ ≃ T

It is straightforward to construct (abstractly) an automaton A that maps any string

s = σ1σ2...σk ∈ Σ∗

into the corresponding sequence of output elements

t = Pθ(ǫ)Pθ(σ1)Pθ(σ1σ2)...Pθ(σ1σ2...σk) ∈ T ∗

For the state space X it suffices to take the set of cosets of the coarsest right congruence ω on Σ∗ thatis finer than θ. There is then a unique output map λ : X → T such that λ(x[s]) = Pθ(s), where x[s] isthe coset of s (mod ω). The transition function ξ : X × Σ → X is defined as before, together with theinitial state xo = x[ǫ]. The 6-tuple

A = (X,Σ, ξ, xo, T, λ)

is sometimes called a Moore automaton. Evidently the previous construction of a canonical recognizerfor L is recovered on taking θ = L,Σ∗ − L, T = 0, 1, Pθ(s) = 1 iff s ∈ L, and Xm = x|λ(x) = 1.

Exercise 2.3.1: Let K = L and let κ, λ be the Nerode right congruences for K, L respectively. Showthat κ ≤ λ. In other words, closing a language coarsens its right congruence.

Exercise 2.3.2: Verify in detail that Examples 1-5 above indeed display the canonical recognizers forthe indicated languages. Hint: For each node n of the given transition graph, let Σ∗(n) ⊆ Σ∗ be thesubset of strings that correspond to paths through the graph from no to n. Show that the Σ∗(n) areprecisely the Nerode equivalence classes for the given language L: namely every string in Σ∗ belongsto Σ∗(n) for some n, for every n any pair of strings in Σ∗(n) are Nerode equivalent, and no two stringsin distinct subsets Σ∗(n), Σ∗(n′) are equivalent.

Exercise 2.3.3: As in the construction of a Moore automaton, let θ be a given partition of Σ∗ and letT label the cells of θ. Construct a recognizer that generates a new output symbol from T only when the

48

Page 66: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

θ-cell membership of the input string in Σ∗ actually changes, as the string evolves symbol-by-symbol.Show that the number of states of this recognizer need be no more than twice that of the original Mooreautomaton. Hint: Start by augmenting T with a ‘silent symbol’ τo 6∈ T , corresponding to “no changein θ-cell membership”. Let To = T ∪ τo. Examine the relationship between Nerode cells when theoutput alphabet is T and when it is To. Provide a concrete example displaying both the original andthe new Moore automata.

Exercise 2.3.4: Let Σ, T be alphabets, let L ⊆ Σ∗, and let P : Σ∗ → T ∗ be a map with the properties

P (ǫ) = ǫ

P (sσ) = either P (s) or P (s)τ , some τ ∈ T

Notice that P is prefix-preserving in the sense that

(∀s, s′ ∈ Σ∗)s ≤ s′ ⇒ P (s) ≤ P (s′)

With τo a “silent symbol’ as in Ex. 2.3.3, define To = T ∪ τo, and then Q : Σ∗ → To according to

Q(ǫ) = τo,

Q(sσ) =

τo if P (sσ) = P (s)τ if P (sσ) = P (s)τ

Evidently Q maps a string s ∈ Σ∗ either into τo, or into the last symbol of P (s) in T upon its freshoccurrence. Let ν ∈ E(Σ∗) be the equivalence relation defined by s ≡ s′ (mod ν) if and only ifQ(s) = Q(s′) and

(∀u ∈ Σ∗)(∀t ∈ T ∗)P (su) = P (s)t ⇔ P (s′u) = P (s′)t

Show that ν is the coarsest right congruence that is finer than kerQ. Then show how to construct(abstractly) a Moore automaton A that recognizes the language L and, for each string s ∈ L, producesthe output Q(s) in To. A is both a recognizer for L and a realization of the restriction of P to L.Create a simple but nontrivial example for which your construction can be carried out explicitly.

Exercise 2.3.5: Let K ⊆ L ⊆ Σ∗ and suppose the canonical recognizers for K,L have the samenumbers (assumed finite) of states, marker states, and transitions. Investigate whether or not K = L,i.e. either prove equality or find an example with K $ L.

Exercise 2.3.6: Let Σ = 0. Construct L ⊆ Σ∗ such that Ner(L) =⊥.

2.4 Automata

LetA = (Y,Σ, η, yo, Ym)

49

Page 67: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

be a 5-tuple with Σ as before, Y a nonempty set, yo ∈ Y , Ym ⊆ Y , and

η : Y × Σ → Y

a function. A is an automaton over the alphabet Σ. As before, η is the state transition function, yo isthe initial state and Ym is the subset of marker states; again we extend η to a function

η : Y × Σ∗ → Y

by induction on length of strings.

The language L ⊆ Σ∗ recognized by A is

L := s ∈ Σ∗|η(yo, s) ∈ Ym

A is said to be a recognizer for L.

A state y ∈ Y is reachable if y = η(yo, s) for some s ∈ Σ∗; and A is reachable if y is reachable for ally ∈ Y . Evidently a state that is not reachable can play no role in the recognition process. If Yrch ⊆ Yis the subset of reachable states then the reachable subautomaton Arch of A is defined as

Arch = (Yrch,Σ, ηrch, yo, Ym,rch)

whereηrch = η|Yrch × Σ, Ym,rch = Ym ∩ Yrch

Clearly Arch recognizes L ⊆ Σ∗ iff A does.

Define an equivalence relation λ on Y according to

y1 ≡ y2 (mod λ)

iff(∀s ∈ Σ∗)η(y1, s) ∈ Ym ⇔ η(y2, s) ∈ Ym

That is, two states of A are λ-equivalent if the same input strings map each of them into the subset ofmarker states of A. As usual we write s ≡ s′ (mod L) for Nerode equivalence of strings with respectto L. Now we can state

Proposition 2.4.1

(i) (∀t, t′ ∈ Σ∗)η(yo, t) ≡ η(yo, t′) (mod λ) ⇔ t ≡ t′ (mod L)

(ii) (∀y, y′ ∈ Y )y ≡ y′ (mod λ) ⇔ (∀s ∈ Σ∗)η(y, s) ≡ η(y′, s) (mod λ)

(iii) (∀y, y′ ∈ Y )y ∈ Ym & y′ ≡ y (mod λ) ⇒ y′ ∈ Ym

50

Page 68: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

2

Here (iii) states that λ refines the partition Ym, Y − Ym.

Define X := Y/λ and let P : Y → X be the canonical projection. Let Xm := PYm and xo := Pyo.For x = Py define

ξ(x, σ) = Pη(y, σ)

Then ξ is well defined (Exercise 2.4.2) and extends inductively to X × Σ∗. Properties of the extendedmap are summarized in

Proposition 2.4.2

(i) (∀s ∈ Σ∗)ξ(x, s) = Pη(y, s) for x = Py

(ii) (∀s ∈ Σ∗)s ∈ L⇔ ξ(xo, s) ∈ Xm

(iii) (∀s, s′ ∈ Σ∗)ξ(xo, s) = ξ(xo, s′) ⇔ s ≡ s′ (mod L)

2

Thus the 5-tupleB = (X,Σ, ξ, xo, Xm)

is an automaton over Σ. The foregoing definitions and relationships are displayed in the commutativediagrams below.

xo ∈ X

PP

ξX × Σ∗

P × id

η yo ∈ Y Ym

P

Xm

YY × Σ∗

X

Informally, “P projects A onto B.” The automaton B is reachable if A is reachable. By Proposition2.4.2(iii) the reachable states of B can be identified with the cosets of the Nerode equivalence relationon Σ∗ with respect to L. We therefore have the following.

Theorem 2.4.1

If B = (X,Σ, ξ, xo, Xm) is reachable then B is a canonical recognizer for L. 2

51

Page 69: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Let A = (Y,Σ, η, yo, Ym) as before. Define the complementary automaton

Aco = (Y,Σ, η, yo, Y − Ym)

Clearly A recognizes L ⊆ Σ∗ iff Aco recognizes the complementary language Lco := Σ∗ − L. It is easyto see that s ≡ s′ (mod L) iff s ≡ s′ (mod Lco), and thus ‖Lco‖ = ‖L‖.

Similarly if A1, A2 are automata over Σ then in obvious notation the product automaton A1 ×A2

is defined to beA1 × A2 = (Y1 × Y2,Σ, η1 × η2, (y1o, y2o), Y1m × Y2m)

where η1 × η2 : Y1 × Y2 × Σ → Y1 × Y2 is given by

(η1 × η2)((y1, y2), σ) = (η1(y1, σ), η2(y2, σ))

If Ai recognizes Li ⊆ Σ∗ then it is easily seen that A1 × A2 recognizes L1 ∩ L2.

Exercise 2.4.1: Prove Proposition 2.4.1.

Exercise 2.4.2: Show that ξ as described above exists and is unique by first verifying ker(P × id) ≤ker(P η) on Y × Σ. Then extend ξ to X × Σ∗ and prove Proposition 2.4.2.

Exercise 2.4.3: Consider the automaton

A = (Y,Σ, η, y0, Ym)

with

Y = 0, 1, 2, 3, 4Σ = α, βy0 = 0

Ym = 0, 1, 2

and transitions

[0, α, 1] [2, β, 3][0, β, 4] [3, α, 3][1, α, 2] [3, β, 3][1, β, 4] [4, α, 4][2, α, 2] [4, β, 4]

Construct the automaton B as above, and tabulate P . Use TCT minstate to check your result.

52

Page 70: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Exercise 2.4.4: Given recognizers for L1 and L2 ⊆ Σ∗, construct a recognizer for L1 ∪ L2. Hint: use

L1 ∪ L2 = [(L1)co ∩ (L2)co]co

Exercise 2.4.5: Let L1, L2 ⊆ Σ∗ and let $ be a symbol not in Σ. Let L ⊆ (Σ ∪ $)∗ be the languageL1$L2, consisting of strings s1$s2 with s1 ∈ L1 and s2 ∈ L2. Given recognizers for L1 and L2, constructa recognizer for L.

Exercise 2.4.6: In the regular case where ‖L1‖ = n1 and ‖L2‖ = n2 are both finite, derive tight upperbounds on ‖L1 ∩ L2‖, ‖L1 ∪ L2‖ and ‖L1$L2‖: that is, show by examples that your bounds cannot beimproved for any (n1, n2).

Exercise 2.4.7: Let Σ = 0. Construct a language L with Ner(L) equal to the bottom element⊥ ∈ EΣ∗, and specify the canonical recognizer.

2.5 Generators

In Sect. 2.4 we saw that a language can be represented concretely by specifying a corresponding rec-ognizer. For many purposes, a similar but more flexible and economical representation is provided bya generator, namely a transition structure in which, in general, only a proper subset of the totality ofevents can occur at each state. For example, a generator might simply be a recognizer from which thedump state (if any) and all transitions to it have been dropped. Let

G = (Y,Σ, η, yo, Ym)

In the present case the transition function η : Y ×Σ → Y is defined at each y ∈ Y only for a subset ofthe elements σ ∈ Σ, namely η is a partial function (pfn) and we write

η : Y × Σ → Y (pfn)

The notation η(y, σ)! will mean that η(y, σ) is defined1. Much as before, η is extended to a partialfunction η : Y × Σ∗ → Y by the rules

η(y, ǫ) = y

η(y, sσ) = η(η(y, s), σ)

provided y′ := η(y, s)! and η(y′, σ)!.

1If η(y, σ)! for all (y, σ) ∈ Y × Σ, η may be called a total function (η is then an ‘ordinary’ function).

53

Page 71: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Example 2.5.1: Generator for a ‘Machine’

The state transition graph of a simple generator is displayed below. The generator represents a‘machine’ with possible states (I)dle, (W )orking, (D)own and (S)crapped. Starting in I, the machinemay take a workpiece (event α), thereby moving to W . From W the machine may either complete itswork cycle, returning to I (event β), or else break down (event λ), moving to D. It remains at D untilit is either repaired (events µ, ν) or scrapped (event κ). Repair event µ corresponds to loss of workpieceand return to I, completing a cycle of working, breakdown and repair, while ν corresponds to savingthe workpiece to continue work at W . The initial state is I and the marker states both I and S. Thisprocess may be thought of as repeating an arbitrary finite number of times.

S

κ

ν

α β µ

λW D

I

3

Exercise 2.5.1: Let Σ = α, β, L = Σ∗αβαΣ∗. Thus L consists of all finite strings of the forms1αβαs2, where s1 and s2 are arbitrary strings over Σ.

(i) Give an alternative verbal description of L, regarding the occurrence of αβα as the signal of an‘emergency’.

(ii) Design a (deterministic) finite-state recognizer for L. Hint: This can be done using just 4 states.

Exercise 2.5.2: Develop a finite-state operational (not electrical) model of an ordinary householdtelephone, as seen by a single subscriber able to place or receive a call. Note: This can becomesurprisingly complicated, so start with something simple and then refine it in stages, up to a model onthe order of 10 to 20 states. 3

In general one may think of G as a device that ‘generates’ strings by starting at the initial state yo

and executing only transitions for which its transition function η is defined; if more than one transition isdefined to exit from a given state y, the device may be supposed to choose just one of these possibilities,on any particular occasion, by some quasi-random internal mechanism that is unmodelled by the systemanalyst. In this sense the generating action is ‘possibilistic’. It may be thought of as carried out inrepeated ‘trials’, each trial generating just one of the possible strings s for which η(yo, s) is defined.In this account, ‘choose’ needn’t always be interpreted literally: most machines do not choose to start

54

Page 72: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

work autonomously, but are forced by some external agent. The generation model is independent of(but consistent with) causative factors, which should be examined in context.

The set of strings s ∈ Σ∗ such that η(yo, s)! is the closed behavior of G, denoted by L(G), whilethe subset of strings s ∈ L(G) such that η(yo, s) ∈ Ym is the marked behavior of G, denoted by Lm(G).Clearly L(G) is closed and contains Lm(G). A generator G is to be thought of as representing both itsclosed and marked behaviors. As in the case of an automaton, a state y ∈ Y is reachable if there is astring s ∈ Σ∗ with η(yo, s)! and η(yo, s) = y; G itself is reachable if y is reachable for all y ∈ Y . A statey ∈ Y is coreachable if there is s ∈ Σ∗ such that η(y, s) ∈ Ym; and G is coreachable if y is coreachable forevery y ∈ Y . G is nonblocking if every reachable state is coreachable, or equivalently L(G) = Lm(G);the latter condition says that any string that can be generated by G is a prefix of (i.e. can alwaysbe completed to) a marked string of G. Finally G is trim if it is both reachable and coreachable. Ofcourse G trim implies G nonblocking, but the converse is false: a nonblocking generator might havenonreachable states (that might or might not be coreachable). The ‘machine’ of Example 2.5.1 is trim;if the state S were not marked, the resulting generator would still be reachable, but not coreachable.In practice one usually models a generator G to be reachable; however, it may be quite realistic for Gnot to be coreachable, for instance to have a ‘dump’ or ‘dead-end’ state from which no marker state isaccessible. As a rule it is therefore advisable not to overlook non-coreachable states, or inadvertentlyremove them from the model.

55

Page 73: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Example 2.5.2: Generators

The following trim generators correspond to the languages of Example 2.3.1, over Σ = α, β. HereLm denotes the language represented, while the closed behavior L = Lm.

1. Lm = ∅ EMPTY (having empty state set)

2. Lm = Σ∗

α, β

3. Lm = αn|n = 0, 1, 2, ...

α

4. Lm = αnβn|n = 0, 1, 2, ...

ααα

β β

βββ

5. Lm = s|#α(s) = #β(s)

α α α α αα

β ββ β β β

3

The following counterpart of Proposition 2.4.1 can be used to reduce a (reachable) generator Gto a minimal state version having the same closed and marked behaviors. This time we need Nerodeequivalence relations on Σ∗ for both L(G) (≡c, say) and Lm(G) (≡m). Define λ ∈ E(Y ) according toy ≡ y′ (mod λ) provided

(i) (∀s ∈ Σ∗) η(y, s)! ⇔ η(y′, s)!

(ii) (∀s ∈ Σ∗) η(y, s)! & η(y, s) ∈ Ym ⇔ η(y′, s)! & η(y′, s) ∈ Ym

Proposition 2.5.1

(i) (∀s, s′ ∈ Σ∗) η(yo, s) ≡ η(yo, s′)(mod λ) ⇔ s ≡c s

′ & s ≡m s′

56

Page 74: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

(ii) (∀y, y′ ∈ Y ) y ≡ y′(mod λ) ⇔ (∀s ∈ Σ∗)η(y, s) ≡ η(y′, s)(mod λ)

(iii) (∀y, y′ ∈ Y ) y ∈ Ym & y′ ≡ y(mod λ) ⇒ y′ ∈ Ym.

Exercise 2.5.3: Prove Prop. 2.5.1 and provide a nontrivial application. 3

Reduction of a generator G to a minimal (reachable) version by projection (mod λ) is implementedin TCT as the procedure minstate.

Exercise 2.5.4: Let L ⊆ Σ∗ and G be its minimal-state recognizer. Show how to construct a recognizerH whose current state encodes both the current state of G and the last previous state of G. Generalizeyour result to encode the list of n most recent states of G (in temporal order). Alternatively, constructa recognizer K whose current state encodes the list of n most recent events of G, in order of occurrence.Illustrate your results using G as shown below.

G

α, β

λ

µ

Exercise 2.5.5: Let Σ = 0, 1 and let L ⊆ Σ∗ be those strings in which a 1 occurs in the third-to-lastplace. Design a recognizer for L. 3

Occasionally it will be useful to bring in a nondeterministic generator, namely one in which more thanone transition defined at a given exit state may carry the same label σ ∈ Σ. Formally a nondeterministicgenerator is a 5-tuple

T = (Y,Σ, τ, yo, Ym)

as before, but with the difference that the transition function τ now maps pairs (y, σ) into subsets ofY :

τ : Y × Σ → Pwr(Y )

Notice that τ may be considered a total function because of the possible evaluation τ(y, σ) = ∅. Weextend τ to a function on strings by the rules

τ(y, ǫ) = yτ(y, sσ) = ∪τ(y′, σ)|y′ ∈ τ(y, s)

We define the closed behavior L(T) of the nondeterministic generator T to be the set of all stringss ∈ Σ∗ for which τ(yo, s) 6= ∅. The marked behavior Lm(T) of T is the set of all strings in L(T) forwhich at least one particular realization (path through the transition graph) corresponds to a sequenceof states starting at yo and ending in Ym:

Lm(T) = s ∈ Σ∗|τ(yo, s) ∩ Ym 6= ∅

57

Page 75: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

If the nondeterministic generator T is given, then a deterministic generator Tdet that generatesthe same languages L(T) and Lm(T) can be constructed by taking as the states of Tdet the nonemptysubsets of Y , i.e. Ydet = Pwr(Y ) − ∅; usually only a small fraction of the new states turn out tobe reachable and therefore worthy of retention. This process of converting a nondeterministic to adeterministic generator is known as the subset construction. While a nondeterministic generator canalways be converted in this way to a deterministic one, in some applications the use of a nondeterministicgenerator may result in greater convenience or economy of description.

A word of warning. Conversion by the subset construction may obliterate blocking situations in thenondeterministic model. For instance

0 1

2 3

α

β

αT converts to Tdetα β

ignoring the fact that T can block at state 1. A solution is first to enhance T by selflooping allnon-coreachable states with a new event label κ 6∈ Σ. Thus

3

α

β

αT′

κ

converts to T′

det

α κ

β

κ0 1

2

Exercise 2.5.6: Subset construction

Supply the details of the subset construction. Namely let

H = (Y,Σ, τ, yo, Ym)

be a nondeterministic generator, and letG = (X,Σ, ξ, xo, Xm)

be the deterministic generator defined byX = Pwr(Y ) − ∅, ξ(x, σ) = ∪τ(y, σ)|y ∈ xxo = yo, Xm = x|x ∩ Ym 6= ∅

58

Page 76: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Here ξ is a partial function on X × Σ with ξ(x, σ)! iff the defining evaluation is nonempty. Show thatL(G) = L(H) and Lm(G) = Lm(H). Check the two examples above in detail.

Exercise 2.5.7: Implementation of the subset construction is unattractive in that it may requireexponential computational effort in the state size of T. Why? Can you exhibit a ‘worst case’?

2.6 Regular Expressions

In discussing small examples we may use, in addition to state transition graphs, a representation forregular languages known as regular expressions. These may be combined by regular algebra to representcomplex languages in terms of simpler ones.

If s ∈ Σ∗ we may write s for the language s ⊆ Σ∗. Let L,M ⊆ Σ∗. New languages L +M , LMand L∗ are defined as follows.

L+M := s|s ∈ L or s ∈MLM := st|s ∈ L and t ∈ML∗ := ǫ+ ∪∞

k=1s1...sk|s1, ..., sk ∈ L

ThusL∗ = ǫ+ L+ L2 + ... = ∪∞

k=0Lk, Lo := ǫ

If Σ = α, β we may sometimes write Σ = α+ β. In accordance with the definition of catenation andthe properties of ǫ we have

ǫs = sǫ = s, ǫǫ = ǫ, ǫ∗ = ǫ

and for the empty language ∅,

∅ + L = L, ∅L = L∅ = ∅, ∅∗ = ǫ.

A regular expression over Σ is a formal expression obtained by a finite number of applications of theoperations listed above, to elements in the list: elements of Σ, ǫ, ∅, and all expressions so obtained. SinceΣ, ǫ, ∅ are subsets of Σ∗, a regular expression represents a subset of Σ∗. It is shown in the literature(Kleene’s Theorem) that the subsets represented by the regular expressions over Σ are exactly theregular sublanguages of Σ∗, namely the sublanguages whose canonical recognizers have a finite stateset.

Regular algebra admits numerous identities that are useful for simplifying regular expressions. Theymay be proved by comparing the corresponding subsets of Σ∗. While we are not likely to undertakecomplicated manipulations of regular expressions, the following catalog of identities is provided forreference. Here L,M,N ⊆ Σ∗ are arbitrary languages over Σ.

Lǫ = ǫL = L, L+ L = L, L+M = M + L

59

Page 77: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

(L+M) +N = L+ (M +N) (so we write L+M +N)

(LM)N = L(MN) (so we write LMN), (L+M)N = LN +MN

L∗ = ǫ+ LL∗, L∗L∗ = L∗, (L∗)∗ = L∗, LL∗ = L∗L

(L∗ +M∗)∗ = (L∗M∗)∗ = (L∗M)∗L∗ = (L+M)∗

(LM)∗L = L(ML)∗, (L∗M)∗ = ǫ+ (L+M)∗M

The following result is fundamental for the solution of systems of equations.

Proposition 2.6.1

(i) If L = M∗N then L = ML+N

(ii) If ǫ 6∈ M then L = ML+N implies L = M∗N . 2

Part (ii) is known as Arden’s rule. Taken with (i) it says that if ǫ 6∈ M then L = M∗N is the uniquesolution of L = ML+N ; in particular if L = ML (with ǫ 6∈M) then L = ∅.

Exercise 2.6.1: Show by counterexample that the restriction ǫ 6∈M in Arden’s rule cannot be dropped.

Exercise 2.6.2: Prove Arden’s rule. Hint: If L = ML +N then for every k ≥ 0

L = Mk+1L+ (Mk +Mk−1 + ..+M + ǫ)N

3

As an application of Arden’s rule it will now be shown how to find a regular expression for thelanguage generated by a finite nondeterministic transition structure. In the example displayed belowwe write by definition

Lm(G) = s ∈ Σ∗|τ(xo, s) ∩Xm 6= ∅

αα

x1 x2

xo

γ

ββ

60

Page 78: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Step 1. Write a formal linear equation representing the transitions at each state of G:

xo = αx1 + αx2

x1 = βx1 + γx2

x2 = βx2 + ǫ

Note that the ‘forcing’ term ǫ is added on the right side if x ∈ Xm.

Step 2. Consider the states xi as tokens for the ‘unknown’ regular languages

Xi = s ∈ Σ∗|τ(xi, s) ∩Xm 6= ∅

Thus it is easy to see that the Xi satisfy exactly the regular-algebraic equations just written. Solvethese equations using Arden’s rule:

X2 = β∗

X1 = β∗γX2 = β∗γβ∗

Xo = αβ∗γβ∗ + αβ∗

= αβ∗(ǫ+ γβ∗)

Step 3. Since xo is the initial state we obtain

Lm(G) = Xo = αβ∗(ǫ+ γβ∗)

As a second example consider the transition graph below, with states labelled a, b, c. We have

a = αb+ ǫ, b = βa+ γc, c = γc

a

γγ

cb

α

β

These equations givec = ∅, b = βa, a = (αβ)∗

61

Page 79: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Exercise 2.6.3:

Consider the problem of designing a recognizer for the language

L = Σ∗0 1 0 0 1 0Σ∗

where Σ = 0, 1. In other words, we want a bell to beep (and go on beeping with each new inputsymbol) as soon as the string indicated occurs for the first time in an arbitrary sequence of 0’s and 1’s.It is easy to specify a nondeterministic recognizer, as shown below.

0,1

NDR

0,1

0010 10

By contrast, it’s quite difficult to design a deterministic recognizer ‘by hand’: try it and see. To dothis using TCT, modify the initial selfloop to obtain

XDR0,12

...

where 2 is a dummy symbol to make XDR deterministic. Compute

DR = project(XDR,Null[2])

Draw the state diagram and convince yourself that DR does the job.

Exercise 2.6.4: Consider the generators

T1: T2

α µµα

β

β

β

α

62

Page 80: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

By application of the subset construction to T1, show that T1 and T2 determine the same regularlanguage. Using Arden’s rule, obtain corresponding regular expressions

L1 = (αβ(ε+ µ))∗αβ

L2 = (α(βα)∗βµ)∗α(βα)∗β

and prove by “regular algebra” that indeed L1 = L2. Hint: First prove the identity

(L∗M)∗L∗ = (L+M)∗

and then reduce L2 to L1.

2

2.7 Causal Output Mapping and Hierarchical Aggregation

In this section we develop in greater detail some of the ideas in Sects. 2.2, 2.3 and 2.5. For easierreading, some definitions are repeated.

Let G = (Q,Σ, δ, qo) be a generator: namely Q is a nonempty state set, qo ∈ Q is the initialstate, Σ is a nonempty set, the alphabet of transition labels, and δ : Q × Σ → Q is the (partial)transition function. The action of δ may sometimes be written by juxtaposition: δ(q, σ) = qσ; and ifthis convention is understood then G may be written (Q,Σ, , qo). Also δ is extended by iteration inthe natural way to a partial function on the set Σ∗ of all finite strings s of elements in Σ. We writeδ(q, s)! or qs! to mean that the action of δ is defined at (q, s) ∈ Q× Σ∗. If ǫ ∈ Σ∗ is the empty stringthen qǫ := δ(q, ǫ) := q. The closed behavior of G is the subset of strings

L(G) = s ∈ Σ∗|δ(qo, s)!

In this section marked behavior plays no role.

For brevity write L(G) =: L. Note that L contains ǫ, and that L is prefix-closed, namely if s ∈ Land s′ ≤ s (s′ is a prefix of s) then s′ ∈ L as well. Now let T be a second alphabet and suppose thatP : L→ T ∗ is a (total) map with the properties

P (ǫ) = ǫ

P (sσ) =

either P (s)or s ∈ Σ∗, σ ∈ ΣP (s)τ, some τ ∈ T

We call P the reporter of G. P is causal (or nonanticipative), in the sense that it is prefix preserving:if s ≤ s′ then P (s) ≤ P (s′). The pair (G, P ) may be called a generator with reporter.

The simplest way to visualize the behavior of (G, P ) is via the reachability tree of L(G), a tree inwhich each node n is identified with a string s of L by a bijection n : L → Nodes: the root node is

2Not needed in the sequel.

63

Page 81: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

n(ǫ), and for each s ∈ L the children of n(s) are exactly the nodes n(sσ)|sσ ∈ L. Notice that it ispossible to drop the distinction between nodes and strings, taking as one particular version of G the4-tuple

T(L) := L,Σ, , ǫIn the reachability tree the action of P can be indicated as follows. Bring in an element τo 6∈ T andwrite To = T ∪ τo. Define the tail map ωo : L→ To according to

ωo(ǫ) = τo

ωo(sσ) =

τo if P (sσ) = P (s)τ if P (sσ) = P (s)τ

Thus ωo identifies the last output symbol “reported” by P , with τo interpreted as the “silent outputsymbol”. Using T(L) to represent G, we can now represent (G, P ) by the 6-tuple

T(L, P ) := L,Σ, , ǫ, To, ωo

In graphical representation the edges of the tree (transitions sσ−→ sσ of L) are labelled by the corre-

sponding element σ of Σ, while the nodes are labelled by the corresponding output in To.

Define the output language of (G, P ) to be PL ⊆ T ∗, and let T(PL) be the reachability tree of PL.Write ǫ for the empty string in T ∗ as well. Clearly PL contains ǫ and is prefix-closed. Again, ignoringthe distinction between nodes of the tree and strings of PL, we have that P induces a surjection Pfrom T(L, P ) to T(PL):

P : L → PL : s 7→ Ps

It is convenient to introduce the modified tail map

ωo : L× Σ → To : (s, σ) 7→ ωo(sσ)

and define the product map

P × ωo : L× Σ → PL× To : (s, σ) 7→ (P (s), ωo(s, σ))

Then we have the obvious commutative diagram

L

PL× To

L× Σ

P × ωo P

PL

Here the horizontal arrows represent the transition action, with the extended definition for the bottomarrow that (t, τo) 7→ t. One can think of the diagram as a display of how transitions in the tree T(L)are “tracked” by transitions in T(PL). Notice that by composition of transition functions the diagramcan be iterated arbitrarily far to the right:

64

Page 82: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

...

...×To

×Σ×Σ

PL ×ToPLPL× To

L× Σ LL

thus extending the tracking feature to strings of L.

While the reachability trees of L and PL are useful for purposes of visualization, more efficientrepresentations are available in principle, which are often more convenient in practical applications.These are obtained by aggregating nodes of the tree (i.e. strings of the language) by means of suitableequivalence relations. For any language K ⊆ A∗ over an alphabet A, write

K/s := u ∈ A∗|su ∈ K, s ∈ A∗

The Nerode equivalence relation (Nerode(K)) on A∗ is defined by

s ≡ s′ (mod Nerode(K)) iff K/s = K/s′

For brevity write (mod K) for (mod Nerode(K)). In more detail the definition can be stated:

s ≡ s′ (mod K) iff (∀u ∈ A∗)su ∈ K ⇔ s′u ∈ K

Nerode(K) is a right congruence on A∗, namely

(∀u ∈ A∗)s ≡ s′ (mod K) ⇒ su ≡ s′u (mod K)

as is quickly seen from the identityK/(su) = (K/s)/u

If [s] is the coset of s (mod K) it then makes sense to define

[s]α = [sα] s ∈ A∗, α ∈ A

Setting Z = [s]|s ∈ L, zo = [ǫ] and with transitions (as just described) written by juxtaposition, weobtain the generator

N = (Z,A, , zo)

with L(N) = K. We refer to N as the Nerode generator of K. Its states are the cells (equivalenceclasses) of Nerode(K). It can easily be shown that the Nerode generator of K is “universal” in thesense that any other generator for K (over A), say

N = (Z, A, , zo)

can be mapped onto N in accordance with the commutative diagram

65

Page 83: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Z ∋ zo

π × idA

Z ×A

π

Z ∋ zoZ × A

where π : Z → Z is a suitable surjection and idA is the identity map on A.

Let N(PL) = (X, T, , xo) be the Nerode generator for the language PL discussed above.

In order to find a suitably economical representation of the pair (L, P ) we must incorporate into thenew state structure both the information required for the generation of L and the additional informationrequired to specify P . To this end, define an equivalence relation Fut(P ) on L as follows:

s ≡ s′ (mod Fut(P )) iff (∀u ∈ Σ∗)P (su)/Ps = P (s′u)/Ps′

or in more detail

s ≡ s′ (mod Fut(P )) iff (∀u ∈ Σ∗)(∀w ∈ T ∗)P (su) = (Ps)w ⇔ P (s′u) = P (s′)w

Thus Fut(P ) aggregates strings whose corresponding outputs share a common future. It is well to notethat equivalence Fut(P ) does not imply that corresponding outputs share a common present, namelythat the output map ωo determined by P takes the same value on equivalent strings. In the poset ofequivalence relations on L the equivalence kernel of ωo is in general not comparable with Fut(P ).

The identityP (suv)/P (su) = [P (suv)/Ps]/[P (su)/Ps]

shows that Fut(P ) is actually a right congruence on L. Since the meet of right congruences is again aright congruence, we may define the right congruence

Mealy(L, P ) := Nerode(L) ∧ Fut(P )

Now let G = (Q,Σ, , qo) be specifically the generator of L = L(G) based on Mealy(L, P ), i.e.q ∈ Q stands for a coset (mod Mealy(L, P )) in L. We define the Mealy output map λ of G accordingto

λ : Q× Σ → To : (q, σ) 7→ ωo(sσ), any s ∈ q

From the definitions it easily follows that λ is well defined. The 5-tuple

M(L, P ) := (Q,Σ, , qo, λ)

will be called the Mealy generator for (L, P ). One can verify that any other generator for (L, P ) of thesame type, say

M(L, P ) = (Q,Σ, , qo, λ)

maps onto M(L, P ) in the sense that for a suitable surjection π the following diagram commutes:

66

Page 84: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

λ

Q ∋ qo

π

Q ∋ qo

Q× Σ

π × id

Q× Σ

λ

To

In particular such a diagram exists with M taken to be the Mealy description

(L,Σ, , ǫ, ωo)

The situation now is that we have obtained two “economical” descriptions: the Mealy generatorM(L, P ) of (L, P ), and the Nerode generator N(PL) of PL. However, while the items P and PL cancertainly be recovered from M(L, P ), the state set of M(L, P ) is a little too coarse to allow tracking inN(PL) of transitions in M(L, P ). The problem is just that s ≡ s′ (mod Mealy(L, P )) does not implyPs ≡ Ps′ (mod PL). The cure is to refine equivalence (mod Mealy(L, P )) as follows. Define

Hier(L, P ) := Mealy(L, P ) ∧ Nerode(PL) P

where s ≡ s′ (mod Nerode(PL) P ) is defined to mean Ps ≡ Ps′ (mod Nerode(PL)).

Proposition 2.7.1

Hier(L, P ) is a right congruence on L.

Proof

In the proof write Hier etc. for brevity. Suppose s ≡ s′ (mod Hier), let u ∈ Σ∗, and let P (su) =(Ps)w. Since s ≡ s′ (mod Mealy), it follows both that su ≡ s′u (mod Mealy) and that P (s′u) = (Ps′)w.Since Ps ≡ Ps′ ( mod PL) we therefore have P (su) ≡ P (s′u) (mod PL) and thus Nerode P (su) ≡Nerode P (s′u). 2

With Hier(L, P ) as the basis of our new description of (L, P ), let the corresponding generator ofMealy type be

H(L, P ) = (Y,Σ, , yo, η)

Just as above we have that (L,Σ, , ǫ, ωo) projects onto H according to the diagram

ρ

Y ∋ yo

L ∋ ǫ

ρ× id

Y × Σ

L× Σ

η

ωo

To

67

Page 85: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

It will be seen that the output map η can be identified with the map g of the following proposition,which states that there is a natural connection between H(L, P ) and N(PL) that admits step-by-steptransition tracking.

Proposition 2.7.2

There exist a surjection f : Y → X and a map g : Y × Σ → To such that the following diagramcommutes, where

f × g : Y × Σ → X × To : (y, σ) 7−→ (f(y), g(y, σ))

X ∋ xoX × To

ff × g

Y ∋ yoY × Σ

For the bottom arrow we recall the extended definition (x, τo) 7→ x.

Proof

Let ρ : L → Y be the natural projection (mod Hier), ν : PL → X the natural projection (modPL), and consider the diagram

ρ

PL

L

P (1)f

Y

By definition of Hier, ρ(s) = ρ(s′) implies ν P (s) = ν P (s′), namely ker(ρ) ≤ ker(ν P ), which showsthat f exists as displayed. That f is surjective follows because P and ν are surjective, hence ν P issurjective. Furthermore ν P (ǫ) = ν(ǫ) = xo and ρ(ǫ) = yo by definition of generator, so f(yo) = xo.

To complete the proof we need another version of the tail map, namely ω : L × Σ → T ∗, definedaccording to

ω(s, σ) =

ǫ if ωo(s, σ) = τoτ if ωo(s, σ) = τ ∈ T

With the usual definition t = tǫ for catenation by ǫ, we have the identity

P (sσ) = P (s)ω(s, σ) (2)

Next consider the diagram

68

Page 86: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

L× Σ

ωo

To

(3)g

Y × Σρ× id

where id := idΣ. We have (ρ×id)(s, σ) = (ρ×id)(s′, σ′) iff ρ(s) = ρ(s′) and σ = σ′, which implies s ≡ s′

(mod Fut(P )). But then P (sσ) = P (s)ω(s, σ) iff P (s′σ) = P (s′)ω(s, σ), so that ωo(sσ) = ωo(s′σ) ∈ To,

namely ωo(s, σ) = ωo(s′, σ). This shows that

ker(ρ× id) ≤ ker(ωo)

proving the existence of g as displayed. To check that f(yσ) = f(y)g(y, σ) we assume that y = ρ(s)and compute

f(yσ) = f(ρ(s)σ)

= f ρ(sσ) ker ρ := Hier is a right congruence= ν P (sσ) commutativity of (1)= ν[P (s)ω(sσ)] identity (2) for ω= ν[P (s)]ω(sσ) ker ν := Nerode is a right congruence= f [ρ(s)]ω(sσ) commutativity of (1)= f [ρ(s)]ωo(s, σ) definitions of ω, transition function= f(y)(g (ρ× id))(s, σ) commutativity of (3)= f(y)g(y, σ) y = ρ(s)

2

The results so far can all be displayed in the commutative cube below.

Y × Σ

ρ× idΣ

f × g

X × To

ν × idTo

L× Σ

P × ωo

ρY

Lf

PX

ν

PLPL× To

In the cube, unlabelled arrows represent transition action. The bottom face can be thought ofas representing “fast” dynamics, originating with the generating action L × Σ → L, while the top

69

Page 87: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

face represents the “slow” dynamics that result from hierarchical aggregation. The rear face of thecube represents fine-grained behavioral descriptions in terms of strings, while the front face carries thecorresponding more economical state descriptions. The scheme is summarized below.

aggregation

realizationstate

dynamics

As it stands, the scheme is purely passive (it is nothing more than a “clock with two hands”); thedynamic action is purely deterministic, and there is no way for an “agent” to intervene. However, thescheme admits an interesting elaboration that incorporates the action of a controller: this is the subjectof hierarchical control theory, to be considered in Chapt. 5.

To conclude this section we note for completeness’ sake a slightly more fine-grained state realizationof (L, P ) in which the next output symbol corresponding to a state transition q

σ−→ q′ in M(L, P ) orH(L, P ) becomes a function of the entrance state q′ alone (as distinct from being a function of the pair(q, σ) – of course q′ may be the entrance state for several other transitions too). Such a representationis more convenient than the Mealy description for graphical representation and certain data processingoperations. For this, refine the equivalence Fut(P ) to include the present:

Pfut(P ) := Fut(P ) ∧ kerωo

In detail,s ≡ s′ (mod Pfut(P )) iff s ≡ s′ (mod Fut(P )) & ωo(s) = ωo(s

′)

It is easy to see that Pfut(P ) is a right congruence on L, so we may define the right congruence

Moore(L, P ) := Nerode(L) ∧ Pfut(P )

All the previous considerations now apply with Mealy(L, P ) replaced by Moore (L, P ). It can bechecked that the finer granularity of state description for H(L, P ) is reflected in the property thatthe output map g of Prop. 2.7.2 now factors through the transition function (say δ : Y × Σ → Y ) ofH(L, P ): namely ker(g) ≥ ker(δ), hence there exists a map φ : Q→ To such that g = φ δ.

Exercise 2.7.1: Show how to include marked behavior in the foregoing discussion by ‘marking’ statesof G with an auxiliary selfloop.

70

Page 88: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

2.8 Chains of Regular Languages

In this section we consider descending chains of regular languages and their finite convergence. Thesituation commonly arises when computing languages with special properties by successive approxima-tion.

Let Ki ⊆ Σ∗(i = 0, 1, . . .) be a descending chain, namely

K0 ⊇ K1 ⊇ K2 . . . (1)

where the languages Ki over Σ are otherwise arbitrary. The chain (or set-theoretic) limit K alwaysexists, and is

K =∞⋂

i=0

Ki

Let P be some “property” common to the Ki (e.g. regularity) that is closed under finite intersection,

so for every n,

n⋂

i=0

Ki has property P as well. In general there is no guarantee that K also has P. For

instance with Σ = α, β, the languages

Ki := Σ∗ − αjβj|j = 0, 1, . . . , i

are regular, butK = Σ∗ − αjβj |j = 0, 1, . . .

is not, as it is the complement of a non-regular language (Example 2.3.1(4)).

The simplest condition under which K will have P is evidently that the chain (1) terminates finitely,namely for some N ,

Ki = KN , i > N (2)

To obtain a useful criterion for (2), consider the Nerode equivalence ≡L of a language L ⊆ Σ∗ (Sect.2.2), and write ‖L‖ for its index. We recall that ‖L‖ is the state size of a canonical recognizer for L.

Proposition 2.8.1

Fix the alphabet Σ, with |Σ| = M < ∞. For every R = 1, 2, . . . the number of distinct languagesL ⊆ Σ∗ with ‖L‖ ≤ R is finite.

Proof

Let R = (X,Σ, ξ, x0, Xm) be a canonical recognizer for L. Then |X| ≤ R, the number of choicesfor Xm ⊆ X is no more than 2R, and the number of choices for ξ : X × Σ → X no more than|X||X×Σ| ≤ RRM . 2

To establish (2) we now have the following.

71

Page 89: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Proposition 2.8.2

For fixed Σ with |Σ| < ∞, let Ki ⊆ Σ∗ be a descending chain, as in (1). Assume that for some Rand all i, ‖Ki‖ ≤ R. Then for some n,Ki = Kn for all i > n.

Proof

If the conclusion fails then for every n there is m > n with Kn ⊃ Km, hence there is an infinitesubsequence

Ki(1) ⊃ Ki(2) ⊃ Ki(3) ⊃ . . .

where the inclusions are strict. By Proposition 2.8.1 the Ki(j) belong to a common finite collection ofsublanguages, and therefore

Ki(r) = Ki(r+s)

for some r, s. From this contradiction the result follows. 2

In the remainder of this section we consider a condition on regular sublanguages of Σ∗ by which astate size bound as in Proposition 2.8.2 can be established. Note first that if, for languages K,L ⊆ Σ∗,it happens to be true that

≡K ≤ ≡L (3)

for their Nerode equivalences, then obviously ‖L‖ ≤ ‖K‖. However the refinement condition (3),equivalent to the existence of a morphism P as in Proposition 2.4.2, is rarely applicable in the presentcontext, and we introduce a weaker condition that is more relevant.

Let K,L ⊆ Σ∗ be arbitrary, with prefix-closures K, L. We say that K is weakly supported on L,and write3 K ⊢ L, if

K,Σ∗ − K∧ ≡L ≤ ≡K (4)

Here ·, · is the binary partition separating K from its complement. Explicitly, (4) states

(∀s1, s2 ∈ Σ∗)s1 ≡ s2 mod K,Σ∗ − K & s1 ≡L s2 ⇒ s1 ≡K s2 (5)

In fact if s1, s2 ∈ Σ∗ − K then, as the latter is a single cell of ≡K (see Sect. 2.2), (5) is automatic; onlythe condition s1, s2 ∈ K plays a role. Thus (5) is equivalent to

(∀s1, s2 ∈ Σ∗)s1, s2 ∈ K & s1 ≡L s2 ⇒ [(∀w ∈ Σ∗)s1w ∈ K ⇔ s2w ∈ K] (6)

Example 2.8.1:

Consider ∅ ⊆ ǫ ⊆ Σ∗ and write Ner(·) for ≡. We have

Ner(∅) = Ner(Σ∗) = Σ∗3The symbol ⊢ may be pronounced “pu”.

72

Page 90: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

andNer(ǫ) = ǫ,Σ∗ − ǫ

Thus for any L ⊆ Σ∗,∅ ⊢ L, ǫ ⊢ L, and Σ∗ ⊢ L

In general L ⊢ L, but as Ner(L) ≤ Ner(L), usually L 0 L.

Example 2.8.2:

Given ∅ 6= M ⊆ Σ∗ closed, select t ∈M , and let L = s ∈ M |s ≡M t. Thus L is the sublanguageof M consisting of strings that terminate in the cell [t]M . In general L is not closed; in any case

L = s ∈ Σ∗|(∃w ∈ Σ∗)sw ≡M t ⊆ M

One can think of [t] as a “marker state” of M , and of L as the “trim” of M with respect to it.

We show that L ⊢M . For this let s1, s2 ∈ L, s1 ≡M s2, and s1w ∈ L. Then s1w ≡M t, s2w ≡M s1w,so s2w ∈ L, as required.

One easily verifies the corresponding more general result, based on selecting t1, · · · , tK ∈M and defining

L :=k⋃

j=1

s ∈M |s ≡M tj

Example 2.8.3:

Fix t ∈ Σ∗, L ⊆ Σ∗, and letK := L− s ∈ Σ∗|(∃s′ ≤ s)s′ ≡L t

Setting λ(t) := s′ ∈ Σ∗|s′ ≡L t, the Nerode cell of t(mod L), show that

K = supJ ⊆ L|J ∩ λ(t) = ∅

We use (6) to verify that K ⊢ L. Let s1, s2 ∈ K, s1 ≡L s2, and s1w ∈ K. It must be shown thats2w ∈ K. Now s1w ∈ K ⊆ L along with s2 ≡L s1 implies s2w ∈ L. Next, s2 ∈ K implies s2x ∈ K forsome x ∈ Σ∗, hence for all s′ ≤ s2x there holds s′ 6≡Lt, in particular for all s′ ≤ s2. Let y ≤ w. Thens1w ∈ K implies s1y 6≡Lt, and then s2y ≡L s1y yields s2y 6≡Lt, so that now s′ 6≡Lt for all s′ ≤ s2w. Therefollows s2w ∈ K, as required. 3

We next investigate the Nerode equivalence relation ofK and its relation to the cells of ≡L. Considerthe family of subsets of Σ∗ given by

Φ := [s]L ∩ K|s ∈ K ∪ Σ∗ − K

73

Page 91: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Proposition 2.8.3

The family Φ (restricted to its nonempty members) is a partition of Σ∗, determining (say) anequivalence relation ϕ ∈ E(Σ∗). If K ⊢ L then ϕ is a right congruence, with ϕ ≤ ≡K . In that case

‖K‖ ≤ |ϕ| ≤ ‖L‖ + 1

If, furthermore, K ⊆ L & Σ∗ then |ϕ| ≤ ‖L‖.

Proof

Since⋃[s]L|s ∈ K ⊇ K, it is clear that Φ covers Σ∗. Suppose

t ∈ ([s1]L ∩ K) ∩ ([s2]L ∩ K)

Then [s1]L∩[s2]L 6= ∅, so [s1]L = [s2]L, and Φ is a partition. Now assume K ⊢ L and let s1 ≡ s2(mod ϕ).If s1, s2 ∈ Σ∗ − K, clearly s1w, s2w ∈ Σ∗ − K for all w ∈ Σ∗, hence s1w ≡ s2w(mod ϕ). Supposes1, s2 ∈ K, so that s1, s2 ∈ [s]L ∩ K for some s ∈ K. Thus s1 ≡L s2. As K ⊢ L, we know

K,Σ∗ − K∧ ≡L ≤ ≡K

Therefore s1 ≡K s2 (and we have now proved ϕ ≤ ≡K). Thus if, for some w, s1w ∈ Σ∗ − K, then alsos2w ∈ Σ∗ − K. If instead s1w ∈ K then s1w ∈ [s1w]L ∩ K, and as s2w ≡L s1w we have s2w ∈ [s1w]L.But s1 ≡K s2 and s1w ∈ K implies s2w ∈ K (otherwise s2wx /∈ K for all x ∈ Σ∗, so s1wx /∈ K for allx, contradicting s1w ∈ K); therefore s2w ∈ [s1w]L ∩ K. It follows that, for all w ∈ Σ∗, s1 ≡ s2(mod ϕ)implies s1w ≡ s2w(mod ϕ), namely ϕ is a right congruence on Σ∗. Next, from ϕ ≤ ≡K the inequality‖K‖ ≤ |ϕ| follows at once; and obviously |ϕ| ≤ ‖L‖+1. The latter inequality can be improved if somecell of ≡L does not meet K. Thus if L 6= Σ∗ then Σ∗ − L 6= ∅, and K ⊆ L implies Σ∗ − L ⊆ Σ∗ − K.Thus t ∈ Σ∗ − L yields [t]L = Σ∗ − L, with [t]L ∩ K = ∅. In that case, |ϕ| ≤ ‖L‖. 2

Proposition 2.8.3 suggests a useful strengthening of the ‘weak support’ relation ⊢. For K,L ⊆ Σ∗

we say that K is supported on L, and write4 K ⊢ L, if both K ⊆ L and K ⊢ L. Then we have

Corollary 2.8.3

If K ⊢ L and L & Σ∗ then ‖K‖ ≤ ‖L‖.

The condition L 6= Σ∗ in this corollary cannot be dropped altogether, as shown by the exampleK = ǫ, L = Σ∗, where ‖K‖ = 2, ‖L‖ = 1.

We remark that it need not be true that ϕ ≥ ≡L. For instance if Σ = α, β, L = α∗, K = ǫ,then K ⊢ L, and Ner(K) = ϕ = ǫ,Σ∗ − ǫ,Ner(L) = [ǫ], [β]. Thus ǫ ≡L α but ǫ 6≡ α(mod ϕ).

Our next result is the useful fact that ⊢ is transitive: if K is supported on L, and L on M , thenso is K on M .

4The symbol ⊢ may be pronounced “shang”.

74

Page 92: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Proposition 2.8.4

The binary relation ⊢ on Pwr(Σ∗) is transitive.

Proof

Suppose K ⊢ L and L ⊢ M . To show K ⊢ M , we have by definition

K ⊆ L, K,Σ∗ − K∧ ≡L ≤ ≡K

L ⊆ M, L,Σ∗ − L∧ ≡M ≤ ≡L

By transitivity of ≤ on E(Σ∗),

K,Σ∗ − K ∧ L,Σ∗ − L∧ ≡M ≤ ≡K

Now if s1, s2 ∈ K then s1, s2 ∈ L, so

(s1, s2) ∈ K,Σ∗ − K ∧ L,Σ∗ − L

Then s1 ≡M s2 yields s1 ≡K s2. This together with K ⊆ M gives K ⊢ M , as required. 2

For application to chain convergence, it is convenient to generalize slightly the relations ⊢ and ⊢as follows. Let ρ be an arbitrary right congruence on Σ∗ (not necessarily the Nerode equivalence of asublanguage). For K,L ⊆ Σ∗ we say that K is weakly ρ-supported on L, and write K ⊢ρ L, if

K,Σ∗ − K ∧ ρ∧ ≡L ≤ ≡K

If in addition K ⊆ L, we say that K is ρ-supported on L, written K ⊢ρL.

Setting π := ρ∧ ≡L, consider the family of subsets of Σ∗ given by

Ψ := [s]π ∩ K|s ∈ K ∪ Σ∗ − K

It is straightforward to prove the following generalizations of Propositions 2.8.3 and 2.8.4.

Proposition 2.8.5

The family Ψ is a partition, determining (say) an equivalence relation ψ, on Σ∗. If K ⊢ρ L then ψis a right congruence, with ψ ≤ ≡K . In that case

‖K‖ ≤ |ψ| ≤ |π| + 1 ≤ |ρ| · ‖L‖ + 1

If, furthermore, K ⊆ L & Σ∗ then‖K‖ ≤ |ρ| · ‖L‖

75

Page 93: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Proof

The proof closely follows that of Proposition 2.8.4 and may be left to the reader. For the thirdstatement, note that

[s]π ∩ K = ∅

for some s provided[s]L ∩ K = ∅

By use of the obvious estimate |π| ≤ |ρ| · ‖L‖, the argument is completed as before. 2

Proposition 2.8.6

The binary relation ⊢ρ

on Pwr(Σ∗) is transitive: if K ⊢ρL and L ⊢

ρM then K ⊢

ρM . 2

Our main result is now the following.

Theorem 2.8.1

For a finite alphabet Σ, let Ki ⊆ Σ∗ (i = 0, 1, 2, . . .) be a descending chain, with K0 regular. Assumethat, for some fixed right congruence ρ on Σ∗ with |ρ| <∞,

Ki ⊢ρKi−1, i = 1, 2, . . .

Then each Ki is regular, and the chain is finitely convergent to a sublanguageK. Furthermore, K ⊢ρK0

and‖K‖ ≤ |ρ| · ‖K0‖ + 1

Proof

By transitivity of ⊢ρ, Proposition 2.8.6, Ki ⊢

ρK0 for all i > 1, and therefore

‖Ki‖ ≤ |ρ| · ‖K0‖ + 1, i > 1

by Proposition 2.8.5. Now finite convergence follows by Proposition 2.8.2. 2

Applications of Theorem 2.8.1 will be given in Sects. 3.5 and 6.1 .

2.9 Notes and References

Except for Sect. 2.8, which originates here, most of the material in this chapter is standard. For Sects.2.1-2.6 see especially Hopcroft & Ullman [1979]. Exercise 2.6.3 is adapted from Carroll & Long [1989],

76

Page 94: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

p. 123. Our distinction between “automaton” and “generator” is perhaps non-standard, but is helpfulin control theory. Sect. 2.7 also originates here, but is not used in the sequel.

For an early appearance of (robotic) automata in Western literature, see Homer, Iliad, V (749-751) andXVIII (373-377).

77

Page 95: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Chapter 3

Supervision of Discrete-Event Systems:Basics

3.1 Introduction

Discrete-event systems encompass a wide variety of physical systems that arise in technology. Theseinclude manufacturing systems, traffic systems, logistic systems (for the distribution and storage ofgoods, or the delivery of services), database management systems, communication protocols, and datacommunication networks. Typically the processes associated with these systems may be thought of asdiscrete (in time and state space), asynchronous (event-driven rather than clock-driven), and in somesense generative (or nondeterministic). The underlying primitive concepts include events, conditionsand signals.

Our approach in this monograph will be to regard the discrete-event system to be controlled, i.e.the ‘plant’ in traditional control terminology, as the generator of a formal language. By adjoiningcontrol structure, it will be possible to vary the language generated by the system within certain limits.The desired performance of such a controlled generator will be specified by stating that its generatedlanguage must be contained in some specification language. It is often possible to meet this specificationin an ‘optimal’, that is, minimally restrictive, fashion. The control problem will be considered fullysolved when a controller that forces the specification to be met has been shown to exist and to beconstructible. In accordance with widely accepted control methodology, we take the state descriptionof a system (and, in this case, a language) to be fundamental.

In parallel with the formal theory, we shall provide a guide to the software package TCT, whichcan be used for developing small-scale examples on a personal computer.

78

Page 96: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

3.2 Representation of Controlled Discrete-Event Systems

The formal structure of a DES to be controlled is that of a generator in the sense of Sect. 2.5. As usual,let

G = (Q,Σ, δ, qo, Qm)

Here Σ is a finite alphabet of symbols that we refer to as event labels, Q is the state set (at mostcountable), δ : Q × Σ → Q is the (partial) transition function, qo is the initial state, and Qm ⊆ Q isthe subset of marker states. The transition graph shown below represents a primitive ‘machine’ namedMACH, with 3 states, labelled I,W,D for ‘idle’, ‘working’ and ‘broken down’.

α

β µ

λW D

I

In a transition graph the initial state is labelled with an entering arrow (→), while a state labelledwith an exiting arrow (→) will denote a marker state. If the initial state is also a marker state, itmay be labelled with a double arrow (↔). Formally a transition or event of G is a triple of the form(q, σ, q′) where δ(q, σ) = q′. Here q, q′ ∈ Q are respectively the exit state and the entrance state, whileσ ∈ Σ is the event label. The event set of G is just the set of all such triples.

The mode of operation of a DES, of which MACH is typical, may be pictured as follows. Startingfrom state I, MACH executes a sequence of events in accordance with its transition graph. Eachevent is instantaneous in time. The events occur at quasi-random (unpredictable) time instants. Uponoccurrence of an event, the event label is ‘signaled’ to some external agent. In this way MACHgenerates a string of event labels over the alphabet Σ. At a state such as W from which more than oneevent may occur, MACH will be considered to select just one of the possibilities, in accordance withsome mechanism that is hidden from the system analyst and is therefore unmodelled. Such a mechanismcould be ‘forcing’ by an external agent. In this sense the operation of MACH is nondeterministic.However, it will be assumed that the labelling of events is ‘deterministic’ in the sense that distinctevents exiting from a given state always carry distinct labels. In general it may happen that two ormore events exiting from distinct states may carry the same label.

The marker states serve to distinguish those strings that have some special significance, for instancerepresent a completed ‘task’. In many applications a task is cyclic, for example a production cycle,and its completion will be represented by the return of one or more system components to their initialstate, which is therefore marked, as shown for MACH. If all states of a component have equal ‘task-completion’ status (in other words the modeller is indifferent as to which state of this component theprocess might terminate in, or just reach) then all its states should be marked.

For the alphabet Σ we have the partition

Σ = Σc ∪ Σu

79

Page 97: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

where the disjoint subsets Σc and Σu comprise respectively the controllable events and the uncontrollableevents. In a transition graph a controllable event may be indicated by an optional tick on its transitionarrow (−7→). For MACH, Σc = α, µ and Σu = β, λ.

The controllable event labels, in this case α, µ, label transitions that may be enabled or disabledby an external agent. A controllable event can occur only if it is enabled. Thus if the event (labelled)α is enabled, but not otherwise, MACH can execute the transition (I, α,W ) to W from I; if MACHis at D, enablement of µ may be interpreted as the condition that MACH is under repair, and so may(eventually) execute the transition (D,µ, I). For brevity we shall often refer to ‘the event σ’, meaningany or all events (transitions) that happen to be labelled by σ.

By contrast, the uncontrollable event labels, in this case β, λ, label transitions over which (asexpected) an external agent has no control: an uncontrollable event simply ‘happens’ in accordance(let us say) with internal machine volition, as when MACH ‘chooses’, at state W , to execute either βor λ.

The TCT procedure create allows the user to create and file a new DES. In response to the prompt,the user enters the DES name, number of states or size, the list of marker states and list of transitions(event triples). The TCT standard state set is the integer set 0, 1, ..., size − 1, with 0 as the initialstate. Event labels must be entered as integers between 0 and 999, where controllable events are oddand uncontrollable events are even. For instance MACH could be created as displayed below.

Example 3.2.1: TCT procedure create

Name? MACH# States? 3

% TCT selects standard state set 0,1,2Marker state(s)? 0

% User selects event labels 0,1,2,3:% events labelled 1 or 3 are controllable

Transitions?0 1 11 0 01 2 22 3 0

3

The TCT procedure SE (DES name) displays an existing DES in approximately the format indi-cated above.

We recall from Chapter 2 that the languages associated with a DES G are the closed behavior

L(G) = s ∈ Σ∗|δ(qo, s)!and the marked behavior

Lm(G) = s ∈ Σ∗|δ(qo, s) ∈ Qm

80

Page 98: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Note that ∅ ⊆ Lm(G) ⊆ L(G), and always ǫ ∈ L(G) (provided G 6= EMPTY, the DES with emptystate set). The reachable (state) subset of G is

Qr = q ∈ Q|(∃s ∈ Σ∗)δ(qo, s) = q;G is reachable if Qr = Q. The coreachable subset is

Qcr = q ∈ Q|(∃s ∈ Σ∗)δ(q, s) ∈ Qm;G is coreachable if Qcr = Q. G is trim if it is both reachable and coreachable.

The TCT procedure trim returns the trimmed version of its argument:

DESnew = trim(DES)

possibly after state recoding, as illustrated below.

Example 3.2.2: TCT procedure trim

DESnew = trim(DES)

DES0 31

2

4

Qr = 0, 1, 3, 4, Qcr = 0, 1, 2, 3, Qnew = Qr ∩Qcr = 0, 1, 3

DESnew

210

Note that state 3 in Qnew has been recoded as 2. 3

The DES G is nonblocking if every reachable state is coreachable, i.e.

Lm(G) = L(G)

In particular G is nonblocking if it is trim. If K ⊆ Σ∗ then G represents K if G is nonblocking andLm(G) = K. Then L(G) = K, although G might possibly be non-coreachable. Normally, if G isintended to represent K, it is taken to be both reachable and coreachable (i.e. trim).

81

Page 99: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

3.3 Synchronous Product, Shuffle, and Meet

In this section we describe a way of combining several DES into a single, more complex DES. Thetechnique will be standard for the specification of control problems involving the coordination or syn-chronization of several DES together. We define the operations required on languages, and then thecounterpart TCT operations on their generators.

Let L1 ⊆ Σ∗1, L2 ⊆ Σ∗

2, where it is allowed that Σ1 ∩ Σ2 6= ∅. Let Σ = Σ1 ∪ Σ2. Define

Pi : Σ∗ → Σ∗i (i = 1, 2)

according to

Pi(ǫ) = ǫ

Pi(σ) =

ǫ if σ 6∈ Σi

σ if σ ∈ Σi

Pi(sσ) = Pi(s)Pi(σ) s ∈ Σ∗, σ ∈ Σ

Clearly Pi(st) = Pi(s)Pi(t), i.e. Pi is catenative. The action of Pi on a string s is just to erase alloccurrences of σ in s such that σ 6∈ Σi. Pi is the natural projection of Σ∗ onto Σ∗

i . Let

P−1i : Pwr(Σ∗

i ) → Pwr(Σ∗)

be the inverse image function of Pi (cf. Sect. 1.4), namely for H ⊆ Σ∗i ,

P−1i (H) := s ∈ Σ∗|Pi(s) ∈ H

For L1 ⊆ Σ∗1, L2 ⊆ Σ∗

2 we define the synchronous product L1‖L2 ⊆ Σ∗ according to

L1‖L2 := P−11 L1 ∩ P−1

2 L2

Thus s ∈ L1‖L2 iff P1(s) ∈ L1 and P2(s) ∈ L2. If L1 = Lm(G1) and L2 = Lm(G2), one can think ofG1 and G2 as generating L1‖L2 ‘cooperatively’ by agreeing to synchronize those events with labels σwhich they possess in common.

The TCT procedure sync returns G = sync(G1,G2) where

Lm(G) = Lm(G1)‖Lm(G2), L(G) = L(G1)‖L(G2)

82

Page 100: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Example 3.3.1: Synchronous product

Lm(G2)

Lm(G1)

Σ2 = β, γ

Σ1 = α, β

γ

ββ γ

γ

β

β

α

α

γ

β

αLm(G1)‖Lm(G2)

Exercise 3.3.1: Show that, in general,

L1‖L2 = (L1‖(Σ2 − Σ1)∗) ∩ (L2‖(Σ1 − Σ2)

∗)

Here the alphabet for (Σi − Σj)∗ should be taken as Σi − Σj .

Exercise 3.3.2: With Li, Pi,Σi (i = 1, 2) as above, let

Pi0 : Σ∗i → (Σ1 ∩ Σ2)

∗ i = 1, 2

be the natural projections. Show that

P1(L1‖L2) = L1 ∩ P−110 (P20L2)

P2(L1‖L2) = L2 ∩ P−120 (P10L1)

This result explains how L1(resp. L2) is constrained when synchronized with L2 (resp. L1). Interpretthe boundary cases when Pi(L1‖L2) = Li or Pi(L1‖L2) = ∅, provide examples, and check with TCT. 3

Notation: If µ, ν are binary relations on a set X, then µ ν is the relation given by

x(µ ν)x′ iff (∃x′′)xµx′′ & x′′νx′

83

Page 101: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Exercise 3.3.3: With Σ1 ∪ Σ2 ⊆ Σ and Pi : Σ∗ → Σ∗i (i = 1, 2) natural projections, show that

P1P2 = P2P1, and that

kerP1 ∨ kerP2 = ker(P1P2)

= (kerP1) (kerP2)

Exercise 3.3.4: Show that synchronous product is associative, namely

(L1‖L2)‖L3 = L1‖(L2‖L3)

where Li is defined over Σi and the Σi bear no special relationship to one another. 3

It is well to note a subtlety in the definition of synchronous product. While it must be true that Σi

includes all the event labels that explicitly appear in Gi, it may be true that some label in Σi does notappear in Gi at all. If σ ∈ Σ1 ∩ Σ2 does not actually appear in G2 but may appear in G1, then syncwill cause G2 to block σ from appearing anywhere in G. Thus if, in Example 3.3.1, Σ2 is redefined asα, β, γ, then α is blocked, with the result that now

Lm(G1)‖Lm(G2) = ǫThus in general L1‖L2 depends critically on the specification of Σ1, Σ2. Currently TCT implementssync by taking for Σi exactly the events that appear in Gi.

Exercise 3.3.5: Nonassociativity of TCT sync

The TCT implementation sync of synchronous product need not respect associativity, since theevents appearing in sync (G1,G2) may form a proper subset of Σ1 ∪ Σ2. Consider

α

β

α

β

G2 G3

γγ γ

G1

Check thatsync((sync(G1,G2),G3)

6= sync(G1, sync(G2,G3))

and explain why. 3

TCT will warn the user if some event in Σ1 ∪ Σ2 fails to appear in the synchronous product: suchan event is “blocked”. This remedy was deemed preferable to maintaining a separate event list for aDES throughout its history. For more on this issue see Exercise 3.3.10 below.

Exercise 3.3.6: With Σi, Pi, Li(i = 1, 2) as before, take strings si ∈ Li.

84

Page 102: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

1. Show that s1 ‖ s2 6= ∅ iff P2(s1) = P1(s2).

2. Calculate ε ‖ s2, where ε is the empty string (considered as an element of Σ∗1). Be careful:

there are two relevant cases for s2.

3. Illustrate your results with TCT examples. Hint: Remember that TCT takes for Σi exactly theevents that occur in Gi, so to model ε over Σ∗

1 use, for example

G1Σ1 10

Exercise 3.3.7: For alphabets Σ0, Σ1, Σ2 with Σ0 ⊆ Σ1 ∪ Σ2, let

L1 ⊆ Σ∗1, L2 ⊆ Σ∗

2

and letP0 : (Σ1 ∪ Σ2)

∗ → Σ∗0

be the natural projection. Show that

P0(L1‖L2) ⊆ (P0L1)‖(P0L2)

always, and that equality holds provided

Σ1 ∩ Σ2 ⊆ Σ0,

namely “every shared event is observable under P0”. Here consider P0Li ⊆ (Σ0 ∩ Σi)∗.

3

Assume temporarily that Σ1 ∩ Σ2 = ∅. With L1, L2 as before the shuffle product L1‖L2 is definedto be the synchronous product for this special case. Thus the shuffle product of two languages L1, L2

over disjoint alphabets is the language consisting of all possible interleavings (‘shuffles’) of strings of L1

with strings of L2. One can think of G1 and G2 as generating L1‖L2 by independent and asynchronousgeneration of L1 and L2 respectively.

In this monograph we may write shuffle to stand for the TCT procedure sync when the componentalphabets Σ1 and Σ2 are disjoint.

Under the latter disjointness assumption, the TCT procedure selfloop with arguments G1,Σ2

returns G = selfloop(G1,Σ2), where

L(G) = L(G1)‖Σ∗2 = P−1

1 L(G1) ⊆ (Σ1 ∪ Σ2)∗, Lm(G) = Lm(G1)‖Σ∗

2

As its name suggests, selfloop forms G by attaching a transition (q, σ, q) at each state q of G1 foreach label σ of Σ2.

85

Page 103: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Reverting to the case of general Σ1,Σ2 and G1,G2, the TCT procedure meet returns a reachableDES G = meet(G1,G2) such that

Lm(G) = Lm(G1) ∩ Lm(G2), L(G) = L(G1) ∩ L(G2)

Thus meet is really the special case of sync corresponding to the assumption of a common alphabetΣ1 ∪Σ2, namely all events are considered shared and synchronization is total. In particular, meet willblock any event whose label does not occur in both G1 and G2. Note also that Lm(G) may be a propersublanguage of L(G), even when each of G1 and G2 is trim.

Example 3.3.2: Meet

G = meet(G1,G2)

G2G1

δγ

β

ββ

α

αα

While Lm(G) = α = Lm(G1) ∩ Lm(G2) and L(G) = ǫ, α, β = L(G1) ∩ L(G2), neverthelessLm(G) & L(G) even though each of G1 and G2 is trim. 3

Exercise 3.3.8: The TCT procedure meet is implemented for DES G1 and G2 as follows. LetGi = (Qi,Σ, δi, qoi, Qmi), i = 1, 2. First define the product G1 × G2 = (Q,Σ, δ, qo, Qm), whereQ = Q1 ×Q2, δ = δ1 × δ2, qo = (qo1, qo2), and Qm = Qm1 ×Qm2, with

(δ1 × δ2)((q1, q2), σ) := (δ1(q1, σ), δ2(q2, σ))

whenever δ1(q1, σ)! and δ2(q2, σ)!. In other words the product is defined like the product of twoautomata, due account being taken of the fact that the component transition functions are partialfunctions, hence the product transition function is a partial function as well. TCT now returnsG = meet(G1,G2) as the reachable sub-DES of G1 × G2, and will number the states from 0 toSize−1 (in some arbitrary fashion) as usual. Note that one can think of G as a structure that iscapable of tracking strings that can be generated by G1 and G2 in common, when each starts at itsinitial state. Calculate by hand the meet of two DES and check your result using TCT. Using Exercise3.3.1, explain how meet can be extended to obtain sync.

Exercise 3.3.9: Let L ⊆ Σ∗. Writing

L =[L ∪

(Σ∗ − L

)]∩ L

86

Page 104: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

show that the two languages intersected on the right are represented by generator DES in which,respectively, all events are enabled (i.e. can occur) at each state, and every state is marked. Theformer places no constraints on local choice but does distinguish ‘successful’ (marked) strings fromothers, whereas the latter declares every string to be ‘successful’ but constrains event choice. ForΣ = α, β, L = α(βα)∗, illustrate by drawing the state diagrams and check using meet.

Exercise 3.3.10: With reference to the Gi of Exercise 3.3.5, adopt the TCT specification

Σ1 = Σ2 = α, β, γ, Σ3 = γ

and write Σ = Σ1 ∪ Σ2 ∪ Σ3. Show that the synchronous product of languages,

Lm(G1) ‖ Lm(G2) ‖ Lm(G3)

is represented by

meet (G′1,G

′2,G3

′) (∗)

where G′i = selfloop (Gi,Σ − Σi). Here

meet(F,G,H) := meet(meet(F,G),H)

is always independent of the order of arguments. Thus (∗), and its generalization to k arguments,provides a correct, order-independent (hence, associative) implementation of synchronous product, aslong as all the relevant Gi are specified in advance.

Which of the two results in Exercise 3.3.5 agrees with (∗)? Explain.

Exercise 3.3.11: Let I = 1, ..., k, and take Σi, Li ⊆ Σ∗i ,Σ =

⋃Σi|i ∈ I and Pi : Σ∗ → Σ∗i (i ∈ I).

DefineL := ‖ Li|i ∈ I :=

⋂P−1

i Li|i ∈ IShow that PiL ⊆ Li and that

L = ‖ PiL|i ∈ IThus if arbitrary L′

i ⊆ Σ∗i happen to satisfy L = ‖ L′

i|i ∈ I, then PiL ⊆ L′i(i ∈ I). With reference to

Exercise 3.3.10, illustrate your results with TCT examples. 3

For use in the following we introduce TCT project. For a DES G over Σ, let Σo ⊆ Σ, Σnull :=Σ − Σo, and P : Σ∗ → Σ∗

0 the natural projection. Then project ( G,Null[Σnull]) returns a (minimal)DES PG over Σo such that

Lm(PG) = PLm(G), L(PG) = PL(G)

87

Page 105: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Exercise 3.3.12: Consider a buffer having capacity n, with input event 0 and output event n:

B = (Q,Σ0, δ, q0, Qm)

whereQ = 0, 1, ..., n, Σ0 = 0, n

q0 = 0, Qm = 0and δ determines transitions

[i− 1, 0, i], [i, n, i− 1], i = 1, ..., n

For i = 1, ..., n let Bi be the 1-slot buffer with

Qi = 0, 1, Σi = i− 1, i,

q0i = 0, Qm,i = 0and transitions [0, i− 1, 1], [1, i, 0]. Let

Σ = 0, 1, ..., n, Σ0 = 0, n, P0 : Σ∗ → Σ∗0

Show thatLm(B) = P0[Lm(B1) ‖ · · · ‖ Lm(Bn)]

Check your result for n = 4 using TCT and provide a physical interpretation.

Exercise 3.3.13: The prioritized synchronous product of languages L1 ⊆ Σ∗1 and L2 ⊆ Σ∗

2 can bedefined informally as follows. Let Li be represented by generator Gi = (Qi,Σi, δi, , ). Let α ∈ Σ1∩Σ2.To assign G1 ‘priority’ over G2 with respect to α declare that, in G1 × G2,

δ((q1, q2), α) =

(δ1(q1, α), δ2(q2, α)) if δ1(q1, α)! & δ2(q2, α)!(δ(q1, α), q2) if δ1(q1, α)! & not δ2(q2, α)!undefined, otherwise

In other words, G1 may execute α whenever it can; G2 synchronizes with G1 if it can, but otherwiseexercises no blocking action and makes no state change. The definition of δ may be completed in theevident way, corresponding to a three-fold partition of Σ1∩Σ2 into events prioritized for G1 (resp. G2),or non-prioritized (as in ordinary synchronous product). For simplicity assume that only α ∈ Σ1 ∩ Σ2

is prioritized, say for G1. Denote the required product by psync(G1,G2). To implement this in TCT,extend G2 to G′

2 according to

δ′2(q2, α) =

δ2(q2, α) if δ2(q2, α)!q2 if not δ2(q2, α)!

Thenpsync(G1,G2) = sync(G1,G

′2)

Illustrate this construction using Example 3.3.1, assigning G1 priority with respect to β, and comparethe result with that of sync(G1,G2). 3

88

Page 106: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Remark: Flags Since TCT recodes the states of a product structure generated by sync or meetinto sequential format, information about component states is discarded. To retain such informationone can use auxiliary selfloops as ‘flags’. For instance, to display which states of G3 = sync(G1,G2)correspond to states (1,2) or (6,2) of G1 × G2, first modify G1 and G2 by selflooping states 1 and 6of G1 and state 2 of G2 with a new flag event σflag. After recoding, the selected product states willappear selflooped in G3. 3

Example 3.3.3: KANBAN

This example illustrates the usefulness of synchronous product (TCT sync) in building up complexsystems. KANBAN is an instance of a Kanban production system. We consider just two workcells,say CELL1 and CELL2, indexing from output (right-hand) end of the system to input (left-hand)end. CELLi consists of an output hopper HOPi, and input bulletin-board BBi for kanbans (cardsto signal request for input), a feeder queue Qi for processor machine Mi, and Mi itself. Information(via kanbans) circulates in the same order. We model each storage item HOPi, BBi, Qi as a 2-slot buffer. CELLi = sync (HOPi,BBi,Qi,Mi) (9,14) and KANBAN = sync(CELL1,CELL2)(81,196), where integer pairs (n,m) denote the number n of states and m of transitions in the DES.

Customer requests for product are sensed at CELL1 and modelled by event 100. Requests areeither blocked, if HOP1 is empty, or satisfied instantaneously by decrementing HOP1. When HOP1is decremented, a card is transferred to BB1, incrementing BB1 (doubly synchronized event 100). Acard in BB1 represents a signal to CELL2 that an input part is required for processing. If HOP2is empty, nothing happens. Otherwise, HOP2 and BB1 are decremented and Q1 is incremented, bythe 4-tuply synchronized event 12. Parts are taken from Q1 by M1 for processing (event 11) and thefinished parts deposited in HOP1 (event 10). In CELL2 the action is similar: event 12 incrementsBB2; if BB2 is nonempty a raw part can be taken in by CELL2, causing BB2 to be decrementedand Q2 incremented (doubly synchronized event 22). M2 deposits its output part in HOP2 (doublysynchronized event 20).

To display the overall input/output structure, let

PKANBAN = project (KANBAN,Null[10,11,12,20,21]) (5,8) .

The result is just a 4-slot buffer that is incremented by event 22 (raw part input) and decremented byevent 100 (customer request filled). Notice that no more than 4 parts will be in progress in the system(WIP ≤ 4) at one time. If the system is initialized with BB1, BB2 both full and HOP1, Q1, HOP2,Q2 all empty, then initially requests are blocked and production must begin at the input end.

89

Page 107: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

BB1HOP1

100100100100

12121010

M1Q1

101111

111212

BB2HOP2

2220 2220

12121212

M2Q2

21

21

22

21

22

20

90

Page 108: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

partfinished

requestcustomer

Q1/M1Q2/M2

HOP1BB1HOP2BB2

raw part

kanbankanban

KANBAN

CELL1CELL2

Exercise 3.3.14: Consider the DES TOY defined as follows.

#states: 3; state set: 0...2; initial state: 0; marker state: 0.

transition table:

[0,0,1], [0,1,1], [0,2,2], [1,1,2], [1,2,0], [1,3,1], [2,1,0], [2,2,1], [2,3,2].

(i) Construct PTOY = project(TOY,Null[0]) by hand and check your answer using TCT.

(ii) If you did things right, you should find that PTOY has 5 states, i.e. the state size of the projectedDES is larger (cf. also Exercise 2.5.5). Since it can be shown using minstate that both TOYand PTOY have the minimal possible number of states, this increase in state size is a modelling“reality”, and not just a result of inefficient representation. Provide an intuitive explanation forwhat’s going on. It may help to give TOY some physical interpretation.

(iii) Call the preceding DES TOY 3 and generalize to TOY N on state set 0, 1, ..., N − 1, with3N transitions:

[0, 0, 1]

[k, 1, k + 1] , k = 0, 1, ..., N − 1

[k + 1, 2, k] , k = 0, 1, ..., N − 1

[k, 3, k] , k = 1, 2, ..., N − 1

where the indexing is mod(N). Let

PTOY N = project(TOY N,Null[0])

91

Page 109: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Find a formula for the state size of PTOY N and verify it computationally for N = 3, 4, ..., 20.For N = 20 the answer is 786431. Hint: To calculate the result of project by hand, first replaceeach transition with label in the NULL list by a ‘silent’ transition labelled, say, λ, where λ 6∈ Σ.Next apply a variant of the subset construction to obtain a deterministic model that is λ-free:the initial ‘state’ is the subset reachable from 0 on paths labelled by strings in λ∗ only; the next‘state’, following σ, say (with σ ∈ Σ−NULL), is the subset reachable on paths of form λ∗σλ∗;and so on. 3

For later reference we define the TCT procedure complement. Assume that the DES G con-tains in its description exactly the event labels of some alphabet Σ, and let T ⊇ Σ. Then Gco =complement(G, T − Σ) has the properties

Lm(Gco) = T ∗ − Lm(G), L(Gco) = T ∗

If T = Σ we write simply Gco = complement(G, ). In terms of transition structures, complementforms Gco by adjoining a (non-marker) dump state q+ to the state set of G, and complementarytransitions from each state of Gco to q+ as required to render the new transition function a totalfunction; the subsets of marker and non-marker states are then interchanged.

Example 3.3.4: Small Factory

To conclude this section we show how the foregoing procedures can be used to build up the speci-fications for a control problem, to be known as Small Factory. We bring in two ‘machines’ MACH1,MACH2 as shown.

αi

βi

λi

µiMACHi

i = 1, 2

W D

I

Define FACT = shuffle(MACH1,MACH2). Small Factory consists of the arrangement shownbelow, where BUF denotes a buffer with one slot.

MACH2BUFMACH1Small Factoryα1 β1 α2 β2

Small Factory operates as follows. Initially the buffer is empty. With the event α1, MACH1 takesa workpiece from an infinite input bin and enters W . Subsequently MACH1 either breaks down andenters D (event λ1), or successfully completes its work cycle, deposits the workpiece in the buffer,

92

Page 110: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

and returns to I (event β1). MACH2 operates similarly, but takes its workpiece from the buffer anddeposits it when finished in an infinite output bin. If a machine breaks down, then on repair it returnsto I (event µ).

The informal specifications for admissible operation are the following:

1. The buffer must not overflow or underflow.

2. If both machines are broken down, then MACH2 must be repaired before MACH1.

To formalize these specifications we bring in two language generators as the DES BUFSPEC andBRSPEC, as shown below.

selfloopα1, λ1, µ1, β2, λ2, µ2

selfloopα1, β1, λ1, α2, β2

µ2

λ2µ1

β1

α2

BRSPEC

BUFSPEC

L(BUFSPEC) expresses the requirement that β1 and α2 must occur alternately, with β1 occurringfirst, while L(BRSPEC) requires that if λ2 occurs then µ1 may not occur (again) until µ2 occurs. Theassignment of the initial state as a marker state in each of these DES is largely a matter of convenience.In each case selfloops must be adjoined to account for all events that are irrelevant to the specificationbut which may be executed in the plant. For the combined specification we form

SPEC = meet(BUFSPEC,BRSPEC)

It is clear that SPEC is trim.

Temporarily denote by G the (as yet unknown) DES that would represent ‘FACT under control’.In general, for a given DES G and given specification DES SPEC as above, we shall say that Gsatisfies SPEC if

Lm(G) ⊆ Lm(SPEC)

Typically G and SPEC will both be trim, and then it follows on taking closures,

L(G) ⊆ L(SPEC).

The first condition could be checked in TCT by computing

COSPEC = complement(SPEC, )

93

Page 111: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

and then verifying that trim(meet(G,COSPEC)) = EMPTY, where EMPTY is the DES withempty state set (it suffices to check that meet(G,COSPEC) has empty marker set). The results forSmall Factory will be presented in a later section.

3.4 Controllability and Supervision

LetG = (Q,Σ, δ, qo, Qm)

be a (nonempty) controlled DES, with Σ = Σc ∪ Σu as in Section 3.2. A particular subset of events tobe enabled can be selected by specifying a subset of controllable events. It is convenient to adjoin withthis all the uncontrollable events as these are automatically enabled. Each such subset of events is acontrol pattern; and we introduce the set of all control patterns

Γ = γ ∈ Pwr(Σ) | γ ⊇ Σu

A supervisory control for G is any map V : L(G) → Γ. The pair (G, V ) will be written V/G,to suggest ‘G under the supervision of V ’. The closed behavior of V/G is defined to be the languageL(V/G) ⊆ L(G) described as follows.

(i) ǫ ∈ L(V/G)

(ii) If s ∈ L(V/G), σ ∈ V (s), and sσ ∈ L(G) then sσ ∈ L(V/G)

(iii) No other strings belong to L(V/G).

We always have ǫ ⊆ L(V/G) ⊆ L(G), with either bound a possibility depending on V and G.Clearly L(V/G) is nonempty and closed.

The marked behavior of V/G is

Lm(V/G) = L(V/G) ∩ Lm(G)

Thus the marked behavior of V/G consists exactly of the strings of Lm(G) that ‘survive’ under super-vision by V . We always have ∅ ⊆ Lm(V/G) ⊆ Lm(G).

We say that V is nonblocking (for G) if

Lm(V/G) = L(V/G)

Our main objective is to characterize those languages that qualify as the marked behavior of somesupervisory control V . To this end we define a language K ⊆ Σ∗ to be controllable (with respect to G)if

(∀s, σ)s ∈ K & σ ∈ Σu & sσ ∈ L(G) ⇒ sσ ∈ K

94

Page 112: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

In other words, K is controllable if and only if no L(G)-string that is already a prefix of K, whenfollowed by an uncontrollable event in G, thereby exits from the prefixes of K: the prefix closure K isinvariant under the occurrence in G of uncontrollable events.

For a more concise statement, we use the following notation. If S ⊆ Σ∗ and Σo ⊆ Σ, let SΣo denotethe set of strings of form sσ with s ∈ S and σ ∈ Σo. Then K is controllable iff

KΣu ∩ L(G) ⊆ K

It is clear that ∅, L(G) and Σ∗ are always controllable with respect to G.

Note that the controllability condition constrains only K∩L(G), since if s 6∈ L(G) then sσ 6∈ L(G),i.e. the condition s ∈ K − L(G) & sσ ∈ L(G) is always false.

Example 3.4.1: Controllable and uncontrollable languages

MACH

α

β µ

λW D

I

Σc = α, µ, Σu = β, λWith respect to MACH, L′ = αλµ is not controllable, since αβ consists of a prefix α of L′ followedby an uncontrollable event β such that αβ belongs to L(MACH) but not to L′. On the other handL′′ = αβ, αλ is controllable, since none of its prefixes s ∈ L′′ = ǫ, α, αβ, αλ can be followed by anuncontrollable event σ such that sσ belongs to L(MACH) − L′′.

Exercise 3.4.1: Assume that a language K is controllable with respect to a DES G. Show that ifs ∈ K, w ∈ Σ∗

u, and sw ∈ L(G), then sw ∈ K. Hint: use structural induction on w. 3

Let K ⊆ L ⊆ Σ∗. The language K is L-closed if K = K ∩ L. Thus K is L-closed provided itcontains every one of its prefixes that belong to L.

We can now present our first main result.

Theorem 3.4.1

Let K ⊆ Lm(G), K 6= ∅. There exists a nonblocking supervisory control V for G such thatLm(V/G) = K if and only if

95

Page 113: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

(i) K is controllable with respect to G, and

(ii) K is Lm(G)-closed.

Proof

(If) We have KΣu ∩ L(G) ⊆ K together with K ⊆ Lm(G) ⊆ L(G). Furthermore ǫ ∈ K sinceK 6= ∅. For s ∈ K define V (s) ∈ Γ according to

V (s) = Σu ∪ σ ∈ Σc|sσ ∈ K

We claim that L(V/G) = K. First we show that L(V/G) ⊆ K. Suppose sσ ∈ L(V/G), i.e.,s ∈ L(V/G), σ ∈ V (s), and sσ ∈ L(G). Assuming inductively that s ∈ K we have that σ ∈ Σu

implies sσ ∈ KΣu ∩L(G), so that sσ ∈ K (by controllability); whereas σ ∈ Σc implies that sσ ∈ K bydefinition of V (s). For the reverse inclusion, suppose sσ ∈ K; thus sσ ∈ L(G). Assuming inductivelythat s ∈ L(V/G) we have that σ ∈ Σu automatically implies that σ ∈ V (s), so that sσ ∈ L(V/G);while σ ∈ Σc and sσ ∈ K imply that σ ∈ V (s), so sσ ∈ L(V/G). The claim is proved. Finally

Lm(V/G) = L(V/G) ∩ Lm(G) (by definition)

= K ∩ Lm(G)

= K (since K is Lm(G)-closed)

and Lm(V/G) = K = L(V/G), so V/G is nonblocking for G.

(Only if) Let V be a supervisory control for G with Lm(V/G) = K. Assuming that V is nonblockingfor G we have L(V/G) = K, so

K = L(V/G) ∩ Lm(G) = K ∩ Lm(G)

i.e. K is Lm(G)-closed. To show that K is controllable let s ∈ K, σ ∈ Σu, sσ ∈ L(G). Thens ∈ L(V/G) and σ ∈ V (s). So sσ ∈ L(V/G) = K, i.e.

KΣu ∩ L(G) ⊆ K

as required. 2

Corollary

Let K ⊆ L(G) be nonempty and closed. There exists a supervisory control V for G such thatL(V/G) = K if and only if K is controllable with respect to G. 2

For brevity we refer to a nonblocking supervisory control (for G, understood) as an NSC. It is usefulto introduce a slight generalization of NSC in which the supervisory action includes marking as well

96

Page 114: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

as control. For this, let M ⊆ Lm(G). Define a marking nonblocking supervisory control for the pair(M,G), or MNSC, as a map V : L(G) → Γ exactly as before; but now for the marked behavior of V/Gwe define

Lm(V/G) = L(V/G) ∩M.

One may think of the marking action of the MNSC V as carried out by a recognizer for M thatmonitors the closed behavior of V/G, sounding a beep exactly when a string in M has been generated.As a sublanguage of Lm(G), these strings could be thought of as representing a subset of the ‘tasks’that G (or its underlying physical referent) is supposed to accomplish. For instance in Small Factory,one might define a ‘batch’ to consist of 10 fully processed workpieces. M might then be taken as theset of strings that represent the successful processing of N integral batches, N ≥ 0, with both machinesreturned to the I(dle) state and the buffer empty.

The counterpart result to Theorem 3.4.1 actually represents a simplification, as the condition ofLm(G)-closedness can now be dropped.

Theorem 3.4.2

Let K ⊆ Lm(G), K 6= ∅. There exists an MNSC V for (K,G) such that

Lm(V/G) = K

if and only if K is controllable with respect to G.

Proof

(If) With V defined as in the proof of Theorem 3.4.1, it may be shown as before that L(V/G) = K.Then

Lm(V/G) = L(V/G) ∩K = K ∩K = K

so that Lm(V/G) = K = L(V/G), namely V is nonblocking for G.

(Only if) We have K = Lm(V/G) = L(V/G). Then the proof that K is controllable is unchangedfrom that of Theorem 3.4.1. 2

3.5 Supremal Controllable Sublanguages and Optimal Super-

vision

Let G = ( ,Σ, , , ) be a controlled DES with Σ = Σc ∪ Σu; the items ( ) of G will be immaterialto the discussion of this section. Let E ⊆ Σ∗; later E will play the role of a specification language forthe supervisory control of G. We introduce the set of all sublanguages of E that are controllable withrespect to G:

C(E) = K ⊆ E | K is controllable with respect to G

97

Page 115: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

As a subset of the sublanguages of E, C(E) is a poset with respect to inclusion. It will be shown thatthe supremum in this poset always exists in C(E).

Proposition 3.5.1

C(E) is nonempty and is closed under arbitrary unions. In particular, C(E) contains a (unique)supremal element [which we denote by sup C(E)].

Proof

Since the empty language is controllable, it is a member of C(E). Let Kα ∈ C(E) for all α insome index set A, and let K = ∪Kα|α ∈ A. Then K ⊆ E. Furthermore, K = ∪Kα|α ∈ A andKΣu = ∪KαΣu|α ∈ A. Therefore

KΣu ∩ L(G) = [∪(KαΣu)] ∩ L(G)

= ∪[KαΣu ∩ L(G)]

⊆ ∪Kα

= K

Finally we have for the supremal element

sup C(E) = ∪K|K ∈ C(E)

2

It may be helpful to keep in mind the following Hasse diagram, where Ksup = sup C(E).

Σ∗

E

K ′′

Ksup

K ′

We remark that C(E) is not generally closed under intersection, so it is not a sublattice of the latticeof sublanguages of E. To see what goes wrong, let K1, K2 ∈ C(E). We must determine whether or not

K1 ∩K2Σu ∩ L(G) ⊆ K1 ∩K2 (?)

98

Page 116: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

But K1 ∩K2 ⊆ K1 ∩ K2 always, and quite possibly with strict inclusion. It follows that the left side of(?) is included in

(K1 ∩ K2)Σu ∩ L(G) = (K1Σu ∩ L(G)) ∩ (K2Σu ∩ L(G))

⊆ K1 ∩ K2

6= K1 ∩K2

in general. The situation may be described by saying that C(E) is only a complete upper semilatticewith join operation (union) that of the lattice of sublanguages of E.

Example 3.5.1: Controllability need not be preserved by intersection

γ

βα

G

Here Σ = α, β, γ, Σc = β, γ. The languages K1 = ǫ, αβ, K2 = ǫ, αγ are controllable, butK1 ∩K2 = ǫ is not controllable, since the event α is uncontrollable and α 6∈ K1 ∩K2. On the otherhand, K1 ∩ K2 = ǫ, α is controllable. 3

It is easy to see that the intersection of an arbitrary collection of closed controllable languages isalways closed and controllable. Proof of the following observation may now be left to the reader.

Proposition 3.5.2

With respect to a fixed controlled DES G with alphabet Σ, the closed controllable sublanguages ofan arbitrary language E ⊆ Σ∗ form a complete sublattice of the lattice of sublanguages of E. 2

To summarize, if Kα (α ∈ A) are controllable then ∪Kα and ∩Kα are controllable, but generally∩Kα is not.

Together with E ⊆ Σ∗ now fix L ⊆ Σ∗ arbitrarily. Consider the collection of all sublanguages of Ethat are L-closed:

F(E) = F ⊆ E|F = F ∩ LIt is straightforward to verify that F(E) is nonempty (∅ belongs) and is closed under arbitrary unionsand intersections. Thus we have the following.

Proposition 3.5.3

F(E) is a complete sublattice of the lattice of sublanguages of E. 2

99

Page 117: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Again let E,L ⊆ Σ∗. We say that E is L-marked if E ⊇ E∩L, namely any prefix of E that belongsto L must also belong to E.

Proposition 3.5.4

Let E ⊆ Σ∗ be Lm(G)-marked. Then sup C(E ∩ Lm(G)) is Lm(G)-closed.

Proof

We have E ⊇ E ∩ Lm(G), from which there follows in turn

E ∩ Lm(G) ⊆ E ∩ Lm(G)

E ∩ Lm(G) ∩ Lm(G) ⊆ E ∩ Lm(G)

E ∩ Lm(G) ∩ Lm(G) ⊆ E ∩ Lm(G)

so that F := E ∩ Lm(G) is Lm(G)-closed. Let K = sup C(F ). If K is not Lm(G)-closed, i.e. K $K ∩Lm(G), there is a string s ∈ K ∩Lm(G) with s 6∈ K. Let J = K ∪ s. Since J = K we have thatJ is controllable. Also K ⊆ F implies that

K ∩ Lm(G) ⊆ F ∩ Lm(G) = F

so that s ∈ F and thus J ⊆ F . Therefore J ∈ C(F ) and J % K, contradicting the fact that K issupremal. 2

Now we can present the main result of this section.

Theorem 3.5.1

Let E ⊆ Σ∗ be Lm(G)-marked, and let K = sup C(E∩Lm(G)). If K 6= ∅, there exists a nonblockingsupervisory control (NSC) V for G such that Lm(V/G) = K.

Proof

K is controllable and, by Proposition 3.5.4, Lm(G)-closed. The result follows by Theorem 3.4.1. 2

The result may be paraphrased by saying that K is (if nonempty) the minimally restrictive solutionof the problem of supervising G in such a way that its behavior belongs to E and control is nonblocking.In this sense the supervisory control provided by Theorem 3.5.1 is optimal.

Example 3.5.2

Let G be the controlled DES displayed below:

100

Page 118: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

βααG

HereΣ = α, β, Σc = α, L(G) = ǫ, α, α2, α2β,

Lm(G) = α, α2, α2βFor the ‘specification’ language we take E = α, β, α2. Then

E ∩ Lm(G) = α, α2, E = ǫ, α, α2, β

E ∩ Lm(G) = α, α2, sup C(E ∩ Lm(G)) = α,α = ǫ, α, α ∩ Lm(G) = α

From these results we see that E is Lm(G)-marked, and that indeed sup C(E∩Lm(G)) is Lm(G)-closedas asserted by Proposition 3.5.4. For the supervisory control we may take V (ǫ) = α, β, V (α) = β,and V (s) = β otherwise. Then it is clear that

L(V/G) = ǫ, α, Lm(V/G) := L(V/G) ∩ Lm(G) = α

namely V is nonblocking for G, as expected. 3

As might be expected, if we place part of the burden of ‘marking action’ on the supervisory controlitself we may relax the prior requirement on E. By an application of Theorem 3.4.2 the reader mayeasily obtain the following.

Theorem 3.5.2

Let E ⊆ Σ∗ and let K = sup C(E∩Lm(G)). IfK 6= ∅ there exists a marking nonblocking supervisorycontrol (MNSC) V for (K,G) such that Lm(V/G) = K. 2

Exercise 3.5.1: Let E ⊆ L(G). Show that

sup C(E) = E ∩ sup C(E),

that is, sup C(E) is relatively E-closed. Show next that sup C(E) is prefix-closed, but in general

sup C(E) $ sup C(E)

andsup C(E) $ E ∩ sup C(E)

101

Page 119: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Exercise 3.5.2: For MACH defined in Sect. 3.4, consider the languages

E1 := s ∈ Lm(MACH)|#β(s) ≥ 5,

“production runs with at least 5 items produced”; and

E2 := s ∈ Lm(MACH)|#λ(s) ≤ 10

“runs with at most 10 breakdowns”; and

E3 := E1 ∩E2

In each case calculate the supremal controllable sublanguage and describe the corresponding controlaction.

Exercise 3.5.3

Let E ⊆ Σ∗ be arbitrary, and let K := sup C(E ∩Lm(G)) with respect to a controlled DES G overΣ = Σc∪Σu. That is, with L(G) = Lm(G),

K ⊆ E ∩ Lm(G), KΣu ∩ L(G) ⊆ K

and K is supremal with respect to these two properties. Set K0 := E ∩ Lm(G), write H0 := K0, anddefine the chain

Hj := s ∈ Hj−1

∣∣∣sΣu ∩ L(G) ⊆ Hj−1, j = 1, 2, . . .

Verify that Hj is closed. For the chain limit write

H∞ := limj→∞

Hj =

∞⋂

j=0

Hj

Prove thatH∞ = sup C(H0)

Write λ for the Nerode equivalence relation of Lm(G). With reference to Sect. 2.8, prove that

Hj ⊢λHj−1, j = 1, 2, ...

Assuming as usual that |Σ| < ∞, and E,Lm(G) are both regular, apply Theorem 2.8.1 to concludethat the chain Hj is finitely convergent, and H∞ ⊢

λH0. Finally, prove from the latter result that

H∞ ⊢λK0.

Next defineK1 := H∞ ∩ E ∩ Lm(G)

and show that K1 ⊢λK0.

102

Page 120: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

The foregoing definitions of K0 and K1, via the construction of H∞, determine a mappingT : Pwr(Σ∗) → Pwr(Σ∗) given by

T (J) := J ∩ sup C(J), J ⊆ Σ∗

where T (J) ⊢λJ . Setting K0 = E ∩ Lm(G) as above, we obtain the chain

Kj = T (Kj−1), j = 1, 2, ...

which is finitely convergent by virtue of the transitivity of ⊢λ

and the fact that ‖K0‖ <∞.

Writing K∞ for the chain limit, show that K∞ = K (as defined above), K ⊢λE, and thus

‖K‖ ≤ ‖E‖ · ‖Lm(G)‖ + 1.

3.6 Implementation of Supervisory Controls by Automata

While theoretically convenient, the abstract definition of a supervisory control as a map L(G) → Γdoes not in itself provide a concrete representation for practical implementation. As a first step in thisdirection we show how such a representation may be derived in the form of an automaton.1 Let V bea marking nonblocking supervisory control (MNSC) for the controlled DES G = (Q,Σ, δ, qo, Qm), with

Lm(V/G) = K, L(V/G) = K (0)

In case V is nonmarking, but is nonblocking, i.e. V is an NSC, the discussion will specialize in anevident way. Now let KDES be a reachable automaton over Σ that represents K, namely

Lm(KDES) = K, L(KDES) = K

ObviouslyK = Lm(KDES) ∩ Lm(G), K = L(KDES) ∩ L(G) (1)

With K as in (0), now let SDES be any DES such that

K = Lm(SDES) ∩ Lm(G), K = L(SDES) ∩ L(G) (2)

If (2) holds we say that SDES implements V . Notice that, in general, SDES need not representLm(V/G) in order to implement V : the conditions (2) allow SDES to represent a superlanguage ofLm(V/G) that may be simpler (admit a smaller state description) than Lm(V/G) itself. This flexibilityis due to the fact that closed-loop behavior is a consequence of constraints imposed by the plant G(i.e. the structure of L(G)) as well as by the supervisory control V .

In any case we have

1In this section we prefer the term ‘automaton’ for this representation, rather than ‘generator’, but allow the transitionfunction to be a partial function.

103

Page 121: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Proposition 3.6.1

Let E ⊆ Σ∗ and letK := sup C(E ∩ Lm(G)) 6= ∅

Let V be an MNSC such that Lm(V/G) = K (which exists by Theorem 3.5.2). Let KDES representK. Then KDES implements V . 2

For the converse, let S ⊆ Σ∗ be an arbitrary language over Σ such that

S is controllable with respect to G (3a)

S ∩ Lm(G) 6= ∅ (3b)

S ∩ Lm(G) = S ∩ L(G) (3c)

We note that K := S ∩ Lm(G) is controllable with respect to G; in fact

KΣu ∩ L(G) = (S ∩ Lm(G))Σu ∩ L(G)

= (S ∩ L(G))Σu ∩ L(G)

⊆ SΣu ∩ L(G)

⊆ S ∩ L(G) (by (3a))

= K

Let V be an MNSC such that Lm(V/G) = K (which exists by Theorem 3.5.2) and let SDES representS. It is easy to see that SDES implements V ; in fact

Lm(SDES) ∩ Lm(G) = S ∩ Lm(G) = K

L(SDES) ∩ L(G) = S ∩ L(G) = K

Thus we have

Proposition 3.6.2

Let SDES be any nonblocking DES over Σ such that S := Lm(SDES) satisfies conditions (3a)and (3c). Let ∅ 6= K := S ∩ Lm(G) and let V be an MNSC such that Lm(V/G) = K. Then SDESimplements V . In particular

Lm(V/G) = Lm(G) ∩ Lm(SDES), L(V/G) = L(G) ∩ L(SDES) 2

If (3a) and (3c) hold and SDES represents S we say that SDES is a supervisor for G. It is thusconvenient to include under “supervisor” the trivial case where Lm(G) ∩ Lm(SDES) = ∅. If, inaddition, it is trim, SDES will be called a proper supervisor for G. It is also convenient to extendthe usage of “controllability” to DES: thus if SDES represents the language S and S is controllablewith respect to G, we shall say that SDES is controllable with respect to G. To summarize, SDES isdeclared to be a proper supervisor for G if

104

Page 122: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

(i) SDES is trim (reachable and coreachable);

(ii) SDES is controllable with respect to G;

(iii) Lm(SDES) ∩ Lm(G) = L(SDES) ∩ L(G).

As an illustration of Proposition 3.6.2, let EDES be an arbitrary DES over Σ and let

K := sup C(Lm(G) ∩ Lm(EDES))

where the right side may possibly be empty. Let KDES represent K. Then KDES is a propersupervisor for G.

The relationships discussed above are displayed in Fig. 3.6.1. The TCT procedures supcon andcondat are introduced in the following section. In general a ‘simplified’ supervisor language S, or itsgenerator SDES, can be obtained only by intelligent guesswork, or a heuristic reduction procedure likeSupReduce (Sect. 3.10).

Let S = (X,Σ, ξ, xo, Xm) implement V . We may interpret S as a state machine that accepts as‘forcing inputs’ the sequence of symbols of Σ output by G and executes corresponding state transitionsin accordance with its transition function ξ. In this interpretation, control action is exercised by S onG implicitly, by way of a state-output function

ψ : X → Pwr(Σ)

defined according toψ(x) := σ ∈ Σ|ξ(x, σ)!

The control action of S may be visualized as follows. Immediately upon entering the state x ∈ X, andwhile resident there, S disables in G just those (controllable) events σ ∈ Σc such that σ 6∈ ψ(x). Inother words the next possible event that can be generated by G is any event, but only events, in theset

σ ∈ Σ|ξ(x, σ)! & δ(q, σ)!where q ∈ Q is the current state of G. The actual mechanism of disablement, which would involveinstantaneous transfer of information from S to G, will be left unspecified in our interpretation. Asa metaphor, one might consider the switching of signals between red and green (no amber!) in anidealized road traffic network.

To formalize the closed-loop supervisory control system that results from this construction, wedenote by S/G the product generator (cf. Section 2.4)

S/G = (X ×Q,Σ, ξ × δ, (xo, qo), Xm ×Qm)

whereξ × δ : X ×Q× Σ → X ×Q : (x, q, σ) 7→ (ξ(x, σ), δ(q, σ))

provided ξ(x, σ)! and δ(q, σ)!.

105

Page 123: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Exercise 3.6.1: From the foregoing discussion verify that

Lm(S/G) = Lm(V/G), L(S/G) = L(V/G)

In this sense our use of the term ‘implements’ is justified.

106

Page 124: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

KES

supcon(G, ·)

S ∩ Lm(G)

rep

KDESEDESSDES

KDAT

genG

impG

supCG

rep

imp G

genG

meet(G, ·)

supreduce(G, ·, ·)

rep

V

=

=

=

=

rep

genG

guesswork

represents

generates, in

feedback loop with G

implements, via G

condat(G, ·)

Fig 3.6.1. Scheme for supervisory control implementation

impG

107

Page 125: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Example 3.6.1: Supervisor

Referring to Example 3.5.2 and applying the foregoing result for MNSC, we may take for S therecognizer for sup C(E ∩ Lm(G)) = α with (partial) transition function displayed below:

α

Alternatively, since in this example the specification language E is Lm(G)-marked, all marking actionfor sup C(E∩Lm(G)) could be left to G itself, namely we could take for S the recognizer with Xm = Xcorresponding to the closed language ǫ, α:

α

Which style is selected will depend on computational convenience. Currently TCT runs more efficientlythe smaller the subset of marker states, so the first approach would be preferred.

3

The condition (3c) provides the basis for a useful definition. In general let K,L be arbitrarysublanguages of Σ∗. Then K,L are nonconflicting if

K ∩ L = K ∩ L

Thus K and L are nonconflicting just in case every string that is both a prefix of K and a prefixof L can be extended to a string belonging to K and L in common. In TCT the boolean functionnonconflict(G1,G2) = true just in case every reachable state of the product structure meet(G1,G2)is coreachable, namely Lm(G1) ∩ Lm(G2) = L(G1) ∩ L(G2). Thus to check whether two languagesL1 and L2 are nonconflicting it is equivalent to check that G1 and G2 satisfy nonconflict, whereLi = Lm(Gi) and Li = L(Gi), namely G1, G2 represent L1, L2 respectively.

The next result follows immediately from the definitions.

Proposition 3.6.3

Let SUP be an arbitrary DES over Σ and assume Lm(G) = L(G). Then SUP is a proper supervisorfor G if and only if (i) Lm(SUP) is controllable with respect to G, (ii) SUP is trim, and (iii) Lm(SUP)and Lm(G) are nonconflicting. 2

In case Lm(SUP) ⊆ Lm(G) the ‘nonconflicting’ condition is automatic.

108

Page 126: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Notice that condition (iii) for SUP is a nontrivial property that may require separate verificationwhenever SUP is not, or is not already known (perhaps by construction) to be, the trim (or at leastnonblocking) generator of a controllable sublanguage of Lm(G).

The following example illustrates how the conclusion of Proposition 3.6.3 fails when Lm(SUP) andLm(G) conflict.

Example 3.6.2: Conflict

β

α

α

γβ

G SUP

Here Σ = α, β, γ with Σc = γ. We have Lm(SUP) ∩ Lm(G) = α, whereas L(SUP) ∩ L(G) =ǫ, α, β. 3

Taken literally, the interpretation of supervisory control action proposed earlier in this sectionassigns to the supervisor a role that is purely passive, consisting only in the disablement of eventswhose occurrence or nonoccurrence is otherwise actively ‘decided’ by the plant. While often physicallyplausible, this is not the only interpretation that is possible or even desirable. It should be borne in mindthat, from a formal point of view, the theory treats nothing but event synchronization among transitionstructures: the issue as to which (if any) among two or more synchronized transition structures actively‘causes’ a given shared event to occur is not formally addressed at all. The system modeller is free toascribe causal action as he sees fit: a machine transition from Idle to Working is (in the theory) nothingbut that; it is consistent with the theory to suppose that the transition is ‘caused’ by spontaneousinternal machine volition, or by internal volition on the part of the supervisor, or indeed by someexternal agent that may or may not be explicitly modelled, say a human operator or aliens on Mars.This feature provides the modeller with considerable flexibility. In the exercises of later sections, thereader is invited to test the model against whatever interpretation he deems appropriate; of course thedesired interpretation may very well guide the modelling process. See, for instance, Section 3.8, whichtouches on the related issue of forced events.

3.7 Design of Supervisors Using TCT

We now indicate how the results of Sections 3.5 and 3.6 can be applied to supervisor design. Let thecontrolled DES G be given, along with an upper bound E ⊆ Σ∗ on admissible marked behavior. Asbefore we refer to E as the specification language. It will be assumed that E = Lm(E), where theDES E along with G has been created by TCT. Our objective is to design an optimal (i.e. minimally

109

Page 127: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

restrictive) proper supervisor S for G subject to Lm(S/G) ⊆ E. In accordance with Theorem 3.5.2and the discussion in Section 3.6 the most direct method is to compute a trim generator (used asrecognizer) for the language K := sup C(E ∩ Lm(G)). The TCT procedure supcon computes a trimrepresentation KDES of K according to

KDES = supcon(G,E)

To complete the description of S, the TCT procedure condat returns the control pattern (specifically,the minimal set of controllable events that must be disabled) at each state of S:

KDAT = condat(G,KDES)

In outline the procedure supcon works as follows. Let Pwr(Σ∗) be the power set of Σ∗, i.e. the setof all sublanguages of Σ∗. Define the operator

Ω : Pwr(Σ∗) → Pwr(Σ∗)

according toΩ(Z) = E ∩ Lm(G) ∩ supT ⊆ Σ∗|T = T , TΣu ∩ L(G) ⊆ Z

With K as defined above, it can be shown that K is the largest fixpoint of Ω. In the present regular(finite-state) case, this fixpoint can be computed by successive approximation. Let

Ko = E ∩ Lm(G), Kj+1 = Ω(Kj) (j = 0, 1, 2, ...)

It can be shown thatK = limKj (j → ∞)

Furthermore the limit is attained after a finite number of steps that is of worst case order ‖Lm(G)‖·‖E‖.In TCT the operator Ω is implemented by a simple backtracking operation on the product transitionstructure meet(G,E).

As an example, we consider Small Factory, as described in Section 3.3. The result for

FACTSUP = supcon(FACT,SPEC)

is displayed in Figs. 3.7.1 and 3.7.2 (see Appendix 3.7.1). By tracing through the transition graphthe reader may convince himself that the specifications are satisfied; and the theory guarantees thatFACTSUP represents the freest possible behavior of FACT under the stated constraints. We alsotabulate the control patterns as displayed by2

FACTSUP = condat(FACT,FACTSUP)

Only controllable events that are strictly required to be disabled appear in the table.

In practice it is rarely necessary to implement an optimal supervisor by explicit representation ofthe language sup C(Lm(G) ∩E). Often common sense and intuition will lead to an optimal supervisor

2TCT stores the result of condat as a .DAT file, whereas the result of supcon is a .DES file.

110

Page 128: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

with a much smaller transition structure3. For justification of such a proposed supervisor, we mayapply the TCT analog of Proposition 3.6.3.

Proposition 3.7.1

Let SUP be a DES over Σ, such that

(i) condat(G,SUP) lists only controllable (i.e. odd-numbered) events as requiring disablement;

(ii) SUP = trim (SUP);

(iii) nonconflict(G,SUP) = true.

Then SUP is a proper supervisor for G. 2

In analogy to the notation V/G, denote by SUP/G the closed-loop controlled DES obtained byforming the meet of SUP with G. Then, with SUP a proper supervisor for G, we have

Lm(SUP/G) = Lm(meet(G,SUP)), L(SUP/G) = L(meet(G,SUP))

along with the guaranteed nonblocking property

Lm(SUP/G) = L(SUP/G)

For Small Factory we construct the candidate supervisor SIMFTSUP directly as shown in Fig.3.7.2, where the natural decomposition of the control problem into the regimes of ‘normal operation’and ‘breakdown and repair’ is clearly manifest. Evidently SIMFTSUP is trim. Controllability of thelanguage Lm(SIMFTSUP) is easily checked from the table for

SIMFTSUP = condat(FACT,SIMFTSUP)

inasmuch as only controllable events are required to be disabled. To test whether SIMFTSUP isnonblocking we apply the TCT procedure nonconflict. In the present case we find that noncon-flict(FACT,SIMFTSUP) is true, and so conclude finally that SIMFTSUP really is a proper super-visor for FACT, as expected.

As yet there is no guarantee that SIMFTSUP is optimal. To verify that it is, we must firstcompute the closed-loop language

Lm(SIMFTSUP/FACT) = Lm(SIMFTSUP) ∩ Lm(FACT)

as represented by, say,SSM = meet(SIMFTSUP,FACT)

3See also Sect. 3.10.

111

Page 129: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

and then check that Lm(SSM) = Lm(FACTSUP).

In general, suppose M1 = Lm(G1) and M2 = Lm(G2), with G1,G2 both trim. TCT offers twoways of investigating equality of M1 and M2. A general method is to check the inclusions M1 ⊆ M2and M2 ⊆M1 according to

trim(meet(G1, complement(G2, ))) = EMPTY

trim(meet(G2, complement(G1, ))) = EMPTY

Alternatively, if G1 and G2 are seen to have the same state size, number of marker states and numberof transitions, then it may already be plausible that M1 = M2, and it is sufficient to check that theTCT procedure

isomorph(G1,G2)

returns true. In fact, this method becomes definitive provided G1,G2 are both state-minimal; namelyM1 = M2 iff

isomorph(MG1,MG2) = true

where MGi = minstate(Gi) (i = 1, 2).

In the present example, one can verify by either method that Lm(SSM) = Lm(FACTSUP), ashoped. The design and justification of SIMFTSUP are now complete.

Exercise 3.7.1: A workcell consists of two machines M1, M2 and an automated guided vehicle AGVas shown. AGV can be loaded with a workpiece either from M1 (event 10) or from M2 (event 22),which it transfers respectively to M2 (event 21) or to an output conveyor (event 30). Let CELL =sync(M1,M2,AGV). By displaying an appropriate event sequence show that CELL can deadlock,i.e. reach a state from which no further transitions are possible. Interpret physically. To prevent dead-lock, define the legal language TCELL = trim(CELL), then SUPER = supcon(CELL,TCELL).Explain how SUPER prevents deadlocking event sequences. Also explain why TCELL itself cannotserve directly as a (proper) supervisor.

AGVM2M1

10 2122

21

30

221011

Exercise 3.7.2: A transmitter is modelled by the 3-state generator T0 tabulated, where the event αdenotes arrival of a message to be transmitted, σ denotes the start of a message transmission, τ denotestimeout in case the transmitted message is not acknowledged, and ρ denotes reset for transmission of a

112

Page 130: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

subsequent message. An unacknowledged message is retransmitted after timeout. New messages thatarrive while a previous message is being processed are ignored.

The system T to be controlled consists of transmitters T1 and T2, where Ti is modeled overthe alphabet αi, σi, τi, ρi; thus T = shuffle(T1,T2). Only the events σ1, σ2 are controllable. It’srequired that the channel be utilized by at most one transmitter at a time.

A first trial solution implements the supervisory control V as the 2-state device C, which can bethought of as a model of the channel. C ensures that if, for instance, σ1 occurs, then σ2 cannot occuruntil ρ1 occurs, namely T1 has finished processing a message.

Verify that T and C conflict, compute TC := meet(T,C), and find a string that leads to a stateof TC that is non-coreachable. Explain why C is not a suitable controller.

Try the new channel model NC, verify that T and NC are nonconflicting, and that NC controls T1and T2 according to specification. Provide TCT printouts and state transition graphs as appropriate.

T0 # states: 3; marker state: 0transitions:(0, α, 1), (1, α, 1), (1, σ, 2), (2, ρ, 0), (2, τ, 1), (2, α, 2)

C # states: 2; marker state: 0transitions:(0, σ1, 1), (0, σ2, 1), (1, ρ1, 0), (1, ρ2, 0)[adjoin selfloops with events αi, τi, i = 1, 2]

NC # states: 3; marker state: 0transitions:(0, σ1, 1), (1, σ1, 1), (1, ρ1, 0), (0, σ2, 2), (2, σ2, 2), (2, ρ2, 0)[adjoin selfloops with events αi, τi, i = 1, 2]

Exercise 3.7.3: WORKCELL is the synchronous product of ROBOT, LATHE and FEEDER.The latter is a mechanism that imports new parts for WORKCELL to process. There is a 2-slotinput buffer INBUF to store new parts as they are imported, and a 1-slot buffer SBBUF associatedwith LATHE, to hold parts on standby. ROBOT transfers new parts from INBUF to LATHE. IfLATHE is idle, ROBOT loads the new part; if busy, ROBOT places the new part in SBBUF; ineach case, ROBOT then returns to idle. If ROBOT is idle and LATHE is idle and there is a partin SBBUF, then ROBOT can load it. There are other tasks unrelated to LATHE, which ROBOTcan initiate and return from.

Specifications are the following. SPEC1 says that LATHE can be loaded only if it is idle. SPEC2says that if a part is on standby (i.e. SBBUF is not empty) then ROBOT cannot transfer a newpart from INBUF. SPEC3 says that LATHE can move from idle to busy only after being loaded.SPEC4 says that a part can be put on standby only if LATHE is busy. SPEC5 says that ROBOT

113

Page 131: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

must give LATHE priority over its other tasks: namely ROBOT can initiate other tasks only when:either LATHE is busy, or both INBUF and SBBUF are empty. To set up SPEC5, computesync(LATHE,INBUF,SBBUF), then selfloop with ROBOT’s “initiate unrelated task” event atjust the appropriate states (recall the method of ‘flags’, Sect. 3.3). SPEC5 automatically incorporatesthe usual overflow/underflow constraints on the buffers. Finally SPEC is the synchronous product ofSPEC1,...,SPEC5, selflooped with any WORKCELL events not already included.

Create TCT models for the items described above, making your own detailed choices for control-lable/uncontrollable events. Then compute SUPER = supcon(WORKCELL,SPEC), as well asSUPER(.DAT) = condat(WORKCELL,SUPER). Discuss any points of interest.

To examine the controlled behavior when ROBOT’s extraneous tasks are hidden from view, com-pute PSUPER = project(SUPER,Null/Image[appropriate event list]), and discuss.

Exercise 3.7.4: Use TCT to re-solve Exercise 3.5.2, making sure your results are consistent.

Exercise 3.7.5: In Small Factory, compute

PFACTSUP = project(FACTSUP,Null[10, 12, 13, 21, 22, 23])

and interpret the result.

Exercise 3.7.6: Using TCT, redo Small Factory using a buffer of capacity 2. Also design the corre-sponding simplified supervisor. Generalize your results to a buffer of arbitrary size N .

Exercise 3.7.7: Three Cooks

Three cooks share a common store of 5 pots. For his favorite dish, COOK1 needs 2 pots, COOK2 4pots, and COOK3 all 5 pots. The cooks may take pots from the store individually and independently,but only one pot at a time; a cook returns all his pots to the store simultaneously, but only whenhe has acquired and used his full complement. Design a supervisor that is maximally permissiveand guarantees nonblocking. Assume that “take-pot” events are controllable and “return-pot” eventsuncontrollable. Explain the supervisor’s control action in terms of disabling entrance by the cooks to‘forbidden states’.

Exercise 3.7.8: In the context of a DES problem where the alphabet is Σ, define the self-looped DES

ALL = (0,Σ, transitions [0, σ, 0]|σ ∈ Σ, 0, 0)

Thus the closed and marked behaviors of ALL are both Σ∗. As usual let PLANT and SPECbe two DES over Σ. The corresponding supervisory control problem has solution SUP = sup-con(PLANT,SPEC). Show that this problem can always be replaced by an equivalent problemwhere the specification is ALL. Hint: First replace SPEC by NEWSPEC, where NEWSPEC

114

Page 132: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

merely adjoins a “dump state” to SPEC, if one is needed. This makes the closed behavior ofNEWSPEC equal to Σ∗, while the marked behavior is that of SPEC. In TCT, NEWSPEC =complement(complement(SPEC)) (why?). Now set

NEWPLANT = meet(PLANT,NEWSPEC)

NEWSUP = supcon(NEWPLANT,ALL)

Show that NEWSUP and SUP define exactly the same languages (in particular, perhaps after ap-plication of minstate, NEWSUP and SUP are isomorphic).

While this maneuver offers no computational advantage, it can simplify theoretical discussion, asthe specification ALL requires only that the closed-loop language be nonblocking.

3

If Σ is exactly the set of events appearing in a DES G, then ALL in Exercise 3.7.8 is computed inTCT as

ALL = allevents(G)

Exercise 3.7.9: Let G be a DES defined over the alphabet Σ. With ALL defined as in Exercise 3.7.8,show that G is nonblocking if and only if nonconflict(ALL,G) = true. Using TCT check this resultagainst examples of your own invention.

Exercise 3.7.10: Let G = (Q,Σ, δ, qo, Qm) and let K ⊆ Σ∗. Suppose K is represented by a DESKDES = (X,Σ, ξ, xo, Xm), in the sense that K = Lm(KDES), K = L(KDES), i.e. the marked andclosed behaviors of KDES are K and K respectively. Let PROD = G × KDES as defined in Sect.2.4, and let RPROD be the reachable sub-DES of PROD.

Show that K is controllable with respect to G if and only if, at each state (q, x) of RPROD,

σ ∈ Σu | δ(q, σ)! ⊆ σ ∈ Σu | ξ(x, σ)! ,

namely any uncontrollable event that is state-enabled (‘physically executable’) by G is also control-enabled (‘legally admissible’) by KDES.

Illustrate the foregoing result with two simple examples, for the cases K controllable and uncon-trollable respectively.

Exercise 3.7.11: The result of Exercise 3.7.10 is the basis of the TCT procedure condat. The resultof condat, say KDESDAT = condat(G,KDES), is a table of the states x of KDES along withall the events which must be disabled in G (by a supervisory control) when RPROD is at (q, x) inG × KDES for some q ∈ Q, in order to force the inclusion

σ ∈ Σ | δ(q, σ)! & σ control-enabled ⊆ σ ∈ Σ | ξ(x, σ)!

115

Page 133: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Thus the set of disabled events tabulated by condat at x is

σ ∈ Σ | ((∃q ∈ Q)(q, x) in RPROD & δ(q, σ)!) & not ξ(x, σ)!

For K to be controllable, this set must contain only events that are controllable (so they can bedisabled): in other words, in the TCT event encoding, only events with odd-numbered labels. So tocheck controllability of K it’s sufficient to scan the condat table: if only odd events are listed, K iscontrollable; if an even event occurs anywhere, K is uncontrollable.

Illustrate this remark by testing your two examples from Exercise 3.7.10 and supply the TCTprintouts for condat.

Exercise 3.7.12: Message passing

Investigate how to implement message-passing in our setup. For instance, suppose a supervisor M0wishes to enable an event 11 ‘remotely’ in controlled module M1 by sending a ‘message’ 0. M1 shouldnot execute 11 before receiving 0, but M0 needn’t wait for M1 to execute 11 before completing othertasks (say, event 2). Also, if M1 has just executed 11, it must not do so again until it has executedtask 10 (say) and once again received a 0. For this, define

M0 = (Q,Σ, δ, qo, Qm)

= (0, 1, 2, 0, 1, 2, [0, 1, 1], [1, 0, 2], [2, 2, 0], 0, 0)M1 = (0, 1, 10, 11, [0, 11, 1], [1, 10, 0], 0, 0)

To couple M0 and M1 as described define a ‘mailbox’

MB = (0, 1, 0, 11, [0, 0, 1], [1, 0, 1], [1, 11, 0], 0, 0)

Check that the synchronous product of M0, M1, and MB displays the required behavior. Show thatthe approach can be extended to two or more controlled modules M1, M2,... . For instance, createM2 by relabeling events 10,11 in M1 as 20,21; rename MB as MB1; create MB2 by relabeling11 in MB1 as 21; and consider the new controlled module M = sync(M1,M2) and mailbox MB= sync(MB1,MB2). Notice that the message 0 can always be projected out of the final structuresync(M0,M,MB) if it is of no external interest.

Investigate this model, with particular attention to the growth in complexity as measured by thesize of the final state set.

Other message-passing semantics are possible. For instance, suppose M0 should not progress paststate 2 until both enabled events 11 and 21 have occurred – M0 waits for its message to be acted on.For this, remodel M0 as

N0 = (0, 1, 2, 3, 4, 1, 2, 11, 21,[0, 1, 1], [1, 11, 2], [1, 21, 3], [2, 21, 4], [3, 11, 4], [4, 2, 0]], 0, 0)

Because N0 waits, there’s logically no need for a mailbox at all. Check that the result has 20 statesand 36 transitions, still complicated but much less so than before.

116

Page 134: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Now explore other variations on the theme.

Exercise 3.7.13: Show that

supcon(G,meet(E1,E2))

= supcon(supcon(G,E1),E2)

and interpret.

Exercise 3.7.14: Interrupts

Let G be a controlled DES over alphabet Σ = Σc∪Σu, and let events α, β /∈ Σ. Interpret α as an‘interrupt’, namely an event that causes all controllable events in G to be instantly disabled, pendingthe occurrence of event β as a signal that the interrupt has been serviced and normal activity of Gmay be resumed. Explain how G with the interrupt feature can be modelled as sync(G,H), with Has below.

H

Σ

α

Σu

β

Exercise 3.7.15: Uncontrollable subsystems

It is important to be aware that in system modelling, the ‘plant’ may certainly include subsystemcomponents all of whose events are uncontrollable, and that such inclusion may actually be necessaryfor the computed result to be meaningful. As shown below, suppose a PUMP increments (event 10) aTANK, modelled as a buffer with capacity 2, and that TANK is uncontrollably drained (event 12). Ifthe plant is taken to be PUMP alone (but with event 12 selflooped) and TANK as the specification(with 11 selflooped), verify that the supremal controllable sublanguage is empty, and explain why.Alternatively, if the plant is taken to be the synchronous product of PUMP and TANK, and thespecification taken as ALL (as in Exercise 3.7.8) with events 10,11,12, then no control action is calledfor by the supervisor (explain why), but this result is clearly not the one intended. A correct modellingapproach is to consider TANK as embedded in an environment, say POOL, with infinite capacity; takePLANT to be the synchronous product of PUMP with POOL; and let TANK be the specification,in effect limiting the content of POOL as required. Here it suffices to take as ‘infinity’ anything largerthan TANK, say a buffer with capacity 3. Carry through the supervisor design as suggested, includingthe simplified supervisor obtained by Supreduce (see Sect. 3.10). Extend the approach to a chain oftanks downstream from PUMP, having possibly different capacities, each draining uncontrollably into

117

Page 135: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

the next. 10 101010 1012 1212 1210 TANKPOOL 1211PUMP

Exercise 3.7.16: Carry through an original supervisor design problem of your own, along the linesof this section. If feasible, draw the transition graph of your supremal controllable sublanguage anddiscuss any features of special interest.

Appendix 3.7.1

EVENT CODING FOR SMALL FACTORY

TCT: 10 11 12 13 20 21 22 23TEXT: β1 α1 λ1 µ1 β2 α2 λ2 µ2

FACTSUP # states: 12 state set: 0 ... 11 initial state: 0

marker states: 0

# transitions: 24

transition table:

[0,11,1] [1,12,2] [1,10,3] [2,13,0] [3,21,4][4,20,0] [4,11,5] [4,22,11] [5,20,1] [5,10,6][5,12,8] [5,22,10] [6,20,3] [6,22,7] [7,23,3][8,20,2] [8,13,4] [8,22,9] [9,23,2] [10,23,1][10,10,7] [10,12,9] [11,23,0] [11,11,10]

FACTSUP printed.

118

Page 136: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

FACTSUP

Control Data are displayed by listing the supervisor states where disabling occurs, together with theevents that must be disabled there.

Control Data:

0: 21 1: 212: 21 3: 116: 11 7: 119: 13

FACTSUP printed.

SIMFTSUP # states: 3 state set: 0 ... 2 initial state: 0

marker states: 0

# transitions: 16

transition table:

[0,13,0] [0,11,0] [0,12,0] [0,20,0] [0,10,1][0,22,2] [1,21,0] [1,23,1] [1,12,1] [1,20,1][1,22,1] [2,23,0] [2,10,1] [2,11,2] [2,12,2][2,20,2]

SIMFTSUP printed.

SIMFTSUP

Control Data are displayed by listing the supervisor states where disabling occurs, together with theevents that must be disabled there.

Control Data:

0: 21 1: 112: 13

SIMFTSUP printed.

119

Page 137: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Fig. 3.7.1

µ2

λ1

µ2

µ1α1

µ1

µ2

β2

β1

µ2

α1

β1

λ1

λ2

λ2

β2 β1

λ2

α2

α1

λ2

β2 β2

λ1

L(FACTSUP)Supremal controllable sublanguage for Small Factory

Fig. 3.7.2

α1

α1, µ1

β1

λ2, µ2

α2

β1

µ2

λ2

SIMFTSUP

selfloopλ1, β2Simplified supervisor for Small Factory

120

Page 138: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

3.8 Forced Events

In practice one often thinks of control as ‘forcing’ the occurrence of some desirable result. In theasynchronous world of discrete events, ‘forcing’ amounts to timely preemption: a tap or valve is closedin time to prevent overflow, a stirrer is switched on to prevent gelatification in a tank of fluid, a drainagepump is started when water in a mine reaches a defined level, a car is braked to forestall an impendingcollision, an industrial process is begun in time to deliver the product on schedule (before a deadline).

The crucial feature common to these examples is that the controlling agent denies permission for theoccurrence of undesirable competing events; namely (directly or indirectly) such events are disabled.Enforcing the familiar specification that a buffer must not overflow or underflow is achieved by disablingthe appropriate ‘upstream’ events in the causal (or just behavioral) sequence; meeting a deadline isachieved by ‘disabling’ the tick of a clock to ensure the occurrence of a desired event on schedule –how this can be modelled without violence to the physical requirement that ‘time goes on’ regardlessof technology is explained in Chapter 9.

While in general ‘forcing’ is probably best placed in a temporal context (cf. Chapter 9) simplepreemption can often capture the required action in the untimed framework considered so far. As aprimitive example, suppose a tank T is filled by fluid flow through a valve V , which must be turned offto prevent overflow when the tank is full. V can be modelled as a one-state DES

V = (Q,Σ, δ, qo, Qm) = (0, σ, [0, σ, 0], 0, 0)

with σ controllable. The event σ is interpreted as the delivery of a defined unit of fluid to the tank.The tank itself is modelled like a buffer, with its content incremented by one unit when σ occurs. Ifthe tank capacity is N units then the transition structure could be

T = (0, 1, ..., N + 1, σ, [0, σ, 1], [1, σ, 2], ...,

[N, σ,N + 1], [N + 1, σ, N + 1], 0, 0)

where the state N + 1 represents an overflow condition. To prevent overflow, let

TSPEC = (0, 1, ..., N, σ, [0, σ, 1], [1, σ, 2], ...,

[N − 1, σ, N ], 0, N)

thus disabling σ at state N . The closed behavior with respect to TSPEC is then simply σN , asrequired. Notice that the model is consistent with the physical picture of (temporally) continuous flowthrough the valve, as there is no inconsistency in supposing that σ occurs one second after it is initiallyenabled, or reenabled after a subsequent occurrence. As soon as σ is disabled, flow stops. However,there is no logical necessity that σ be tied to a fixed interval of time or a unit flow. The situation ismuch like filling up the fuel tank of a car using a hose with a spring-loaded trigger valve: when thetank is full, the trigger is released ‘automatically’ (or by the user) and the valve closes.

More generally, the notion of forcing as timely preemption can be formalized as follows. Define anew subset Σf ⊆ Σ of forcible events, and a subset Σp ⊆ Σ of preemptable events, with Σf ∩ Σp = ∅.

121

Page 139: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Bring in a new controllable event τ 6∈ Σ which may be thought of as a ‘timeout’ event. Assume thata plant model G has been created as usual over Σ, and we wish to adjoin the feature that any eventin Σf can be ‘forced’ to preempt any event in Σp. For this, examine each state in G where some eventα ∈ Σf and some event β ∈ Σp are both enabled, e.g. the state q as displayed in Fig. 3.8.1. Notice thatthere may exist events γ defined at q that are neither forcible nor preemptable.

1

2

3

4

5

q

α1

β1

β2

α2

γ

α1 β1

α2γ γ

β2

τ

1 2

4

3

5

q′′q′

Fig. 3.8.1Modelling forcing by α1 or α2

to preempt β1 and β2

Also, we impose no constraint as to whether an event in either Σf or Σp is controllable or not, althoughnormally events in Σp will be uncontrollable. Now modify G (or in TCT, edit G) at q as shown: splitq into q′ and q′′, with a transition [q′, τ, q′′]. If, say, α1, α2, β1, β2, γ are the events defined at q inG, then define α1, α2, γ at q′ and β1, β2, γ at q′′. Selfloops should be treated as follows. If α wasselflooped at q it should be selflooped at q′; a selfloop β at q is replaced by a transition [q′′βq′]; whilea selfloop γ at q is replaced by selfloops γ at both q′ and q′′. In the new DES Gnew, say, the effectof disabling τ is to ‘force’ one of the events α1, α2, γ to preempt β1, β2. Observe that, unless γ isincluded in Σp, it could also preempt the other events α1, α2 defined at q′. Having modified G toGnew, modify the specification DES E say, to Enew, by selflooping each state of E with τ . We nowhave, in (Gnew,Enew) a supervisory control problem of standard type, and proceed as usual to computesupcon(Gnew,Enew). This standard solution will ‘decide’ exactly when forcing (i.e. disablement of τ)is appropriate.

It is clear that our procedure could easily be automated in TCT, and that after the design hasbeen completed, the event τ could be hidden by being projected out. Thus all the details except initialselection of the subsets Σf , Σp could be rendered invisible to the user if desired.

122

Page 140: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Example 3.8.1: Forcing

Consider the two machines M1, M2 and the 1-slot buffer B in Fig. 3.8.2, with TCT encoding of events.For the plant take M = sync(M1,M2) and for the specification E take B selflooped with 11, 20.

10 21

M1 M2 B

11 1021

20

10

11

11

10

11

11

10

MNEWM

23

2021202120 21

10

20 21

q q′

q′′

Fig. 3.8.2Modelling forcing by event 21

to preempt event 10

The solution SUP = supcon (M,E) is displayed in Fig. 3.8.3. Now suppose that event 21 (‘M2starts work’) is forcible with respect to event 10 (‘M1 completes work’) as preemptable. ConstructMNEW by modifying the structure of M as shown in Fig. 3.8.2, at the one state q (in this case)where events 21 and 10 are both defined. The new controllable ‘timeout’ event 23 can be thoughtof as inserting a time delay invoked by disablement of this event, thus providing event 21 with theopportunity to preempt event 10. Construct ENEW = selfloop(E,[23]), and compute SUPNEW =supcon(MNEW,ENEW). Finally, hide the auxiliary event 23 to obtain the solution PSUPNEW= project(SUPNEW,Null[23]), as displayed in Fig. 3.8.3. Notice that PSUPNEW generates asuper-language of that of SUP; in general, controlled behavior with forcing will be less conservativethan it is with the disablement feature alone. 3

123

Page 141: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

x

10

20

20

10

20

20

20

11

11

11

20

21

11

21

10

10

21

11

SUP PSUPNEW

Fig. 3.8.3In PSUPNEW event 21 preempts 10 at x

To summarize, forcing is really an issue not of synthesis but of modelling; more precisely, by declaringforcibility as a modelling assumption, we eliminate forcing as a synthesis issue, and the standardframework can be utilized without further change or the addition of any new mechanism. Neverthelessit is well to note that, once an instance of a controllable event is designated to be forced (e.g. event21 at state x in PSUPNEW, Fig. 3.8.3), it is no longer available for disablement in any subsequentrefinement of the control design. For instance, 21 at x could be relabelled as 22 (i.e. redefined asuncontrollable) as a safeguard against inadvertent disablement in a subsequent application of TCT.

Exercise 3.8.1: Forced events

Provide examples of modelling intuitively ‘forced’ events as just described, carrying through a completecontrol design. For instance, consider a water supply tank for a country cottage, which is emptiedincrementally by random household events, and filled by a pump. The pump is to be switched onwhen the water falls below a defined lower level and switched off when it rises to a defined upper level.Naturally a good design must ensure that the tank is never emptied by normal household usage.

124

Page 142: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

3.9 Mutual Exclusion

Assume we are given DES

G1 = (Q1,Σ1, δ1, q10, Q1m)

G2 = (Q2,Σ2, δ2, q20, Q2m)

with Σ1 ∩ Σ2 = ∅. We may wish to control G1, G2 in such a way that designated state pairs q1 ∈ Q1,q2 ∈ Q2 are never occupied simultaneously. In such problems “Gi in qi” typically means “Gi is usinga single shared resource”, for instance when two readers share a single textbook or two AGVs a singlesection of track.

Because such a constraint can be awkward to express linguistically, TCT provides a procedure tocompute the required result directly. Thus

MXSPEC = mutex(G1,G2,LIST)

whereLIST = [(q

(1)1 , q

(1)2 ), ..., (q

(k)1 , q

(k)2 )],

with (q(i)1 , q

(i)2 ) ∈ Q1 × Q2, is the user’s list of mutually exclusive state pairs. MXSPEC is reachable

and controllable with respect to G = shuffle(G1,G2) but needn’t be coreachable. If not, it may serveas a new specification for the plant G, and the final result computed using supcon in the usual way.

Exercise 3.9.1: In FACT (Sect. 3.2) suppose power is limited, so at most one of MACH1, MACH2may be working at once. Compute a suitable supervisor. Repeat the exercise using the constraint thatat most one machine at a time may be broken down.

Exercise 3.9.2: Cat and Mouse

A cat and mouse share a maze of 5 interconnected chambers. The chambers are numbered 0,1,2,3,4 forthe cat, but respectively 3,2,4,1,0 for the mouse. Adjoining chambers may be connected by one-waygates, each for the exclusive use of either the cat or the mouse. An event is a transition by eitherthe cat or the mouse from one chamber to another via an appropriate gate; the animals never executetransitions simultaneously. Some gates are always open, corresponding to uncontrollable events; whileothers may be opened or closed by an external supervisory control, so passage through them is acontrollable event. The cat and the mouse are initially located in their ‘home’ chambers, numbered 0.TCT models for the cat and mouse are printed below.

It is required to control the roamings of cat and mouse in such a way that (i) they never occupythe same chamber simultaneously, (ii) they can always return to their respective home chambers, and(iii) subject to the latter constraints they enjoy maximal freedom of movement.

125

Page 143: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

CAT # states: 5 state set: 0 ... 4 initial state: 0

marker states: 0

vocal states: none

# transitions: 8

transitions:

[ 0,201, 1] [ 1,205, 2] [ 1,207, 3] [ 2,200, 3]

[ 2,203, 0] [ 3,200, 2] [ 3,211, 4] [ 4,209, 1]

CAT printed

MOUSE # states: 5 state set: 0 ... 4 initial state: 0

marker states: 0

vocal states: none

# transitions: 6

transitions:

[ 0,101, 1] [ 1,103, 2] [ 2,105, 0] [ 2,107, 3] [ 3,111, 4] [ 4,109, 2]

MOUSE printed

126

Page 144: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

3.10 Supervisor Reduction

As indicated in Sect. 3.7 for Small Factory, the ‘standard’ supervisor

SUPER = supcon(PLANT,SPEC)

computed by supcon (and representing the full optimal controlled behavior) can be much larger instate size than is actually required for the same control action. This is because the controlled behaviorincorporates all the a priori transitional constraints embodied in the plant itself, as well as any ad-ditional constraints required by control action to enforce the specifications. The problem of finding asimplified proper supervisor, say MINSUP, equivalent in control action but of minimum state size,is of evident practical interest. Unfortunately, it is NP-hard [C82,J40]. A reduction procedure calledSupreduce has been developed, based on heuristic search for a suitable congruence on the state set ofSUPER. Supreduce is of polynomial complexity in the state sizes of PLANT and SPEC. While ofcourse it cannot guarantee a simplified supervisor of minimal size, Supreduce will often find a greatlyreduced supervisor, say SIMSUP, and can also provide a lower bound on the size of MINSUP. SIM-SUP is actually minimal if its size matches this bound. Some results found by Supreduce are reportedin Sect. 4.7 and for the examples of Sect. 8.14.

In TCT the syntax for computing a simplified supervisor SIMSUP from SUPER (as above) is:

SUPDAT = condat(PLANT,SUPER)

SIMSUP = supreduce(PLANT,SUPER,SUPDAT)

Under SIMSUP as supervisor, the controlled behavior of PLANT can be represented by, say,

TEST = meet(PLANT,SIMSUP)

A check on correctness is provided by

isomorph(TEST,SUPER) = true

provided both TEST and SUPER are state-minimal generators, as will often be the case. Otherwise,one should verify

isomorph(MTEST,MSUPER) = true

where MTEST = minstate(TEST) and MSUPER = minstate(SUPER). When correctness issatisfied, we say that SIMSUP is control-equivalent to SUPER with respect to PLANT.

Exercise 3.10.1: With the help of supreduce, confirm that the simplified supervisor SIMFTSUPfor Small Factory (Sect. 3.7) is actually minimal.

Exercise 3.10.2: Apply supreduce to your results (say) SUPER of Exercises 3.7.1, 3.7.3, 3.7.6,3.7.7, and 3.7.14.

127

Page 145: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

3.11 Notes and References

Supervisory control theory in the sense of this chapter originates with the doctoral thesis of P.J.Ramadge [T01] and related papers [J03,J05,C01-C05].

The synchronous product of languages is a convenient packaging of the more primitive language oper-ations Meet and Shuffle. For the latter, the corresponding recognizers or generators are instances ofthe product construction for automata, as defined in Eilenberg [1974]; from that book we also borrowthe term “trim”. A counterpart definition for the synchronous product of “processes” was introducedby Hoare [1985] under the name “concurrency operator” or “parallel composition”, and was furtherdiscussed by Milner [1989] as a product of “agents” under the name “conjunction”.

The Kanban Example 3.3.3 is adapted from Viswanadham & Narahari [1992], pp. 514-524.

Prioritized synchronous product (Exercise 3.3.10) was introduced by Heymann [1990].

Exercise 3.3.14 is based on Wong [1998] and Exercise 3.7.2 on Cassandras [1993] (Example 2.17, p.108). Exercise 3.7.3 was suggested by Robin Qiu.

The supervisor reduction method of Sect. 3.10 was developed by Su [C82,J40], as an evolution of workby Vaz [C10,J01].

Computational methods for supervisor synthesis for DES of industrial size is an active area of cur-rent research. The reader is referred to the published theses of Germundsson [1995] and Gunnarsson[1997], as well as subsequent work by Zhang [T44,C84], Leduc [T46,C85,C86,C87,J45,J46], and Ma[C95,C107,T50,M1].

128

Page 146: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Chapter 4

Decentralized Supervision ofDiscrete-Event Systems

4.1 Introduction

In this chapter we discuss a decentralized approach to the synthesis of supervisors for discrete-eventsystems. In this approach the overall supervisory task is divided into two or more subtasks. Eachof the latter is solved using the results of Chapter 3, and the resulting individual subsupervisors arerun concurrently to implement a solution of the original problem. We refer to such a construction asa decentralized modular synthesis, and to the resultant supervisor as a decentralized supervisor. The‘architecture’ is sketched below.

G S2S1

Such constructions represent a very general approach to complex problems – sometimes called ‘divideand conquer’. In addition to being more easily synthesized, a decentralized supervisor should ideallybe more readily modified, updated and maintained. For example, if one subtask is changed, then itshould only be necessary to redesign the corresponding modular component supervisor: in other words,the overall decentralized supervisor should exhibit greater flexibility than its ‘monolithic’ counterpart.

Unfortunately, these advantages are not always to be gained without a price. The fact that theindividual supervisory modules are simpler implies that their control action must be based on a partialor ‘local’ version of the global system state; in linguistic terms, a component supervisor processes only a‘projection’ of the behavior of the DES to be controlled. A consequence of this relative insularity may bethat different component supervisors, acting quasi-independently on the basis of local information, comeinto conflict at the ‘global’ level, and the overall system fails to be nonblocking. Thus a fundamental

129

Page 147: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

issue that always arises in the presence of decentralization is how to guarantee the nonblocking propertyof the final synthesis.

4.2 Conjunction of Supervisors

Let S1 and S2 be proper supervisors for G: that is, each of S1 and S2 is a trim automaton1, iscontrollable with respect to G (equivalently, Lm(S1), Lm(S2) are controllable with respect to G), andeach of S1/G, S2/G is nonblocking, namely

Lm(S1/G) = L(S1/G), Lm(S2/G) = L(S2/G)

Recalling from Sect. 2.4 the definitions of reachable subautomaton and of product automaton, we definethe conjunction of S1 and S2, written S1 ∧ S2, as the reachable subautomaton of the product:

S1 ∧ S2 = Rch(S1 × S2) = meet(S1,S2)

It is easily seen from the definition that the supervisory action of S1 ∧ S2 is to enable an event σ justwhen σ is enabled by S1 and S2 simultaneously. To describe the action of S1 ∧ S2 more fully we havethe following.

Theorem 4.2.1

Under the foregoing conditions,

Lm((S1 ∧ S2)/G) = Lm(S1/G) ∩ Lm(S2/G)

Furthermore S1 ∧S2 is a proper supervisor for G if and only if it is trim and the languages Lm(S1/G),Lm(S2/G) are nonconflicting.

Proof

For the first statement we have

Lm((S1 ∧ S2)/G) = Lm(S1 ∧ S2) ∩ Lm(G)

= Lm(S1) ∩ Lm(S2) ∩ Lm(G)

= Lm(S1/G) ∩ Lm(S2/G)

Similarly, as L(S1 ∧ S2) = L(S1) ∩ L(S2) we have

L((S1 ∧ S2)/G) = L(S1/G) ∩ L(S2/G)

so that (S1∧S2)/G is nonblocking if and only if Lm(S1/G) and Lm(S2/G) are nonconflicting. Now S1

and S2 proper implies that each is controllable, so L(S1) and L(S2) are both controllable with respect

1As in Sect. 3.6 and our usage of ‘generator’, ‘automaton’ includes the case of partial transition function.

130

Page 148: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

to G. By Proposition 3.5.2, L(S1) ∩ L(S2) is controllable, therefore L(S1 ∧ S2) is controllable. ThusS1∧S2 is a proper supervisor if and only if it satisfies the defining condition that it be trim, as claimed.2

Recall from Sect. 3.3 that in TCT

S1 ∧ S2 = meet(S1,S2)

Obviously, if S1 and S2 satisfy all the conditions of Theorem 4.2.1 except that S1 ∧ S2 happensnot to be trim (i.e. fails to be coreachable), then S1 ∧ S2 may be replaced by its trim version, towhich the conclusions of the theorem will continue to apply. When designing with TCT the desirablesituation is that Lm(S1) and Lm(S2) be nonconflicting (in TCT, nonconflict(S1,S2) returns true);then S1 ∧ S2 = meet(S1,S2) will indeed be trim.

Let the controlled DES G be arbitrary. The following results, which are almost immediate fromthe definitions, will find application when exploiting decentralization.

Proposition 4.2.1

Let K1, K2 ⊆ Σ∗ be controllable with respect to G. If K1 and K2 are nonconflicting then K1 ∩K2

is controllable with respect to G. 2

Proposition 4.2.2

Let E1, E2 ⊆ Σ∗. If sup C(E1), sup C(E2) are nonconflicting then

sup C(E1 ∩E2) = sup C(E1) ∩ sup C(E2)

2

Exercise 4.2.1: Prove Propositions 4.2.1 and 4.2.2. 3

To complete this section we provide a version of Theorem 4.2.1 adapted to TCT. For DES G1, G2,write G1 ≈ G2, “G1 and G2 are behaviorally equivalent”, to mean

Lm(G1) = Lm(G2), L(G1) = L(G2)

Theorem 4.2.2

Assume

(i) S1, S2 are controllable with respect to G [as confirmed, say, by condat],

131

Page 149: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

(ii) nonconflict (S1 ∧ S2,G) = true, and

(iii) S1 ∧ S2 is trim

Then S1 ∧ S2 is a proper supervisor for G, with

(S1 ∧ S2) ∧G ≈ (S1 ∧ G) ∧ (S2 ∧G)

2

Notice that condition (i) holds in particular if S1, S2 are proper supervisors for G. Even in thatcase, however, condition (ii) is not automatic and must be checked. Finally, the result is easily extendedto any collection S1,S2, ...,Sk.

Corollary 4.2.2

Let E1, E2 be arbitrary DES and

Si = supcon(G,Ei), i = 1, 2

If nonconflict(S1,S2) = true, then

S1 ∧ S2 ≈ supcon(G,E1 ∧E2)

2

Exercise 4.2.2: Prove Theorem 4.2.2 and Corollary 4.2.2.

4.3 Naive Decentralized Supervision: Deadly Embrace

Before presenting successful examples of decentralized supervision we illustrate the possibility of block-ing in a simple but classical situation. Consider two users of two shared resources (e.g. two professorssharing a single pencil and notebook). To carry out his task each user needs both resources simultane-ously; but the resources may be acquired in either order. We model the generators USER1, USER2and the legal constraint languages RESA, RESB in the simple manner shown. Here

Σc = α1, β1, α2, β2, Σu = γ1, γ2

The DES to be controlled is then

USER = shuffle(USER1,USER2)

subject to the legal languageRES = meet(RESA,RESB)

132

Page 150: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

The optimal global supervisor is

USERSUP = supcon(USER,RES)

as displayed. Initially users and resources are all idle; as soon as one user acquires one resource,USERSUP disables the other user from acquiring any resource until the first user has completed histask. Notice, incidentally, that the validity of this proposed control depends crucially on the assumptionof the shuffle model that independent events can never occur at the same moment; if this assumptionfails, the system will block if both users acquire their first resource simultaneously.

Let us now employ RESA and RESB as naive modular component supervisors. Each is controllableand nonconflicting with respect to USER, hence is proper. The corresponding controlled languagesare

CONA = meet(USER,RESA), CONB = meet(USER,RESB);

however, CONA and CONB are conflicting! It is easy to see that concurrent operation of CONA andCONB could lead to blocking: because nothing prevents USER1 from acquiring one resource (eventα1 or β1), then USER2 acquiring the other (resp. event β2 or α2), with the result that both users areblocked from further progress, a situation known as “deadly embrace”. The example therefore illustratesthe crucial role of marker states in system modeling and specification, as well as the importance ofabsence of conflict.

γi

βi αi

βiαi

USERi

selfloopα1, α2selfloopβ1, β2

RESBRESA

γ1, γ2 γ1, γ2

β1, β2α1, α2

133

Page 151: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

β1

α1

α2

β2

γ1

α2

β2

β1

γ2

USERSUP

α1

Exercise 4.3.1: Discuss control of this situation that guarantees nonblocking and also “fairness”according to some common-sense criterion of your invention: fairness should guarantee that neitheruser could indefinitely shut out the other. Hint: Use a queue.

Exercise 4.3.2: Replace RESA above with the more refined model

γ2γ1

α2α1

selfloopβ1, β2NRESA

and similarly for RESB. Carry out the new design to get NUSERSUP. Verify that it is isomorphicto USERSUP and explain why this might be expected.

Exercise 4.3.3: As stated in the text, USERSUP depends for its validity on the assumption thatevents in independent agents interleave in time, i.e. never occur simultaneously. Discuss how eventinterleaving could be enforced, for practical purposes, by use of a queue. For this, require that USER1,USER2 first request the use of a desired resource, while it is up to the supervisor to decide in whatorder competing requests are granted. Assume that simultaneous requests could be queued in randomorder.

4.4 Decentralized Supervision: Small Factory

We shall apply the results of Sect. 4.2 to the decentralized supervision of Small Factory (cf. Sects. 3.3,3.7). As displayed below, introduce trim automata BUFSUP and BRSUP to enforce the buffer andthe breakdown/repair specifications respectively.

134

Page 152: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

selfloopα1, β1, λ1, α2, β2

selfloopλ1, µ1, β2, λ2, µ2

BUFSUP

BRSUP

µ1

µ2

λ2

α2

β1α1

By use of the TCT procedure condat it can be confirmed that BUFSUP and BRSUP are con-trollable with respect to FACT, and application of nonconflict to the pairs FACT, BUFSUP andFACT, BRSUP respectively shows by Proposition 3.6.3 that BUFSUP and BRSUP are nonblock-ing for FACT; so we may conclude that each is a proper supervisor for FACT. For our modulardecentralized supervisor we now take the conjunction

MODSUP = BUFSUP ∧BRSUP

It is easy to check by hand that BUFSUP, BRSUP are nonconflicting, so

MODSUP = trim(meet(BUFSUP,BRSUP))

namely MODSUP is trim; and by application of condat and nonconflict to the pair FACT, MOD-SUP we now conclude by Theorem 3.6.2 that MODSUP is a proper supervisor for FACT.

We note parenthetically that, on taking G = FACT, Proposition 4.2.1 holds with

K1 = Lm(BUFSUP), K2 = Lm(BRSUP)

while Proposition 4.2.2 holds with

E1 = Lm(SPEC1), E2 = Lm(SPEC2)

Finally it may be verified that MODSUP is actually optimal. Various approaches are possible:perhaps the most direct is to check that

Lm(FACT) ∩ Lm(MODSUP) = Lm(FACTSUP)

via the computation

isomorph(meet(FACT,MODSUP),FACTSUP) = true;

another possibility, using Proposition 4.2.2, is left to the reader to develop independently.

135

Page 153: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

4.5 Decentralized Supervision: Big Factory

As another example of the foregoing ideas we consider Big Factory, as described below. Two machinesas before operate in parallel to feed a buffer with capacity 3; a third machine empties the buffer.

!

" #

$

#

%

The informal specifications are:

1. Buffer must not overflow or underflow.

2. MACH1 and MACH2 are repaired in order of breakdown.

3. MACH3 has priority of repair over MACH1 and MACH2.

As the plant we take

BFACT = shuffle(shuffle(MACH1,MACH2),MACH3)

To formalize the specifications we construct the DES shown below:

Buffer overflow/underflow:

10,2010,20

3131

10,20

31

BUF3

136

Page 154: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Breakdown/repair of MACH1,MACH2:

BR12

13,23

12,22

22

13

23

12

Breakdown/repair of MACH3:

33

32

23

13

BR3

Each DES is understood to be selflooped with its complementary subalphabet.

We first consider ‘monolithic’ supervision. BFACT turns out to have 27 states and 108 transitions(written (27,108)). Combining the specification languages into their intersection, we define

BSPEC = meet(meet(BUF3,BR12),BR3) (32, 248)

For the ‘monolithic’ supervisor we then obtain

BFACTSUP = supcon(BFACT,BSPEC) (96, 302)

By the theory, the transition structure of the DES BFACTSUP is that of the supremal controllablesublanguage of Lm(BFACT) that is contained in the specification language Lm(BSPEC). ThusBFACTSUP is guaranteed to be the optimal (i.e. minimally restrictive) proper supervisor that controlsBFACT subject to the three legal specifications. Nevertheless, BFACTSUP is a rather cumbersomestructure to implement directly, and it makes sense to consider a decentralized approach.

For prevention of buffer overflow alone, we compute

status1 = # empty buffer slots − # feeder machines at work

137

Page 155: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

disable 11, 21

status1 = 0

11,21

12,22,3112,22,31

11,21 11,21

12,22,31

12

22

STATUS1

STATUS1 disables 11 and 21 when status1 = 0, and is a proper supervisor for BFACT. For preventionof buffer underflow alone, we compute

10,20

31

10,2010,20

3131

10,20

status2 = # full slots in buffer

disable 31

STATUS2

STATUS2 disables 31 when status2 = 0 and is also proper. For control of breakdown/repair, BR12and BR3 are themselves proper supervisors. It can be verified that optimal (and proper) supervisionof the buffer is enforced by

STATUS = STATUS1 ∧ STATUS2

while optimal (and proper) supervision of breakdown/repair is enforced by

BR = BR12 ∧ BR3

Finally, optimal (and proper) supervision with respect to all the legal specifications is enforced by

BFTMDSUP = STATUS ∧BR

Obviously BFTMDSUP is much simpler to implement than BFACTSUP, to which it is equivalentin supervisory action.

Exercise 4.5.1: Construct a 9-state supervisor that is equivalent in control action to STATUS. Checkyour result by TCT and supply the printouts.

Exercise 4.5.2: Carry out the following ‘direct’ approach to decentralized control of Big Factory. Foreach of the three specifications BUF3, BR12, BR3 compute the ‘global’ controllers using supcon ,and their corresponding reduced versions using supreduce, of (minimal) state size 7, 3, 2 respectively.Verify that these provide an optimal decentralized control. While no special analysis was required,supervisor reduction was essential for efficient decentralization.

138

Page 156: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

4.6 Decentralized Supervision: Transfer Line

As a third example of decentralized control we consider an industrial ‘transfer line’ consisting of twomachines M1, M2 followed by a test unit TU, linked by buffers B1 and B2, in the configurationshown. A workpiece tested by TU may be accepted or rejected; if accepted, it is released from thesystem; if rejected, it is returned to B1 for reprocessing by M2. Thus the structure incorporates‘material feedback’. The specification is simply that B1 and B2 must be protected against underflowand overflow.

TUB2M2B1M11 2 3 5

8

64

The component DES, displayed below, are taken to be as simple as possible.

86 54321 TUM2M1

The DES representing the transfer line is

TL = shuffle(M1,M2,TU)

The capacities of B1 and B2 are assumed to be 3 and 1 respectively, and the specifications are modelledas B1SP, B2SP in the usual way.

139

Page 157: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

selfloop1,2,3,6,85

4

B2SP

33

2,82,82,8

3

selfloop1,4,5,6

B1SP

Then the total specification is

BSP = meet(B1SP,B2SP)

The centralized or ‘monolithic’ supervisor is computed as

CSUP = supcon(TL,BSP) (28,65)

and turns out to have 28 states and 65 transitions. The control data for CSUP is

CSUP = condat(TL,CSUP)

For decentralized supervision we may proceed as follows. A modular component supervisor forB2 is simple enough: we construct B2SUP to disable event 5 in TU when B2 is empty (to preventunderflow) and to disable event 3 in M2 when B2 is full (to prevent overflow).

selfloop1,2,6,8

5

43

B2SUP

140

Page 158: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

For B1 we separate the requirements of overflow and underflow into two subtasks, assigned tocomponent supervisors B1SUP1, B1SUP2. To prevent underflow it suffices to adopt for B1SUP2the specification model B1SP, augmented by a harmless selfloop for events 2,8 at state 3 to renderB1SUP2 controllable. Then B1SUP2 disables M2 at state 0 (where B1 is empty), but is indifferentto possible overflow at state 3. To prevent overflow we make a first, ‘naive’ attempt at designingB1SUP1, with result XB1SUP1, as follows. The entities feeding B1 (potentially causing overflow)are M1 and TU: define

FB1A = shuffle(M1,TU), FB1 = selfloop(FB1A,[3])

FB1 will be considered to be the controlled DES for the overflow specification

FB1SP = selfloop(B1SP,[1,5,6]),

leading to the proposed modular component supervisor

XB1SUP1A = supcon(FB1,FB1SP)

over the subalphabet 1,2,3,5,6,8, and finally the global version

XB1SUP1 = selfloop(XB1SUP1A,[4]) (12,45)

over the full alphabet. It can be checked that each of XB1SUP1 and B1SUP2 is nonconflicting andcontrollable with respect to TL, and that XB1SUP1 and B1SUP2 are nonconflicting. Let

XB1SUP = meet(XB1SUP1,B1SUP2) (12,45)

(Verify that XB1SUP1, XB1SUP are isomorphic: why is this so?) From the theory or by directcomputation, XB1SUP is controllable and nonconflicting with respect to TL. It remains to combineXB1SUP with B2SUP: to our chagrin, these components turn out to be conflicting! Let

XBSUP = trim(meet(XB1SUP,B2SUP))

Because of conflict, the closed behavior of XBSUP (equal to the closure of its marked behavior, bydefinition of the operation trim) is a proper sublanguage of the intersection of the closed behaviors ofthe trim DES XB1SUP, B2SUP; and from

XBSUP = condat(TL,XBSUP)

141

Page 159: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

it is seen that XBSUP fails to be controllable as it calls for the disablement of events 4 and 8. Theconcurrent operation of XB1SUP and B2SUP will certainly result in satisfaction of the specificationsB1SP and B2SP. However, each of these components admits the TL-string

s = 1 2 1 2 1 2 3 4 1 2,

which leaves B1 and B2 both full. Following s, B2SUP disables M2, while XB1SUP disables M1and TU, and the system deadlocks; i.e. no further transitions are possible. The result illustrates thatconflict and blocking can arise in seemingly innocent ways.2

A correct decentralized supervisor for overflow of B1 can be obtained by examining the overallfeedback operation of the system. It is seen that any workpiece removed from B1 by M2 is a candidatefor eventual return to B1 by TU. Thus overflow of B1 is prevented if and only if the number of emptyslots in B1 is maintained at least as great as the number of workpieces being processed by M2 andTU or being stored in B2. In terms of event counts (#event) on the current string,

# empty slots in B1 = cap(B1) + #3 − #2 − #8

while

# workpieces in M2,B2,TU = #3 − #6 − #8

To maintain the desired inequality it is therefore required to disable M1 (i.e. event 1) if and only if

# empty slots in B1 ≤ # workpieces in M2,B2,TU

i.e. (with cap(B1) = 3) 3−#2 ≤ − #6, or

disable M1 iff #2 − #6 ≥ 3

Under these conditions event 2 can occur at most three times before an occurrence of event 6, so ournew attempt at an overflow control for B1 takes the form of B1SUP1 as displayed. Here the harmlessselfloop [0,6,0] has been adjoined to render B1SUP1 controllable.

selfloop3,4,5,8

222

6

1

6

6,1

B1SUP1

6

1

2This is nothing but an instance of a feedback loop going unstable if it is “driven too hard”, namely “its gain is toohigh”. Here “instability” (deadlock) is the inability of the system to return to its “equilibrium” (initial) state.

142

Page 160: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

It can now be verified that B1SUP1, B1SUP2 are nonconflicting, so that concurrent operation isrepresented by the proper supervisor

B1SUP = meet(B1SUP1,B1SUP2) (16,100);

and that B1SUP, B2SUP are nonconflicting, with their concurrent operation represented by

BSUP = meet(B1SUP,B2SUP) (32,156)

It can be checked that BSUP is nonconflicting and controllable with respect to TL. Thus the behaviorof TL under decentralized supervision is given by

DCSUP = meet(TL,BSUP) (28,65)

Finally it can be checked that DCSUP is isomorphic with CSUP, namely the decentralized supervisorBSUP is optimal.

Exercise 4.6.1: Improve the recycling logic of Transfer Line as follows. A failed workpiece is sent byTU to a new buffer B3 (size 1), and M2 can take its workpiece from either B1 or B3. Introduce anew specification that M2 takes from B1 only if B3 is empty, that is, a failed workpiece has priorityover a new one. Design both centralized (monolithic) and decentralized supervisors for the improvedsystem.

Exercise 4.6.2: Carry out the following ‘direct’ approach to decentralized control of Transfer Line.For each of the two specifications B1SP, B2SP compute the ‘global’ controllers using supcon, andtheir corresponding versions using supreduce, of (minimal) state size 7, 2 respectively. Check thatthese do not provide a nonblocking decentralized control as their meet is conflicting with TL. Havingnoted as before that blocking is due to both buffers filling up, introduce a third specification whichalways maintains at least one buffer slot free, namely

#2 − #6 ≤ (storage capacity of loop) − 1

= capacity(B1) + capacity(B2) − 1

= 3 + 1 − 1 = 3

Create the corresponding buffer, say LOOPSPEC, then the corresponding ‘global’ controller, andits reduced version of (minimal) size 4. Verify that the three reduced supervisors provide an optimaldecentralized control. Of course, success depended on precisely identifying the cause of blocking, a stepwhich in many applications will be nontrivial.

Apply this method to the enhanced model of Exercise 4.6.1.

143

Page 161: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

4.7 Decentralized Supervision: AGVs in a Manufacturing

Workcell

As our fourth example of decentralized control we consider the coordination of a system of automaticguided vehicles (AGVs) serving a manufacturing workcell. As a side-benefit this will illustrate the powerof supervisor reduction (Sect. 3.10, and TCT Supreduce) in reducing modular components to minimalor near-minimal state size for transparency of modelling and economy in computational verification.

The system consists of two input stations IPS1,IPS2 for parts of types 1,2; three work-stationsWS1,WS2,WS3; one completed parts station CPS; and five AGVs - AGV1,...,AGV5. The AGVs travelon fixed circular routes alternately loading and unloading, as shown in Fig.4.7.1, or explicitly:

AGV1: WS2 −−> IPS1 −→ WS2AGV2: WS3 −−> IPS2 −→ WS3AGV3: WS1 −−> WS2 −→ WS1AGV4: WS1 −−> WS3 −→ WS1AGV5: CPS −−> WS1 −→ CPS

Here −→ (resp. −−>) indicates travel direction when loaded (resp. unloaded), with each AGV returningto its initial (parking) location just after unloading. Thus AGV1 starts unloaded from WS2, travels toIPS1 where it loads, and returns to WS2 where it unloads. Input parts of type 1 traverse the route

IPS1 −→ (AGV1) −→ WS2 −→ (AGV3) −→ WS1

and type 2 the route

IPS2 −→ (AGV2) −→ WS3 −→ (AGV4) −→ WS1

At WS1 a processed part of type 1 and one of type 2 are assembled into an output part, which isexported via the route

WS1 −→ (AGV5) −→ CPS

Only one part can be processed at one time by each of WS2, WS3, while WS1 can assemble just twoparts at a time into an output part.

As shown in Fig.4.7.1 the AGV track systems cross one another in four shared zones, as follows:

144

Page 162: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Zone Shared by AGVs

1 1, 22 2, 33 2, 44 4, 5

For safety reasons each zone should be occupied by at most one AGV at a time.

Finally it will be assumed that IPS1, IPS2 share a common loading area, so only one of AGV1,AGV2 can be loaded at one time.

145

Page 163: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

AGVs : direction loadeddirection unloadedparking locationO

Manufacturing WorkcellFig. 4.7.1.

IPS1

IPS2

WS1

WS2

WS3

CPS

Zone 1

Zone 3

Zone 4

Zone 2

AGV1

AGV2

AGV3

AGV4

AGV5

AGVs : direction loadeddirection unloadedparking locationO

Manufacturing WorkcellFig. 4.7.1.

IPS1

IPS2

WS1

WS2

WS3

CPS

Zone 1

Zone 3

Zone 4

Zone 2

AGV1

AGV2

AGV3

AGV4

AGV5

146

Page 164: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

DES models of the AGVs are displayed in Figs.4.7.2.1-5, while their events are listed in Table 4.7.1.Controllability status is denoted by odd/even labelling as usual. Our models contain no more detailthan will be needed to capture the control specifications. Thus intermediate physical states implicitin (physical) event sequences like (interpreted) event 11 for AGV1 etc. are merged into one, and thecorresponding sequences are replaced by single events, considered atomic.

Zone 1 = 1,3

Zone 1 = 3,5Zone 2 = 2,6Zone 3 = 1,7

Fig. 4.7.2.2:

Fig. 4.7.2.1: AGV1

AGV2

1210

1 0

3

11

132

2

0

15

6

34

726 28

2022

23

24

18

21

Fig. 4.7.2.3: Zone 2 = 1,3

Fig. 4.7.2.5: Zone 4 = 1,3

Fig. 4.7.2.4: Zone 3 = 1,5Zone 4 = 2,4

AGV3

AGV4

AGV542

43

4

44

5460

2

1

41

40

3

33

34

0

32

3 2

1

31

2

50

1

3

52

0

53

51

147

Page 165: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

TABLE 4.7.1

Event AGV Interpretation

11 1 Unparks & enters Zone 110 Exits Zone 1 & loads from IPS113 Re-enters Zone 112 Exits Zone 1, unloads to WS2, & parks21 2 Unparks & enters Zone 318* Exits Zone 3 & enters Zone 220 Exits Zone 2 & enters Zone 122 Exits Zone 1 & loads from IPS223 Re-enters Zone 124 Exits Zone 1 & re-enters Zone 226 Exits Zone 2 & re-enters Zone 328 Exits Zone 3, unloads to WS3, & parks33 3 Unparks & enters Zone 234 Exits Zone 2 & loads from WS231 Re-enters Zone 232 Exits Zone 2, unloads to WS1, & parks41 4 Unparks & enters Zone 340 Exits Zone 3 & enters Zone 442 Exits Zone 4 & loads from WS343 Re-enters Zone 444 Exits Zone 4 & re-enters Zone 346 Exits Zone 3, unloads at WS1, & parks51 5 Unparks & enters Zone 450 Exits Zone 4 & loads from WS153 Re-enters Zone 452 Exits Zone 4, unloads to CPS, & parks

*numbering due to need for 6 even-numbered labels

The specifications on AGV travel are stated more formally below, and their DES models displayedin Figs.4.7.3.1-8.

Specification 1: At most one AGV can occupy a shared zone at one time. For instance,Z1SPEC should prohibit AGV1 (resp. AGV2) from entering Zone 1 while the latter isoccupied by AGV2 (resp. AGV1). We model this by saying “If AGV2 enters Zone 1 thenAGV1 cannot enter Zone 1 until AGV2 exits Zone 1” and vice-versa.

Specification 2: WS1SPEC should enforce the cyclic sequencing allowed by WS1, namelythe latter should unload AGV3, AGV4 in either order, then (after the assembly process)allow AGV5 to load the assembled output part for transport to CPS.

Specification 3: WS2SPEC should enforce that WS2 is alternately loaded by AGV1 (forprocessing of an input part type 1) and unloaded by AGV3 (for transport of processed part

148

Page 166: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

to WS1).

Specification 4: WS3SPEC should enforce that WS3 is alternately loaded by AGV2 (fortype 2) and unloaded by AGV4.

Specification 5: IPSSPEC should prohibit AGV1 and AGV2 from attempting to occupysimultaneously the assumed common work area of IPS1 and IPS2.

Our plant model will be the synchronous product of the 5 AGVs, while the full specification willbe the meet of 8 components (4 for Specification 1 and one each for Specifications 2-5). Systemcomponents IPS1, IPS2, CPS play no direct role in the system’s control logic. While they could becreated for completeness’ sake, they would not be included in the computations and therefore we ignorethem. Similarly, details for WS1, WS2, WS3 are not included as the workstations contribute only thesequencing specifications already provided.

After solving the monolithic centralized supervision problem we develop simple decentralized mod-ular supervisors. For each of the 8 specifications we take for the “local” plant only the synchronousproduct of the AGVs whose events appear directly, and apply Supreduce to the resulting local super-visor.

Finally we check for nonblocking when the modular supervisors are placed on-line together. Asthe combination fails to be nonblocking, we develop a ninth “coordinating” modular supervisor byexamining the system’s overall input-output behavior. The combination of all 9 resulting modules isverified to be control-equivalent to the monolithic supervisor.

149

Page 167: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

20,23

22,24 10,12

11,13 12 0 31,33

32,34 20,26

18,24 12 0

40,46 18,28

21,26 12 41,44 0

50,52 42,44

40,43 12 51,53 0

346

46

50

1

320

322

34

12 10

22

23 13

10 12 028 10

42

Fig. 4.7.3.1 −

Fig. 4.7.3.4 −

Fig. 4.7.3.5 − Fig. 4.7.3.6 −

Fig. 4.7.3.7 − Fig. 4.7.3.8 −

Fig. 4.7.3.3 −

Fig. 4.7.3.2 − Z2SPECZ1SPEC

WS3SPEC

WS1SPEC WS2SPEC

Z4SPECZ3SPEC

IPSSPEC

150

Page 168: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Commented MAKEIT.TXT file

Create the 5 AGVs.

AGV1 = Create(AGV1,[mark 0],[tran [0,11,1],[1,10,2],[2,13,3],[3,12,0]]) (4,4)

AGV2 = Create(AGV2,[mark 0],[tran [0,21,1],[1,18,2],[2,20,3],[3,22,4],[4,23,5],[5,24,6],[6,26,7],[7,28,0]]) (8,8)

AGV3 = Create(AGV3,[mark 0],[tran [0,33,1],[1,34,2],[2,31,3],[3,32,0]]) (4,4)

AGV4 = Create(AGV4,[mark 0],[tran [0,41,1],[1,40,2],[2,42,3],[3,43,4],[4,44,5],[5,46,0]]) (6,6)

AGV5 = Create(AGV5,[mark 0],[tran [0,51,1],[1,50,2],[2,53,3],[3,52,0]]) (4,4)

AGV = Sync(AGV1,AGV2) (32,64) Blocked events = None

AGV = Sync(AGV,AGV3) (128,384) Blocked events = None

AGV = Sync(AGV,AGV4) (768,3072) Blocked events = None

Plant model

AGV = Sync(AGV,AGV5) (3072,15360) Blocked events = None

ALL = Allevents(AGV) (1,26)

151

Page 169: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Create the four zonal exclusion specifications and their meet.

Z1SPEC = Create(Z1SPEC,[mark 0,1,2],[tran [0,11,1],[0,13,1],[0,20,2],[0,23,2],[1,10,0],[1,12,0],[2,22,0],[2,24,0]]) (3,8)

Z1SPEC = Sync(Z1SPEC,ALL) (3,62) Blocked events = None

Z2SPEC = Create(Z2SPEC,[mark 0,1,2],[tran [0,18,1],[0,24,1],[0,31,2],[0,33,2],[1,20,0],[1,26,0],[2,32,0],[2,34,0]]) (3,8)

Z2SPEC = Sync(Z2SPEC,ALL) (3,62) Blocked events = None

Z3SPEC = Create(Z3SPEC,[mark 0,1,2],[tran [0,21,1],[0,26,1],[0,41,2],[0,44,2],[1,18,0],[1,28,0],[2,40,0],[2,46,0]]) (3,8)

Z3SPEC = Sync(Z3SPEC,ALL) (3,62) Blocked events = None

Z4SPEC = Create(Z4SPEC,[mark 0,1,2],[tran [0,40,1],[0,43,1],[0,51,2],[0,53,2],[1,42,0],[1,44,0],[2,50,0],[2,52,0]]) (3,8)

Z4SPEC = Sync(Z4SPEC,ALL) (3,62) Blocked events = None

ZSPEC = Meet(Z1SPEC,Z2SPEC) (9,146)

ZSPEC = Meet(ZSPEC,Z3SPEC) (27,318)

ZSPEC = Meet(ZSPEC,Z4SPEC) (81,594)

Compute a modular supervisor for the combined zonal exclusion specification.

ZSUP = Supcon(AGV,ZSPEC) (1112,3776)

152

Page 170: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Create the three workstation sequencing specifications and their meet.

WS1SPEC = Create(WS1SPEC,[mark 0,1,2,3],[tran [0,32,1],[0,46,2],[1,46,3],[2,32,3],[3,50,0]]) (4,5)

WS1SPEC = Sync(WS1SPEC,ALL) (4,97) Blocked events = None

WS2SPEC = Create(WS2SPEC,[mark 0,1],[tran [0,12,1],[1,34,0]]) (2,2)

WS2SPEC = Sync(WS2SPEC,ALL) (2,50) Blocked events = None

WS3SPEC = Create(WS3SPEC,[mark 0,1],[tran [0,28,1],[1,42,0]]) (2,2)

WS3SPEC = Sync(WS3SPEC,ALL) (2,50) Blocked events = None

WSSPEC = Meet(WS1SPEC,WS2SPEC) (8,186)

WSSPEC = Meet(WSSPEC,WS3SPEC) (16,356)

Compute a modular supervisor for the combined workstation sequencing specification.

WSSUP = Supcon(AGV,WSSPEC) (12666,47730)

Create the input parts stations exclusion specification.

IPSSPEC = Create(IPSSPEC,[mark 0,1,2],[tran [0,10,1],[0,22,2],[1,13,0],[2,23,0]]) (3,4)

IPSSPEC = Sync(IPSSPEC,ALL) (3,70) Blocked events = None

Compute a modular supervisor for the IPS specification.

IPSSUP = Supcon(AGV,IPSSPEC) (2304,10944)

IPSSUP = Condat(AGV,IPSSUP) Controllable.

153

Page 171: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Compute centralized supervisor for combined zonal and workstation specifications.

ZWSSPEC = Meet(ZSPEC,WSSPEC) (1296,7884)

ZWSSUP = Supcon(AGV,ZWSSPEC) (6910,18226)

Compute monolithic centralized supervisor for combined zonal, workstation and input parts stationsspecifications.

ZWSISPEC = Meet(ZWSSPEC,IPSSPEC) (3888,20196)

ZWSISUP = Supcon(AGV,ZWSISPEC) (4406,11338)

ZWSISUP = Condat(AGV,ZWSISUP) Controllable.

We can reduce the size of this monolithic supervisor.

ZWSISMSP = Supreduce(AGV,ZWSISUP,ZWSISUP) (494,3544;slb=169)

TEST = Meet(AGV,ZWSISMSP) (4406,11338)

true = Isomorph(ZWSISUP,TEST;identity)

Modular supervisors and their reduced versions

Zone 1 modular exclusion specification

AGV12 = Sync(AGV1,AGV2) (32,64) Blocked events = None

ALL12 = Allevents(AGV12) (1,12)

Z1C12 = Meet(Z1SPEC,ALL12) (3,20)

Z1P12 = Supcon(AGV12,Z1C12) (24,36)

Z1P12 = Condat(AGV12,Z1P12) Controllable.

Z1R12 = Supreduce(AGV12,Z1P12,Z1P12) (2,14;slb=2)

Z1R = Sync(Z1R12,ALL) (2,42) Blocked events = None

154

Page 172: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Zone 2 modular exclusion specification

AGV23 = Sync(AGV2,AGV3) (32,64) Blocked events = None

ALL23 = Allevents(AGV23) (1,12)

Z2C23 = Meet(Z2SPEC,ALL23) (3,20)

Z2P23 = Supcon(AGV23,Z2C23) (24,36)

Z2P23 = Condat(AGV23,Z2P23) Controllable.

Z2R23 = Supreduce(AGV,Z2P23,Z2P23) (2,14;slb=2)

Z2R = Sync(Z2R23,ALL) (2,42) Blocked events = None

Zone 3 modular exclusion specification

AGV24 = Sync(AGV2,AGV4) (48,96) Blocked events = None

ALL24 = Allevents(AGV24) (1,14)

Z3C24 = Meet(Z3SPEC,ALL24) (3,26)

Z3P24 = Supcon(AGV24,Z3C24) (36,58)

Z3P24 = Condat(AGV24,Z3P24) Controllable.

Z3R24 = Supreduce(AGV24,Z3P24,Z3P24) (2,17;slb=2)

Z3R = Sync(Z3R24,ALL) (2,41) Blocked events = None

155

Page 173: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Zone 4 modular exclusion specification

AGV45 = Sync(AGV4,AGV5) (24,48) Blocked events = None

ALL45 = Allevents(AGV45) (1,10)

Z4C45 = Meet(Z4SPEC,ALL45) (3,14)

Z4P45 = Supcon(AGV45,Z4C45) (18,26)

Z4P45 = Condat(AGV45,Z4P45) Controllable.

Z4R45 = Supreduce(AGV45,Z4P45,Z4P45) (2,11;slb=2)

Z4R = Sync(Z4R45,ALL) (2,43) Blocked events = None

Global combination of reduced modular supervisors for zonal exclusion specs

ZR = Meet(Z1R,Z2R) (4,69)

ZR = Meet(ZR,Z3R) (8,108)

ZR = Meet(ZR,Z4R) (16,160)

true = Nonconflict(AGV,ZR)

ZR = Condat(AGV,ZR) Controllable.

AGVZR = Meet(AGV,ZR) (1112,3776)

true = Isomorph(ZSUP,AGVZR) [map omitted]

Thus the modular reduced zonal supervisor (16 states) is control-equivalent to the global zonal super-visor (1112 states) as expected.

156

Page 174: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Direct reduction of ZSUP

ZSUP = Condat(AGV,ZSUP) Controllable.

ZSIM = Supreduce(AGV,ZSUP,ZSUP) (30,270;slb=16)

Thus ZSIM is larger than simply the meet of Z1R,...,Z4R, which has size exactly the slb.

Modular supervisors for workstation sequencing specifications

Modular supervisor for Workstation 1 sequencing

AGV345 = Sync(AGV3,AGV4) (24,48) Blocked events = None

AGV345 = Sync(AGV345,AGV5) (96,288) Blocked events = None

ALL345 = Allevents(AGV345) (1,14)

WS1C345 = Meet(WS1SPEC,ALL345) (4,49)

WS1P345 = Supcon(AGV345,WS1C345) (222,550)

WS1P345 = Condat(AGV345,WS1P345) Controllable.

WS1R345 = Supreduce(AGV345,WS1P345,WS1P345) (4,40;slb=4)

WS1R345 = Condat(AGV345,WS1R345) Controllable.

WS1R = Sync(WS1R345,ALL) (4,88) Blocked events = None

true = Nonconflict(AGV,WS1R)

WS1R = Condat(AGV,WS1R) Controllable.

157

Page 175: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Modular supervisor for Workstation 2 sequencing

AGV13 = Sync(AGV1,AGV3) (16,32) Blocked events = None

ALL13 = Allevents(AGV13) (1,8)

WS2C13 = Meet(WS2SPEC,ALL13) (2,14)

WS2P13 = Supcon(AGV13,WS2C13) (24,40)

WS2P13 = Condat(AGV13,WS2P13) Controllable.

WS2R13 = Supreduce(AGV13,WS2P13,WS2P13) (2,12;slb=2)

WS2R = Sync(WS2R13,ALL) (2,48) Blocked events = None

Modular supervisor for Workstation 3 sequencing

AGV24 = Sync(AGV2,AGV4) (48,96) Blocked events = None

ALL24 = Allevents(AGV24) (1,14)

WS3C24 = Meet(WS3SPEC,ALL24) (2,26)

WS3P24 = Supcon(AGV24,WS3C24) (62,110)

WS3P24 = Condat(AGV24,WS3P24) Controllable.

WS3R24 = Supreduce(AGV24,WS3P24,WS3P24) (2,21;slb=2)

WS3R = Sync(WS3R24,ALL) (2,45) Blocked events = None

true = Nonconflict(AGV,WS3R)

158

Page 176: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Compute the global version of the WS reduced supervisors.

WSR = Meet(WS1R,WS2R) (8,160)

WSR = Meet(WSR,WS3R) (16,264)

WSSUP = Supcon(AGV,WSSPEC) (12666,47730)

AGVWSR = Meet(AGV,WSR) (12666,47730)

true = Isomorph(WSSUP,AGVWSR) [map omitted]

Thus WSR (16 states) is control-equivalent to WSSUP (12666 states).

Modular supervisor for IPS exclusion specification

IPSC12 = Meet(IPSSPEC,ALL12) (3,28)

IPSP12 = Supcon(AGV12,IPSC12) (24,42)

IPSP12 = Condat(AGV12,IPSP12) Controllable.

IPSR12 = Supreduce(AGV12,IPSP12,IPSP12) (2,16;slb=2)

TEST = Allevents(IPSR12) (1,12)

true = Isomorph(ALL12,TEST;identity)

IPSR = Sync(IPSR12,ALL) (2,44) Blocked events = None

true = Nonconflict(AGV,IPSR)

IPSR = Condat(AGV,IPSR) Controllable.

TEST = Allevents(IPSR) (1,26)

true = Isomorph(ALL,TEST;identity)

AGVIPSR = Meet(AGV,IPSR) (2304,10944)

true = Isomorph(AGVIPSR,IPSSUP) [map omitted]

159

Page 177: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Combine zonal and workstation modular supervisors into global version.

ZWS1R = Meet(ZR,WS1R) (64,528)

true = Nonconflict(AGV,ZWS1R)

ZWS1R = Condat(AGV,ZWS1R) Controllable.

TEST = Meet(AGV,ZWS1R) (3034,9220)

MTEST = Minstate(TEST) (3034,9220)

true = Nonconflict(ZWS1R,WS2R)

ZWS12R = Meet(ZWS1R,WS2R) (128,928)

true = Nonconflict(ZWS12R,AGV)

ZWS12R = Condat(AGV,ZWS12R) Controllable.

ZWS123R = Meet(ZWS12R,WS3R) (256,1600)

Examine ZWS123R as a modular supervisor for AGV subject to the zonal and workstation specifica-tions.

TEST = Minstate(ZWS123R) (256,1600)

true = Isomorph(ZWS123R,TEST;identity)

TZWS123R = Trim(ZWS123R) (256,1600)

true = Isomorph(TZWS123R,ZWS123R;identity)

true = Nonconflict(AGV,ZWS123R)

ZWS123R = Condat(AGV,ZWS123R) Controllable.

Thus ZWS123R is a proper supervisor for AGV. We get the controlled behavior (for zonal and work-station specifications) as follows.

AGVZWS = Meet(AGV,ZWS123R) (6910,18226)

true = Nonconflict(AGVZWS,ALL)

true = Isomorph(AGVZWS,ZWSSUP) [map omitted]

160

Page 178: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Combine zonal/workstation global modular supervisor with modular IPS supervisor. Investigate whetherthe result is nonblocking.

true = Nonconflict(ZWS123R,IPSR)

ZWSIR = Meet(ZWS123R,IPSR) (512,2608)

true = Nonconflict(ZWSIR,ALL)

ZWSIR is state-minimized.

TEST = Minstate(ZWSIR) (512,2608)

true = Isomorph(TEST,ZWSIR;identity)

true = Nonconflict(ZWS123R,IPSR)

false = Nonconflict(IPSR,ZWSSUP)

While the meet of the first 7 modular reduced supervisors (the 4 zonal and the 3 workstation sequenc-ing modules) provides an optimal (proper) modular supervisor for AGV, conflict arises when the IPSspecification is introduced. Conflict could be removed in the final step of the synthesis, by global super-vision, but the resulting “global” coordinator ZWSIRSUP merely reproduces the monolithic centralizedsupervisor, and is therefore unacceptable.

true = Nonconflict(AGV,ZWS123R)

true = Nonconflict(ZWS123R,IPSR)

false = Nonconflict(AGV,ZWSIR)

ZWSIRSUP = Supcon(AGV,ZWSIR) (4406,11338)

AGVZWSIR = Meet(AGV,ZWSIR) (4424,11368)

TAGVZWSI = Trim(AGVZWSIR) (4406,11338)

true = Isomorph(ZWSIRSUP,TAGVZWSI;identity)

161

Page 179: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Thus the final supcon operation simply removes noncoreachable states from the meet of AGV with themeet of the 8 reduced modular supervisors.

It requires some trial-and-error to find a (relatively) small coordinator to achieve the same resulteconomically: namely to remove the 4424-4406=18 states in AGVZWSIR that are either not coreachableor lead to non-coreachable states along uncontrollable paths. We return to this problem after somefurther checks on the results so far.

Rename the final optimal nonblocking controlled behavior. We run some routine checks to confirmnonblocking and that the specifications are all enforced.

SUPER = Edit(ZWSIRSUP) (4406,11338)

true = Nonconflict(SUPER,ALL)

COZSPEC = Complement(ZSPEC,[]) (82,2132)

TEST = Meet(SUPER,COZSPEC) (4406,11338)

TTEST = Trim(TEST) (0,0)

COWSSPEC = Complement(WSSPEC,[]) (17,442)

TEST = Meet(SUPER,COWSSPEC) (4406,11338)

TTEST = Trim(TEST) (0,0)

COIPSSPE = Complement(IPSSPEC,[]) (4,104)

TEST = Meet(SUPER,COIPSSPE) (4406,11338)

TTEST = Trim(TEST) (0,0)

162

Page 180: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

We project to check that the AGVs are all embedded in the controlled behavior without constraint.

P1SUPER = Project(SUPER,Image[10,11,12,13]) (4,4)

true = Isomorph(AGV1,P1SUPER;identity)

P2SUPER = Project(SUPER,Image[18,20,21,22,23,24,26,28]) (8,8)

true = Isomorph(AGV2,P2SUPER;identity)

P3SUPER = Project(SUPER,Image[31,32,33,34]) (4,4)

true = Isomorph(AGV3,P3SUPER;identity)

P4SUPER = Project(SUPER,Image[40,41,42,43,44,46]) (6,6)

true = Isomorph(AGV4,P4SUPER;identity)

P5SUPER = Project(SUPER,Image[50,51,52,53]) (4,4)

true = Isomorph(AGV5,P5SUPER;identity)

163

Page 181: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Finally we project on the input/output events (IPS to CPS) to display the input/output behavior(importing workpieces of type 1 with event <10> and type 2 <22>, and exporting assembled workpiece<52>).

IOSUPER = Project(SUPER,Image[10,22,52]) (29,64)

The result is displayed in Fig.4.7.4. It shows, as expected, complete symmetry between parts of type 1and type 2, as loaded by the two IPS onto AGV1 and AGV2 respectively. The system can contain atmost 5 parts of type 1 and 4 of type 2 (resp. 4, 5) before it must unload a fully processed and assembledworkpiece at the CPS. The maximum work-in-progress is therefore 9. The system can only return toits initial state after having processed an equal number of parts of each type.

Projecting IOSUPER onto event 10 and 52, say, shows that, as seen by the input-output abstractionIPS1→CPS, the system behaves like a buffer of capacity 5.

P22IOSUP = Project(IOSUPER,Null[22]) (6,10)

For comparison we project the controlled behavior under supervisor ZWS123R alone, i.e. subjectonly to the zonal exclusion and workstation sequencing constraints. The result PAGVZWS is morepermissive, of course, than before, since the constraint IPSSPEC is omitted. The transition graph(Fig.4.7.5) reveals that max w.i.p. is now 10, namely 5 of each workpiece type can be accepted by thesystem before a delivery to CPS (event 52) must be executed. Thus the “5/4” constraint mentionedabove is due to IPSSPEC.

PAGVZWS = Project(AGVZWS,Image[10,22,52]) (34,81)

PAGVZWS = Recode(PAGVZWS) (34,81)

Projecting out event 22 (importing a type 2 workpiece) yields a buffer of capacity 5 for the IPS1 →CPS abstraction, just as before.

P22AGVZW = Project(PAGVZWS,Null[22]) (6,10)

true = Isomorph(P22AGVZW,P22IOSUP;identity)

Conclusion so far:

Efficient modular control was achieved for the combination of zonal exclusion and workstation sequenc-ing specifications. Although the monolithic problem with the additional input-parts-stations exclusionspecification could indeed be solved, we must still find a simple modular way of doing so, which willresolve the conflict between the supervisor for this specification and the controlled behavior for theprevious specifications.

164

Page 182: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Blocking analysis

We investigate the blocking problem in detail. It turns out that blocking is due to deadlock. A search ofthe transition table for the blocking DES AGVZWSIR turns up deadlock states from which deadlockingevent sequences can be extracted. One of these is the following, common to SUPER and AGVZWSIR.

% # ∗11 10 13 12 | 11 33 34 10 13 31 32 12 | 11 33 34 10 13 12 | (+)

%<32> AGV3 → WS1 [AGV3 unloads part type 1 to WS1]#<34> WS2 → AGV3 [AGV3 loads part type 1 from WS2]*<12> AGV1 → WS2 [AGV1 unloads part type 1 to WS2]

This leaves

WS1 loaded with type 1 by AGV3 %<32>, AGV3 parkedAGV3 loaded from WS2 by #<34>WS2 loaded from AGV1 by *<12>, AGV1 parked

Thus the next events that should be enabled are

<21> AGV2 unparks<22> IPS2 → AGV2 [type 2] <23 24 25 26><28> AGV2 → WS3 [type 2], AGV2 parks<42> WS3 → AGV4 [type 2]<46> AGV4 → WS1 [type 2]<50> WS1 → AGV5 [output assembled part]

However, AGZVWSIR allows <11 10> following (+), resulting in deadlock! After <11> AGZVWSIRmust disable <21> to prevent a Zone 1 collision via <21 18 20>. Why not allow <21> after <10>?Evidently because IPSR disables <21> following <11 10>. This is because of the event interpretationthat AGV1 only exits from the common workspace of IPS1 and IPS2 by executing <13>. Only then,by IPSSPEC, can AGV2 execute <22>. The situation would not be cured by more detailed modellingof AGV1, say replacing <10> by a sequence <10 14>, with <14> the exit from workspace. However,if AGV1 executes <13> then it enters Zone 1, hence <21> still cannot be enabled lest Z1SPEC beviolated. So AGV1 must continue on to do <12>, which is impossible because WS2 has already beenbeen loaded on the previous AGV1 cycle by *<12>, and cannot be loaded again until it has beencleared by AGV3 on event <34>. But this too is impossible, because AGV3 has already been loadedfrom WS2 by #<34>.

Following (+), SUPER disallows <11 10> but in effect forces <21>, so deadlock is prevented. Inother words, SUPER prevents deadlock by forcing AGV2 into action, which eventually allows transfers<22>IPS2 → AGV2, <28>AGV2 → WS3, <42>WS3 → AGV4, <46>AGV4 → WS1. The result isto allow AGV1 to execute <11 10 13> and the transfer <12>AGV1 → WS2.

165

Page 183: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

We conclude that the blocking/deadlock situation is rather complicated because of the interplay ofseveral subsystems and their mutual constraints. Thus a modular solution (if one exists) might turnout to be complicated as well. In the present example it is now evident that deadlock is due to“choking” on too many input parts allowed into the system at one time. With this in mind we examinethe global I/O behavior IOSUPER (Fig.4.7.4) which exhibits how inputs (or work-in-progress) must beconstrained if deadlock is to be prevented. Thus we attempt to convert IOSUPER into a controllableversion which, as a modular supervisor, would yield the same result for controlled behavior.

Provisional decentralized control

We can obtain an acceptable result in two different ways. The first is simply to convert IOSUPERdirectly by moving the uncontrollable events in their respective AGVs back to their nearest controllableevents upstream in the parts flow (i.e. <10>→<11>, <22>→<21> and <52>→<53>).

BUXR125 = Convert(IOSUPER,[[10,11],[22,21],[52,53]]) (29,64)

BUXR = Sync(BUXR125,ALL) (29,731) Blocked events = None

BUXR = Condat(AGV,BUXR) Controllable.

true = Nonconflict(AGV,BUXR)

ZWSIBR = Meet(ZWSIR,BUXR) (14813,72482)

TEST = Meet(AGV,ZWSIBR) (4406,11338)

true = Isomorph(SUPER,TEST;identity)

This confirms that BUXR does indeed provide the correct coordinating control action to remove theblocking. We could also have obtained BUXR by projecting SUPER onto the controllable eventsidentified above:

CUXR125 = Project(SUPER,Image[11,21,53]) (29,64)

true = Isomorph(CUXR125,BUXR125;identity)

166

Page 184: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Provisional conclusion

To identify the coordinating control action required to remove (possible) blocking (often deadlock)from the action of synchronized modular supervisors, one may need to examine the global (optimal)behavior as projected onto the relevant input/output events. This could entail trial-and-error, requiringhuman insight. The fact is that blocking and deadlock can arise from quite subtle interactions of thevarious plant components and modular controllers, and the rectifying control action may well be rathernonobvious. Deadlock in an I/O system will usually occur because the system becomes “choked” withinput items, and this will occur relatively far down the reachability tree of blocking behavior. Thismeans that the required coordinating modular controller may be rather complex.

In the present example our provisional result is acceptable. Corresponding to the 8 specifications Z1, Z2,Z3, Z4, WS1, WS2, WS3, IPS we obtained 8 modular supervisors of state size 2, 2, 2, 2, 4, 2, 2, 2 havingproduct size 512. The resulting product supervisor failed to be nonblocking for the plant. Investigationshowed that to achieve nonblocking required the controlled removal of 4424-4406=18 states. Thiswas achieved using “input/output heuristics” to obtain an auxiliary, ninth modular supervisor, orcoordinator, of 29 states. The combination of all 9 modular supervisors was verified to be control-equivalent to the (optimal) monolithic centralized supervisor.

3

27

22

22

22

22

22

22

52

52

0 10 1 10 10

525222

5222

5222

10 10 10 10 13

5252525222

5222

10 10 10 10 10 20

225252

225252

22

9 10101010

5222 22 22 22

525252

1010101016

5222

5222

5222

2623

85

642

19 22 25

21181512

11 14 17

7 10

6

1024

28

3

27

22

22

22

22

22

22

52

52

0 10 1 10 10

525222

5222

5222

10 10 10 10 13

5252525222

5222

10 10 10 10 10 20

225252

225252

22

9 10101010

5222 22 22 22

525252

1010101016

5222

5222

5222

2623

85

642

19 22 25

21181512

11 14 17

7 10

6

1024

28

Fig. 4.7.4 - IOSUPERInput-output controlled behavior

167

Page 185: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

3

22

22

22

22

22

22

52

52

0 10 10 10

525222

5222

52

10 10 10 10

5252525222

52

10 10 10 10 10

225252

225252

9 10101010

5222 22 22 22

525252

10101010

5222

5222

5222

85

42 7

6

10

15

10

52

10

22

22

22

22

22

10

10 10 10 10

2252

23 27 30 32

10

52

1

11

16 20

13 17 21 25

1418 22 26 29

19

24

28

31

33

22

22

22

22

12

3

22

22

22

22

22

22

52

52

0 10 10 10

525222

5222

52

10 10 10 10

5252525222

52

10 10 10 10 10

225252

225252

9 10101010

5222 22 22 22

525252

10101010

5222

5222

5222

85

42 7

6

10

15

10

52

10

22

22

22

22

22

10

10 10 10 10

2252

23 27 30 32

10

52

1

11

16 20

13 17 21 25

1418 22 26 29

19

24

28

31

33

22

22

22

22

12

Fig. 4.7.5 - PAGVZWSInput-output controlled behavior with IPSSPEC omitted

Refined decentralized control

To refine our approach to decentralized control of the AGV system we employ a decomposition and‘direct’ method due to L. Feng. For this we make the important preliminary observation that the zonalspecifications ZiSPEC and their reduced modular supervisors ZiR (i = 1, 2, 3, 4) can be temporarilydisregarded. In justification bring in

IPSWSSPEC = meet (IPSSPEC, WSSPEC) (48,940)

IPSWSSUP = supcon (AGV, IPSWSSPEC) (7800,26248)

for the combined IPS and WS specifications and corresponding optimal controlled behavior. Now weverify

nonconflict (ZSUP, IPSWSSUP) = true

namely ZSUP can introduce no new blocking behavior if IPSWSSUP is nonblocking already. ByProposition 4.2.2 we conclude

ZWSISUP = supcon (AGV, ZWSISPEC) (4406,11338)

≃ meet (ZSUP, IPSWSSUP)

168

Page 186: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

where ≃ denotes isomorphism. This means that global optimal supervision is achieved by onlinesupervision of the combined zonal specifications, and the combined input-parts and workstation speci-fications, independently. Thus it will be sufficient to construct a refined decentralized supervisor thatis control-equivalent to IPSWSSUP.

To this end we make the second key observation that WS1SPEC can be decomposed as

WS1SPEC = sync (WS13SPEC, WS14SPEC),

separating the couplings of WS1 to AGV3 and AGV4, as displayed below.

32

3246

46

32

50 50

46

50

WS1SPEC WS13SPEC WS14SPEC

We can now present the control flow of IPSWSSPEC as shown in Fig. 4.7.6.

32

34

12

23 13

28

42

46

22 10

50 50

AGV2 AGV1

AGV4

AGV5

AGV3

WS14 WS13

WS3 WS2

IPS

Fig. 4.7.6

Control Flow of IPSWSSPEC

169

Page 187: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

In Fig. 4.7.6, ovals denote specifications (with the suffix “SPEC” omitted). The WSj(j=13,14,2,3)are buffers, while IPS is considered a ‘server’ that is shared by AGV1 and AGV2 providing to eachan independent service: the supply of part type 1 by event 10 to AGV1, or type 2 by event 22 toAGV2. Notice that the temporary removal of the ZiSPEC, and the decomposition of WS1, haveresulted in a control flow of ‘parallel’ type that is logically transparent.

In the usual way we begin the modular control design by computing reduced supervisors (suffixSIM) for each of the 5 specifications pictured in Fig. 4.7.6:

AGV35 = sync (AGV3, AGV5) (16,32)

WS13SUP = supcon (AGV35, WS13SPEC) (24,40)

WS13SUP = condat (AGV35, WS13SUP)

WS13SIM = supreduce (AGV35, WS13SUP, WS13SUP) (2,12)

AGV45 = sync (AGV4, AGV5) (24,48)

WS14SUP = supcon (AGV45, WS14SPEC) (34,58)

WS14SUP = condat (AGV45, WS14SUP)

WS14SIM = supreduce (AGV45, WS14SUP, WS14SUP) (2,15)

AGV13 = sync (AGV1, AGV3) (16,32)

WS2SUP = supcon (AGV13, WS2SPEC) (24,40)

WS2SUP = condat (AGV13, WS2SUP)

WS2SIM = supreduce (AGV13, WS2SUP, WS2SUP) (2,12)

AGV24 = sync (AGV2, AGV4) (48,96)

WS3SUP = supcon (AGV24, WS3SPEC) (62,110)

WS3SUP = condat (AGV24, WS3SUP)

WS3SIM = supreduce (AGV24, WS3SUP, WS3SUP) (2,21)

AGV12 = sync (AGV1, AGV2) (32,64)

IPSSUP = supcon (AGV12, IPSSPEC) (24,42)

170

Page 188: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

IPSSUP = condat (AGV12, IPSSUP) (24,42)

IPSSIM = supreduce (AGV12, IPSSUP, IPSSUP) (2,16)

Combining these results we compute

MODSIM0 = sync (WS13SIM, WS14SIM, WS2SIM, WS3SIM, IPSSIM) (32,416)

but find, as expected,

nonconflict (AGV, MODSIM0) = false

It remains to construct a coordinator, and Fig. 4.7.6 suggests how this should be done. Note thatthe left-hand and right-hand branches

L = AGV2 - WS3 - AGV4 - WS14

R = AGV1 - WS2 - AGV3 - WS13

can each hold at most 4 workpieces, written |L| ≤ 4, |R| ≤ 4, say. If |L| reaches 4 while |R| = 0 thenevent 50 is blocked. Having just executed event 22, AGV2 is held at state 4 by disablement of event23, as otherwise it could uncontrollably execute event 28 and overflow WS3. By IPSSPEC, event 10is therefore blocked, so |R| is held at 0 indefinitely, and the system deadlocks.

By this argument and its symmetric counterpart a coordinator should enforce the condition ||L| −|R|| ≤ 3, as expressed by the control-flow specification CFSPEC shown below.

10 10 10 10 10 10

22 22 22 22 22 22

CFSPEC

From this we obtain

CFSUP = supcon (AGV12, CFSPEC) (204,396)

CFSUP = condat (AGV12, CFSUP)

CFSIM = supreduce (AGV12, CFSUP, CFSUP) (7,78)

Now we are ready to compute

MODSIM1 = sync (MODSIM0, CFSIM) (224, 2816)

171

Page 189: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

and find, as we hoped,

nonconflict (AGV, MODSIM1) = true

Furthermore the controlled behavior

TEST = meet (AGV, MODSIM1) (7800, 26248)

is exactly as required, namely

isomorph (TEST, IPSWSSUP) = true

We have now justified the full modular supervisor with 10 components

Z1R, Z2R, Z3R, Z4R, WS13SIM, WS14SIM, WS2SIM, WS3SIM, IPSSIM, CFSIM

All but CFSIM have state size 2, while |CFSIM| = 7.

While straightforward and easily understood, the foregoing approach to modular supervision hasinvolved some large-scale computation at the level of monolithic design. In fact this could be avoidedby suitable analysis and the use of abstraction, for which the reader may consult the original work ofL. Feng cited in Sect. 4.11 below.

4.8 Decentralized Supervision by Natural Projection

An approach to decentralized supervision that is often effective is to base the design of each modularcomponent supervisor on a natural projection of the monolithic plant on suitable local components.This will be feasible especially when the plant G is the synchronous product of components Gi overpairwise disjoint alphabets Σi, and when each specification involves only a small subset of the Gi.Projection onto a subset amounts to forming the synchronous product of Gi over this subset alone,hence runs no risk of the exponential state explosion attendant on natural projection in general (cf.Exercise 3.3.14). A convincing example is the decentralized AGV supervisor of Sect. 4.7.

In this section we explore ‘supervision by projection’ in somewhat greater generality. Consider firsta DES G over the alphabet Σ. For simplicity assume that G is trim, so L(G) = Lm(G). Let Σ0 ⊆ Σbe a subalphabet of “observable events” and let P : Σ∗ → Σ∗

0 be the corresponding natural projection.The “observer’s local model” is then the projection G0 of G on Σ0, namely

Lm(G0) = PLm(G), L(G0) = PL(G)

With Σ = Σc∪Σu as usual, we define

Σ0c = σ ∈ Σc|Pσ = σ = Σ0 ∩ Σc

Σ0u = σ ∈ Σu|Pσ = σ = Σ0 ∩ Σu

172

Page 190: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

thus assigning control structure to G0.

Let E0 ⊆ Lm(G0) be a specification language for the controlled behavior of G0; in other words, ourspecification is declared ‘locally’ (in G0) rather than ‘globally’ (in G), and we consider that a ‘localsupervisor’ can be assigned to G0. To this end we let C0 be the family of controllable sublanguages ofL(G0) and write

K0 := sup C0(E0)

for the supremal controllable sublanguage of E0 in G0. Of course we have

K0 ⊆ E0 ⊆ Lm(G0), K0 ⊆ Lm(G0) = L(G0)

The action of a supervisor implementing K0 in G0 is to disable only events in Σ0c. The correspondingglobal supervisory action can be described as follows. Let

H := P−1(K0) ∩ L(G)

Then H is closed, H ⊆ L(G), and

PH = K0 ∩ PL(G) = K0 ∩ L(G0) = K0

We claim that H is globally controllable, namely as a sublanguage of L(G). For this let s ∈ H, σ ∈Σu, sσ ∈ L(G). If Pσ = ǫ then

P (sσ) = Ps ∈ K0

hence sσ ∈ P−1(K0) ∩ L(G) = H ; while if Pσ = σ ∈ Σ0u, then

(Ps)σ ∈ K0Σ0u

and(Ps)σ = P (sσ) ∈ PL(G) = L(G0)

so(Ps)σ ∈ K0Σ0u ∩ L(G0) ⊆ K0

by controllability of K0. Again we have sσ ∈ H , and the claim is proved.

It remains to identify H as the ‘induced’ implementation of K0 in G. Formally, let s ∈ H, σ ∈ Σc.Then sσ ∈ H implies P (sσ) ∈ K0. If Pσ = σ ∈ Σ0c then (Ps)σ ∈ K0, i.e. σ is enabled following Ps inK0. Conversely if s0σ ∈ K0 with σ ∈ Σ0c, and sσ ∈ L(G) with Ps = s0, then P (sσ) = s0σ, and

sσ ∈ P−1(K0) ∩ L(G) = H

namely s ∈ H (as H is closed) and σ is enabled following s. The conclusion is that a local supervisor,say S0, for G0 with control over events in Σ0c could be implemented (if need be) by a global supervisorS for G with controllable event set Σ0c ⊆ Σc. However, the information available to S following a

173

Page 191: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

string s ∈ L(G) is only Ps ∈ L(G0). Because of this informational abstraction it cannot be expectedthat S is globally ‘optimal’, as we shall see.

For the same reason, it cannot be expected that S is nonblocking for G (i.e. nonconflicting withG), even though (by construction) S0 is nonblocking for G0. For global nonblocking we need to imposea new condition on P of observational consistency. Say P is an Lm(G)-observer if

(∀s ∈ L(G))(∀w ∈ Σ∗0)(Ps)w ∈ Lm(G0)

=⇒ (∃v ∈ Σ∗)sv ∈ Lm(G) & P (sv) = (Ps)w

Namely, whenever s ∈ L(G), and Ps ∈ L(G0) can be extended to a marked string of G0, then s canbe extended to a marked string of G with the same projection.

Let the natural projection P : Σ∗ −→ Σ∗0 be an Lm(G)-observer, and define

E := P−1(E0) ∩ Lm(G)

K := P−1(K0) ∩ Lm(G)

Proposition 4.8.1

Under the stated conditions, K = H , K is controllable, and

K ⊆ sup C(E)

Proof

We first show that P−1(K0) and Lm(G) are nonconflicting. Let

s ∈ P−1(K0) ∩ Lm(G)

so that s ∈ L(G) and sx ∈ P−1(K0) for some x ∈ Σ∗. So

P (s)P (x) = P (sx) ∈ K0 ⊆ Lm(G0)

and by the observer property (with w = Px) there is v ∈ Σ∗ with sv ∈ Lm(G) and P (sv) = P (sx).Therefore

sv ∈ P−1(K0) ∩ Lm(G)

namelys ∈ P−1(K0) ∩ Lm(G)

as required. We now haveK = P−1(K0) ∩ Lm(G)

= P−1(K0) ∩ L(G)

= H

174

Page 192: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

and therefore K is controllable (because H is). Clearly K ⊆ E, and therefore K ⊆ sup C(E), asclaimed. 2

Note that E can be thought of as the global counterpart of the local specification E0. A markingnonblocking supervisor S for G that globally synthesizes K provides the global counterpart of S0.

As suggested at the beginning of this section, it will often be true in the application that G is asynchronous product of independent components over disjoint alphabets, say

G = sync (G′,G′′)

i.e.Lm(G) = Lm(G′) ‖ Lm(G′′), L(G) = L(G′) ‖ L(G′′)

Here we denote the corresponding alphabets by Σ′,Σ′′ with Σ′ ∩ Σ′′ = ∅, so the above synchronousproducts of languages are simply shuffles. Let Σ := Σ′∪Σ′′, Σ0 := Σ′ and, as before, P : Σ∗ → Σ∗

0. Itis not hard to see that the Lm(G)–observer property for P is satisfied automatically. Furthermore

H = (K0 ‖ Σ′′∗) ∩ [L(G′) ‖ L(G′′)]

= K0 ‖ L(G′′)

E = (E0 ‖ Σ′′∗) ∩ [Lm(G′) ‖ Lm(G′′)]

= E0 ‖ Lm(G′′)

K = K0 ‖ Lm(G′′)

In summary, supervisor design for G′ is unaffected by the presence of G′′ as long as Σ′ and Σ′′

are disjoint. If G′′ as well as G′ is trim, so that Lm(G′′) = L(G′′), then Lm(G′′) is automaticallycontrollable, with the pleasant consequence (left to the reader to verify) that K = sup C(E), instead ofmerely (⊆) as in the general discussion.

To complete this section we briefly describe an extension to the case where several projections ofG are controlled concurrently. Thus assume G is given, defined over Σ, and several subalphabetsΣi ⊆ Σ(i ∈ I) are selected for observation by independent local observers. Define projections Gi(i ∈ I)such that

Lm(Gi) = PiLm(G), L(Gi) = PiL(G), i ∈ I

where Pi : Σ∗ → Σ∗i (i ∈ I) are the natural projections. Assuming as usual Lm(G) = L(G), there

follows Lm(Gi) = L(Gi)(i ∈ I). Local control structure is assigned to the Gi as before:

Σic := Σi ∩ Σc, Σiu = Σi ∩ Σu, i ∈ I

and the controllable sublanguage classes Ci(·) are defined for each Gi in the expected way.

We assume that local specification languages Ei ⊆ Lm(Gi) are given, for which we compute Ki =sup Ci(Ei)(i ∈ I). As before, the ith local supervisor (synthesizing Ki) induces global closed controllablebehavior

Hi = P−1i (Ki) ∩ L(G), i ∈ I

175

Page 193: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

The concurrent action of all local supervisors is then the global closed controllable behavior

H =⋂

Hi |i ∈ I

Clearly PiH ⊆ Hi(i ∈ I), but in general equality fails, as the Hi impose synchronization constraints onone another.

To obtain the desired extension of Proposition 4.8.1 we shall need a correspondingly strengthenedversion of the observer property, which applies uniformly across the index set I. For ease of writing letI = 1, ..., k. Accordingly, we say that the family Pi|i ∈ I is an I-fold Lm(G)-observer if

(∀s ∈ L(G)) (∀t1...tk)[(∀i ∈ I)ti ∈ Lm(Gi) & Pis ≤ ti]

=⇒ (∃v ∈ Σ∗)sv ∈ Lm(G) & (∀j ∈ I)Pj(sv) = tj

Namely, whenever s ∈ L(G), and each Pis ∈ L(Gi) can be extended to a marked string of L(Gi)respectively, then s can be extended to a marked string of G with the same I-fold projection.

Lemma 4.8.1

Let Pi|i ∈ I be an I-fold Lm(G)-observer. Then the family P−1i (Ki)|i ∈ I is I-fold nonconflict-

ing, in the sense that

⋂P−1

i (Ki)|i ∈ I ∩ L(G) =⋂

P−1i (Ki)|i ∈ I ∩ L(G)

Proof

It is enough to prove (⊇). With s ∈ P−1i (Ki) ∩ L(G)(i ∈ I) there exist ti ∈ Σ∗

i such that

Pis ≤ ti ∈ Ki ⊆ Lm(Gi), i ∈ I

By the I-fold observer property there is v ∈ Σ∗ with sv ∈ Lm(G) and Pj(sv) = tj(j ∈ I). Therefore

sv ∈⋂

P−1j (Kj)|j ∈ I

namely

s ∈⋂

P−1j (Kj)|j ∈ I

as required. 2

Now define

E :=⋂

P−1i (Ei)|i ∈ I ∩ Lm(G)

K :=⋂

P−1i (Ki)|i ∈ I ∩ Lm(G)

Then we have the following extension of Proposition 4.8.1.

176

Page 194: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Proposition 4.8.2.

Let Pi|i ∈ I be an I-fold Lm(G)-observer. Then K = H , K is controllable, and K ⊆ sup C(E).

Proof

Using the I-fold observer property we easily confirm that the two languages⋂

P−1i (Ki)|i ∈ I, Lm(G)

are nonconflicting. From this it follows that

K =⋂

P−1i (Ki)|i ∈ I ∩ Lm(G)

By Lemma 4.8.1 and the assumption that G is trim,

K =⋂

P−1i (Ki)|i ∈ I ∩ L(G)

= H

as claimed. Thus K is controllable. Clearly K ⊆ E and so K ⊆ sup C(E). 2

Our discussion has shown that synthesizing each Ki locally in Gi is equivalent to globally synthesiz-ing K. The I-fold observer property for the Pi will guarantee that the synthesis is globally nonblockingfor G.

We conclude with a remark on optimality. As suggested before, G will often be given as a syn-chronous product of independent trim components, say G′

j(j ∈ J), over disjoint alphabets Σ′j . In the

typical case considered above, each Σi will be precisely a disjoint union of form

Σi =⋃

Σ′j |j ∈ Ji

for some subset Ji ⊆ J . Thus Gi can be taken as precisely the synchronous product of the G′j over

j ∈ Ji. Then for each i ∈ I we can write

G = sync(Gi,G′′i )

where G′′i is defined over

Σ − Σi =⋃

Σ′j |j ∈ J − Ji

and the above synchronous product is simply a shuffle.

It follows that, for instance,

Ei := P−1i (Ei) ∩ Lm(G) = Ei ‖ Lm(G′

j)|j ∈ J − Ji, i ∈ I

Ki := P−1i (Ki) ∩ Lm(G) = Ki ‖ Lm(G′

j)|j ∈ J − Ji, i ∈ I

From this it is easy to see that each local control will be globally optimal, in the sense that

Ki = sup C(Ei), i ∈ I

177

Page 195: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

NowE =

⋂Ei|i ∈ I, K =

⋂Ki|i ∈ I

and therefore

K =⋂

Ki =⋂

sup C(Ei)

⊇ sup C

(⋂Ei

)

= sup C(E)

As we already know by Proposition 4.8.2 that K is controllable and K ⊆ E, it follows that K =sup C(E), namely K is globally optimal as well.

In summary: When G is the shuffle of trim components, and when the specifications are ‘localizable’to component groups (indexed i ∈ I) subject to the I-fold observer property, then concurrent optimalnonblocking local control for each group provides global control that is also optimal and nonblocking.However, it should be recognized that the I-fold observer property is only a sufficient condition, and maywell be too strong for most practical applications. In practice other methods of ensuring nonblockingmay be preferred which are likely to be case-dependent (cf. Sect. 4.7).

Exercise 4.8.1: Taking the index sets J = 1, 2, 3, J1 = 1, 2, J2 = 1, 3, I = 1, 2, constructexamples of (G′

1,G′2,G

′3) over pairwise disjoint alphabets (Σ′

1,Σ′2,Σ

′3) for which the I-fold observer

property is (resp. is not) satisfied.

Exercise 4.8.2: Investigate the applicability of the results of this section to the AGV system of Sect.4.7.

4.9 Reasoning About Nonblocking

In many applications the verification that the closed-loop languages implemented by individual modularcontrollers are nonconflicting can be achieved by exploiting plant structure and its relation to the taskdecomposition on which the modularity is based. For example, in Small Factory the overall supervisorytask was decomposed into subtasks corresponding to ‘normal operation’ and ‘breakdown and repair’,of which the latter in a natural sense precedes the former: if either or both machines are broken down,then repair them before continuing with production. To verify that modular supervision is nonblocking,it suffices to show, roughly speaking, that at any state of the system MODSUP/FACT a breakdownand repair subtask (possibly null) can be completed first, followed by the completion of a normaloperation subtask, in such a way that the system is brought to a marker state. The success of thismaneuver depends on the fact that the subtasks of the modular decomposition are ordered in a naturalsequence.

We present a simple formalization of this idea on which the reader may model his own versions inthe context of more elaborate examples. Adopting the notation of Section 4.2, let

Si = (Xi,Σ, ξi, xoi, Xmi) i = 1, 2

178

Page 196: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

For simplicity we assume that Xm2 is a singleton xm2. Now define

Σ1 = σ ∈ Σ|(∀x ∈ X1)ξ1(x, σ)!

In particular Σ1 will include the events that are selflooped at each state of S1, these being the eventsto which the operation of S1 is indifferent, namely the events that are irrelevant to the execution ofS1’s subtask; and these events will typically include those that are relevant to S2. Next define

Σ2 = σ ∈ Σ|ξ2(xm2, σ) = xm2

Thus Σ2 is the subset of events that are selflooped at xm2 in S2, hence to which S2 is indifferent uponcompletion of its subtask. We impose two structural conditions on S1 ∧ S2:

(i) (∀s ∈ L(S2/G))(∃t ∈ Σ∗1) st ∈ Lm(S2) ∩ L(G)

(ii) (∀s ∈ L(S1/G) ∩ Lm(S2))(∃t ∈ Σ∗2) st ∈ Lm(S1/G)

Condition (i) says that any string of G that is accepted (but not necessarily marked) by S2 can becompleted to a marked string of S2 by means of a string that is accepted by G and S1. Condition (ii)states that any string that is accepted by G and S1 and marked by S2 can be completed to a markedstring of both S1 and G by means of a string to which S2 is indifferent (with S2 resident in xm2).

Theorem 4.9.1

Let S1 and S2 be proper supervisors for G. Subject to conditions (i) and (ii) above, the supervisorS1 ∧ S2 is nonblocking for G.

Proof

Let s ∈ L((S1∧S2)/G). It must be checked that there exists t ∈ Σ∗ such that st ∈ Lm((S1∧S2)/G).Since s ∈ L(S2/G), by condition (i) there is u ∈ Σ∗

1 such that su ∈ Lm(S2) ∩ L(G). By definition ofΣ1 and the fact that s ∈ L(S1/G) it follows that su ∈ L(S1/G); therefore su ∈ L(S1/G) ∩ Lm(S2).By condition (ii) there is v ∈ Σ∗

2 such that suv ∈ Lm(S1/G); and by definition of Σ2 we also havesuv ∈ Lm(S2). This shows that

suv ∈ Lm(S1) ∩ Lm(G) ∩ Lm(S2) = Lm((S1 ∧ S2)/G)

and the result follows on setting t = uv. 2

As a straightforward illustration, we apply Theorem 4.9.1 to Small Factory. Set G = FACT,S1 = BUFSUP and S2 = BRSUP. Then we have

Σ1 = λ1, µ1, β2, λ2, µ2, Σ2 = µ1, α1, β1, λ1, α2, β2

179

Page 197: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Let s ∈ L(BRSUP/FACT). Call the states of BRSUP ‘idle’ and ‘active’. If BRSUP is active(MACH2 is broken down), then let u1 := µ2 (repair MACH2), otherwise u1 := ǫ (do nothing). Callthe states of MACHi ‘idle’, ‘working’ and ‘down’. If after s was generated MACH1 was down thenlet u2 := µ1 (repair MACH1), otherwise u2 := ǫ (do nothing); and set u := u1u2. Then u is acceptedby BUFSUP, and after su BRSUP is resident at its marker state ‘idle’. Now use the fact thatwith each of MACH1 and MACH2 either idle or working there is a string v accepted by BUFSUPthat returns both machines to idle and BUFSUP to its marker state (where the buffer is empty),while always keeping BRSUP idle. The string uv then suffices to show that BUFSUP ∧ BRSUP isnonblocking.

Exercise 4.9.1: Apply Theorem 4.9.1 (or a suitable variation thereof) to show that the modularsupervisor for Big Factory (Section 4.5) is nonblocking. Repeat the exercise for Transfer Line (Section4.6).

Exercise 4.9.2: Consider a manufacturing cell consisting of a robot (ROB), input conveyor (IN-CON), input buffer (INBUF), machining station (MS), output buffer (OUTBUF), and outputconveyor (OUTCON). The operations of MS are to download and initialize the machining program,accept a workpiece from INBUF, machine it to the specified dimensions, and place it in OUTBUF.The preconditions for the process to start are that MS should be idle and a workpiece should beavailable at INBUF. ROB transfers a workpiece from INCON to INBUF, provided a workpieceis available, ROB is free, and INBUF is empty. Similarly, ROB transfers a completed workpiecefrom OUTBUF to OUTCON. INBUF (resp. OUTBUF) can be in one of the states: empty (full),being loaded (being unloaded) by the robot, or full (empty). A workpiece follows the path: INCON,INBUF, MS, OUTBUF, OUTCON.

Develop a DES model for the workcell with plausible assignments of controllable and uncontrollableevents. Investigate both centralized and modular supervision, subject (at least) to the specificationsthat the buffers never overflow or underflow, and that the supervised system is nonblocking.

Exercise 4.9.3: Four jobs A1, A2, A3, A4 are to be done with two tools T1, T2. Each job is to bedone exactly once. A1 consists of an initial operation using T1, then a final operation using both T1and T2. A2 consists of an initial operation using T2, then a final operation using both T2 and T1.A3 uses only T1; A4 uses only T2. The four jobs can be done in any order; interleaving of severaljobs at a time is permitted.

The jobs are identified with corresponding “agents”; thus “Ai does job i.” Model T1 on two states,with transitions [0,i11,1] (i=1,2,3) to mean “Ai acquires T1, and [1,i10,0] to mean “Ai releases T1.”Similarly T2 is modelled on two states with transitions [0,i21,1],[1,i20,0] (i=1,2,4). After a job isfinished, the tool or tools are released, in any order, and finally a “job completed” signal is output(event i00, i=1,2,3,4). Thus A1, A2 are each modelled on 6 states, A3 and A4 on three. Therequirement that the ith job be done exactly once is modelled by the two-state automaton Di in whichonly state 1 is marked, and the appropriate event i?1 disabled there to prevent a repetition. PLANT

180

Page 198: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

is the synchronous product of A1, A2, A3, A4; SPEC is the synchronous product of T1, T2, D1,D2, D3, D4, ALL, where ALL is obtained from allevents.

Find the global supervisor by supcon, and then reduce it using supreduce. Compute variousprojections of interest: for instance, focus on tool usage but (by means of relabel) blur the identity ofagents, or focus on agents but blur the identity of tools.

To construct a modular supervisor, first note that PLANT and T (= sync(T1,T2,ALL)) conflict,since for instance if A1 takes T1 (event 111) and immediately afterwards A2 takes T2 (event 221)then deadlock occurs; and similarly for the event sequence 221,111. These sequences can be ruled outa priori by suitable specifications (conflict resolvers).

Exercise 4.9.4: Consider agents A1, A2, A3, each defined on two states with the initial state (only)marked.

A1 has transitions [0, γ, 0], [0, α, 1], [1, α, 0]A2 [0, γ, 0], [0, β, 1], [1, β, 0]A3 [0, γ, 1], [1, γ, 0]

A1 and A2 can be thought of as operating two switches which control A3. If both switches are RESET(state 0) then A3 can make the transition [1,γ,0] and return home, but if either switch is SET then A3is blocked at state 1. Clearly A1 and A2 can cycle in such a way that, once A3 has entered its state1, it remains blocked forever. Despite this, the overall system A = sync(A1,A2,A3) is nonblockingin the DES sense. Suggest a possible cure.

Exercise 4.9.5: Dining Philosophers

In this famous problem (due to E.W. Dijkstra) five philosophers (P1, ...,P5), who spend their livesalternately eating and thinking, are seated at a round table at the center of which is placed a bowl ofspaghetti. The table is set with five forks (F1, ...,F5), one between each pair of adjacent philosophers.So tangled is the spaghetti that a philosopher requires both forks, to his immediate right and left, inorder to eat; and a fork may not be replaced on the table until its user has temporarily finished eatingand reverts to thinking. No a priori constraint is placed on the times at which a philosopher eats orthinks.

Design modular supervisors which guarantee that (1) a fork is used by at most one philosopher ata time, and (2) every philosopher who wishes to eat can eventually do so – i.e. no one is starved outby the eating/thinking habits of others. Hint: Model each P on states [0] Thinking, [1] Ready, and[2] Eating, with the transition from [1] to [2] controllable; and each F on two states [0] Free and [1]In use. You may assume that a philosopher can pick up and replace both his forks simultaneously. Afair way to prevent starvation could be to require that no philosopher may commence eating if either ofhis two neighbors has been ready longer. For this, equip each philosopher with a queue which he andhis two neighbors enter when they are ready to eat. Note that the queue for Pi should not distinguishbetween P(i-1) and P(i+1), but only enforce priority between Pi and one or both of them; it may bemodelled on 9 states. Prove that, under your control scheme, anyone who is ready to eat is guaranteed

181

Page 199: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

eventually to be able to do so: this is a stronger condition than ‘nonblocking’, as it prohibits ‘livelock’behavior such as P2 and P5 cycling in such a way as to lock out P1.

A TCT modular solution along these lines produced a combined on-line controller size of (1557,5370)with corresponding controlled behavior of size (341,1005).

Next assume that no philosopher dawdles longer than 1 minute if Ready and enabled to eat, orspends more than 9 minutes Eating. Show that a philosopher need wait at most 40 minutes at Readybefore Eating. Hint: As a worst case for P5, suppose that initially P1, P2,...,P5 enter Ready withoutdelay and in that order.

Exercise 4.9.6: Manufacturing cell with interacting loops

Consider the manufacturing cell displayed, consisting of 2 machines M1, M2; and 4 buffersBUF1,...,BUF4. The cell runs 2 production sequences, for workpieces of types 1,2 respectively. Thesequences share use of M1, M2, but employ separate buffers:

#1 : IN11−→M1

15−→BUF133−→M2

35−→BUF313−→M1

17−→OUT

#2 : IN21−→M2

45−→BUF423−→M1

25−→BUF243−→M2

27−→OUT

Numbers on the arrows are event labels; all events are controllable. Each buffer has capacity 1. Thespecification is no buffer overflow, together with system nonblocking (with marked initial state formachines and buffers). M1 and M2 have similar structure, with events as displayed.

Sequence Event Interpretation

1

11 M1 takes a type #1 workpiece at IN15 M1 deposits result in BUF133 M2 takes #1 wp from BUF135 M2 deposits result in BUF313 M1 takes #1 wp from BUF317 M1 sends finished #1 wp OUT

2

21 M2 takes a type #2 workpiece at IN45 M2 deposits result in BUF423 M1 takes #2 wp from BUF425 M1 deposits result in BUF243 M2 takes #2 wp from BUF227 M2 sends finished #2 wp OUT

182

Page 200: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

2

3

02 1 0

3

12

3

02 1 0

3

133

M213 17

23 11

1525

27

45

21

35

43M1

M2

#1 IN

33

1513

35

2325

21

11

27

17

4543

#2 IN

M1

BUF2 BUF3BUF4BUF1

#2 OUT

#1 OUT

183

Page 201: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

In the usual way compute the monolithic supervisor SUPER (225,472), which may be reduced toSIMSUP (38,258; slb=32). For decentralized control, start with BUF1,...,BUF4 as representationsof their individual specifications; combine these with M1, M2 to form CELL. As the latter fails to benonblocking, it turns out that several coordinators are needed. Construct these as follows: COORD1(resp. COORD2) enforces that at most 3 #1 (resp. #2) workpieces can be in progress at any time;COORD3 enforces that at most 3 workpieces of either kind can be admitted to the system beforea transfer to the second stage of processing (i.e. to M2 via event 33 for #1 or to M1 via event23 for #2); COORD4 enforces that at most 3 workpieces of either kind can be transferred to thesecond stage of processing (events 23,33) before a transfer to the output stage (events 13,43). Eachcoordinator can be modeled on 4 states. Verify that the decentralized architecture comprising the4 2-state buffer controllers plus the 4 4-state coordinators achieves optimal nonblocking supervision.Analyse the system behavior to explain the rationale underlying this approach.

Repeat this exercise after relabeling the following controllable events to their more ‘natural’ uncon-trollable counterparts: relabel (15,17,25,27,35,45) to, say, (14,16,24,26,34,44) respectively. Explain the(perhaps surprising) difference between the two decentralized architectures.

4.10 Synchronization and Event Hiding

Individual DES can be combined into modules by synchronization followed by projection to achieveevent hiding and thus encapsulation. However, care must be taken not to attempt to synchronizean uncontrollable specification with a generator, with respect to an uncontrollable event. The correctprocedure would be to compute the supremal controllable sublanguage, and then hide the uncontrollableevent. Also, care must be taken not to produce blocking or deadlock.

Example 4.10.1: Small Factory

Define MACH1, MACH2, BUF2 [buffer with 2 slots] as usual. To plug MACH1 into BUF2requires synchronizing on event 10. Since 10 is uncontrollable, one must compute the supremal con-trollable sublanguage. For this, take as the specification the (uncontrollable) synchronous product ofMACH1 and BUF2: call this SPEC1; and as the plant, MACH1 self-looped with the buffer event21: call this SMACH1.

SPEC1 = sync(MACH1,BUF2) (9,17)SMACH1 = selfloop(MACH1,[21]) (3,7)SUPM1B = supcon(SMACH1,SPEC1) (7,12)

MACH1, BUF2 are now controllably synchronized on the shared event 10. Hiding this event, we get

HSUPM1B = project(SUPM1B,Null[10])

184

Page 202: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Thus HSUPM1B can be considered as a module with events 11,12,13,21. Let’s suppose that thebreakdown/repair logic is of no interest, and hide events 12,13. This gives the module

MACH3 = project(HSUPM1B,Null[12,13]) (3,5)

Now MACH3 can be synchronized with MACH2 on event 21, and events 21,22,23 hidden. Thisyields the final module MACH5, over events 11 (‘MACH1 goes to work’) and 20 (‘MACH2 outputsa product’).

MACH4 = sync(MACH3,MACH2) (9,20)MACH5 = project(MACH4,Null[21,22,23]) (4,7)

This procedure may be compared with the more standard one of ‘monolithic’ design:

MACH6 = shuffle(MACH1,MACH2) (9,24)SPEC2 = selfloop(BUF2,[11,12,13,20,22,23]) (3,22)MACH7 = supcon(MACH6,SPEC2) (21,49)MACH8 = project(MACH7,Null[10,12,13,21,22,23]) (4,7)

One now can verify that MACH8, the standard input-output model for Small Factory under control,is isomorphic with MACH5.

Example 4.10.2: Transfer Line

Systems with feedback loops should be encapsulated by working from inside a loop to the outside.For this system, M1, M2, B1, B2, TU are created as in Section 4.6. From the block diagram, itmakes sense to synchronize M2 with B2, then this result with TU.

SP1 = sync(M2,B2) (4,5)SM2 = selfloop(M2,[5]) (2,4)SUPM2B2 = supcon(SM2,SP1) (3,3)M3 = project(SUPM2B2,Null[4]) (2,2)

M3TU = sync(M3,TU) (4,7)M4 = project(M3TU,Null[5]) (3,6)

At this stage the system can be regarded as the shuffle of plant components M1 and M4, subject tothe constraint imposed by B1 alone as specification. To obtain the corresponding optimal supervisor(M6, below) we compute

185

Page 203: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

M5 = sync(M1, M4) (6,18)M5ALL = allevents (M5) (1,5)B1SPEC = sync(B1,M5ALL) (4,17)M6 = supcon(M5,B1SPEC) (15,36)

Projecting out the internal events 2,3,8 of M6, we obtain

M7 = project(M6,Null[2,3,8]) (4,6)

M7 displays the correct operation of Transfer Line with respect to input event 1 and output event 6,equivalent to a buffer of capacity 3, as shown below.

1 1 1

6 6 6

Finally we compute reduced versions of the two modular supervisors SUPM2B2 and M6 obtainedabove.

SUPM2B2 = condat(SM2,SUPM2B2)SIMM2B2 = supreduce(SM2,SUPM2B2,SUPM2B2) (2,3;slb=2)M6 = condat(M5,M6)M6SIM = condat(M5,M6SIM)M6SIM = supreduce(M5,M6,M6) (7,25;slb=7)

These can be verified correct in the usual way; for instance

TEST = meet(M5,M6SIM) (15,36)true = isomorph(M6,TEST;identity)

We can check the correctness of our decentralized supervisor as follows. Its two modular componentsyield the equivalent controller

MODSUP = sync(SIMM2B2,M6SIM) (14,59)

which is verified to incorporate all events of TL:

MODSUPAL = allevents(MODSUP) (1,7)true = isomorph(MODSUPAL,ALL;identity)

186

Page 204: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Furthermore, MODSUP is a proper supervisor for TL:

TMODSUP = trim(MODSUP) (14,59)true = isomorph(TMODSUP,MODSUP;identity)true = nonconflict(TL,MODSUP)MODSUP = condat(TL,MODSUP)

The resulting controlled behavior is

TEST = meet(TL,MODSUP) (28,65)

Comparing TEST with CSUP (Sect. 4.6), we see that TEST is optimal, in accordance with

true = isomorph(CSUP,TEST;identity)

Finally, it is of interest to compare the reduced supervisor for monolithic control, namely

CSIM = supreduce(TL,CSUP,CSUP) (8,31;slb=8)

having (minimal) size 8, with the modular reduced supervisors SIMM2B2 and M6SIM, of (minimal)sizes 2 and 7 respectively.

4.11 Notes and References

Modular (specifically, decentralized) supervisory control theory, in the sense of this chapter, originatedwith the doctoral theses of P.J. Ramadge [T01], F. Lin [T08] and K. Rudie [T23], and related papers[J06, J07, J08, J20]. The Transfer Line of Sect. 4.6 is adapted from Al-Jaar & Desrochers [1988] andDesrochers & Al-Jaar [1995].

The instructive AGV control problem of Sect. 4.7, including (essentially) Fig. 4.7.1, is due to Hol-loway & Krogh [1990], whose approach was based on Petri nets, and was not confirmed to achievenonblocking. In our version, adding the mutual exclusion Specification 5 and requiring global non-blocking, the problem is appreciably more difficult.

Details of the work by L. Feng cited in the latter part of Sect. 4.7 can be found in Sect. 4.6 of[T54]. Summary versions were reported in [C110,J56,J59]. The key concepts are control flow net,inessential or ‘harmless’ specifications (here the ZiSPEC), and abstraction using natural observerswith an output-control-consistency property.

The decentralized projection formulation of Sect. 4.8 is a variation on Lin & Wonham [J08]; theobserver property is due to K.C. Wong [T28, J30, J31], while its ‘I-fold’ extension originates here. The

187

Page 205: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

computation of local controllers for individual specifications was highlighted by Queiroz & Cury [2000].For other investigations of decentralized supervisory control see, for instance, Willner & Heymann[1991] and Akesson et al. [2002].

The robotics model of Exercise 4.9.2 was suggested by K.P. Valavanis, while the celebrated problemof the Dining Philosophers (Exercise 4.9.5) originated with E.W. Dijkstra [1971] and has been widelyreproduced in the literature on concurrency and computer operating systems.

Exercise 4.9.6 is adapted from Lin & Wonham [J16]. Our coordinators were obtained using the‘control-flow’ decomposition due to L. Feng [C110,J56,T54].

Recent approaches to decentralized supervision, including [C109], [C110], can be found among thecontributions to WODES’06; see also WODES’08.

188

Page 206: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Chapter 5

Hierarchical Supervision of Discrete-EventSystems

5.1 Hierarchical Control Structure

Hierarchical structure is a familiar feature of the control of dynamic systems that perform a rangeof complex tasks. It may be described generally as a division of control action and the concomitantinformation processing by layering, according to scope. Commonly, the scope of a control action isdefined by the extent of its temporal horizon, or by the depth of its logical dependence in a taskdecomposition. Generally speaking, the broader the temporal horizon of a control and its associatedsubtask, or the deeper its logical dependence on other controls and subtasks, the higher it is saidto reside in the hierarchy. Frequently the two features of broad temporal horizon and deep logicaldependency are found together.

In this chapter we formalize hierarchical structure in the control of discrete-event systems (DES),by means of a mild extension of the framework already introduced. While different approaches tohierarchical control might be adopted even within this restricted framework, the theory to be presentedcaptures the basic feature of scope already mentioned, and casts light on an issue that we call hierarchicalconsistency.

In outline our setup will be the following. Consider a two-level hierarchy consisting of a low-levelplant Glo and controller Clo, along with a high-level plant Ghi and controller Chi. These are coupledas shown in Fig. 5.1.1.

189

Page 207: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Chi

Clo Glo

Ghi high-level

low-level

Infhi

Conhi

Inflo

Conlo

InflohiComhilo

Fig. 5.1.1Two-Level Control Hierarchy

Our viewpoint is that Glo is the actual plant to be controlled in the real world by Clo, the operator;while Ghi is an abstract, simplified model of Glo that is employed for decision-making in an idealworld by Chi, the manager. The model Ghi is refreshed or updated every so often via the informationchannel (or mapping) labelled Inflohi (‘information-low-to-high’) to Ghi from Glo. Alternatively onecan interpret Inflohi as carrying information sent up by the operator Clo to the manager Chi: in ourmodel the formal result will be the same. Another information channel, Inflo (‘low-level information’),provides conventional feedback from Glo to its controller Clo, which in turn applies conventional controlto Glo via the control channel labelled Conlo (‘low-level control’). Returning to the high level, weconsider that Ghi is endowed with control structure, according to which it makes sense for Chi toattempt to exercise control over the behavior of Ghi via the control channel Conhi (‘high-level control’),on the basis of feedback received from Ghi via the information channel Infhi (‘high-level information’).In actuality, the control exercised by Chi in this way is only virtual, in that the behavior of Ghi isdetermined entirely by the behavior of Glo, through the updating process mediated by Inflohi. Thestructure is, however, completed by the command channel Comhilo linking Chi to Clo. The functionof Comhilo is to convey the manager’s high level control signals as commands to the operator Clo,which must translate (compile) these commands into corresponding low-level control signals which willactuate Glo via Conlo. State changes in Glo will eventually be conveyed in summary form to Ghi

via Inflohi. Ghi is updated accordingly, and then provides appropriate feedback to Chi via Infhi. Inthis way the hierarchical loop is closed. The forward path sequence Comhilo;Conlo is conventionallydesignated ‘command and control’, while the feedback path sequence Inflohi; Infhi could be referred toas ‘report and advise’.

As a metaphor, one might think of the command center of a complex system (e.g. manufacturingsystem, electric power distribution system) as the site of the high-level plant model Ghi, where a high-level decision maker (manager) Chi is in command. The external (real) world and those (operators)coping with it are embodied in Glo, Clo. The questions to be addressed concern the relationshipbetween the behavior required, or expected, by the manager Chi of his high-level model Ghi, andthe actual behavior implemented by the operator Clo in Glo in the manner described, when Glo and

190

Page 208: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Inflohi are given at the start. It will turn out that a relationship of hierarchical consistency imposesrather stringent requirements on Inflohi and that, in general, it is necessary to refine the informationconveyed by this channel before consistent hierarchical control structure can be achieved. This resultaccords with the intuition that for effective high-level control the information sent up by the operatorto the manager must be timely, and sufficiently detailed for various critical low-level situations to bedistinguished.

Exercise 5.1.1: Pyramidal hierarchy

In its simplest form, the ‘classical’ pyramidal hierarchy can be considered as a population of N‘agents’ organized into levels indexed 0, 1, 2, ..., n, starting from the top. Assume that the kth level haspopulation rk, where the ‘scope ratio’ r is constant from one level to the next; thus the total populationhas size N = 1 + r + r2 + ... + rn. In applications, r could be identified, as here, with the number ofsubordinate agents reporting directly to a given agent, or alternatively as the ratio of time horizonsfrom one level to the next lower, or the ratio of the average occurrence frequencies of significant eventsfrom one level to the next higher. In the analogous structure of nested-loop control systems, r couldbe thought of as the ratio of bandwidths in passing from a given loop to the next outermost, innerloops being fast and outer ones slow. We conjecture that in real life, the scope ratio r tends to be onthe order of 5, ranging from 2 to perhaps 10. Test this claim against examples of your own choosing,say the Mongolian armed forces, or the Pepsi-Cola Co. For instance, you could work out a value of rfrom an estimate of the total population N and the number of levels n+ 1; or else n from r and N . Ina more refined model, r might increase or decrease with rise in level; interpret, and check the numbersagain.

5.2 Two-Level Controlled Discrete-Event System

For Glo we take the usual 5-tupleGlo = (Q,Σ, δ, qo, Qm)

Here Σ is the set of event labels, partitioned into controllable elements (Σc ⊆ Σ) and uncontrollableelements (Σu ⊆ Σ); Q is the state set; δ : Q × Σ → Q is the transition function (in general a partialfunction, defined at each q ∈ Q for only a subset of events σ ∈ Σ: in that case we write δ(q, σ)!); qo isthe initial state; and Qm ⊆ Q is the subset of marker states. The uncontrolled behavior of Glo is thelanguage

Llo := L(Glo) ⊆ Σ∗

consisting of the (finite) strings s ∈ Σ∗ for which the (extended) transition map δ : Q × Σ∗ → Q isdefined.

In this section, as well as Sects. 5.3 - 5.5, we only consider the case Qm = Q, namely all the relevantlanguages are prefix-closed. This assumption is made for simplicity in focussing on the basic issue ofhierarchical consistency. The theory will be generalized to include marking and treat nonblocking inSect. 5.7.

191

Page 209: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

We recall that if G is a controlled DES over an alphabet Σ = Σc∪Σu, and K is a closed sublanguageof Σ∗, then K is controllable (with respect to G) if KΣu∩L(G) ⊆ K. To every closed language E ⊆ Σ∗

there corresponds the (closed) supremal controllable sublanguage sup C(E ∩ L(G)). In this chapter itwill be convenient to use the notation

sup C(M) =: M↑

Let T be a nonempty set of labels of ‘significant events’. T may be thought of as the events perceivedby the manager which will enter into the description of the high-level plant model Ghi, of which thederivation will follow in due course. First, to model the information channel (or mapping) Inflohi wepostulate a map

θ : Llo → T ∗

with the propertiesθ(ǫ) = ǫ,

θ(sσ) =

either θ(s)or θ(s)τ , some τ ∈ T

for s ∈ Llo, σ ∈ Σ (here and below, ǫ denotes the empty string regardless of alphabet). Such a map θwill be referred to as causal. A causal map is, in particular, prefix-preserving: if s ≤ s′ then θ(s) ≤ θ(s′).Intuitively, θ can be used to signal the occurrence of events that depend in some fashion on the pasthistory of the behavior of Glo: for instance θ might produce a fresh instance of symbol τ ′ wheneverGlo has just generated a positive multiple of 10 of some distinguished symbol σ′, but ‘remain silent’otherwise.

Exercise 5.2.1: Prove that θ : Llo → T ∗ is causal if and only if it commutes with prefix closure,namely for all sublanguages K ⊆ Llo, not necessarily closed,

θ(K) = θ(K)

Exercise 5.2.2.: Show that a prefix-preserving map θ : Llo → T ∗ need not be causal. 3

It is convenient to combine θ with Glo in a unified description. This may be done in standardfashion by replacing the pair (Glo, θ) by a Moore generator having output alphabet

To = T ∪ τo

where τo is a new symbol (6∈ T ) interpreted as the ‘silent output symbol’. To this end write temporarily

Glo = (Q,Σ, To, δ, ω, qo, Qm)

Here the items written with a tilde play the same role as in Glo, while ω : Q → To is the state outputmap. Glo is constructed so that

δ(qo, s)! iff δ(qo, s)! s ∈ Σ∗

192

Page 210: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Thus Glo generates exactly the language Llo. For ω define

ω(qo) = τo

while if δ(qo, sσ)! then

ω(δ(qo, sσ)) = τo if θ(sσ) = θ(s)

ω(δ(qo, sσ)) = τ if θ(sσ) = θ(s)τ

Thus ω outputs the silent symbol τo if θ outputs ‘nothing new’, and outputs the ‘fresh’ symbol τ ∈ Totherwise.

An abstract construction of Glo is straightforward, using the canonical identification of states withthe cells (equivalence classes) of a suitable right congruence on strings. For s, s′ ∈ Llo define

s ≡ s′ (mod Llo) iff (∀u ∈ Σ∗)su ∈ Llo ⇔ s′u ∈ Llo

Next define ω : Llo → To according to

ω(ǫ) = τo

ω(sσ) =

τo if θ(sσ) = θ(s)τ if θ(sσ) = θ(s)τ

and let, for s, s′ ∈ Llo,s ≡ s′ (mod θ) iff ω(s) = ω(s′) and

(∀u ∈ Σ∗, t ∈ T ∗)[su ∈ Llo & s′u ∈ Llo ⇒ (θ(su) = θ(s)t⇔ θ(s′u) = θ(s′)t)]

It is readily shown that equivalence (mod θ) is a right congruence on Llo. As equivalence (mod Llo) is aright congruence too, so is their common refinement (i.e. their meet in the lattice of right congruences);and the cells of this refinement furnish the states of Glo.

From this point on we shall assume that the starting point of our hierarchical control problem isthe unified description Glo. So we drop the tilde and write

Glo = (Q,Σ, To, δ, ω, qo, Qm) (2.1)

with Qm = Q.

At this stage we temporarily define Ghi. For this we note that, in the absence of any control action,Glo generates the uncontrolled language Llo. For now, Ghi will be taken as the canonical recognizer(in the generator sense) for the image of Llo under θ:

L(Ghi) = θ(Llo) ⊆ T ∗

and we write L(Ghi) =: Lhi. As yet, however, the event label alphabet T of Ghi needn’t admit anynatural partition into controllable and uncontrollable subalphabets; that is, Ghi needn’t possess anynatural control structure. This defect will be remedied in the next section.

193

Page 211: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

The following simple example will be used throughout. Following the integer labelling conventionsof TCT we define the state set and alphabets of Glo in (2.1) according to

Q = 0, 1, 2, 3, 4, qo = 0

Σ = 0, 1, 2, 3, 4T = α, β, τo = o

In Σ the odd-numbered elements are controllable, the even-numbered elements uncontrollable. Thestate transition and output structure of Glo is displayed in Fig. 5.2.1. along with a canonical recognizerfor Lhi. Observe that, whether or not τ ∈ α, β can be disabled as ‘next output’ by a supervisorycontroller that can disable the controllable elements of Σ, depends on the current state q ∈ Q of Glo:for instance τ = α can be disabled at q = 2 but not at q = 0, 1, 3 or 4. Thus Ghi does not yet possessnatural control structure.

Glo

α β

3

2

0

1 4201 2 3

4

α

Ghi

α

β

0

ooo

Fig. 5.2.1Low and High-level DES

Exercise 5.2.3: Show that equivalence (mod θ) is a right congruence on Llo.

5.3 High-Level Control Structure

In this section we indicate how to refine the descriptions of Glo and Ghi in order to equip Ghi withcontrol structure, so that a high-level controller Chi that observes only the state of Ghi can makemeaningful control decisions. By way of control structure we adopt the (usual) supervisory structure

194

Page 212: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

having the same type as in Glo. We shall refine the state structure of Glo, extend the high-level eventalphabet T , and partition the extension into controllable and uncontrollable subsets.

Conceptually these operations are carried out as follows. Referring to the example above, consider areachability tree for Llo with initial state q = 0 as the root. The first few levels of the tree are displayedin Fig. 5.3.1. Each node of the tree is labelled with the corresponding value τ ′ ∈ To = o, α, β of theoutput map ω, and is then called a τ ′-node.

In general it will be convenient to write ω : Llo → To for the output map on strings defined byω(s) = ω(δ(qo, s)) whenever s ∈ Llo, i.e. δ(qo, s)!. With a slight abuse of notation we also writeω : N → To where N is the node set of the reachability tree of Llo.

In the tree, τ ′-nodes with τ ′ = τo = o are silent; τ ′-nodes with τ ′ ∈ T = α, β are vocal. A silentpath in the tree is a path joining two vocal nodes, or the root to a vocal node, all of whose intermediatenodes (if any) are silent. Schematically a silent path has the form

nσ−→ s

σ′

−→ s′ −→ ... −→ s′′σ′′

−→ n′

where the starting node n is either vocal or the root node, and where the intermediate silent nodess, s′, ..., s′′ may be absent. Thus to every vocal node n′ there corresponds a unique silent path of whichit is the terminal node. A silent path is red if at least one of its transition labels σ ∈ Σ is controllable;otherwise it is green. Now color each vocal node red or green according to the color of its correspondingsilent path. Create an extended output alphabet Text as follows. Starting with Text = τo, for eachτ ∈ T adjoin a new symbol τc ∈ Text if some τ -node in the tree is red; similarly adjoin τu ∈ Text if someτ -node in the tree is green. Now define ωext : N → Text according to

ωext(n) = τo if n is silent

ωext(n) = τc if ω(n) = τ ∈ T and color(n) = red

ωext(n) = τu if ω(n) = τ ∈ T and color(n) = green

195

Page 213: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

o

o

o

α β

α o

α

2

c

4

1

α

2

0

root

c

c

3

2

0

u

u

Fig. 5.3.1Reachability Tree

Define the extended tree to be the original tree with the node labelling determined by ωext. In Fig.5.3.1, vocal nodes are labelled c or u accordingly. It is clear that ωext in turn determines an extension

θext : Llo → T ∗ext

Evidently θ is recovered from θext as follows: Define P : T ∗ext → T ∗ according to

P (τc) = P (τu) = τ, τ ∈ T,

P (ǫ) = ǫ, P (τ0) = ǫ, P (tt′) = P (t)P (t′), t, t′ ∈ T ∗ext

196

Page 214: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

The line just written expresses the property that P is catenative. So P just maps the new outputsymbols in any string back to where they came from. Then

θ = P · θext

Finally, defineGlo,ext = (Qext,Σ, Text, δext, ωext, qo, Qext)

from the current transition structure (Q,Σ, δ, qo, Q) and the map θext in just the way Glo was defined(Sect. 5.2) in terms of Glo and θ.

By the construction it is seen that |Text| ≤ 2|T | + 1: the number of non-silent output symbols hasat most doubled, as each old output symbol has now split into controllable and uncontrollable siblings(in some cases one sibling may be absent). It will be shown that the number of states has at mostdoubled as well. For this we extend the domain of the color map to include strings of Llo. Returningto the reachability tree of Llo, color the silent nodes by the same rule as used previously for the vocalnodes (and color the root node green). For s ∈ Llo define node(s) ∈ N to be the node reached by s,and define color(s) = color(node(s)). For s, s′ ∈ Llo define s ≡ s′ to mean (cf. Sect. 5.2)

s ≡ s′ (mod Llo) and s ≡ s′ (mod θ)

We claim that if s ≡ s′ and color(s) = color(s′), then for all u ∈ Σ∗ such that su ∈ Llo it is thecase that su ≡ s′u and color(su) = color(s′u). In fact, the first statement follows by the observation(Sect. 5.2) that ≡ is a right congruence on Llo. Thus we know that s′u ∈ Llo, and that for v ≤ u, ifθ(sv) = θ(s)t for some t ∈ T ∗ then θ(s′v) = θ(s′)t. In other words, ‘the output behaviors (under θ)of su (resp. s′u) coincide between s (resp. s′) and su (resp. s′u)’. Since su and s′u share the suffix u,it follows immediately by the definition of color on strings that color(su) = color(s′u), and the secondstatement follows, as claimed. The upshot of this argument is that the common refinement of the rightcongruence ≡, and the equivalence defined by equality of color, is again a right congruence on Llo. Itis, of course, the right congruence that provides the state structure of Glo,ext. Thus in passing fromGlo to Glo,ext each state of Glo is split at most once, into colored siblings. It follows that |Qext| ≤ 2|Q|.

In the sections to follow it will be assumed that the foregoing construction has been carried out,namely our new starting point will be the Moore transition structure Glo,ext as described. The propertyof Glo,ext that each output τ ∈ Text is unambiguously controllable or uncontrollable in the senseindicated, will be summarized by saying that Glo,ext is output-control-consistent. While we have notyet presented an algorithm (as distinct from a conceptual procedure) to pass from Glo to Glo,ext, suchan algorithm exists at least in case |Q| < ∞ (see Sect. 5.7). The result for our running example isdisplayed in Fig. 5.3.2, along with the extended high-level language

θext(L(Glo,ext)) ⊆ T ∗ext

197

Page 215: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

11

0 αu

12

αc

βc

αu

αc

0

αu

αc

0 21

5

2 1 40

3

23Glo,ext

4βc00 0

Ghi,ext

Fig. 5.3.2Output Control Consistency

In TCT, a DES GLO with state outputs is referred to as “vocalized” and is set up using the“vocalize” option in create. State outputs τ can be numbered 10,...,99. The corresponding structureGHI is given by higen(GLO). To extend GLO to be output-control-consistent, compute

OCGLO = outconsis(GLO)

with high-level result

OCGHI = higen(OCGLO)

In this process TCT will create event siblings τu = 100, τc = 101 from τ = 10, and so forth.

For completeness we provide the formal, albeit cumbersome, definition of output control consistencyof a Moore transition structure

G = (Q,Σ, To, δ, ω, qo, Qm) (3.1)

where the input alphabet Σ = Σc ∪ Σu and the output alphabet To = τo ∪ T with T = Tc ∪ Tu. Asbefore write ω(s) for ω(δ(qo, s)). Then G is output-control-consistent if, for every string s ∈ L(G) ofthe form

s = σ1σ2...σk or respectively s = s′σ1σ2...σk

198

Page 216: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

(where s′ ∈ Σ+, σi ∈ Σ) with

ω(σ1σ2...σi) = τo (1 ≤ i ≤ k − 1), ω(s) = τ 6= τo

or respectively

ω(s′) 6= τo, ω(s′σ1σ2...σi) = τo (1 ≤ i ≤ k − 1), ω(s) = τ 6= τo

it is the case that

if τ ∈ Tc then for some i (1 ≤ i ≤ k), σi ∈ Σc

if τ ∈ Tu then for all i (1 ≤ i ≤ k), σi ∈ Σu

To conclude this section we return to the output-control-consistent structure Glo,ext and corre-sponding structure Ghi,ext, as above, where from now on the subscript ‘ext’ will be dropped. While theusefulness of output-control-consistency will be demonstrated in the next section, the following exercisebrings out some of its limitations.

Exercise 5.3.1: With Glo output-control-consistent, construct examples where

(i) Klo ⊆ Llo is controllable with respect to Glo, but Khi := θ(Klo) is not controllable with respectto Ghi.

(ii) Khi ⊆ Lhi is controllable with respect to Ghi, but Klo := θ−1(Khi) is not controllable with respectto Glo. Furthermore there is no controllable sublanguage K ′

lo ⊆ Llo such that θ(K ′lo) = Khi.

Exercise 5.3.2: With Glo output-control-consistent, assume Khi ⊆ Lhi, and that Klo := θ−1(Khi) iscontrollable with respect to Glo. Show that Khi is controllable with respect to Ghi.

5.4 Command and Control

We continue on the assumption that Glo is output-control-consistent. We shall relate supervisory con-trol defined by the high-level controller (supervisor) Chi to the appropriate low-level control exercisedby Clo, thus defining the command and control path consisting of the command channel Comhilo

followed by the control channel Conlo shown in Fig. 5.1.1.

High-level supervisory control is determined by a selection of high-level controllable events to bedisabled, on the basis of high-level past history. That is, Chi is defined by a map

γhi : Lhi × T → 0, 1

such that γhi(t, τ) = 1 for all t ∈ Lhi and τ ∈ Tu. As usual, if γhi(t, τ) = 0 the event (labelled) τ issaid to be disabled; otherwise τ is enabled; of course, only controllable events (τ ∈ Tc) can be disabled.

199

Page 217: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

The result of applying this control directly on the generating action of Ghi would be to synthesize theclosed-loop language

L(γhi,Ghi) ⊆ T ∗

say. In the standard theory, implementation of Chi would amount to the construction of a suitableautomaton (supervisor) over T as input alphabet, and the factorization of γhi through its state space(X, say) to create an equivalent state feedback control ψ : X × T → 0, 1. In the hierarchical controlloop, however, direct implementation of Chi is replaced by command and control. The action of Chi

on Ghi must be mediated via Comhilo and Conlo as already described. To this end, assuming γhi isgiven, define the high-level disabled-event map

∆hi : Lhi → Pwr(Tc)

(Pwr(·) denotes power set) according to

∆hi(t) = τ ∈ Tc|γhi(t, τ) = 0

Correspondingly we may define the low-level disabled-event map

∆lo : Llo × Lhi → Pwr(Σc)

according to∆lo(s, t) = σ ∈ Σc|(∃s′ ∈ Σ∗

u)sσs′ ∈ Llo

& ω(sσs′) ∈ ∆hi(t)& (∀s′′)s′′ < s′ ⇒ ω(sσs′′) = τo

Observe that the explicit t-dependence of ∆lo factors through the subset evaluation ∆hi(t); in otherwords, ∆lo can be evaluated by examination of the structure of Glo alone, once the subset ∆hi(t) ofhigh-level events to be disabled has been announced by Chi. The definition says that ∆lo(s, t) is justthe set of low-level controllable events that must be disabled immediately following the generation ofs (in Glo) and of t (in Ghi) in order to guarantee the nonoccurrence of any τ ∈ ∆hi(t) as the nextevent in Ghi. Of course such a guarantee is actually provided only if, for the given pair (s, t), the setof uncontrollable strings leading to the next occurrence of τ is empty:

s′ ∈ Σ+u |ss′ ∈ Llo & ω(ss′) = τ

& (∀s′′ ∈ Σ+)s′′ < s′ ⇒ ω(ss′′) = τo = ∅As will be seen, the result of our construction in Sect. 5.3 of an output-control-consistent structure Glo

is that the required guarantee is provided when necessary.

When the hierarchical loop is closed through Inflohi, a string s ∈ Llo is mapped to t = θ(s) ∈ Lhi.Then the control implemented by Clo will be given by

γlo(s, σ) =

0 if σ ∈ ∆lo(s, θ(s))1 otherwise

(4.1)

Now suppose that a nonempty closed ‘legal’ (or specification) language Ehi ⊆ Lhi is specified tothe high-level controller Chi. We assume that Ehi is controllable with respect to the high-level modelstructure; that is,

EhiTu ∩ Lhi ⊆ Ehi

200

Page 218: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

In accordance with standard theory, Ehi would be synthesized as the controlled behavior of Ghi by useof a suitable control law γhi. In the standard theory the determination of γhi is usually not unique;however, γhi must always satisfy

γhi(t, τ) = 0 if t ∈ Ehi, tτ ∈ Lhi −Ehi

Define Elo to be the (maximal) behavior in Glo that would be transmitted by Inflohi as behavior Ehi

in the high-level model Ghi:Elo := θ−1(Ehi) ⊆ Llo (4.2)

Since Lhi = θ(Llo) we have θ(Elo) = Ehi. Clearly Elo is closed; but in general it will not be true thatElo is controllable with respect to Glo. The main result of this section states that by use of the control(4.1) the closed-loop language L(γlo,Glo) synthesized in Glo is made as large as possible subject to theconstraint (4.2).

Theorem 5.4.1

Under the foregoing assumptionsL(γlo,Glo) = E↑

lo

Proof

It suffices to show the following:

1. L(γlo,Glo) is controllable with respect to Glo.

2. L(γlo,Glo) ⊆ Elo.

3. For any Glo-controllable sublanguage K ⊆ Elo we have K ⊆ L(γlo,Glo).

In the proof we write L(Glo) =: Llo, L(Ghi) =: Lhi and L(γlo,Glo) =: Klo. Clearly Klo is nonemptyand closed.

1. By the definition of γlo we have

γlo(s, σ) =

0 if σ ∈ ∆lo(s, θ(s)) ⊆ Σc

1 otherwise

Since the closed-loop behavior in Glo is obtained by disabling a subset (possibly null) of controllableevents following the generation of any string of Llo, it follows that for all s ∈ Klo, σ ∈ Σu we haveγlo(s, σ) = 1, and therefore

KloΣu ∩ Llo ⊆ Klo,

namely Klo is controllable, as claimed.

201

Page 219: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

2. Since Elo = θ−1(Ehi) it suffices to show that

θ(Klo) ⊆ Ehi

and we proceed by induction on length of strings. Because both Klo and Ehi are nonempty and closedwe have

ǫ ∈ θ(Klo) ∩ Ehi

Assume that t ∈ T ∗, τ ∈ T , and tτ ∈ θ(Klo). Clearly t ∈ θ(Klo) and tτ ∈ Lhi. Invoking the inductiveassumption yields t ∈ Ehi. Now if τ ∈ Tu then

tτ ∈ EhiTu ∩ Lhi;

and by controllability of Ehi, tτ ∈ Ehi. On the other hand if τ ∈ Tc then by the fact that Glo isoutput-control-consistent there exist

s ∈ Σ∗, σ ∈ Σc, s′ ∈ Σ∗u

such thatsσs′ ∈ Klo, θ(s) = t, θ(sσs′) = tτ

By definition of γlo, σ 6∈ ∆lo(s, t); therefore

ω(sσs′) = τ 6∈ ∆hi(t)

so again tτ ∈ Ehi.

3. Let K ⊆ Elo be nonempty, and controllable with respect to Glo. Since Elo and Klo are bothclosed, it can be assumed without loss of generality that K is closed. By induction on length of stringsit will be shown that K ⊆ Klo. First, ǫ ∈ K∩Klo. Now let sσ ∈ K. Since K is closed, s ∈ K. Invokingthe inductive assumption, s ∈ Klo. Since K ⊆ Elo ⊆ Llo we have sσ ∈ Llo. Now if σ ∈ Σu thenγlo(s, σ) = 1 and therefore sσ ∈ Klo. Suppose on the other hand that σ ∈ Σc. To show that sσ ∈ Klo

it must be shown that γlo(s, σ) = 1, or equivalently

σ 6∈ ∆lo(s, θ(s))

Assuming the contrary and setting t := θ(s) we have by definition of ∆lo(s, t):

(∃s′ ∈ Σ∗u)sσs

′ ∈ Llo & ω(sσs′) ∈ ∆hi(t) & (∀s′′)s′′ < s′ ⇒ ω(sσs′′) = τo

Since sσ ∈ K and K is controllable it results that sσs′ ∈ K. Let ω(sσs′) = τ . Then θ(sσs′) = tτ . Butτ ∈ ∆hi(t) implies γhi(t, τ) = 0, so tτ ∈ Lhi −Ehi. That is tτ 6∈ Ehi, namely not θ(K) ⊆ Ehi. But thiscontradicts the fact that K ⊆ Elo = θ−1(Ehi). Therefore γlo(s, σ) = 1 after all, so that sσ ∈ Klo asrequired. 2

Obviously the transmitted high-level behavior will satisfy the required legal constraint:

θ(L(γlo,Glo)) ⊆ Ehi (4.3)

202

Page 220: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

but in general the inclusion will be proper. That is, while the ‘expectation’ of the high-level controllerChi on using the control γhi might ideally be the synthesis in Ghi of the controllable behavior Ehi, onlya subset of this behavior can in general actually be realized. The reason is simply that a call by Chi forthe disablement of some high-level event τ ∈ Tc may require Clo (i.e. the control γlo) to disable pathsin Glo that lead directly to outputs other than τ . However, this result is the best that can be achievedunder the current assumptions about Glo.

The condition stated in Theorem 5.4.1 will be called low-level hierarchical consistency. Intuitively itguarantees that the updated behavior of Ghi will always satisfy the high-level legal constraint, and thatthe ‘real’ low-level behavior in Glo will be as large as possible subject to this constraint. Nonetheless,the high-level behavior expected in Ghi by the manager may be larger than what the operator of Glo

can optimally report.

To conclude this section consider again the running example with Glo (i.e. Glo,ext) and Ghi (i.e.Ghi,ext) as displayed in Fig. 5.3.2.

First suppose that the transition graph of Ehi coincides with that of Ghi except that the (control-lable) transition [2, αc, 1] has been deleted. It is clear that Ehi is a controllable sublanguage of Lhi.The corresponding control law γlo requires merely the disablement of event 3 at state 4 in Glo (in thissimple example, state-based control with no additional memory is sufficient). It is evident that

θ(L(γlo,Glo)) = Ehi .

By contrast, suppose instead that Ehi is derived from Ghi by deletion of the selfloop [1, αc, 1]. Then γlo

must disable event 1 at state 2 in Glo, with the unwanted side effect that state 4 in Glo, with outputβc, can never be reached. The manager is chagrined to find that the behavior reported by the operatoris much less than he expected:

θ(L(γlo,Glo)) = ε, αu$ Ehi

Exercise 5.4.1: Assume that Ehi ⊆ L(Ghi) is nonempty and closed, but not necessarily controllable,and set Elo = θ−1(Ehi). While it is always true that

θ(E↑lo) ⊆ θ(Elo) = Ehi

it may be true thatθ(E↑

lo) % E↑hi

Provide an example to illustrate this situation. In intuitive, ‘real world’ terms explain why, in general,this result might not be unexpected.

203

Page 221: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

5.5 Hierarchical Consistency

Let Ehi ⊆ Lhi be closed and controllable and let Glo be output-control-consistent. It was noted in theprevious section that the inclusion

θ((θ−1(Ehi))↑) ⊆ Ehi (5.1)

may turn out to be strict. Intuitively, the behavior Ehi ‘expected’ by the manager in Ghi may be largerthan what the operator can actually realize: the manager is ‘overoptimistic’ in respect to the efficacy ofthe command-control process. If equality does hold in (5.1) for every closed and controllable languageEhi ⊆ Lhi, the pair (Glo,Ghi) will be said to possess hierarchical consistency. In that case, by Theorem5.4.1, the command and control process defined in Sect. 5.4 for Ehi will actually synthesize Ehi in Ghi.In the terminology of hierarchical control, every high-level ‘task’ (represented by a choice of Ehi) willbe successfully ‘decomposed’ and executed in the hierarchical control loop.

Achieving equality in (5.1) for arbitrary controllable specification languages Ehi in general requiresa further refinement of the transition structure of Glo, in other words, the possibly costly step ofenhancing the information sent up by Clo to Chi (or by Glo to Ghi, depending on one’s interpretationof the setup); of course such enhancement might or might not be feasible in an application. Referringto the reachability tree for L(Glo,ext) as described in Sect. 5.3, say that red vocal nodes n1, n2, withω(n1) 6= ω(n2), are partners if their silent paths start either at the root node or at the same vocalnode, say n = node(s); share an initial segment labelled s′σ with σ ∈ Σc; and this shared segment isfollowed in turn by segments labelled by strings s′′s1, s

′′s2 respectively, where s′′ ∈ Σ∗u and at least one

of the strings s1, s2 belongs to Σ∗u (see Fig. 5.5.1, where we assume s1 ∈ Σ∗ΣcΣ

∗u and s2 ∈ Σ∗

u). Wecall node(ss′σ) the antecedent of the partners n1, n2. In this structure the controllable events labelledτ1c = ω(n1), τ2c = ω(n2) in Ghi cannot be disabled independently by a command to Clo. Thus ifEhi requires disabling of τ2c (at some state of its transition structure) then it may be true that Clo

is forced to disable τ1c as well, via direct disablement of σ. So a cure in principle is to break up theoccurrence of partners: declare that the hitherto silent antecedent node(ss′σ) is now a red vocal nodewith controllable output any new symbol τ ′′c , extend Tc by τ ′′c accordingly, and re-evaluate color(ni),ω(ni), (i = 1, 2) as appropriate (in Fig. 5.5.1, n2 would be recolored green and ω(n2) redefined to beτ2u).

204

Page 222: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

τ0 τ τ0 τ0 τ0

τ0

τ1c

τ0

τ2c

s′′σs′n

sn′

n1

n2

s1

s2

Fig. 5.5.1Partners n1, n2 with antecedent n′.

A formal version of this procedure is provided in Sect. 5.8. The result is embodied in the followingdefinition. Let G be a Moore transition structure as in (3.1). Then G is strictly output-control-consistent (SOCC) if it is output-control-consistent and if in the reachability tree of L(G) no two redvocal nodes are partners. As in Sect. 5.3, this definition could be formally rephrased in terms of thestrings of L(G) if desired. In Sect. 5.8 it is shown that the SOCC property can be obtained by no morethan a 4-fold increase in state size over that of the original DES Glo that we started with; in practice,a factor of about 1.5 seems to be much more typical.

Consider again our running example. By inspection of Glo (i.e. Glo,ext in Fig. 5.3.2) we note thepartner configuration

αu 0 βc

αc

2

3

41

2

4

5

Its cure is the vocalization of the antecedent 3 of states 4 and 5, say with a new controllable event γc.The final results are displayed in Fig. 5.5.2. Notice that in Glo,new the status of β has changed fromβc to βu and that Ghi,new is larger than Ghi,ext by one state and transition.

205

Page 223: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

0

0 0 αu γc βu

4120

αc

3

0 1 2

5

4

Glo,new

Ghi,new

αu

γc

βu

αu

αc

αu

1

3

2

Fig. 5.5.2Strict output control consistency

Returning to our hierarchical control structure we finally have the desired result.

Theorem 5.5.1

Assume that Glo is SOCC, and let Ehi ⊆ L(Ghi) be nonempty, closed and controllable. Then

θ((θ−1(Ehi))↑) = Ehi

Proof

In the proof write L(Glo) =: Llo, L(Ghi) =: Lhi, L(γlo,Glo) =: Klo. With Elo := θ−1(Ehi), Theorem5.4.1 can be applied to yield

Klo = E↑lo = (θ−1(Ehi))

206

Page 224: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

which impliesθ(Klo) = θ((θ−1(Ehi))

↑) ⊆ θ(Elo) = Ehi

Next observe that Klo 6= ∅. Otherwise, there is a string so ∈ Llo ∩ Σ∗u with so 6∈ Elo = θ−1(Ehi),

namely θ(so) 6∈ Ehi. Thusθ(so) ∈ Lhi ∩ (T ∗

u −Ehi)

which implies that Ehi is either empty or uncontrollable, contrary to hypothesis.

Now suppose that the inclusion θ(Klo) ⊆ Ehi is strict, and let t ∈ Ehi − θ(Klo). Since ǫ ∈ θ(Klo)there exists a maximal prefix t′ < t with t′ ∈ θ(Klo). Let s ∈ Elo with θ(s) = t. Since ǫ ∈ Klo we canselect a prefix s′′ ≤ s of maximal (possibly zero) length such that s′′ ∈ Klo and node(s′′) is vocal (or isthe root node). Then t′′ := θ(s′′) satisfies t′′ ≤ t′, where the prefix ordering may be strict. Let w ∈ Σ∗

with s′′w ≤ s, node(s′′w) vocal, and θ(s′′w) = θ(s′′)τ for some τ ∈ T ; that is, the path from node(s′′)to node(s′′w) is silent. Now w ∈ Σ∗ΣcΣ

∗u, as otherwise w ∈ Σ∗

u, which implies by the controllability ofKlo that s′′w ∈ Klo, contrary to the maximality of s′′. Choose w′ ≤ w to be of maximal length suchthat s′′w′ ∈ Klo, namely s′′w′σ 6∈ Klo, with w′σ ≤ w and σ ∈ Σc (so that σ is disabled by γlo).

We claim that there must exist a string v ∈ Σ∗u such that (1) node(s′′w′σv) is vocal, and (2) the

path from node(s′′) to node(s′′w′σv) is silent, with (3) θ(s′′w′σv) 6∈ Ehi. For if there is no string v ∈ Σ∗u

with properties (1) - (3) then, because

θ(s′′w) = θ(s′′)τ ∈ Ehi = E↑hi

we have that s′′w ∈ Klo after all, contradicting the maximality of s′′ and the fact that Klo is supremal.

Sincet′′τ = θ(s′′)τ = θ(s′′w) ≤ θ(s) = t ∈ Ehi

and θ(s′′w′σv) 6∈ Ehi, it results finally that θ(s′′w′σv) = t′′τ ′, say, with τ ′ 6= τ , and therefore node(s′′w)and node(s′′w′σv) are partners, in contradiction to the main hypothesis of the theorem. 2

τ ′

τ

vocal

t′′

s′′

w

σw′

v

· · ·· · ·

···

207

Page 225: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Thus when Glo is SOCC, hierarchical consistency is achieved for the pair (Glo,Ghi).

In TCT, hierarchical consistency can be achieved by computing either

HCGLO = hiconsis(OCGLO),

or directly as

HCGLO = hiconsis(GLO),

bypassing the intermediate stage of output control consistency. The resulting high-level DES is

HCGHI = higen(HCGLO)

More information on hiconsis is provided in Appendix 5.9.

Exercise 5.5.1: Use TCT to verify the running example of Sects. 5.2-5.5. 3

Finally it should be noted that our restriction to a hierarchy of two levels was inessential. Oncehierarchical consistency has been achieved for the bottom level and first level up, say (Go,G1), theconstructions may be repeated on assigning state outputs in G1 and bringing in a next higher level,G2. Clearly hierarchical consistency for (G1,G2) can be achieved without disturbing the consistencyof (Go,G1). The theory thus possesses the highly desirable attribute of ‘vertical modularity’.

To conclude this section we give two results (due to K.C. Wong) which place the property ofhierarchical consistency in clear perspective. Let Glo be OCC. Recall the notation C(E) for the familyof controllable sublanguages of E; thus C(Llo) (resp. C(Lhi)) is the family of all controllable sublanguagesof Llo (resp. Lhi).

Let us bring in theMain Condition: θC(Llo) = C(Lhi)

Main Condition (MC) says, not only that θ preserves controllability, but also that every high-levelcontrollable language is the θ-image of some (possibly more than one) low-level controllable language.In other words, equating executable “tasks” with controllable languages, every task that could bespecified in the manager’s (aggregated) model Ghi is executable in the operator’s (detailed) modelGlo; high-level policies can always be carried out operationally. (Of course a justification of thisinterpretation would require that an on-line hierarchical control mechanism be spelled out; but thiswas done in Sect. 5.4). Now let Ehi ⊆ Lhi be a high-level legal specification, not necessarily controllable.Suppose that Ehi is “proposed” to the operator by specification of its preimage θ−1(Ehi). The operatormay then synthesize (θ−1(Ehi))

↑ ⊆ Llo, with the result that θ((θ−1(Ehi))↑) is implemented in Ghi.

One would like this implemented sublanguage of Lhi to be precisely the language E↑hi that a manager

208

Page 226: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

working at the level of Ghi would synthesize directly (if direct control were feasible): this is the essenceof hierarchical consistency. The result to follow states that hierarchical consistency in this strong senseis equivalent to MC.

Theorem 5.5.2MC ⇔ [(∀Ehi)Ehi ⊆ Lhi ⇒ θ((θ−1(Ehi))

↑) = E↑hi]

2

The usefulness of this result resides in the fact that the “complicated” condition of hierarchicalconsistency (involving the (·)↑ operation) is replaced by the formally simpler MC, which involves onlythe controllability property.

Along the same lines, on weakening MC slightly the following related result can be proved, as asimpler version of the condition of hierarchical consistency defined earlier in this section.

Theorem 5.5.3

θC(Llo) ⊇ C(Lhi) ⇔ [(∀Ehi)Ehi ∈ C(Lhi) ⇒ θ((θ−1(Ehi))↑) = Ehi]

2

It is of interest to note that these results depend on nothing more than the fact that the operationsθ(·) and (·)↑ = sup C(·) are monotone on sublanguages.

Exercise 5.5.2: Prove Theorems 5.5.2 and 5.5.3.

5.6 Hierarchical Supervision of Transfer Line

The theory will be illustrated by developing a high-level hierarchical supervisor for Transfer Line (cf.Sect. 4.6). We recall that Transfer Line consists of two machines M1, M2 plus a test unit TU, linkedby buffers B1, B2 in the sequence: M1,B1,M2,B2,TU (Fig. 5.6.1). State transition diagrams of M1,M2 and TU are displayed in Fig. 5.6.2.

TUB2B1M11 2 3 5

M24

82

62

Fig. 5.6.1

209

Page 227: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

8060

8262

54321 TUM2M1

Fig. 5.6.2

TU either “passes” or “fails” each processed workpiece, signaling its decision with events 60, 80respectively. In case of “pass test”, the workpiece is sent to the system output (event 62); in case of“fail test”, it is returned to B1 (event 82) for reprocessing by M2. There is no limit on the number offailure/reprocess cycles a given workpiece may undergo.

For ease of display we consider only the simplest case, where B1 and B2 each has capacity 1.Initially an optimal low-level supervisor is designed by any of the methods of Chapt. 3 or 4, to ensurethat neither of the buffers is subject to overflow or underflow. In detail, let

PL = sync(M1,M2,TU);

and let B1SP, B2SP be the buffer specification generators (Fig. 5.6.3).

selfloop1,2,3,60,62,80,82

selfloop1,4,5,60,62,80

B2SP

B1SP

2,82

3

4

5

Fig. 5.6.3

210

Page 228: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Then we set BSP = meet(B1SP,B2SP), and

PLSUP = supcon(PL,BSP)

as displayed in Fig. 5.6.4. With PLSUP as the starting point for the development of hierarchicalstructure, we must first assign the “significant” events to be signaled to the “manager”. Let us assumethat the manager is interested only in the events corresponding to “taking a fresh workpiece” (low-levelevent 1, signaled as high-level event τ1, say), and to “pass test” (low-level event 60, signaled as τ2) or“fail test” (low-level event 80, signaled as τ3). If too many failures occur the manager intends to takeremedial action, which will start by disabling the failure/reprocess cycle. To this end the uncontrollableevent 80 is now replaced in the low-level structure by a new controllable event 81. Furthermore, themeaning of the signaled events τ1, τ2, τ3 must be unambiguous, so a transition entering state 1 like[8,62,1] must not be confused with the “significant” transition [0,1,1]; namely a new state (say, 12)must be introduced, transition [8,62,1] replaced by [8,62,12], and a new transition [12,2,2] inserted. Thefinal Moore structure, GLO, is displayed in Fig. 5.6.5. Here the vocal [state,output] pairs are [1,τ1],[8,τ1], [6,τ2] and [7,τ3]. In TCT, the foregoing adjustments can be made using edit and vocalize.

62 62 62 62 62

82

60

80

1 2 3 4

1 2 3 4 5

62 62 62 62 62

82

60

80

1 2 3 4

1 2 3 4 5

70 1 3 46 8 9 10 11

52Fig. 5.6.4PLSUP

211

Page 229: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

1 2 3 4 5

81

3 4

262

262 62 62 62

1

1 2 3 4 5

81

3 4

262

262 62 62 62

1

82

201

3 4

7

6

8

9 10 11

12

5

τ1

60

τ1

τ2

τ3

Fig. 5.6.5GLO

We are now ready to carry out the procedures of the theory. By inspection of Fig. 5.6.5, it is clearthat each of τ1, τ2, τ3 is unambiguously controllable, that is, GLO is already output-control-consistent.The corresponding high-level model GHI is displayed in Fig. 5.6.6. In TCT, GHI = higen(GLO).

However, for the manager to disable τ2 will require the operator to disable low-level event 5, whichin turn disables the high-level event τ3 as an undesired side effect; thus GLO is not strictly-output-control-consistent (SOCC). To improve matters it is enough to vocalize the low-level state 5 with anew high-level output τ4, signaling the new “significant” event that “TU takes a workpiece”. This stepincidentally converts the status of τ2 from controllable to uncontrollable. With this the construction ofa SOCC model, say HCGLO, from GLO is complete (Fig. 5.6.7). The corresponding high-level modelHCGHI is displayed in Fig. 5.6.8, where τ1, τ2, τ3, τ4 have been coded respectively as 111,200,311,101.In TCT, HCGLO = hiconsis(GLO) and HCGHI = higen (HCGLO).

τ2

τ1τ3

Fig. 5.6.6GHI

212

Page 230: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

8282

1 2 3 4 5

81

3 4

262

262 62 62 62

1

201

3 4

7

6

8

9 10 11

12

τ1

τ3

τ2

5

τ4

60

τ1

Fig. 5.6.7HCGLO

The simple model HCGHI can be supervised by the manager to achieve his objective of “qualitycontrol”. A possible high-level specification might be: “If two consecutive test failures (311) occur,allow TU to operate just once more, then shut down the system”; this is modeled by SPECHI asdisplayed (Fig. 5.6.9). The resulting supervisor

HCGHISUP = supcon(HCGHI,SPECHI)

is shown in Fig. 5.6.10. On termination of HCGHISUP at state 7, and execution by TU of event 62,it can be easily verified that HCGLO will have halted at its marker state 0.

311

101111

200

311

101111

200

Fig. 5.6.8HCGHI

213

Page 231: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

311 2002 32000 311200 1selfloop 101, 111

Fig. 5.6.9SPECHI

200 pass200 pass111 101 311 101 311 101 200fail fail0 1 2 3 4 5 6 7Fig. 5.6.10

HCGHISUP

Exercise 5.6.1: To appraise the utility of hierarchical control for Transfer Line, replace SPECHIby an equivalent DES SPECLO for GLO (with vocalizations removed), compute the correspondinglow-level supervisor, and compare its state size with that of HCGHISUP.

Exercise 5.6.2: For a manageable but nontrivial example with a plausible physical interpretation,carry out the design of a SOCC hierarchical control structure, illustrating the successive refinementsinvolved in first achieving (non-strict) output control consistency and then strict consistency. For aparticular high-level controllable specification language, define precisely the required command andcontrol γlo.

5.7 Hierarchical Supervision with Nonblocking

In this section we extend our theory of hierarchical supervision to include marking and nonblocking.Unsurprisingly, nonblocking is not ensured by hierarchical consistency over closed sublanguages, in thesense of Sect. 5.5. For instance, in the example of Fig. 5.7.1, with α, β, γ uncontrollable, evidently

Clo(Llo) = ∅, Llo, Chi(Lhi) = ∅, Lhi

214

Page 232: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

and Glo is hierarchically consistent; however, Glo blocks on executing α.

τ1 τ2

α β γτ1 τ1 τ2

Glo

o

Ghi

Fig. 5.7.1

Throughout this section it will be convenient to write L for Llo := L(Glo), Lm ⊆ L for the markedbehavior of Glo, M := θ(L) for Lhi := L(Ghi) and Mm := θ(Lm) for the marked behavior of Ghi.

We begin by generalizing Theorem 5.5.2. Our standing assumption is that Glo is output-control-consistent (Sect. 5.3). The scenario will be that, with Ehi ⊆ Mm a given specification language for Ghi,the marked behavior ‘virtually’ synthesized in Ghi is, as usual (cf. Sect. 3.5)

Khi := sup Chi(Ehi)

The specification ‘announced’ to the low-level controller is θ−1(Ehi), so the marked behavior synthesizedin Glo is, again as usual,

Klo := sup Clo(Lm ∩ θ−1(Ehi))

The desired consistency property is then

θ(Klo) = Khi

Theorem 5.7.1.

In the foregoing notation

(∀Ehi)Ehi ⊆Mm ⇒ θ(Klo) = Khi (HCm)

iffθClo(Lm) = Chi(Mm) (MCm)

215

Page 233: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Proof

(If) Let Ehi ⊆Mm and assume (MCm). Then

Khi := sup Chi(Ehi) ∈ Chi(Mm)

so by (MCm), Khi = θ(K ′lo) for some K ′

lo ∈ Clo(Lm). Therefore

K ′lo ⊆ sup Clo(Lm ∩ θ−1(Khi))

⊆ sup Clo(Lm ∩ θ−1(Ehi)) = Klo

ThusKhi = θ(K ′

lo) ⊆ θ(Klo)

But Klo ⊆ Lm ∩ θ−1(Ehi) impliesθ(Klo) ⊆ Mm ∩Ehi = Ehi

So by (MCm) θ(Klo) ⊆ sup Chi(Ehi) = Khi. Thus θ(Klo) = Khi as claimed.

(Only if) Let Khi ∈ Chi(Mm) and set Ehi = Khi in (HCm). Then

Khi = θ(Klo) ∈ θ(Clo(Lm))

namely Chi(Mm) ⊆ θClo(Lm). For the reverse inclusion let K ′lo ∈ Clo(Lm) and set E ′

hi := θ(K ′lo). Then

E ′hi ⊆ θ(Lm) = Mm, so K ′

hi := sup Chi(E′hi) ∈ Chi(Mm). Now K ′

lo ⊆ θ−1(E ′hi) implies

K ′lo ⊆ sup Clo[Lm ∩ θ−1(E ′

hi)]

Also (HCm) providesθ[sup Clo(Lm ∩ θ−1(E ′

hi)] = sup Chi(E′hi)

Thereforeθ(K ′

lo) ⊆ sup Chi(E′hi) ⊆ E ′

hi = θ(K ′lo)

givingθ(K ′

lo) = sup Chi(E′hi) = K ′

hi ∈ Chi(Mm)

namely θClo(Lm) ⊆ Chi(Mm) as required. 2

While Theorem 5.7.1 provides an interesting perspective on hierarchical supervision with nonblock-ing, the “Main Condition with marking” (MCm) is not immediately effective. To satisfy (MCm) weshall endow our causal reporter map θ with a certain ‘global observer property’; we shall also requirea type of ‘local controllability’ in Glo. These properties seem natural from the viewpoint of a designerwith some capability of structuring Glo in advance.

In the following we use the terminology for reachability tree as in Sect. 5.3. Let

Lvoc := s ∈ L|s = ǫ or node(s) is vocal

Thus Lvoc is the subset of strings of L that correspond to the root node or a vocal node of thereachability tree of L. Clearly θ(Lvoc) = θ(L) = M . To avoid fussy details we shall assume, reasonably,

216

Page 234: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

that vocalization is ‘complete’, namely any string of L can be extended (in L) to a string of Lvoc, i.e.Lvoc = L. Now we say that θ : L→M is an Lvoc–observer if

(∀s ∈ Lvoc)(∀t ∈M)θ(s) ≤ t⇒ (∃s′ ∈ Σ∗)ss′ ∈ Lvoc & θ(ss′) = t

In other words, whenever θ(s) can be extended to a string t ∈ M , the underlying Lvoc-string s can beextended to an Lvoc-string ss′ with the same image under θ: “the manager’s expectation can alwaysbe executed in Glo”, at least when starting from a string in Lvoc. In the Example of Fig. 5.7.1, θ is notan Lvoc–observer, while in that of Figs. 5.6.5, 5.6.6 it is.

Write θvoc for the restriction θ|Lvoc. Thus

θvoc : Lvoc →M, θ−1voc : Pwr(M) → Pwr(Lvoc)

The Lvoc–observer property can be characterized as commutativity of θ−1voc with prefix-closure. Recall

that the operation of prefix-closure maps Lvoc onto L.

Proposition 5.7.1

θ is an Lvoc–observer iff, for all E ⊆M ,

θ−1voc(E) = θ−1

voc(E) ∩ Lvoc

Proof

(If) Let s ∈ Lvoc, t ∈M, θ(s) ≤ t. Then θ(s) ∈ t ⊆ M , so

s ∈ θ−1voc(t) = θ−1

voc(t) ∩ Lvoc

Thus for some s′ ∈ Σ∗, ss′ ∈ θ−1voc(t), namely θvoc(ss

′) = t, as required.

(Only if) The direction θ−1voc(E) ∩ Lvoc ⊆ θ−1

voc(E) is automatic, for if ss′ ∈ θ−1voc(E) for s ∈ Lvoc and

some s′ with ss′ ∈ Lvoc, then θvoc(s) ≤ θvoc(ss′) ∈ E, so θvoc(s) ∈ E and s ∈ θ−1

voc(E). For the reverseinclusion, taking s ∈ θ−1

voc(E) we have t := θvoc(s) ∈ E, so for some t′, tt′ ∈ E and θvoc(s) ≤ tt′. Sinceθ is an Lvoc–observer, there is some s′ with ss′ ∈ Lvoc and θvoc(ss

′) = tt′, so s ≤ ss′ ∈ θ−1voc(E), namely

s ∈ θ−1voc(E) ∩ Lvoc. 2

We now bring in a ‘local’ description of controllability in Glo. Generalizing the control action ofSect. 5.4, one should now think of control decisions in Glo (made by the ‘operator’ of Sect. 5.1) beingdelegated to ‘agents’, say to Agent(s) for each s ∈ Lvoc. The scope of Agent(s) will be the ‘local’language Lvoc(s) linking node(s) to the adjacent downstream vocal nodes (if any) in the reachabilitytree of L. Formally, for s ∈ Lvoc let

Lvoc(s) := ε ∪ s′ ∈ Σ∗|ss′ ∈ Lvoc & (∃τ ∈ T )θ(ss′) = θ(s)τ

217

Page 235: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Along with Lvoc(s), define the local reporter map θs : Lvoc(s) → T given by

θs(ε) := ε, θs(s′) := τ iff θ(ss′) = θ(s)τ, s′ ∈ Lvoc(s)

For the image of θs writeTs := θs(s

′)|s′ ∈ Lvoc(s), s ∈ Lvoc

As seen by Agent(s), the locally controllable sublanguages are

Clo(s) := K ⊆ Lvoc(s)|KΣu ∩ Lvoc(s) ⊆ K

Apart from ∅, these are exactly the sublanguages of Lvoc(s) that Agent(s) is authorized (and able) tosynthesize by supervisory control. The local controllability property of interest is that Agent(s) cansynthesize (i.e. select from Clo(s)) a controllable sublanguage for each controllable state output subsetwhich he can see downstream, namely each subset of form

T ′ = (Ts ∩ Tu) ∪ T ′′, T ′′ ⊆ Ts ∩ Tc

Denote the resulting family of subsets T ′ by T′s ⊆ Pwr(T ), and define Ts ⊆ Pwr(T ∗) according to

Ts =

Ts

′ ∪ ∅ if ∅ /∈ Ts′

Ts′ ∪ ε if ∅ ∈ Ts

We can now write the desired property as

Ts = θsClo(s) (1)

Note that ε ∈ Ts is controllable iff ε ⊆ Lvoc(s) is controllable, i.e. ε ∈ Clo(s).

When (1) holds we shall say that Glo is locally output controllable at s; and if (1) holds at all s ∈ Lvoc,that Glo is locally output controllable.

For instance in Fig. 5.3.2, if s = 02 ∈ Lvoc, we have

Lvoc(s) = ε, 12, 14, Ts = ε, αc, βc

Clo(s) = ∅, ε, 12, 14, Ts = ∅, ε, αc, βc, αc, βcθsClo(s) = ∅, ε, αc, βc $ Ts

Thus Glo,ext is not locally output controllable at s. On the other hand, it is so at s = 0214, where

Lvoc(s) = ε, 02, 3, Ts = αu, αcClo(s) = ∅, 02, 02, 3

Ts = ∅, αu, αu, αc= θsClo(s)

218

Page 236: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Turning now to the manager, let EligM : M → Pwr(T ), given by

EligM(t) := τ ∈ T |tτ ∈M, t ∈M

As seen by the manager, the local nonempty controllable sublanguages at t ∈ M are just the relevantsubsets of T together (possibly) with the language consisting of the empty string:

C′hi(t) :=

(EligM(t) ∩ Tu) ∪ T ′|T ′ ⊆ EligM(t) ∩ Tc if EligM(t) ∩ Tu 6= ∅ε ∪ T ′|T ′ ⊆ EligM(t) ∩ Tc if EligM(t) ∩ Tu = ∅

and we write Chi(t) := C′hi(t)∪∅. In general, even with θvoc(s) = t, the controllable language families

Chi(t) and Ts may be non-comparable: for instance

ε ∈ Chi(t) but ε /∈ Clo(s);

or elseε /∈ Chi(t) but ε ∈ Clo(s);

or elseε 6= Khi ∈ Chi(t) but Khi /∈ Ts

It is at just such t that the manager enjoys less effective hierarchical control than he might expect fromhis high-level model Ghi of M .

In Fig. 5.7.1 Glo is locally output controllable. However, with s = α, t = τ1, we have

Ts = ∅, ε,Chi(t) = ∅, τ2

The crucial property we require for hierarchical consistency is that such irregular situations are ruledout, namely that a control decision can be taken by Agent(s) at node(s), to match any controllableselection by the manager of events τ ∈ T at θ(s) = t ∈ M . In other words, for all s ∈ Lvoc andt = θvoc(s),

θsClo(s) = Chi(t)

If this ‘global’ condition holds, we say that Glo is globally output controllable.

Lemma 5.7.1

Assume that

(i) θ : L→ M is an Lvoc–observer, and(ii) Glo is locally output controllable.

Then Glo is globally output controllable.

219

Page 237: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Proof

Let s ∈ Lvoc and t = θvoc(s). By (i), tτ ∈M implies the existence of s′ ∈ Lvoc(s) such that ss′ ∈ Lvoc

and θvoc(ss′) = tτ , so τ = θs(s

′) ∈ Ts, namely EligM(t) ⊆ Ts. By the definition M = θ(L),

EligM(t) = ∪Tv|v ∈ Lvoc, θvoc(v) = t

Therefore Ts = EligM(t), and this implies Ts = Chi(t). By (ii), Ts = θsClo(s), and finally

θsClo(s) = Chi(t)

as claimed. 2

On this basis we can establish the condition (MCm) of Theorem 5.7.1. As a technical detail, it isconvenient to specialize slightly the marking condition θ(Lm) = Mm as indicated in (iii) below. In thisversion only strings in Lvoc will be marked in L.

Theorem 5.7.2

Assume that

(i) θ : L→M is an Lvoc–observer;(ii) Glo is locally output controllable; and(iii) Lm = θ−1(Mm) ∩ Lvoc

ThenChi(Mm) = θClo(Lm)

Proof

For inclusion (⊇) let Klo ∈ Clo(Lm); we show Khi := θ(Klo) ∈ Chi(Mm). First, Klo ⊆ Lm andθ(Lm) = Mm implies Khi ⊆Mm. For controllability, let t ∈ Khi, τ ∈ Tu, tτ ∈M . Since θ(Klo) = θ(Klo)(Exercise 5.2.1) there is s ∈ Klo with θ(s) = t, and we can certainly assume s ∈ Klo∩Lvoc. As θ(s) ≤ tτ ,by (i) there exists s′ ∈ Σ∗ with ss′ ∈ Lvoc and θ(ss′) = tτ . So s′ ∈ Lvoc(s) and as τ ∈ Tu, s

′ ∈ Σ∗u (by

output-control-consistency, Sect. 5.3); therefore ss′ ∈ Klo (by controllability of Klo ). Finally

tτ = θ(ss′) ∈ θ(Klo) = θ(Klo) = Khi

as required.

For the reverse inclusion (⊆) let ∅ 6= Khi ∈ Chi(Mm). We construct Klo ∈ Clo(Lm) inductively, suchthat θ(Klo) = Khi. By (i), (ii) and Lemma 5.7.1 we know that Glo is globally output controllable,namely for all s ∈ Lvoc, t = θvoc(s),

Chi(t) = θsClo(s) (2)

220

Page 238: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Starting with ǫ ∈ Khi, ǫ = θvoc(ǫ), we have

Chi(ǫ) = θǫClo(ǫ)

Since Khi is controllable,Elig(Khi; ǫ) := τ ∈ T |τ ∈ Khi ∈ Chi(ǫ)

and soElig(Khi; ǫ) = θǫ(Hlo(ǫ))

for some locally controllable sublanguage Hlo(ǫ) ∈ Clo(ǫ). Thus for every τ1 ∈ Elig(Khi; ǫ) there is atleast one string s1 ∈ Hlo(ǫ) ⊆ Lvoc(ǫ) with θvoc(s1) = τ1. We continue in the evident way: for such τ1we have

Elig(Khi; τ1) := τ ∈ T |τ1τ ∈ Khi ∈ Chi(τ1)

so again by (2)Elig(Khi; τ1) = θs1

(Hlo(s1))

for some Hlo(s1) ∈ Clo(s1). In general, for t ∈ Khi and s ∈ Lvoc with θvoc(s) = t, we shall have

Elig(Khi; t) := τ ∈ T |tτ ∈ Khi = θs(Hlo(s))

for some locally controllable sublanguage Hlo(s) ∈ Clo(s).

Denote by Hlo the prefix-closure of all strings of form

s = s1...sk, k ∈ N

such thats1...sj ∈ Lvoc, 1 ≤ j ≤ k

θvoc(s) ∈ Khi

Elig(Khi; θvoc(s1...sj)) = θsj(Hlo(sj)), Hlo(sj) ∈ Clo(sj), 1 ≤ j ≤ k

sj ∈ Hlo(sj−1), 1 ≤ j ≤ k, s0 := ǫ

Clearlyθ(Hlo) = θvoc(Hlo ∩ Lvoc) = Khi

We claim that Hlo ∈ Clo(L). Let s ∈ Hlo, σ ∈ Σu, sσ ∈ L, and let s′ be the maximal prefix of ssuch that s′ ∈ Lvoc. If s′ < s then s ∈ L − Lvoc and s = s′v for some v ∈ Hlo(s

′). Since Hlo(s′) is

locally controllable, vσ ∈ Hlo(s′) so sσ = s′vσ ∈ Hlo. If s′ = s and sσ ∈ L then again σ ∈ Hlo(s) by

controllability of Hlo(s), so sσ ∈ Hlo. This proves the claim.

DefineKlo := Hlo ∩ Lvoc ∩ θ−1(Khi)

Then Klo ⊆ Lvoc ∩ θ−1(Mm) = Lm. To establish Klo ∈ Clo(Lm) it suffices to verify Klo = Hlo, or simplyHlo ⊆ Klo. Let s ∈ Hlo, t := θ(s). We claim there exists w with sw ∈ Klo, i.e. sw ∈ Hlo∩Lvoc∩θ−1(Khi).

221

Page 239: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

If already s ∈ Klo, set w = ǫ. If not, let u ≤ s be the maximal prefix of s with u ∈ Lvoc and writes = uv. By construction of Hlo, we know that for some w1 ∈ Σ∗ and locally controllable sublanguageHlo(u) ∈ Clo(u),

vw1 ∈ Hlo(u), Elig(Khi; t) = θu(Hlo(u))

By definition of Clo(u), we know Hlo(u) ⊆ Lvoc(u) and thus θu(vw1) = τ1(say) with tτ1 ∈ Khi. Thismeans sw1 = uvw1 ∈ Hlo ∩ Lvoc ∩ θ−1(Khi). If already tτ1 ∈ Khi then set w = w1; if not, supposetτ1τ2...τk ∈ Khi. Clearly

τ2 ∈ Elig(Khi; tτ1), tτ1 = θvoc(sw1)

Repetition of the previous argument produces w2 ∈ Σ∗ with

sw1w2 ∈ Hlo ∩ Lvoc ∩ θ−1(Khi)

and we are done after at most k steps.

It only remains to verify that θ(Klo) = Khi. Let t ∈ Khi(⊆ Mm). Since θ(Hlo) = Khi there iss ∈ Hlo ∩ Lvoc such that θvoc(s) = t, namely

s ∈ Hlo ∩ Lvoc ∩ θ−1(Khi) = Klo

On the other hand θ(Klo) = θvoc(Klo) ⊆ Khi. 2

Combining Theorems 5.7.1 and 5.7.2 we have immediately

Corollary 5.7.1.

Let Ehi ⊆Mm, Khi := sup Chi(Ehi), and

Klo := sup Clo(Lm ∩ θ−1(Ehi))

Assume conditions (i) - (iii) of Theorem 5.7.2. Then (Glo, θ) is hierarchically consistent, in the sensethat θ(Klo) = Khi. 2

Exercise 5.7.1: By examining the initial state and vocal states in HCGLO, Fig. 5.6.7, show thatTransfer Line already satisfies assumptions (i), (ii) of Theorem 5.7.2, and can be (mildly) remodelledto satisfy (iii) as well. 3

The foregoing results can be regarded as a fundamental basis for hierarchical control with nonblock-ing. Of course, algorithmic design, and verification of the appropriate conditions, remain as challengingissues. To conclude this section we provide a more specialized result, building directly on the theory forclosed languages in Sects. 5.4, 5.5, including the property of strict output-control-consistency (SOCC)and the control action of Sect. 5.4. For this we place a much stronger observer condition on θ, andmodify our description of nonblocking slightly to facilitate use of Theorem 5.5.1. The price of greaterconcreteness, in Theorem 5.7.3 below, is somewhat involved argumentation in the proof.

222

Page 240: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

With Mm = θ(Lm) as before we say that θ : L→M is an Lm–observer if

(∀t ∈Mm)(∀s ∈ L)θ(s) ≤ t =⇒ (∃u ∈ Σ∗)su ∈ Lm & θ(su) = t

In other words, whenever θ(s) can be extended in T ∗ to a string t ∈ Mm, the underlying string s ∈ Lcan be extended to a string su ∈ Lm with the same image under θ : “the manager’s expectation isnever blocked in Glo”. This property fails for the example of Fig. 5.7.1, as one sees by taking t = τ1τ2and s = α.

Exercise 5.7.2: Show that θ : L→M is an Lm–observer iff, for all E ⊆Mm, θ−1(E) = θ−1(E) ∩ Lm.

3

The following more general definition will also be useful. Let Hlo ⊆ L,Hhi ⊆ M . We say that Hlo

is hierarchically nonblocking (HNB) with respect to Hhi if

(∀t ∈ Hhi)(∀s ∈ Hlo)(∀t′ ∈ T ∗)θ(s) = t & tt′ ∈ Hhi

=⇒ (∃s′ ∈ Σ∗)ss′ ∈ Hlo & θ(ss′) = tt′

In words, whenever θ(s) can be extended to a string in Hhi, s can be extended to a string in Hlo withthe same θ–image. This is essentially the Lm–observer property for θ, but ‘parametrized’ by Hlo, Hhi

in place of Lm,Mm. We can now state the main result.

Theorem 5.7.3

Let Mm = θ(Lm) and let θ : L → M be an Lm–observer. Assume Glo is SOCC (as in Sect. 5.5).Let ∅ 6= Khi ∈ Chi(Mm), and define

Hlo := sup Clo(θ−1(Khi))

Then θ(Hlo) = Khi and Hlo is HNB with respect to Khi.

Proof

Since Khi is nonempty, closed and controllable, and Glo is SOCC, we know by Theorem 5.5.1 thatθ(Hlo) = Khi.

Note that Hlo is closed. Suppose Hlo is not HNB with respect to Khi. Then for some t ∈ Khi, s ∈ Hlo

and w ∈ T ∗ we haveθ(s) = t, tw ∈ Khi

but for all x ∈ Σ∗ with sx ∈ L,θ(sx) = tw ⇒ sx /∈ Hlo (3)

223

Page 241: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Note that w 6= ǫ; otherwise, by (4) with x = ǫ, s /∈ Hlo, contrary to hypothesis. However, as θ is anLm–observer, and

θ(s) = t < tw ∈ Khi ⊆Mm

there is u ∈ Σ∗, u 6= ǫ, with su ∈ Lm and θ(su) = tw (refer to Table 5.7.1). By (3), su /∈ Hlo. Letu′ (ǫ ≤ u′ < u) be the maximal prefix of u such that su′ ∈ Hlo. By controllability of Hlo, there isσ ∈ Σc with u′σ ≤ u (and su′σ /∈ Hlo). Let u = u′σu′′ (where possibly u′′ = ǫ). We have

θ(su′σ) ≤ θ(su) = tw ∈ Khi

so θ(su′σ) ∈ Khi. Also, since su′ ∈ Hlo but su′σ /∈ Hlo, and because Hlo is supremal controllable withrespect to the specification θ−1(Khi), there is v ∈ Σ∗

u such that su′σv /∈ θ−1(Khi), i.e. θ(su′σv) /∈ Khi.Thus

t ≤ θ(su′σ) ≤ tw,

so θ(su′σ) = tw′ (say) ∈ Khi, while

θ(su′σv) = θ(su′σ)y (say)

= tw′y

/∈ Khi

We consider the two possible cases for node(su′σ), in the reachability tree of L (as in Sect. 5.5).

1. Node(su′σ) is vocal. Since v ∈ Σ∗u, we have that y ∈ T ∗

u . Thus tw′ ∈ Khi while tw′y /∈ Khi,contradicting the controllability of Khi.

2. Node(su′σ) is silent. We claim there is some vocal node in the path from node(su′σ) to node(su′σu′′).Otherwise

θ(su′) = θ(su′σ) = θ(su′σu′′) = θ(su) = tw

But as su′ ∈ Hlo we have a contradiction to (4), and conclude that θ(su′σu′′) > θ(su′σ). Let

θ(su′σu′′) = θ(su′σ)τ1...τk

and let u′′′ ≤ u′′ withnode(su′σu′′′) vocal, θ(su′σu′′′) = θ(su′σ)τ1

Recall that tw′ ∈ Khi while tw′y /∈ Khi, so ǫ 6= y = τ ′1τ′2...τ

′l (say). Let v′ ≤ v be such that node

(su′σv′) is vocal withθ(su′σv′) = θ(su′σ)τ ′1 = tw′τ ′1

We claim that τ ′1 6= τ1. Otherwise

tw′τ ′1 = tw′τ1 = θ(su′σ)τ1 = θ(su′σu′′′) ≤ θ(su′σu′′) = θ(su) = tw ∈ Khi

i.e. tw′τ ′1 ∈ Khi. But then v = v′v′′ (say), and v′′ ∈ Σ∗u, imply τ ′j ∈ Tu(2 ≤ j ≤ l), hence

tw′y ∈ Khi (by controllability), a contradiction. So τ ′1 6= τ1 as claimed, and therefore

node(su′σu′′′), node(su′σv′)

are partners (in the sense of Sect. 5.5). This contradicts our hypothesis that Glo is SOCC. 2

224

Page 242: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

string ∈ L θ(string) ∈ M

s tsu = su′σu′′ twsu′σ tw′

su′σu′′ tw = tw′τ1...τksu′σu′′′ tw′τ1su′σv = su′σv′v′′ tw′y = tw′τ ′1...τ

′l

su′σv′ tw′τ ′1

Table 5.7.1String factorizations in proof of Theorem 5.7.3.

Corollary 5.7.2

With Lvoc as defined earlier in this section, let

Lm := θ−1(Mm) ∩ Lvoc

and (with Hlo as in Theorem 5.7.3) define

Klo := Hlo ∩ Lm

Then Hlo = Klo. 2

The Lm–observer property of θ is stronger than necessary for the result in Theorem 5.7.3.

τ1 τ2αβ γ τ1τ2

GhiGlo

Fig. 5.7.2

In Fig. 5.7.2, θ(α) = θ(ǫ) = ǫ, θ(ǫγ) = θ(γ) = τ2 but θ(αs′) 6= τ2 for any s′, so θ is not an Lm–observer.However, for any choice of Khi ∈ Chi(Mm), Hlo := sup Clo(θ

−1(Khi)) is HNB.

Exercise 5.7.3: Prove Corollary 5.7.2 and interpret the result in terms of ‘low-level nonblocking’.

Exercise 5.7.4: Verify that the assumptions of Theorem 5.7.3 are valid for the Transfer Line HCGLO,Fig. 5.6.7.

225

Page 243: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Exercise 5.7.5: Investigate how Theorem 5.7.3 might be improved by (possibly) weakening theLm–observer property but strengthening the SOCC assumption. For instance, the Lm–observer prop-erty becomes more ‘reasonable’ if the local control structure is everywhere as sketched below:

σk

τk ∈ Tc

.

.

.

τk · · ·

· · ·

τ1 ∈ Tu

τ

· · ·σ1

τ1

· · ·

Formalize, relate to Theorem 5.7.3, and discuss necessity of the Lm–observer property in this situation.

5.8 Appendix: Computational Algorithm for Output-Control-

Consistency

We provide an algorithm for implementing the procedure of Sect. 5.3 for achieving output-control-consistency. It is assumed that Glo is represented as a finite-state Moore transition structure

Glo = (Q,Σ, To, δ, ω, qo, Qm)

as defined in Sect. 5.2. The state-transition graph (including state outputs) of Glo will be denotedsimply by G. Recall that To = T ∪τo, τo being the ‘silent’ output symbol. Adapting the terminologyof Sect. 5.3 to G, we say that a state q ∈ Q is silent if ω(q) = τo or is vocal if ω(q) ∈ T . The initialstate qo is silent. A path in G, displayed as

q′σ1−→ q1

σ2−→ q2 −→ ...σk−1−→ qk−1

σk−→ q

is silent if (i) q′ is either a vocal state or the initial state, and (ii) either k = 1, or k > 1 and the statesq1, ..., qk−1 are silent. A silent path is red if at least one of its transition labels σ1, ..., σk is controllable;otherwise it is green. For each q ∈ Q let P (q) be the set of all silent paths that end at q; because ofpossible loops in G, P (q) may be infinite. Then G is output-control-consistent (OCC) if and only if,for each vocal state q ∈ Q, either every p ∈ P (q) is red or every p ∈ P (q) is green.

In general G will fail to be OCC. Our objective is to replace G by a new version Gnew that is OCC,has the same marked and closed behavior as G, and incorporates the modified (split) output structuredescribed for the reachability tree in Sect. 5.3. To this end we define, for any graph G of the typedescribed, the predecessor and successor functions:

in set : Q→ Pwr(Q× Σ)

226

Page 244: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

in set(q) := (q′, σ) ∈ Q× Σ|δ(q′, σ) = qout set : Q→ Pwr(Σ×Q)

out set(q) := (σ, q′′) ∈ Σ ×Q|δ(q, σ) = q′′It can and will be arranged that in set(q) = ∅ if and only if q = qo. For any pair (q′, σ) define

out color(q′, σ) ∈ red,green,amber

according to the rule

out color(q′, σ) :=

red if: red(q′) & silent(q′) & uncont(σ)or: cont(σ)

green if: green(q′) & silent(q′) & uncont(σ)or: vocal(q′) & uncont(σ)

amber if: amber(q′) & uncont(σ)

(Here cont(σ) means σ ∈ Σc, uncont(σ) means σ ∈ Σu). Then define, for q 6= qo,

new color(q) :=

red if out color(q′, σ) = redfor all (q′, σ) ∈ in set(q)

green if out color(q′, σ) = greenfor all (q′, σ) ∈ in set(q)

amber otherwise

Without essential loss of generality it will be assumed that every state of G is coreachable withrespect to the vocal states: that is, from every state there is some vocal state that can be reached bya path in G. It is then straightforward to show from the foregoing assumptions and definitions that Gis OCC just in case

(i) for all q ∈ Q, either color(q) = red or color(q) = green, and

(ii) the following stability condition is satisfied:

(∀q ∈ Q) new color(q) = color(q) (stable)

The idea of the OCC algorithm is iteratively to modify the graph G by a process of recoloring,and elimination of amber states by state-splitting, until (stable) is achieved. The formal procedureis summarized as Procedure OCC in the pseudo-Pascal Unit POCC listed in Section 5.11. By theprocedure Initialize, OCC first assigns to all q color(q) := green. By RecolorStates, each state otherthan the initial state qo (which stays green) is recolored in arbitrary order according to the assignment

color(state) := new color(state) (∗)

If thereby any state changes color, (stable) is falsified.

227

Page 245: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

In case (stable) is false, each amber state (if any), say qa, is processed by FixAmberStates. Initiallythe subprocedure SplitAmberStates splits qa into siblings qr, qg with the assignments

color(qr) := red, color(qg) := green

If qa ∈ Qm then the new states qr, qg are declared to be marker states as well, while the subprocedureMakeNewOutputs assigns new outputs

ω(qr) := [τ, 1], ω(qg) := [τ, 0] if ω(qa) = τ ∈ T

ω(qr) = ω(qg) = τo if ω(qa) = τo

Next the local transition structure at qa is modified. The subprocedure MakeNewTrans executes thefollowing:

(i) for all (q′, σ) ∈ in set (qa)case q′ 6= qa

back-connects (qr, qg) to create transitions

[q′, σ, qr] if out color (q′, σ) = red[q′, σ, qg] otherwise

case q′ = qa & qa silent

creates transitions

[qr, σ, qr], [qg, σ, qr] if cont(σ)[qr, σ, qr], [qg, σ, qg] if uncont(σ)

case q′ = qa & qa vocal

creates transitions

[qr, σ, qr], [qg, σ, qr] if cont(σ)[qr, σ, qg], [qg, σ, qg] if uncont(σ)

(The selfloop cases q′ = qa are treated by first copying qa as q′a 6= qa, splitting both q′a and qa,back-connecting as in first case, then merging q′r, qr and q′g, qg.)

(ii) for all (σ, q′′) ∈ out set(qa), forward-connects qr, qg to create transitions

[qr, σ, q′′], [qg, σ, q

′′]

(iii) removes qa with its associated transitions from the database.

228

Page 246: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

A list of split states is maintained to ensure that a state is split at most once. If on a subsequentiteration a state that is a member of a split pair is recolored amber, then instead of SplitAmberStatesthe subprocedure SwitchOldTrans is invoked and executes the following:

(i) gets the siblings qr, qg corresponding to qa (it will be shown below that necessarily qa = qg)

(ii) for all (q′, σ) ∈ in set(qa) such that out color (q′, σ) = red, creates [q′, σ, qr] and deletes [q′, σ, qa].

The foregoing process is iterated by the repeat loop until (stable) (hence condition (*)) becomestrue.

It must be shown that OCC terminates. For this we first note

Property 1

Once a state (or a state sibling) has been colored red, it remains red in subsequent iterations.

Proof

Suppose some red state reverts to green or amber on a subsequent iteration. Consider the firstinstance (state q and iteration #N) of such a change. At iteration #(N − 1), for each element

(q′, σ) ∈ in set(q)

it was the case that either σ ∈ Σc or (if σ ∈ Σu) q′ was silent and red. Since the controllable status

of σ and the vocal status of q′ are both invariant, q′ must have changed from red to green or amber,contradicting the assumption that q is the first state to have so changed. 2

Since a state is split at most once, Property 1 implies

Property 2

Eventually the state set size, and the subsets of red states and of green states on reentry to therepeat loop, remain invariant. 2

To prove termination it now suffices to show that a state can change from green to amber at mostfinitely often. By Property 2 and the action of SwitchOldTrans, eventually all transitions

[q′, σ, q] with out color(q′, σ) = red

will have been switched to states q with color(q) = red. Under this condition, on reentry to the repeatloop it will be true for any transition [q′, σ, q] that

229

Page 247: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

color(q) = green ⇒ out color(q′, σ) = green

It follows that for all states q, (*) is satisfied and therefore (stable) is true, as claimed.

Because a state is split at most once, when OCC terminates the state set will have at most doubledin size; it is also clear that the closed and marked behaviors of the generator described by the graphremain unchanged.

Computational effort can be estimated as follows. Suppose G has n states and m transitions. BothRecolorStates and FixAmberStates will require O(nm) steps (comparisons and assignments), while thenumber of iterations is at worst O(n+m), giving O(nm(n+m)) steps for the overall computation.

5.9 Appendix: Conceptual Procedure for Strict-Output-Control-

Consistency

To achieve strict-output-control-consistency, a conceptual procedure based on the reachability tree ofGlo (say, tree) can be organized as follows.

Starting at the root node, order the nodes of tree level-by-level (i.e. breadth first) as 0,1,2,...; andwrite n < n′ if n precedes n′ in the ordering. Let ζ 6∈ To be a new output symbol, and let

To,new = To∪ζ

be the extension of To. We write path(nsn′), and refer to the path nsn′, if there is a path in tree startingat n and leading via s ∈ Σ∗ to n′. Say the node n is vocalizable if

(i) n is silent;

(ii) (∃no < n, σ ∈ Σc) path(noσn);

(iii) (∃n1 > n, s1 ∈ Σ∗u) path(ns1n1), ns1n1 is silent, and n1 is vocal; and

(iv) (∃n2 > n, s2 ∈ Σ∗) path(ns2n2), ns2n2 is silent, n2 is vocal, and ω(n2) 6= ω(n1).

Conditions (i)-(iv) express the fact that n1, n2 are partners with respect to n. Examining eachnode in order, modify tree as follows. If node n is vocalizable, then vocalize n by redefining ω at n asωnew(n) = ζ . [If ω(n1) = τc ∈ Tc then ultimately we shall redefine ω at n1 as ωnew(n1) = τu, but atthis stage no change of state output will be introduced.] Otherwise, if n is not vocalizable, go on tothe successor node of n.

Since vocalization of n has no effect on nodes n′ < n, the procedure is well defined, transformingtree to newtree, say. Furthermore if n is vocalizable it remains so as the procedure moves to nodesn′′ > n (vocalization at a given level is never rendered superfluous by vocalization later on), because

230

Page 248: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

the uncontrollable silent path nsn1 is never modified. Define str:N → Σ∗ by node(str(n)) = n. Writes = str(n), s′ = str(n′) and define n ≡ n′ (mod tree) to mean (cf. Sect. 5.3)

s ≡ s′(mod Lo) and s ≡ s′(mod θ)

Note that n ≡ n′ if and only if the subtrees of tree rooted at n and n′ respectively are identical.Corresponding to newtree we shall have the map

θnew : Σ∗ → T ∗o,new

The equivalence ≡ (mod θnew) is then defined in similar fashion (Sect. 5.3), as is equivalence ≡(mod newtree).

Now suppose that n, n′ are vocalizable. If n < n′ and there is s ∈ Σ∗Σc such that path(nsn′), it isclear that vocalization of n can have no effect on the subtree rooted at n′; and the same is true a fortioriif there is no path from n to n′. Consequently, if nodes n, n′ are vocalizable, and n ≡ n′ (mod tree),then also n ≡ n′ (mod newtree). Next suppose that neither n nor n′ is vocalizable and that n ≡ n′

(mod tree). Since the subtrees of tree rooted respectively at n and at n′ are identical, and neither n norn′ gets vocalized, the vocalization procedure applied to these subtrees must yield the same result; thatis, the subtrees of newtree rooted at n and n′ must be identical, and so again n ≡ n′ (mod newtree).

The foregoing discussion can be summarized by the assertions that the cells of ≡ (mod newtree) areformed by splitting the cells of ≡ (mod tree) according to the partition of nodes in tree into vocalizableand nonvocalizable; and that only cells of the silent nodes of tree are so affected. Thus, in the regularcase, if the canonical Moore automaton Glo (corresponding to tree) has Ns silent states and Nv vocalstates, the canonical Moore automaton Glo,new (corresponding to newtree) will have no more than Ns

silent states and Nv +Ns vocal states.

The vocalization procedure in no way depended on a prior assumption that Glo was output-control-consistent: in (iv) above the condition ω(n1) 6= ω(n2) is true after the OCC output assignment proce-dure (Sect. 5.4) if and only if it was true beforehand. Thus vocalization could be carried out initially,before the OCC procedure itself, with no difference to the result. Suppose this is done. It is clear thatnewtree can then be rendered OCC by the OCC procedure, and that this process will not introduceany vocalizable nodes (by the remark just made about (iv)). The final result is therefore SOCC, asrequired, and the final state count in terms of the parameters above is bounded by 2(Nv +2Ns), or lessthan four times the state count of the Moore structure provided at the start.

5.10 Appendix: Computational Algorithm for Hierarchical

Consistency

While the property of strict-output-control-consistency is sufficient for hierarchical consistency (The-orem 5.5.1) and, as described in Sect. 5.9, is conceptually straightforward to achieve, it falls short ofbeing necessary. In this section a somewhat weaker (albeit still not necessary) condition that ensures

231

Page 249: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

the desired result will be introduced, together with an effective algorithm to achieve hierarchical con-sistency in the regular case. This algorithm is slightly more efficient than the procedure of Sect. 5.9. inthat possibly fewer states need to be newly vocalized. Regrettably, the approach is rather complicatedto describe. A high-level pseudo-Pascal version is listed as Program PSHC in Section 5.11. PSHC usesProcedure OCC from Unit POCC, as well as Procedure HCC described below.

Consider a (finite) state-transition graph G for Glo, where we assume that Glo is already output-control-consistent. Thus, in the terminology for state-transition graphs introduced in Sect. 5.8, eachvocal state of G is unambiguously either red (controllable output) or green (uncontrollable output).The following definitions will be needed. A silent path suffix (sps) is a path

qσ1−→ q1

σ2−→ q2 −→ ...σk−1−→ qk−1

σk−→ q′

with q1, ..., qk−1 silent and q′ vocal (but q unrestricted). An agent is a pair

(q, σ) ∈ Q× Σc

such that there is an sps as displayed, with σ1 = σ ∈ Σc and σ2, ..., σk ∈ Σu (thus q′ is red). Say q′ iscritical for (q, σ), and denote the subset of critical states by C(q, σ). According to the definition of γlo,we have γlo( , σ) = 0 (i.e. an event σ ∈ Σc is disabled under command and control) just at states q ∈ Qsuch that (q, σ) is an agent and C(q, σ) contains a state q′ such that ω(q′) = τ ′ with γhi( , τ ′) = 0.Next, the blocking set B(q, σ) of an agent (q, σ) is the subset of (red, vocal) states q′ ∈ Q such thatan sps exists as displayed above, with σ1 = σ but σ2, ..., σk unrestricted; thus B(q, σ) ⊇ C(q, σ), andthe inclusion may be strict. An agent (q, σ) is unary if |B(q, σ)| = 1, i.e. contains just one state, whichis thus critical. Let p, q ∈ Q with p red and vocal but q arbitrary. An sps from q to p is dedicated ifeach of its transitions [a, λ, b] is such that either (a, λ) is not an agent, or (a, λ) is a unary agent withB(a, λ) = p. Define the set

D(q) := p ∈ Q | red(p) & vocal(p)

& there exists a dedicated sps joining q to p

An agent (q, σ) will be called admissible if

B(q, σ) ⊆ D(q);

that is, each state p (potentially) blocked by (q, σ) is reachable from q along a dedicated sps. Otherwise(q, σ) is inadmissible. Note that if q′ = δ(q, σ) (with q′ vocal, σ ∈ Σc) then (q, σ) is always admissible;so if (q, σ) is inadmissible then δ(q, σ) is silent.

The idea of the algorithm (Procedure HCC) is to identify the inadmissible agents (q, σ), then vocalizethe states δ(q, σ). The connection with the conceptual procedure of Sect. 5.9 is provided by

Proposition 5.10.1

If Glo is SOCC then every agent of Glo is admissible. If Glo is OCC and every agent in some finitetransition graph (FTG) of Glo is unary, then Glo is SOCC.

232

Page 250: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Proof

Suppose an agent (q, σ) is inadmissible. Then there is p ∈ B(q, σ) with p 6∈ D(q), so there is nodedicated sps from q to p. By definition of B(q, σ) there is an sps

qσ−→ q1

σ2−→ q2 −→ ...σk−1−→ qk−1

σk−→ p

Since this sps is not dedicated, it includes a transition [a, λ, b] such that (a, λ) is an agent and it isnot the case that (a, λ) is a unary agent with B(a, λ) = p. Thus either (a, λ) is a unary agent withB(a, λ) 6= p, or (a, λ) is a non-unary agent. The first case is impossible since the sps ends at p. Inthe second case, since (a, λ) is an agent there is an sps

aλ−→ a1

λ2−→ a2 −→ ...λh−1−→ ah−1

λh−→ a′

with a′ red and vocal and λ2, ..., λh ∈ Σu; and since (a, λ) is non-unary there is an sps

aλ−→ a1

µ2−→ b2 −→ ...µj−1−→ bj−1

µj−→ a′′

with a′′ red and vocal, a′′ 6= a′, and the µ’s unrestricted. Let n be a node in T corresponding to a,and let the strings λλ2...λh resp. λµ2...µj lead from n to nodes n1 resp. n2. Clearly n1, n2 are partners,namely Glo is not SOCC.

For the second assertion note that the reachability tree of Glo can be constructed inductively froman FTG for Glo by tracing all silent paths in the FTG from the root node to a vocal node or from onevocal node to another. If every agent a = (q, σ) in the FTG is unary then all sps in the FTG whichstart with a terminate at the same (red, vocal) state, hence the corresponding silent paths in the treeterminate at equivalent nodes. But this fact rules out the existence of partners. 2

We note that Glo need not be SOCC even though every agent of its FTG is admissible. For instance,consider the structures G and T shown in Fig. 5.10.1; T is the reachability tree corresponding to G.

In G the agent (0,1) is admissible because the sps 03→ 2 and 0

5→ 3 are dedicated, and obviously(0,3),(0,5) are admissible. Hence every agent is admissible, but in T nodes 4 and 5 are partners.

233

Page 251: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

0

0

1 3 1 3

0

0

31

0

3 51

0 2

2 3 4 5

1

53

2 3

0 2

1 1

G T

0

Fig. 5.10.1

The counterpart of Theorem 5.5.1 that we need is the following.

Proposition 5.10.2

Assume that Glo is OCC and that every agent in the (finite) state transition graph of Glo isadmissible. Let Ehi ⊆ L(Ghi) be nonempty, closed and controllable. Then

θ((θ−1(Ehi))↑) = Ehi

Proof

The proof will just be summarized, with details left to the reader. Write L(Glo) =: Llo, L(Ghi) =:Lhi and L(γlo,Glo) =: Klo. As in the proof of Theorem 5.5.1 it suffices to show that

θ(Klo) = Ehi

To the contrary, assume that Ehi − θ(Klo) 6= ∅. We begin with the same construction as in the proofof Theorem 5.5.1, and select t, t′, t′′, s, s′′, w, w′, σ and τ as before, so that t ∈ Ehi − θ(Klo), t

′ < t ismaximal for t′ ∈ θ(Klo), s ∈ Elo with θ(s) = t, θ(s′′) = t′′ ≤ t′, θ(s′′w) = t′′τ , s′′w′ ∈ Klo, s

′′w′σ 6∈ Klo,w′σ ≤ w, s′′w ≤ s, and σ ∈ Σc. This time we work in the finite state transition graph of Glo andwrite q′′ := δ(qo, s

′′), q′ := δ(qo, s′′w′) and q := δ(qo, s

′′w). Like node(s′′) and node(s′′w) in the formerproof, here q′′ and q are vocal. Note that (q′, σ) is an agent, with q ∈ B(q′, σ). By hypothesis, there isa dedicated sps joining q′ to each state p in the set B(q′, σ), hence there is an sps from q′′ to q via q′,

234

Page 252: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

along which no element σ ∈ Σc is disabled by γlo. That is, there is v ∈ Σ∗ of the form v = w′v′ suchthat

δ(qo, s′′v) = δ(qo, s

′′w) = q, s′′v ∈ Klo and θ(s′′v) = t′′τ

In case t′′ = t′, we have that t′τ ∈ θ(Klo), contradicting the maximality of t′, and we are done.Otherwise, suppose t′′ < t′. Since s′′w ≤ s, we have s′′wx = s for some x ∈ Σ∗. Now replace s bysnew := s′′vx, s′′ by s′′v, t′′ by t′′new := t′′τ , q′′ by q′′new := q, and repeat the argument starting from stateq′′new. At each stage we extend t′′ < t′ by one element τ at a time, to eventually achieve that t′′new = t′.After one more, final stage we obtain t′τ ≤ t with t′τ ∈ θ(Klo). Since this contradicts the maximalityof t′, we must have θ(Klo) = Ehi after all. 2

Observe that an agent (q, σ) that is inadmissible can be rendered admissible simply by vocalizingthe state q′ := δ(q, σ) (cf. Sect. 5.9). It is clear that the totality of such vocalizations cannot introducefurther agents, i.e. convert a pair (q, σ) (with σ ∈ Σc and δ(q, σ)!) to an agent if it was not an agentbefore. In fact, if a new agent (q, σ) were thereby created, a new sps would appear, of the form

qσ−→ q1

σ2−→ q2 −→ ...σk−1−→ qk−1

σk−→ q′

where σ2, ..., σk ∈ Σu. Because (q, σ) was already an agent, there is an sps

q′σ′1−→ q1

σ′2−→ q2 −→ ...

σ′k−1−→ qk−1

σ′k−→ p

with σ′1, ..., σ

′k ∈ Σu. Clearly the catenation of these two sps was, prior to the vocalization of q′, an sps

joining q to p, namely (q, σ) was previously an agent after all.

In HCC each agent is inspected in turn, with any agent that is inadmissible immediately vocalized;as shown above, in this process no new agents are created. However, it may result from the processthat an admissible agent is converted to one that is inadmissible. But as any agent, once vocalized,remains admissible, by repetition of the process a number of times at most equal to the number ofagents (i.e. no more than the number of transitions) all agents will eventually be rendered admissible.HCC therefore loops until this condition is satisfied.

In general, vocalization will destroy the property that Glo is output-control-consistent. If thealgorithm of Sect. 5.8. (Procedure OCC) is executed once more, OCC will be restored. It remains toshow that in this final step, involving state-splitting and recoloring, no inadmissible agents are created.Indeed, a new agent is created only if a former agent (q, σ) is split, into (qr, σ), (qg, σ) say. Consider adedicated sps formerly joining q to q′ (say). If q′ is not split, the sps will get replaced by a dedicatedsps to q′ from each of qr, qg, so the two new agents are again admissible; while if q′ is split into q′r, q

′g

this conclusion holds with q′r in place of q′. We infer that the inclusion B(q, σ) ⊆ D(q) is true for eachagent in the new transition structure provided it was true for each agent in the old.

Computational effort can be estimated as follows. Suppose G has n states and m transitions. Fora pair (q, σ), the subsets D(q) and B(q, σ) can each be identified by examining all (state,transition)pairs, namely in O(nm) steps. Checking the inclusion B(q, σ) ⊆ D(q) requires at most O(n2) steps.As there are at most m agents, Procedure HCC therefore requires O(n3m + n2m2) steps. Combining

235

Page 253: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

this result with that of Appendix 5.8 for Procedure OCC, we obtain a complexity bound of

O(n3m+ n2m2 + nm2) = O(n3m+ n2m2)

for the overall Program PSHC for achieving high-level hierarchical consistency.

236

Page 254: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

5.11 Listing for Pseudo-Pascal Unit POCC and Program PSHC

UNIT POCC;

pseudo-Pascal Unit with procedure OCC for achieving output-control-consistency;

operates on database defining transition structure of G lo, to create

G lo new

INTERFACE

CONST

specify integers MaxStateSize, MaxAlphabetSize

TYPE

States = 0..MaxStateSize;

Events = 0..MaxAlphabetSize;

Colors = (red, green, amber);

In Events = array[States, Events] of Integer;

Out Events = array[Events, States] of Integer;

PROCEDURE OCC;

FUNCTION GetSize: States;

IMPLEMENTATION

VAR

stable: Boolean;

FUNCTION GetSize;

begin

reads size of state set from databaseend;

FUNCTION GetColor(state: States): Colors;

begin

reads state color from databaseend;

PROCEDURE SetColor(state: States; color: Colors);

begin

assigns state color to databaseend;

237

Page 255: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

PROCEDURE SetSibling(state, sibling: States);

begin

assigns sibling to state in databaseend;

FUNCTION GetSplit(state: States): Boolean;

begin

returns true if state listed as split in databaseend;

PROCEDURE SetSplit(state: States; split: Boolean);

begin

lists state as split in databaseend;

PROCEDURE InSet(state: States; var in set: In Events);

begin

collects in set(state) from databaseend;

PROCEDURE OutSet(state: States; var out set: Out Events);

begin

collects out set(state) from databaseend;

PROCEDURE Initialize;

var size, state: States;

begin

size:= GetSize;

for state:= 0 to size-1 do

begin

SetColor(state, green);

SetSplit(state, false)

end

end;

PROCEDURE RecolorStates;

FUNCTION NewColor(in set: In Events): Colors;

begin

returns color determined by in setend;

238

Page 256: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

VAR old color, new color: Colors;

in set: In Events;

size, state: States;

begin RecolorStatessize:= GetSize;

for state:= 0 to size-1 do

begin

old color:= GetColor(state);

InSet(state, in set);

new color:= NewColor(in set);

if new color <> old color then

begin

stable:= false;

SetColor(state, new color)

end

end

end;

PROCEDURE FixAmberStates;

var size, state: States;

count: Integer;

PROCEDURE SplitAmberStates(state: States; var count: Integer);

PROCEDURE MakeSibling(var count: Integer);

var sibling: States;

begin

sibling:= size+count;

count:= count+1;

SetSibling(state, sibling);

SetColor(state, green);

SetSplit(state, true);

SetColor(sibling, red);

SetSplit(sibling, true)

end;

PROCEDURE MakeNewOutputs(state: States);

begin

writes to database:

tags a vocal state and its sibling with appropriate

controllable or uncontrollable version of state outputend;

239

Page 257: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

PROCEDURE MakeNewTrans(state: States;in set: In Events;

out set: Out Events);

begin

writes to database:

redistributes incoming transitions

between state and its siblingend;

var in set: In Events;

out set: Out Events;

begin SplitAmberStatesMakeSibling(count);

MakeNewOutputs(state);

InSet(state, in set);

OutSet(state, out set);

MakeNewTrans(state, in set, out set)

end;

PROCEDURE SwitchOldTrans(state: States);

begin

writes to database:

redistributes outgoing transitions between

state and its siblingend;

begin FixAmberStatessize:= GetSize;

count:= 0;

for state:= 0 to size-1 do

if GetColor(state) = amber then

begin

if not GetSplit(state) then SplitAmberStates(state, count)

else SwitchOldTrans(state)

end

end;

PROCEDURE OCC;

BEGIN PROCEDURE OCCInitialize;

repeat

stable:= true;

240

Page 258: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

RecolorStates; returns stable = false unless

OCC achievedif stable = false then FixAmberStates

until stable

END;

END.

PROGRAM PSHC;

pseudo-Pascal program for achieving strict-output-control-consistency;

operates on database defining transition structure of G lo, to

create G lo new

USES POCC;

PROCEDURE HCC;

TYPE

Array States = array[States] of Integer;

FUNCTION Agent(state: States; event: Events): Boolean;

begin

returns true if (state,event) is an agentend;

PROCEDURE GetDedicatedSet(state: States; var dedicated set: Array States);

begin

collects dedicated set from databaseend;

PROCEDURE GetBlockingSet(state: States; event: Events;

var blocking set: Array States);

begin

collects blocking set from databaseend;

FUNCTION Subset(blocking set, dedicated set: Array States): Boolean;

begin

returns true if blocking set is a subset of dedicated setend;

PROCEDURE Vocalize(state: States; event: Events);

begin

241

Page 259: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

finds transition (state,event,new state) in database;

vocalizes new stateend;

var flag: Boolean;

size, state: States;

event: Events;

dedicated set, blocking set: Array States;

begin PROCEDURE HCCsize:= GetSize;

repeat

flag:= true;

for state:= 0 to size-1 do

begin

for event:= 0 to MaxAlphabetSize do

ifAgent(state,event) then

begin

GetDedicatedSet(state,dedicated set);

GetBlockingSet(state,event,blocking set);

ifnot Subset(blocking set,dedicated set) then

begin

flag:= false; agent is inadmissibleVocalize(state,event)

end

end

end

until flag = true all agents are admissibleend;

BEGIN PROGRAM PSHCOCC;

HCC;

OCC

END.

5.12 Notes and References

The material of this chapter originates with the theses of H. Zhong [T09, T20] and related publications[J14, C34, C38]. Theorems 5.5.2 and 5.5.3 are due to K.C. Wong [T12], who also addressed thehierarchical nonblocking problem [T28, J30, J31]. The specific results of Sect. 5.7 are new, but adaptedfrom [T20, J30]; cf. also Pu[T41]. Dual approaches to hierarchical supervisory control, based on state

242

Page 260: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

aggregation, have been reported by Schwartz [T25] and Hubbard & Caines [2002]; or on state spacedecomposition, by Wang [T29] and Leduc [T46].

Hierarchy is a long-standing topic in control theory and has been discussed by many authors, notablyMesarovic et al. [1970]. For a perceptive (and classic) essay on the benefits of hierarchical organizationthe reader is referred to Simon [1967].

243

Page 261: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Chapter 6

Supervisory Control With PartialObservations

6.1 Natural Projections and Normal Languages

In this chapter we consider the problem of supervisory control under the assumption that only a subsetof the event labels generated by the plant can actually be observed by the supervisor. This subsetin general need have no particular relation to the subset of controllable events. Our model will leadto a natural definition of observable language, in terms of which the existence of a supervisor for thestandard type of control problem considered in previous chapters can be usefully discussed. It will turnout that, while observability is a somewhat difficult property to work with, a stronger property that wecall normality provides an effective alternative and often leads to a satisfactory solution of the problemof supervision.

S G

C

The general setup is shown in the figure. The generator G modelling the system to be controlledis of the form considered in previous chapters. The new feature here is the communication channelC linking G to the supervisor S. We consider only the simplest case, where the events visible to Sform a subset Σo of the alphabet Σ associated with G. Apart from this feature, S operates in theusual way, enabling or disabling events in the controllable subset Σc of Σ. No particular relation ispostulated to hold between Σc and Σo: in particular, S can potentially disable controllable events that

244

Page 262: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

are not observable, namely Σc−Σo need not be empty. To model the channel C we bring in the naturalprojection

P : Σ∗ → Σ∗o

defined inductively according to

P (ǫ) = ǫ

P (σ) =

σ if σ ∈ Σo

ǫ otherwise

P (sσ) = P (s)P (σ) for s ∈ Σ∗, σ ∈ Σ

Thus the effect of P on a string s is just to erase from s the events that do not belong to Σo, leaving theorder of Σo-events in s unchanged. If s1, s2 ∈ Σ∗ then P (s1s2) = P (s1)P (s2), namely P is catenative.For s, s′ ∈ Σ∗ define

s ≡ s′ (mod kerP ) if Ps = Ps′

Because P is catenative, ker P is a right congruence on Σ∗ (in general with infinite index).

In TCT, P is implemented by project. Let E be a DES over Σ, and Null be a list of the eventsσ ∈ Σ such that Pσ = ǫ (i.e., σ ∈ Σ − Σo), or alternatively Image a list of σ ∈ Σo. Then

PE := project(E,Null/Image(P ))

is a (minimal-state) DES with

Lm(PE) = PLm(E), L(PE) = PL(E)

Because project uses the subset construction (Sect. 2.5) to ensure that PE is deterministic, thisprocedure requires, in the worst case, computational effort (both time and computer memory) that isexponential in the state size of E.

Denote byP−1 : Pwr(Σ∗

o) → Pwr(Σ∗)

the usual inverse image function of P (cf. Sect. 1.4). In TCT P−1 is implemented by selfloop. Thuslet GO be a DES over Σo, and let

PINVGO := selfloop(GO,Null(P ))

Then

Lm(PINVGO) = P−1Lm(GO)

L(PINVGO) = P−1L(GO)

Exercise 6.1.1: Let K ⊆ Σ∗,Σ0 ⊆ Σ, and P : Σ∗ → Σ∗0 the natural projection. Write [s] for the cell

of s(mod kerP ) i.e.[s] := s′ ∈ Σ∗|Ps′ = Ps

245

Page 263: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Denote by PK(s) the Nerode K-cell of s ∈ Σ∗, and define the function

f : Σ∗ → Pwr[Σ∗/Ner(K)]

according tof(s) = PK(s′)|s′ ∈ [s], s ∈ Σ∗

As in Exercise 1.4.16, write℘(Ner(K)) = ker(f)

for the exponentiation of Ner(K) with respect to ker(P ). Show that ℘(Ner(K)) is a right congruenceon Σ∗. Next let Ner(PK) be the Nerode equivalence relation of PK on Σ∗

0, and denote by Ner(PK) ·Pthe equivalence relation on Σ∗ given by

s1 ≡ s2 iff Ps1 ≡ Ps2 (mod Ner(PK))

Show that Ner(PK) · P is a right congruence on Σ∗, with

℘(Ner(K)) ≤ Ner(PK) · P = Ner(P−1(PK))

From this result deduce that‖PK‖ ≤ 2‖K‖

where ‖ · ‖ denotes Nerode index.

Exercise 6.1.2: In Exercise 6.1.1 let κ be a right congruence on Σ∗ with Ner(K) ≥ κ. Show that℘(κ) is also a right congruence, and that

‖P (K)‖ ≤ |℘(κ)| ≤ 2|κ|

Here |α| denotes the number of cells of the equivalence relation α. 3

Exercise 6.1.3: (Marking and reduction)

Let ν be a right congruence on Σ∗, and N ⊆ Σ∗ with Ner(N) ≥ ν. Define n : Σ∗ → 0, 1 accordingto n(s) = 1 iff s ∈ N . If Pν : Σ∗ → Σ∗/ν is the canonical projection, show that kerPν ≤ kern, so thereexists n : Σ∗/ν → 0, 1 such that n = n Pν . We say ν is marked by n, and that the pair (ν, n) marksN . Since Σ∗ − N is (if nonempty) a cell of Ner(N), it is a union of cells of ν. We say ν is reduced withrespect to N if Σ∗ − N is a single cell of ν, which we call the dump cell of ν. If (ν, n) marks N and ν isreduced for N , we say (ν, n) represents N .

With reference to Exercise 1.4.16, observe that a cell of ℘(ν), or element of Σ∗/℘(ν), is naturallyidentified with a subset of elements of Σ∗/ν, according to

[s]℘(ν) = f(s), s ∈ Σ∗

246

Page 264: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Define n : Σ∗/℘(ν) → 0, 1 according to

n([s]℘(ν)) = 1 iff n([s′]ν) = 1

for at least one string s′ ∈ [s]. Show that (℘(ν), n) marks P−1(PN).

In case ν is reduced for N , so that Σ∗−N is a cell of ν, obtain a reduced representation of P−1(PN)by aggregating f as follows. For s ∈ Σ∗ define

f(s) =

Pν(s

′)|s′ ∈ [s] ∩ N if [s] ∩ (Σ∗ − N) = ∅Pν(s

′)|s′ ∈ [s] ∩ N ∪ Σ∗ − N if [s] ∩ (Σ∗ − N) 6= ∅

In the first case all look-alike strings s′ belong to N ; in the second at least one s′ does not. Write℘(ν) = ker f and show that ℘(ν) is a right congruence on Σ∗ which is reduced for P−1(PN). In ℘,Σ∗−Nagain plays the role of dump cell, for s ∈ Σ∗ − P−1(PN) iff [s] ⊆ Σ∗ − N , namely f(s) = Σ∗ − N.Thus (℘(ν), n) represents P−1(PN).

Exercise 6.1.4: Let K ⊆ Σ∗, κ := K,Σ∗ − K, and let ν be a right congruence on Σ∗. IfNer(K) ≥ κ ∧ ν, show that κ ∧ ν is also a right congruence on Σ∗. Suppose N ⊆ Σ∗,Ner N ≥ ν,and (ν, n) marks N . Define k : Σ∗/κ ∧ ν → 0, 1 as follows: If c ⊆ Σ∗ is a cell of κ ∧ ν, thenk(c) = 1 iff c ⊆ K ∩N . Assuming (κ ∧ ν, k) marks K, show that K = K ∩N .

Definition With K, κ, ν, N and k as in Exercise 6.1.4, we say that K inherits (its marking) from ν.In case ν = Ner(N), we may say that K is marked by N .

Associated with any projection P is a useful property of languages defined as follows. Let

N ⊆M ⊆ Σ∗

Define N to be (M,P )-normal ifN = M ∩ P−1(PN)

Note that in this equality the inclusion ⊆ is automatic, while the reverse inclusion is not. Thus N is(M,P )-normal if and only if it can be recovered from its projection along with a procedure for decidingmembership in M . Equivalently, from s ∈ N , s′ ∈M and P (s′) = P (s) one may infer that s′ ∈ N . An(M,P )-normal language N is the largest sublanguage N of M with the property that PN = PN . It iseasily seen that both M and the empty language ∅ are (M,P )-normal. In fact, if K ⊆ Σ∗

o is arbitrary,then the language

N := M ∩ P−1K

is always (M,P )-normal. Notice also that if N is (M,P )-normal, so is M −N .

Exercise 6.1.5: Let [s] denote the cell of ker P containing s ∈ Σ∗. If N ⊆ Σ∗ show that

P−1(PN) = ∪[s]|s ∈ N

247

Page 265: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Then show that N is (M,P )-normal iff

N = ∪[s] ∩M |s ∈ N

Illustrate with a sketch of Σ∗ partitioned by ker P . 3

With P fixed in the discussion, and the language E ⊆ Σ∗ arbitrary, bring in the family of languages

N(E;M) = N ⊆ E|N is (M,P )-normal,

the class of (M,P )-normal sublanguages of E. Then N(E;M) is nonempty (∅ belongs), and enjoys thefollowing algebraic closure property.

Proposition 6.1.1

The class of languages N(E;M) is a complete sublattice (with respect to sublanguage inclusion) ofthe lattice of sublanguages of E. In particular, the intersection and union of (M,P )-normal sublan-guages are normal. 2

From Proposition 6.1.1 it follows by the usual argument that the language

sup N(E;M)

exists in N(E;M): that is, any language E contains a unique supremal (M,P )-normal sublanguage,the ‘optimal’ (M,P )-normal approximation to E from below.

Exercise 6.1.6: With [s] as in Exercise 6.1.5, show that

sup N(E;M) = ∪[s] ∩M |[s] ∩M ⊆ E

Illustrate with a sketch. 3

In supervisory control the two most important classes of (M,P )-normal languages result from settingM = Lm(G) or M = L(G) respectively. A simple relation between them is the following.

Proposition 6.1.2

Assume that G is trim (in particular Lm(G) = L(G)), N ⊆ Lm(G) is (Lm(G), P )-normal, and thelanguages Lm(G), P−1PN are nonconflicting. Then N is (L(G), P )-normal. 2

Again in connection with supervisory control the following result will find application later.

248

Page 266: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Proposition 6.1.3

Let E ⊆ Lm(G). The class of languages

N(E;L(G)) = N ⊆ E|N is (L(G), P )-normal

is nonempty and closed under arbitrary unions. 2

As before, from Proposition 6.1.3 we infer that the language

sup N(E;L(G))

exists in N(E;L(G)).

Examples show that in general the supremal (L(G), P )-normal sublanguage of a closed languageneed not be closed. However, we have the following important result, which states that if C ⊆ L(G) isclosed, N is the supremal (L(G), P )-normal sublanguage ofC, and B is the supremal closed sublanguageof N , then in fact B is the supremal sublanguage of C whose closure is (L(G), P )-normal.

Proposition 6.1.4 (Lin)

Let C ⊆ L(G) be closed. Then

sup N(C;L(G)) = sup F(sup N(C;L(G)))

Proof

In the proof write ‘normal’ for ‘(L(G), P )-normal’, N := sup N(C;L(G)), B := sup F(N), B :=L(G) ∩ P−1(PB). Clearly B is closed and normal. Since B ⊆ N and N is normal,

B ⊆ L(G) ∩ P−1(PN) = N

Therefore B ⊆ B. But automatically B ⊇ B (since B ⊆ L(G)), so B = B, i.e. B is normal. LetD := sup N(C;L(G)). Now B ⊆ C and B = B is normal, so B ⊆ D. Also D ⊆ C = C and D normalimply D ⊆ N , and then D closed implies that D ⊆ B, so D ⊆ B. That is, D = B, as claimed. 2

For sup N(E;M) with E ⊆M but E,M otherwise arbitrary, we have the following explicit descrip-tion.

Proposition 6.1.5 (Lin-Brandt formula)

Let E ⊆M . Thensup N(E;M) = E − P−1P (M − E)

249

Page 267: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Proof

In the proof write ‘normal’ for ‘(M,P )-normal’, S := P−1P (M −E) and N := E − S. To see thatN is normal, suppose

u ∈M, Pu ∈ PN

For some v ∈ N , Pu = Pv. We claim u 6∈ S: otherwise, there exists t ∈ M − E with Pu = Pt, soPv = Pt, i.e. v ∈ S, a contradiction. We also claim that u ∈ E: otherwise u ∈ M − E and thereforeu ∈ S, a contradiction. Thus u ∈ E − S = N , namely

M ∩ P−1PN ⊆ N

hence N is normal. Now let K ⊆ E be normal. We claim that K ⊆ N : otherwise there is s ∈ K(so s ∈ E) with s ∈ S, and so there is t ∈ M − E with Ps = Pt, i.e. Pt ∈ PK. But t ∈ M andt ∈ P−1PK, so by normality t ∈ K, a contradiction to K ⊆ E. 2

An implementation of the Lin-Brandt formula is available in TCT:

N = supnorm(E,M,Null/Image(P ))

Here E, M are representative DES for E and M , with E arbitrary, and Null(P ) (resp. Image(P )) isa list of the events erased (resp. retained) by P . Then N represents sup N(E ∩M ;M); thus the userneed not arrange in advance that E ⊆ M . Like project, supnorm is computationally expensive.

Exercise 6.1.7: Illustrate the Lin-Brandt formula with a sketch showing Σ∗ partitioned by ker P ,along with sublanguages E ⊆ M ⊆ Σ∗. In light of Exercises 6.1.5, 6.1.6, the formula should now be‘obvious’; clearly it is valid for sets and functions in general. 3

As the last topic of this section we introduce the following related property that is sometimes useful.Let R ⊆ Σ∗. Say that R is (L(G), P )-paranormal if

R(Σ − Σo) ∩ L(G) ⊆ R

Thus R is (L(G), P )-paranormal if the occurrence of unobservable events never results in exit fromthe closure of R. By analogy with controllability it is clear, for instance, that the class of (L(G), P )-paranormal sublanguages of an arbitrary sublanguage of Σ∗ is nonempty, closed under union (but notnecessarily intersection), and contains a (unique) supremal element.

Proposition 6.1.6

If the closure of R is (L(G), P )-normal, then R is (L(G), P )-paranormal. 2

The converse of Proposition 6.1.6 is false: an (L(G), P )-paranormal sublanguage of L(G), closed ornot, need not be (L(G), P )-normal. However, the result can be useful in showing that a given closedlanguage R is not (L(G), P )-normal, by showing that an unobservable event may cause escape from R.

250

Page 268: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

To illustrate these ideas we consider three examples.

Example 6.1.1

Let Σ = α, β, Σo = α, L(G) = ǫ, α, β, C = ǫ, α. Then C is closed and PC = C. However

L(G) ∩ P−1(PC) = ǫ, α, β = L(G) % C

and C is not (L(G), P )-normal. C is not (L(G), P )-paranormal either:

C(Σ − Σo) ∩ L(G) = Cβ ∩ L(G) = β, αβ ∩ ǫ, α, β = β 6⊆ C;

namely the unobservable event β catenated with the string ǫ ∈ C results in escape from C. On theother hand, for the sublanguage A := α,

L(G) ∩ P−1Pα = L(G) ∩ β∗αβ∗ = α = A

so thatA is (L(G), P )-normal, and therefore A = sup N(C;L(G)). It can be checked that sup N(C;L(G))is correctly calculated by the Lin-Brandt formula (Proposition 6.1.5). Note also that A = C, showingthat the supremal (L(G), P )-normal sublanguage of a closed language need not be closed; here, in fact,sup N(C;L(G)) = ∅, in agreement with Proposition 6.1.4.

Now let B := α, β. Whereas B is (L(G), P )-paranormal, we have

L(G) ∩ P−1(PB) = L(G) ∩ P−1α, ǫ = L(G) % B

so B is not (L(G), P )-normal.

Example 6.1.2

As another example let Σ = α, β, γ, Σo = γ,

L(G) = ǫ, α, αγ, αγγ, β, βγ, βγγ = (α + β)γ2

C = ǫ, α, αγ, β, βγ, βγγ = (α+ βγ)γ

ThenL(G) ∩ P−1P (C) = L(G) % C

so C is not (L(G), P )-normal; in fact Lin-Brandt yields

sup N(C;L(G)) = ǫ, α, β, αγ, βγ = (α + β)γ

so in this case sup N(C;L(G)) and sup N(C;L(G)) coincide. On the other hand C is (L(G), P )-paranormal, since the occurrence of unobservable events α or β does preserve membership in C.

251

Page 269: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Example 6.1.3

Let Σ = α, β, Σo = α, L(G) = ǫ, α, β, βα, A = βα. Then A is (L(G), P )-paranormal:

A(Σ − Σ0) ∩ L(G) = ǫ, β, βαβ ∩ L(G) = β ⊆ A

However, the closure A is not (L(G), P )-normal, because

L(G) ∩ P−1(PA) = ǫ, α, β, βα % A

3

Exercise 6.1.8: With Σo ⊆ Σ, let P : Σ∗ → Σ∗o be the natural projection, and let A ⊆ Σ∗, B ⊆ Σ∗

o.Show that

PA = PA, P−1B = P−1B

Exercise 6.1.9: Supply proofs of Propositions 6.1.1, 6.1.2, 6.1.3 and 6.1.6.

Exercise 6.1.10: Show by example that N(E;L(G)) is not in general closed under intersection.

Exercise 6.1.11: Does there exist a language A that is normal but not paranormal? If so, what canbe said about A?

Exercise 6.1.12: Show that, with E ⊆M ,

P sup N(E;M) = PE − P (M − E)

Exercise 6.1.13: With L ⊆ Σ∗ write

F(L) := H ⊆ L|H = H

for the family of closed sublanguages of L, and let M be its supremal element:

M := sup F(L)

= s ∈ L | s ⊆ L

Prove the inductive rulesM 6= ∅ ⇔ ǫ ∈ L

(∀s ∈ Σ∗)(∀σ ∈ Σ)sσ ∈M ⇔ s ∈M & sσ ∈ L

252

Page 270: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Referring to Sect. 2.8, show that M ⊢ L, but in general Ner(M) Ner(L). More generally,suppose λ is a right congruence on Σ∗ with Ner(L) ≥ λ. Show that µ ∧ λ is a right congruence andNer(M) ≥ µ ∧ λ, where

µ = M,Σ∗ −M ∈ E(Σ∗)

Show also thatM = L− (Σ∗ − L)Σ∗

In particular, L is closed iffL ∩ (Σ∗ − L)Σ∗ = ∅

3

For i = 1, 2 let Li ⊆ Σ∗i . We say that L1, L2 are synchronously nonconflicting over (Σ1 ∪ Σ2)

∗ if

L1 ‖ L2 = L1 ‖ L2

Let Pi : (Σ1∪Σ2)∗ → Σ∗

i (i = 1, 2) be the natural projections. By Exercise 6.1.8, P−1i Li = P−1

i Li(i =1, 2), so L1, L2 are synchronously nonconflicting over (Σ1 ∪ Σ2)

∗ iff P−11 L1, P

−12 L2 ⊆ (Σ1 ∪ Σ2)

∗ arenonconflicting in the usual sense (Sect. 3.6).

Exercise 6.1.14: (Lei Feng) For i = 1, 2 let Li ⊆ Σ∗i . Also let Σ1 ∩ Σ2 ⊆ Σ0 ⊆ Σ1 ∪ Σ2, and

P0 : (Σ1 ∪ Σ2)∗ −→ Σ∗

0 be the natural projection. Call P0 an Li – observer if

(∀t ∈ P0Li)(∀s ∈ Li)P0s ≤ t ⇒ (∃u ∈ Σ∗i )su ∈ Li & P0(su) = t

In other words, whenever P0s can be extended to a string t ∈ P0Li, the underlying string s ∈ Li canbe extended to a string su ∈ Li with the same projection. Assume that P0 is an Li-observer (i = 1, 2)and that

P0L1 ⊆ (Σ0 ∩ Σ1)∗, P0L2 ⊆ (Σ0 ∩ Σ2)

are synchronously nonconflicting over Σ∗0. Show that L1, L2 are synchronously nonconflicting over

(Σ1 ∪ Σ2)∗. Specialize to each of the cases Σ1 = Σ2,Σ0 = Σ1 ∩ Σ2, and Σ1 ∩ Σ2 = ∅. Hint: Make use

of Exercise 3.3.7.

Exercise 6.1.15: With reference to Exercises 6.1.5 and 6.1.6, write N := sup N(E;M); and [s] forthe cell of s mod(ker P ), namely [s] = s′ ∈ Σ∗|Ps′ = Ps. Recall that

N =⋃

[s] ∩M |s ∈ Σ∗, [s] ∩M ⊆ E

Let µ = Ner(M), η = Ner(E) be the Nerode equivalence relations for M,E respectively, and write

Pµ : Σ∗ → Σ∗/µ, Pη : Σ∗ → Σ∗/η

253

Page 271: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

for the corresponding canonical projections. Define

f : Σ∗ → Pwr(Σ∗/µ× Σ∗/η)

according tof(s) := (Pµ × Pη)[s] = (Pµs

′, Pηs′)|s′ ∈ [s]

Show that ℘(µ ∧ η) := ker f is a right congruence on Σ∗ and that

Ner(N) ≥ µ ∧ ℘(µ ∧ η) (1)

From this conclude that‖N‖ ≤ ‖M‖ · 2‖M‖·‖E‖

Finally sharpen (1) as follows. Define

f(·; M) : Σ∗ → Pwr(Σ∗/µ ∧ η)

according tof(s; M) := (Pµ(s

′), Pη(s′))|s′ ∈ [s] ∩ M

and let ℘(µ ∧ η; M) := ker f(·, M). Show that

Ner(N) ≥ µ ∧ ℘(µ ∧ η; M)

Hint: First note that P is a congruence of catenation:

[sw] = [s][w] := s′w′|s′ ∈ [s], w′ ∈ [w]

Thusf(sw) = (Pµ(s

′w′), Pη(s′w′))|s′ ∈ [s], w′ ∈ [w]

If f(s2) = f(s1) then for every pair

(Pµ(s′2), Pη(s

′2)) ∈ f(s2)

there is an identical pair(Pµ(s

′1), Pη(s

′1)) ∈ f(s1)

Since µ, η are right congruences

Pµ(s′2w′) = Pµ(s

′1w

′), Pη(s′2w

′) = Pη(s′1w

′)

so(Pµ(s

′2w

′), Pη(s′2w

′)) ∈ f(s1w)

i.e. f(s2w) ⊆ f(s1w). Similarly f(s1w) ⊆ f(s2w) and thus ker(f) is a right congruence.

Write π := µ ∧ ker f . Then π is a right congruence, and it suffices to show π ≤ N,Σ∗ − N. Lets1 ≡ s2(mod π) and s1 ∈ N , so that [s1]∩M ⊆ E. Since N ⊆M and s2 ≡ s1(mod µ), we have s2 ∈M ,

254

Page 272: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

and it remains to show that [s2] ∩M ⊆ E. Let s′2 ∈ [s2] ∩M . Using the fact that f(s2) ⊆ f(s1), notethat there is s′1 ∈ [s1] with

Pµs′2 = Pµs

′1, Pηs

′2 = Pηs

′1

So s′2 ∈M implies s′1 ∈M , hence s′1 ∈ E, and in turn s′2 ∈ E, as required.

Exercise 6.1.16: Let N ⊆ Σ∗ and suppose ν is a right congruence on Σ∗, with Pν : Σ∗ → Σ∗/ν. Lett ∈ Σ∗ and define

K = s ∈ N |(∀u ≤ s)u 6≡ t(mod ν)Thus K is the sublanguage of N whose strings never visit the ν-cell of t. Show that K = K∩N . DefineT ⊆ Σ∗/ν according to

T := Pν(sσ)|s ∈ K, σ ∈ Σ, sσ /∈ Kand verify

(∀s ∈ Σ∗)(∀σ ∈ Σ)sσ ∈ K ⇔ s ∈ K & Pν(sσ) /∈ T

Show next thatNer(K) ≥ κ ∧ ν

where κ = K,Σ∗ − K. Conclude that

Ner(K) ≥ κ ∧ ν ∧ Ner(N)

Exercise 6.1.17: Let M,E ⊆ Σ∗,Σ0 ⊆ Σ, and let P : Σ∗ → Σ∗0 be the natural projection. Consider

a chainΣ∗ ⊇ K0 ⊇ N0 ⊇ K1 ⊇ N1 ⊇ ...

where K0 = E,N0 = sup N(K0;M), and for j ≥ 1,

Kj = Kj ∩Nj−1, Nj = sup N(Kj ;M)

Let [s] denote the cell of s mod (kerP ). Show that

Nj =⋃

[s] ∩M |s ∈ Σ∗, [s] ∩M ⊆ Kj ∩ E, j ≥ 0

Write µ := Ner(M), η := Ner(E), and κj := Kj ,Σ∗ − Kj. Assuming further

Ner(Kj) ≥ κj ∧ µ ∧ η, j ≥ 1

show thatNer(Nj) ≥ µ ∧ ℘(κj ∧ µ ∧ η), j ≥ 1

Conclude that the chain is finitely convergent, say to a limit N , where

‖N‖ ≤ ‖M‖ · 2‖M‖·(‖E‖+1)

255

Page 273: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Hint: For the latter estimate justify the replacement of η, in the inequality for Ner(N), by the reductionof η with respect to K (for ‘reduction’ see Exercise 6.1.3).

Exercise 6.1.18:

Let M,E ⊆ Σ∗, µ = Ner(M), η = Ner(E). Let

N0 =⋃

[s] ∩M |[s] ∩M ⊆ E

X0 =⋃

arb

(µ ∧ η ∧ ℘(µ ∧ η)) − cells

F0 = s ∈ Σ∗|s ∩X0 = ∅ϕ0 = F0,Σ

∗ − F0

For j ≥ 1 let

Nj =⋃

[s] ∩M |[s] ∩M ⊆ E & [s] ∩M ∩Xj−1 = ∅

Xj =⋃

arb

(µ ∧ η ∧ ℘(ϕj−1 ∧ µ ∧ η)) − cells

Fj = s ∈ Σ∗|s ∩Xj = ∅ϕj = Fj ,Σ

∗ − Fj

Here⋃

arb

(·)-cells means “some arbitrary union of (·)-cells”. Show that for j ≥ 2,

Ner(Nj) ≥ µ ∧ ℘(ϕj−1 ∧ ... ∧ ϕ0 ∧ µ ∧ η)Next set ϕ−1 = ⊤ and for j ≥ 0 let

Yj =⋃

(µ ∧ η ∧ ℘(µ ∧ η)) − cells|cell(µ ∧ η ∧ ℘(ϕj−1 ∧ µ ∧ η)) ⊆ XjHj = s ∈ Σ∗|s ∩ (Y0 ∪ ... ∪ Yj) = ∅ψj = Hj,Σ

∗ −HjShow that for j ≥ 1,

Ner(Nj) ≥ µ ∧ ℘(ψj−1 ∧ µ ∧ η)and thus

‖Nj‖ ≤ ‖M‖.2(‖M‖.‖E‖+1)

Exercise 6.1.19:

Let K := sup N(E;L(G))

:= supF ⊆ E|F is (L(G), P ) − normal

256

Page 274: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Define the operator T : Pwr(Σ∗) → Pwr(Σ∗) according to

T (J) = J ∩ sup F(sup N(J ;L(G))), J ⊆ Σ∗

Set K0 := E,Kj := T (Kj−1), j > 1. Show that, provided E and L(G) are regular, the chain K0 ⊇K1 ⊇ K2 . . . is finitely convergent to K. Furthermore

‖K‖ = O(‖L(G)‖ · ‖E‖ · 2‖L(G)‖·‖E‖)

Hint: Use the results of Exercises 6.1.13 and 6.1.15.

6.2 Observable Languages

In order to define observability, it is convenient to associate with each string s two distinguished subsetsof events, as follows. Let K ⊆ Σ∗ be arbitrary. For s ∈ Σ∗ define the active event set

AK(s) =

σ ∈ Σ|sσ ∈ K, s ∈ K∅ otherwise

and the inactive event set

IAK(s) =

σ ∈ Σ|sσ ∈ L(G) − K, s ∈ K∅ otherwise

Thus AK(s) consists of just those events whose occurrence following a prefix s of K preserves the prefixproperty; while events in IAK(s) could occur in G, but destroy the prefix property. Next we define thebinary relation K-active on Σ∗, denoted by actK , according to: (s, s′) ∈ actK iff

(i) AK(s) ∩ IAK(s′) = ∅ = AK(s′) ∩ IAK(s), and

(ii) s ∈ K ∩ Lm(G) & s′ ∈ K ∩ Lm(G) ⇒ (s ∈ K ⇔ s′ ∈ K)

Equivalently, for all s, s′ ∈ Σ∗, (s, s′) ∈ actK if and only if

(i′) (∀σ)sσ ∈ K & s′ ∈ K & s′σ ∈ L(G) ⇒ s′σ ∈ K, and

(ii′) s ∈ K ∩ Lm(G) & s′ ∈ K ∩ Lm(G) ⇒ s′ ∈ K, and

(iii′) conditions (i′) and (ii′) hold with s and s′ interchanged.

Note that a pair (s, s′) ∈ actK if either of s or s′ does not belong to K, because if s 6∈ K thenAK(s) = IAK(s) = ∅. Otherwise (the nontrivial case) membership of a pair of strings (s, s′) in actK

means, roughly, that prefixes s and s′ of K have identical one-step continuations with respect to

257

Page 275: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

membership in K; and, if each is in Lm(G) and one actually belongs to K, then so does the other. Itshould be noted that actK is a tolerance relation on Σ∗, namely it is reflexive and symmetric but neednot be transitive. Notice finally that if K is closed, or Lm(G)-closed, then conditions (ii) and (ii′) aresatisfied automatically and may be dropped.

Example 6.2.1

β

µλ

αα

G

Let Σ = α, β, λ, µ, Σo = α, β,

L(G) = λα + µ(α+ β), K = λα+ µβ

Then, for instance

AK(ǫ) = λ, µ, IAK(ǫ) = ∅AK(λ) = α, IAK(λ) = ∅AK(µ) = β, IAK(µ) = α

So the string pairs (ǫ, λ), (ǫ, µ) ∈ actK , but (λ, µ) 6∈ actK . Suppose

Lm(G) = ǫ+ λ(ǫ+ α) + µ(α + β), J = ǫ+ λα+ µβ

Then J = K but J is not even Lm(G)-closed, since

λ ∈ J ∩ Lm(G), λ 6∈ J.

Now ǫ ∈ J ∩ Lm(G) and λ ∈ J ∩ Lm(G), but λ 6∈ J , so in this case (ǫ, λ) 6∈ actJ . 3

We can now frame the definition desired. With P : Σ∗ → Σ∗o as before, say that a language K ⊆ Σ∗

is (G, P )-observable, or simply observable, if

kerP ≤ actK

258

Page 276: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Explicitly, on substituting the definitions of kerP and actK , we see that K ⊆ Σ∗ is (G, P )–observableprovided

(i′′)(∀s, s′ ∈ Σ∗)(∀σ ∈ Σ)sσ ∈ K & s′ ∈ K & s′σ ∈ L(G) & Ps′ = Ps⇒ s′σ ∈ K

(ii′′)(∀s, s′ ∈ Σ∗)s ∈ K ∩ Lm(G) & s′ ∈ K ∩ Lm(G) & Ps′ = Ps⇒ s′ ∈ K ∩ Lm(G)

Thus observability declares that the equivalence relation ker P refines actK , namely that P preserves atleast the information required to decide consistently the question of continuing membership in K afterthe hypothetical occurrence of an event σ, as well as to decide membership in K when membership inK ∩ Lm(G) happens to be known. If two strings ‘look the same’ (have the same projections), then adecision rule that applies to one can be used for the other. By contrast, if K is not (G, P )-observable,then an event (observable or not) may have different consequences for look-alike strings. For example,in case K ⊆ L(G) is closed, there would exist s, s′ ∈ K with Ps = Ps′, and σ ∈ Σ, such thatsσ ∈ K but s′σ ∈ L(G)−K. Nevertheless, observability does not preclude the existence of s ∈ K andσ ∈ Σ − Σ0 (hence Ps = P (sσ)) such that sσ ∈ L(G) −K : see the remark following Example 6.2.3.

In the transition graph for Example 6.2.1, the nodes are grouped to display ker P . Since

Pǫ = Pλ = Pµ

neither J nor K is observable.

Exercise 6.2.1: Show that the main condition that K be (G, P )-observable (from (i′′) above) can bewritten

(∀s′, σ)s′ ∈ K & s′σ ∈ L(G) & [(∃s)sσ ∈ K & Ps = Ps′] ⇒ s′σ ∈ K

Roughly, the test for s′σ ∈ K is the existence of a look-alike s such that sσ ∈ K. Hint: Use thepredicate logic tautology

(∀x, y)P (y) & Q(x, y) ⇒ R(y) ≡ (∀y)P (y) & [(∃x)Q(x, y)] ⇒ R(y)

Exercise 6.2.2: The main condition that K be (G, P ) observable, i.e. either (i), or (i′) and (iii′), or(i′′) above, can be displayed as follows. For brevity of notation write L(G) = L and assume K = K.For σ ∈ Σ let catσ : Σ∗ → Σ∗ : s 7→ sσ and define

Kσ := K ∩ cat−1σ (L)

Thus Kσ ⊆ L since L is closed. Also let catσ : Σ∗0 → Σ∗

0 according to

s 7→ sσ if σ ∈ Σ0, s 7→ s if σ /∈ Σ0

259

Page 277: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Let ρK : L→ 0, 1 with ρK(s) = 1 iff s ∈ K. For each σ ∈ Σ consider the diagram.

PP (K) at at

atP (K)P K f0; 1g at(K) KThe square always commutes, by definition. Show that ρσ exists for each σ ∈ Σ, and makes the rightside of the diagram commute, iff kerP ≤ actK . In other words observability means that for everyσ ∈ Σ, the ‘decision function’ ρK |catσ(Kσ) for membership in K factors through P |catσ(Kσ). 3

Of some interest in practice is a condition intermediate between observability and normality. Wefirst recall from Sect. 2.2 the definition of Nerode equivalence: if H ⊆ T ∗ then strings t, t′ ∈ T ∗ areNerode-equivalent with respect to H , written t ≡ t′ (mod H) if, for all v ∈ T ∗, tv ∈ H iff t′v ∈ H . Thismeans that t, t′ lead to the same state of a canonical recognizer for H . Now let K ⊆ Σ∗. We say thatK is strongly (G, P )–observable provided the following hold.

(i′′′)(∀s, s′ ∈ Σ∗)(∀σ ∈ Σ)sσ ∈ K & s′ ∈ K & s′σ ∈ L(G) & Ps′ ≡ Ps(mod PK) ⇒ s′σ ∈ K

(ii′′′)(∀s, s′ ∈ Σ∗)s ∈ K ∩ Lm(G) & s′ ∈ K ∩ Lm(G) & Ps′ ≡ Ps(mod PK) ⇒ s′ ∈ K

Here conditions (i′′′) and (ii′′′) agree with (i′′) and (ii′′) above, except for the crucial replacement of thecondition Ps′ = Ps by the much weaker condition Ps′ ≡ Ps(mod PK). The practical consequence isthat a correct decision as to whether s′σ ∈ K in condition (i′′′), or s′ ∈ K in condition (ii′′′), can bebased on the ‘current’ state reached by the observed string Ps′ in a transition structure for PK: nofurther information about the past history of Ps′ is necessary.

Exercise 6.2.3: Define the equivalence relation (≡ (mod PK)) P on Σ∗ according to

s ≡ s′ mod ((≡ (mod PK)) P )

just in case Ps ≡ Ps′(mod PK). Show that K is strongly (G, P )–observable iff

(≡ (mod PK)) P ≤ actK

This order relation succinctly compares strong observability with the concise form of the observabilitydefinition, kerP ≤ actK . 3

It is clear that observability is implied by strong observability. Our next result shows that, undermild restrictions on marking, strong observability is implied in turn by normality.

260

Page 278: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Proposition 6.2.1

Assume that either K ⊆ L(G) and K is closed, or K ⊆ Lm(G) and K is Lm(G)-closed. If K is(L(G), P )-normal then K is strongly (G, P )-observable. 2

The converse statement is false.

Example 6.2.2: Strong observability does not imply normality

Let Σ = α, β,Σ0 = α, so Pα = α and Pβ = ǫ. Let G,K be as displayed.

α

α

α

G

Taking K = Lm(K) we have PK = K = α∗. Therefore K is closed, but

L(G) ∩ P−1PK = L(G) ∩ Σ∗ = L(G) % K

so K is not (L(G), P )–normal. To see that K is strongly observable note that sσ ∈ K = K impliesσ = α, and then s′ ∈ K implies s′α ∈ K as required by (i′′′). Of course (ii′′′) holds since K is closed.

Example 6.2.3: Observability does not imply strong observability

Let Σ = α1, α2, β1, β2, β3, Σ0 = α1, α2, so Pαi = αi and Pβj = ǫ. Let G,K be as displayed, withall states marked, so K = Lm(K) is closed.

K

β1 β1

α2

α1

α2

β2α1

β3β2

α2

β1α1

β2α1β1

β3

β3

β3α2

G

261

Page 279: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Thus PK is represented by PK as shown: 21PKLet

s = α1β1, s′ = α2β3, σ = β2

Then

sσ = α1β1β2 ∈ K, s′ ∈ K, s′σ = α2β3β2 ∈ L(G),

P s = α1, P s′ = α2, P s

′ ≡ Ps mod (PK)

As s′σ ∈ L(G) − K, K is not strongly observable. However, by inspecting the groups of stringss ∈ L(G) with Ps = ǫ, P s = α1, P s = α2 respectively, the reader may confirm that K is observable. 3

From the viewpoint of an observing agent, the essential difference between a (strongly) (G, P )-observable language and a closed (L(G), P )-normal language is that with a normal language one canalways tell, by watching the projection Ps of an evolving string s, if and when the string exits fromthe language; but with a (strongly) observable language in general this is not the case. For instancein Example 6.2.2, the occurrence of β would represent an unobservable exit from K. As we shallsee in Sect. 6.5 (Propositions 6.5.1, 6.5.2) this difference between observability and normality has thefollowing implication for supervisory control. Suppose the (closed, controllable) language to be synthe-sized is normal. Then no unobservable event will cause a string to exit, in particular no controllableunobservable event. Thus no such event will ever be disabled by the supervisor.

Exercise 6.2.4: Formalize (i.e. provide a rigorous version of) the preceding statement, and supply aproof.

Exercise 6.2.5: Prove Proposition 6.2.1.

Exercise 6.2.6: As a variation on Proposition 6.2.1, show that K is strongly (G, P )–observable if Kis (Lm(G), P )–normal and K is (L(G), P )–normal. 3

To conclude this section, we provide a partial converse to Proposition 6.2.1.

262

Page 280: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Proposition 6.2.2

Let K ⊆ Lm(G) be G-controllable and (G, P )-observable. Assume that Pσ = σ for all σ ∈ Σc.Then K is (Lm(G), P )-normal and K is (L(G), P )-normal. 2

Exercise 6.2.7: Prove Proposition 6.2.2, under the weaker assumption that Pσ = σ for all σ ∈ Σc

such that σ is actually disabled by a supervisor synthesizing K. Hint: Use structural induction onstrings.

Exercise 6.2.8: Checking observability

Let

G = (Q,Σ, δ, q0, Qm)

K = (X,Σ, ξ, x0, Xm)

be DES generators over the alphabet Σ, representing languages L,K ⊆ Σ∗ respectively; i.e. L =Lm(G), L = L(G), K = Lm(K), K = L(K). For Σ0 ⊆ Σ let P : Σ∗ → Σ∗

0 be the natural projection.Whether or not K is (G, P )-observable may in principle be checked as follows. For every s ∈ Σ∗

compute the set of all state pairs reached by look-alike strings s′, namely

T (s) := (δ(q0, s′), ξ(x0, s′))|Ps′ = Ps, δ(q0, s

′)!, ξ(x0, s′)!

⊆ Q×X

and write T := T (s)|s ∈ Σ∗, T (s) 6= ∅. The family T of subsets T can be computed in exponentialtime inasmuch as |T| ≤ 2|Q|.|X|. Now say T ∈ T is observation-consistent (o.c.) if

(∀(q, x), (q′, x′) ∈ T )((∀σ ∈ Σ)[δ(q′, σ)! & ξ(x, σ)! ⇒ ξ(x′, σ)!]

& [q ∈ Qm & q′ ∈ Qm & x ∈ Xm ⇒ x′ ∈ Xm])

Show that K is (G, P )-observable iff T is o.c. for every T ∈ T. Provide simple examples to illustrateboth outcomes. 3

In TCT observability (resp. strong observability) can be checked by the procedure (s)observ.

6.3 Feasible Supervisory Control

We now introduce the concept of supervisory control, proceeding just as in Sect. 3.4, except for takinginto account the constraint that control must be based purely on the result of observing the stringsgenerated by G through the channel C, namely on information transmitted by P : Σ∗ → Σ∗

o. With

G = ( ,Σ, , , ), Σ = Σc ∪ Σu

263

Page 281: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

as usual, define as before the set of all control patterns

Γ = γ ∈ Pwr(Σ)|γ ⊇ Σu

A feasible supervisory control for G is any map V : L(G) → Γ such that

ker(P |L(G)) ≤ ker V

Here P |L(G) denotes the restriction of P to L(G). As before we write V/G to suggest ‘G under thesupervision of V ’. The closed behavior L(V/G) and marked behavior Lm(V/G) are defined exactlyas in Sect. 3.4, as is the property that V is nonblocking for G. Our first main result is the expectedgeneralization of Theorem 3.4.1.

Theorem 6.3.1

Let K ⊆ Lm(G), K 6= ∅. There exists a nonblocking feasible supervisory control V for G such thatLm(V/G) = K if and only if

(i) K is controllable with respect to G, and

(ii) K is observable with respect to (G, P ), and

(iii) K is Lm(G)-closed.

Proof

(If) The proof follows the same lines as that of Theorem 3.4.1, but extended to ensure the feasibilityproperty. First bring in the function

Q : K → Pwr(Σ)

according toQ(s) := σ ∈ Σ|(∀s′ ∈ K)Ps′ = Ps & s′σ ∈ L(G) ⇒ s′σ ∈ K

Now define V : L(G) → Γ as follows. If s ∈ K then

V (s) := Σu ∪ (Σc ∩Q(s))

while if s ∈ L(G) − K and Ps = Pv for some v ∈ K, let

V (s) := V (v)

V (s) is well-defined in the latter case, for if also Ps = Pw with w ∈ K then Pv = Pw, hence bydefinition of Q, Q(v) = Q(w), so V (v) = V (w). Finally if s ∈ L(G) − K and there is no v ∈ K suchthat Ps = Pv then let

V (s) := Σu

264

Page 282: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Next we show that V is feasible, namely ker(P |L(G)) ≤ ker V . Let s1, s2 ∈ L(G), Ps1 = Ps2. Weconsider the three cases (i) s1, s2 ∈ K, (ii) s1 ∈ K, s2 ∈ L(G) − K, and (iii) s1, s2 ∈ L(G) − K. As to(i) it is easily checked that Q(s1) = Q(s2), so V (s1) = V (s2), namely (s1, s2) ∈ ker V as claimed. For(ii), by definition V (s2) = V (s1), so (s1, s2) ∈ ker V . In case (iii), if Ps1 = Pv for some v ∈ K, thenby definition V (s1) = V (v), and Ps2 = Ps1 implies similarly V (s2) = V (v); while if Ps1 = Pv for nov ∈ K then

V (s1) = V (s2) = Σu ;

so in either subcase (s1, s2) ∈ ker V , as required.

To complete the proof it may be shown by induction on length of strings that

L(V/G) = K

and then directly that Lm(V/G) = K. As the argument is similar to the proof of Theorem 3.4.1, wejust provide the inductive step. Thus suppose s ∈ L(V/G), s ∈ K and sσ ∈ L(V/G), i.e. σ ∈ V (s)and sσ ∈ L(G). If σ ∈ Σu then sσ ∈ K by controllability; while if σ ∈ Σc ∩ Q(s) then sσ ∈ K bydefinition of Q. Conversely suppose sσ ∈ K. If σ ∈ Σu then clearly σ ∈ V (s) so sσ ∈ L(V/G). Supposeσ ∈ Σc. We claim σ ∈ Q(s): for if s′ ∈ K with Ps′ = Ps then by observability (s, s′) ∈ actK , and thens′σ ∈ L(G) implies s′σ ∈ K, the required result. Thus it follows that σ ∈ V (s), and as sσ ∈ L(G) weagain conclude that sσ ∈ L(V/G). This shows that L(V/G) = K, as claimed.

(Only if) Let V be a nonblocking feasible supervisory control for G with Lm(V/G) = K. As theproof that K is controllable and Lm(G)-closed is unchanged from the proof of Theorem 3.4.1, it sufficesto show that K is observable. So let (s, s′) ∈ kerP , sσ ∈ K, s′ ∈ K and s′σ ∈ L(G). Since s, s′ ∈ L(G)and ker(P |L(G)) ≤ kerV , there follows V (s) = V (s′). Therefore sσ ∈ K implies in turn σ ∈ V (s),σ ∈ V (s′), and s′σ ∈ K. This verifies the observability condition (i′) of Sect. 6.2; condition (ii′) isautomatic since K is Lm(G)-closed; while condition (iii′) is true by symmetry of the argument. 2

Corollary 6.3.1

Let K ⊆ L(G) be nonempty and closed. There exists a feasible supervisory control V for G suchthat L(V/G) = K if and only if K is controllable with respect to G and observable with respect to(G, P ). 2

For brevity we refer to a nonblocking feasible supervisory control (for G, P ) as an NFSC. As beforewe may generalize this idea to incorporate marking as well as control in the supervisory action. Thusif M ⊆ Lm(G) we define a marking nonblocking feasible supervisory control for the triple (M,G, P ), orMNFSC, as a map V : L(G) → Γ as defined above, but now with marked behavior given by

Lm(V/G) = L(V/G) ∩M

However, for this definition to satisfy the intended interpretation of ‘marking’ we must place a furtherrestriction on M . For instance, in a manufacturing system a string s ∈ Lm(G) might correspondto ‘completion of a finished workpiece’, while s ∈ M might mean ‘completion of a batch of finished

265

Page 283: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

workpieces’. If a batch consists of 10 workpieces, then we would not want the supervisor to confuse astring s corresponding to 6 batches with a string s′ corresponding to 61 workpieces. It is natural, then,to require that s, s′ be distinguishable, namely look different when viewed through P . In general termswe require

(∀s, s′ ∈ Σ∗)s ∈M & s′ ∈ M ∩ Lm(G) & s′ 6∈M ⇒ Ps 6= Ps′

or more directly

(∀s, s′ ∈ Σ∗)s ∈M & s′ ∈ M ∩ Lm(G) & Ps = Ps′ ⇒ s′ ∈M

or succinctlyker(P |(M ∩ Lm(G))) ≤ M, M ∩ Lm(G) −M

If this condition is satisfied then we shall say that M is (G, P )-admissible. As the counterpart toTheorem 3.4.2 we now have

Theorem 6.3.2

Let K ⊆ Lm(G), K 6= ∅, and let K be (G, P )-admissible. There exists an MNFSC V for (K,G, P )such that

Lm(V/G) = K

if and only if K is controllable with respect to G and observable with respect to (G, P ).

Proof

The proof of sufficiency may be left to the reader (cf. the proof of Theorem 3.4.2). As to necessity,the proof that K is controllable is unchanged from the proof of Theorem 6.3.1. For observability lets, s′ ∈ L(G) with Ps = Ps′. The proof of condition (i′) (or(i′′)) of Sect. 6.2 is unchanged, whilecondition (ii′) (or(ii′′)) is just the property that K is (G, P )-admissible.

2

Example 6.3.1: Construction of a feasible supervisor

While not fully implemented in TCT, the following procedure constructs a feasible supervisor,although it cannot guarantee nonblocking. Initially assume that all events are observable, and constructa proper supervisor, say S = (X,Σ, ξ, xo, Xm) for G (cf. Sect. 3.6). For instance, S might be obtainedas supcon(G,E). With the natural projection P : Σ∗ → Σ∗

o given, replace all transitions in S whoseevent labels σ are nulled by P (Pσ = ε) by a ‘silent transition’, say ν, where ν 6∈ Σ. In effect, thisstep converts S into a nondeterministic transition structure, to which we apply the subset construction(Sect. 2.5) as follows. The state set of our new supervisor will be denoted by Y , with elements y thatlabel subsets of X. Define the initial state subset

yo := ξ(xo, s) | s = νk for some k ≥ 0 & ξ(xo, s)!

266

Page 284: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Choose σ1 ∈ Σo and define

y1 := ∪ξ(x, σ1s) | x ∈ yo, s = νk for some k ≥ 0 & ξ(x, σ1s)!

Define y2 similarly, from yo and σ2 ∈ Σo −σ1, and repeat until Σo is exhausted. The subset obtainedat any step is discarded if it is empty or if it appeared previously. This process yields a list ofdistinct nonempty subsets yo, y1, ..., yr, and one-step ‘subset’ transitions of form (yo, σ, yi), σ ∈ Σo,i ∈ 0, 1, ..., r. The procedure is repeated with each of the subsets y1, y2, ... and each σ ∈ Σo, untilno new subset transitions are obtained (in the worst case this will take on the order of 2|X| subsetdeterminations). The result is the projected DES

PS = (Y,Σo, η, yo, Ym)

where Y is the final subset listing yo, y1, ..., , Ym is the ‘marked’ sublist such that y ∈ Ym iff x ∈ y forsome x ∈ Xm, and η(y, σ) = y′ iff ξ(x, σ) = x′ for some x ∈ y, x′ ∈ y′ (σ ∈ Σo).

To define the supervisory action of PS (over the total alphabet Σ), first introduce the disablingpredicate D(x, σ) to mean that σ ∈ Σc and S actively disables σ at x (in TCT, σ is listed at x in thecondat table for S). Next introduce a partial function F : Y × Σ → 0, 1 according to:

F (y, σ) = 0 if (∃x ∈ y) D(x, σ)

i.e. σ is controllable and is disabled at some x ∈ y;

F (y, σ) = 1 if σ ∈ Σ − Σo & (∃x ∈ y) ξ(x, σ)! & [σ ∈ Σu

or [σ ∈ Σc & (∀x′ ∈ y)¬D(x′, σ)]]

i.e. σ is unobservable and is enabled at some x ∈ y, and is either (1) uncontrollable, or (2) controllableand nowhere disabled in y. Otherwise, F (y, σ) is undefined. Finally, modify the transition structure ofPS, to create FPS as follows:

(i) If F (y, σ) = 0, delete any transition in PS of form (y, σ, y′), i.e. declare η(y, σ) undefined;

(ii) if F (y, σ) = 1, add the selfloop η(y, σ) = y.

The resulting structure FPS will be feasible1 and controllable. It is not guaranteed to be coreachable,or nonblocking for the plant G. But if these properties happen to hold, then FPS provides a solutionto the problem of feasible supervisory control. 3

Exercise 6.3.1: Create an example to show that the feasible supervisor constructed according toExample 6.3.1 may turn out to be blocking.

1In the sense that no state change occurs under an unobservable event.

267

Page 285: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Exercise 6.3.2: Even if the feasible supervisor FPS of Example 6.3.1 happens to be a propersupervisor for G, it may still be “overly conservative”. That is, it may implement only a (proper)sublanguage of the controlled behavior Lm(G) ∩ Lm(S), even when this language is controllable andobservable. Construct an example in illustration. (Hint: In Example 6.2.3 take S = K, with Σc =β2). Suppose, however, that S represents K, where K satisfies the conditions of Theorem 6.3.1 with“strongly observable” in place of “observable” in condition (ii). Show that in this case

Lm(G) ∩ Lm(FPS) = K

3

In the general, merely observable, case a state-based construction of the marking nonblocking fea-sible supervisor is described in Exercise 6.3.4 below.

Example 6.3.2: Application of feasible supervision

The previous construction is illustrated by the following problem of mutual exclusion under partialobservation. Consider agents A1, A2 as shown in Fig. 6.3.1.

Ai

Idle

UseRequest

i0 i2i = 1, 2

i1

0

1 2

Fig. 6.3.1Agents subject to mutual exclusion

The state names refer to a single shared resource, so simultaneous occupancy of the state pair (2,2)is prohibited. An additional specification is that resource usage be ‘fair’ in the sense of ‘first-request-first-use’, implemented by means of a queue. It is assumed that events 11, 21 (transitions from Requestto Use) are unobservable. To attempt a solution, start by constructing A = sync(A1,A2), thenASPEC (left to the reader), and finally the supervisor ASUPER = supcon (A,ASPEC), with theresult displayed in Fig. 6.3.2.

268

Page 286: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

ASUPER

22 12

3

7

2020

11

11

1

10020

2

21

821

5

6

1010

22 12

4

Fig. 6.3.2Supervisor with full observation

With events 11, 21 unobservable, application of the subset construction to ASUPER yields PASU-PER, with state set

yo = 0, y1 = 1, 3, y2 = 2, 6, y3 = 4, 7, y4 = 5, 8

and displayed transition structure (Fig. 6.3.3). Now the table condat(A,ASUPER) shows that event11 is disabled at x = 5, 8 while 21 is disabled at x = 4, 7. From this we assert

12

320

1

10

1222

20

2

10

22

PASUPER

0

4

Fig. 6.3.3Projection of ASUPER

D(5, 11), D(8, 11), D(4, 21), D(7, 21)

and obtain

F (y3, 21) = F (y4, 11) = 0, F (y1, 11) = F (y2, 21) = F (y3, 11) = F (y4, 21) = 1

269

Page 287: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Since events 11,21 (being unobservable) do not occur in PASUPER, the desired feasible supervisorFPASUPER is obtained from PASUPER by selflooping 11 at y1, y3 and 21 at y2, y4, with the resultdisplayed in Fig. 6.3.4.

12

2010

1222

2010

22

FPASUPER

11

21

21

11

Fig. 6.3.4Feasible supervisor

It is easily checked that FPASUPER and A are nonconflicting, so the result is nonblocking for A,and in fact the controlled behavior of A is identical with the behavior under supervision by ASUPER.Intuitively it is clear that observation of events 11 and 21 ought to be irrelevant to control, subject tothe given specification.

Exercise 6.3.3: Show that K = Lm(ASUPER) in Example 6.3.2 is strongly (A, P)–observable.

Exercise 6.3.4: Supervisor - observable case

In case the language K to be synthesized is controllable and observable (but not necessarily stronglyobservable) a supervisor can be constructed as follows. We adopt the notation of Exercise 6.2.8. Assumethat K (say, by construction) is already controllable, and ∅ 6= K ⊆ L = Lm(G). First show that T ∈ T

is observation consistent iff

(∀(q, x), (q′, x′) ∈ T )((∀σ ∈ Σc)[δ(q′, σ)! & ξ(x, σ)! ⇒ ξ(x′, σ)!]

& [q ∈ Qm & q′ ∈ Qm & x ∈ Xm ⇒ x′ ∈ Xm]),

namely the definitional test for o.c. need be applied only for σ ∈ Σc.

Assume next that every T ∈ T is o.c., so K is (G, P )-observable. For (feasible) supervision we startwith a representation of PK derived as follows. For each T ∈ T define XT ⊆ X according to

XT := x ∈ X|(∃q ∈ Q)(q, x) ∈ T

270

Page 288: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

namely XT is the projection of T ⊆ Q × X on X. Clearly XT 6= ∅. To represent PK we adopt thestate set

X := XT |T ∈ Tand adjoin the obvious definitions

X0 := ξ(x0, s)|Ps = ǫXm := XT |XT ∩Xm 6= ∅, T ∈ T

Xσ7−→X ′ := ξ(x, σ)|x ∈ X, X ∈ X, σ ∈ Σ0

Writing Ξ : X × Σ0 → X for the transition rule as just defined, let

S0 = X,Σ0,Ξ, X0,Xm

Supply the details of checking that S0 represents PK. In general - and this is significant - S0 will notbe a minimal-state representation of PK (in the Nerode sense).2

It remains to extend S0 to a feasible supervisor (over Σ), say S. For this it is enough to selfloop eachstate X of S0 by σ ∈ Σ − Σ0, exactly when there exists x ∈ X such that ξ(x, σ)! It is clear that S isfeasible, and the reader may complete the detailed verification that S has the fundamental supervisoryproperties required, namely

Lm(G) ∩ Lm(S) = K

L(G) ∩ L(S) = K

Example 6.3.3

Consider the plant G and specification E, defined over Σ = 0, 1, 2, as shown below.

0 1

0 12

3

2

010,1

0

0

21G E

Thus L(G) = ǫ, 0, 1, 0.1, 1.0, 1.2, 1.2.1. Computing

K = minstate(supcon(G,E))

K(.DAT) = condat(G,K)

2It can be replaced by one only if K is strongly observable.

271

Page 289: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

we obtain:

0

1

0

0

2

1

2

1

3

K(.DAT)K

State3

Disabled event1

Let the observable event subset Σ0 = 0, 2. We shall verify that K is observable, and obtain thecorresponding feasible controller.

Referring to Exercise 6.2.8, we first record the state sets Q,X of G,K respectively:

Q = 0, 1, 2, 3, X = 0, 1, 2, 3

Corresponding to the possible observed strings

PL(G) = ǫ, 0, 2

we have the partition induced by ‘look-alikes’:

ker[P |L(G)] = ǫ, 1, 0, 0.1, 1.0, 1.2, 1.2.1

The resulting state pair subsets of Q×X determine the family

T = T0, T1, T2

whereT0 = (0, 0), (1, 2), T1 = (2, 1), (3, 3), T2 = 2, 3

We also need the state subsets

Qj := q ∈ Q|δ(q, j)!, Xj := x ∈ X|ξ(x, j)!, j = 0, 1, 2

namely

Q0 = 0, 1, X0 = 0, 2Q1 = 0, 2, X1 = 0, 1Q2 = 1, X2 = 2

along withQm = 2, 3, Xm = 1, 3

272

Page 290: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

σ 0 1 2 markT q x Q0 X0 Q1 X1 Q2 X2 Qm Xm

T00 0

√ √ √ √ × − × −1 2

√ √ × − √ √ × −

T12 1 × − √ √ × − √ √3 3 × − × − × − √ √

T2 2 3 × − √ × × − √ √

Observability can be verified by inspection of the table displayed. A cell in column Qj (resp. Xj) ischecked (

√) if in the corresponding row both q ∈ Qj , and x ∈ Xj(j = 0, 1, 2). If q ∈ Qj but x /∈ Xj ,

the corresponding Xj−cell is crossed (×); while if q /∈ Qj its cell is crossed (×) and the correspondingXj−cell is considered ‘don’t care’ (−). If q ∈ Qm then its Qm−cell is checked (

√); the corresponding

Xm−cell is checked (√

) if x ∈ Xm, or crossed (×) if x /∈ Xm. Finally if q /∈ Qm its cell is crossed (×)and the Xm−cell is labelled (−).

The observability condition depends only on T ∈ T with |T | ≥ 2, here just T0, T1. Within eachsuch T , it must hold (for observation consistency) that if some (q, x)−cell pair is checked (

√,√

) thenevery cell pair (q′, x′) with q′ checked (

√) must have x′ checked (

√). This condition clearly holds for

the table shown, from which we conclude that the language Lm(K) is (G, P )−observable.

The desired feasible supervisor is obtained as in Exercise 6.3.3. Our representation S0 of PLm(K)will be based on the projected state subsets

XT0= 0, 2, XT1

= 1, 3, XT2= 3

which we denote by Y0, Y1, Y2 say. So the initial state (corresponding to Ps = ǫ) is Y0, and the markersubset is Ym = Y1, Y2. The transition function (Ξ in Exercise 6.3.3) is then

Y007−→1, 3 = Y1, Y0

27−→3 = Y2

and is undefined otherwise. Thus we have

10

2

0

2

S0

It remains to extend S0(over Σ0) to a feasible supervisor S(over Σ). As Σ − Σ0 = 1 and (asabove) X1 = 0, 1, we see that Y0(= 0, 2) and Y1(= 1, 3) should be selflooped by σ = 1, but not

273

Page 291: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Y2(= 3). Our final result for S is displayed below.

0

2

2 disable σ = 1

0 1

1 1

S

The reader can easily check that S as supervisor for G synthesizes Lm(K).

Exercise 6.3.5: With G,E, and P as in Example 6.3.3, carry through the design of a feasiblesupervisor corresponding to

SUPER = supcon(G,E)

Also investigate the reduced versions, say SIMK, SIMSUP of K, SUPER respectively, computedas usual using supreduce.

Example 6.3.4: Local observability for distributed control

We consider a rudimentary decentralized control problem which is not solvable unless the agentsinvolved are provided with a mechanism to communicate. By repeated observability checking, the“channel” by which they communicate is found as part of the problem solution. We develop theproblem as a TCT computation, providing an annotated MAKEIT.TXT file.

Let DES G1 and G2 be independent agents, that is, have disjoint alphabets. It is assumed thatG1 and G2 can observe and control only events in their respective alphabets.

Suppose that G1 can execute a sequence of 3 actions, namely the string 10.12.11, while G2 canexecute only a single action (20).

G1 = Create(G1,[mark all],[tran [0,10,1],[1,12,2],[2,11,3]]) (4,3)

G2 = Create(G2,[mark all],[tran [0,20,1]]) (2,1)

We may write Σ1,Σ2 to refer to the alphabets of G1, G2 or their later enhanced versions. To startwith, Σ1 = 10, 11, 12, Σ2 = 20. In fact only Σ1, but not Σ2, will be changed later.

SPEC declares that G1 should execute its third action (11) if and only if G2 executes 20 beforeG1 executes its first action (10).

274

Page 292: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

SPEC = Create(SPEC,[mark all],[tran [0,10,1],[0,20,2],[1,20,3],[2,10,4],[4 ,11,4]]) (5,5)

This global supervision problem is solved as usual.

PLANT = Sync(G1,G2) (8,10) Blocked events = None

ALLPLANT = Allevents(PLANT) (1,4)

SPEC = Sync(SPEC,ALLPLANT) (5,10) Blocked events = None

SUPER = Supcon(PLANT,SPEC) (9,9)

MSUPER = Minstate(SUPER) (8,9)

MSUPER = Condat(PLANT,MSUPER) Controllable.

MSUPER disables 11 at states [3] and [6].

MSIMSUP = Supreduce(PLANT,MSUPER,MSUPER) (3,7;slb=2)

MSIMSUP = Condat(PLANT,MSIMSUP) Controllable.

It is clear that the supervisor SUPER or its reduced version SIMSUP cannot be implementedlocally by G1 on the basis of its current state, as G1 has no means of sensing whether or not thepriority condition embodied in the specification is satisfied. To make local supervision possible byG1, information must be transferred in some manner to G1 from G2. We know that G1 can locallysynthesize only behavior that is controllable and observable within its own structure. Use of this factwill lead us to a mechanism for the required information transfer.

We begin by testing local observability of MSUPER with respect to each of G1 and G2, namelythe alphabets Σ1 and Σ2.

false = Obs(PLANT,MSUPER,Image[10,11,12])

false = Obs(PLANT,MSUPER,Image[20])

The diagnostic files (not displayed here) show that MSUPER is observable wrt G2 but not G1.For the latter, observability fails at MSUPER states [3] and [6], where 11 is disabled. A “witness”pair of MSUPER strings confirming observability failure at [3] is

Witness: s = [0]10.12[3]x11, s′ = [0]20.10.12[7]v11

Here the notation [3]x11 means “11 is disabled at [3]”, while [7]v11 means “11 is enabled at [7]”.Obviously P1(s) = P1(s′), where P1 is natural projection with Image[10,11,12] = Σ1. Thus G1 cannotdistinguish s, s′, and therefore cannot execute conflicting control decisions based on their observationvia P1.

To resolve the situation at state [3], we note that [3] is entered only by event 12, so we first split

275

Page 293: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

12 into 121 and 123. This will allow G1 to distinguish the string 10.123, following which 11 will bedisabled, from the string 20.10.121, after which 11 will be enabled.

We bring in the appropriate enhancements to PLANT and SPEC.

PLANT1 = Edit(PLANT,[trans +[1,121,3],+[1,123,3],+[4,121,6],+[4,123,6],-[1 ,12,3],-[4,12,6]]) (8,12)

ALLPLANT1 = Allevents(PLANT1) (1,5)

We check that the corresponding enhancement to G1 leads to the same result.

EG1 = Edit(G1,[trans +[1,121,2],+[1,123,2],-[1,12,2]]) (4,4)

EPLANT1 = Sync(EG1,G2) (8,12) Blocked events = None

true = Isomorph(PLANT1,EPLANT1;[[3,4],[4,3],[5,6],[6,5]])

Similarly we enhance SPEC.

SPEC1 = Create(SPEC1,[mark all],[tran [0,10,1],[0,20,2],[1,20,3],[2,10,4], [4,11,4]]) (5,5)

SPEC1 = Sync(SPEC1,ALLPLANT1) (5,15) Blocked events = None

SUPER1 = Supcon(PLANT1,SPEC1) (9,12)

MSUPER1 = Minstate(SUPER1) (8,12)

QCMSUPER1 = Supqc(MSUPER1,Image[10,11,20],QC[omitted]) (5,5) Deterministic.

The behavior of MSUPER1 projects3 exactly to specification, as required.

Next we retest local observability.

false = Obs(PLANT1,MSUPER1,Image[10,11,121,123])

false = Obs(PLANT1,MSUPER1,Image[20])

Obs rel Σ2, Unobs re Σ1: [4]x11, [6]x11

Witness: s = [0]10.(121/123)[4]x11, s′ = [0]20.10.(121/123)[7]v11

Cure: Disable 121 at [1] in s, i.e. delete [1,121,4]; disable 123 at [5] in s′, i.e. delete [5,123,7].

SUPER2 = Edit(SUPER1,[trans -[1,121,4],-[5,123,7]]) (9,10)

SUPER2 = Minstate(SUPER2) (8,10)

Continue with a new check for local observability which, unsurprisingly, again fails with respect to

3For Supqc see Section 6.7.

276

Page 294: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Σ1.

false = Obs(PLANT1,SUPER2,Image[10,11,121,123])

false = Obs(PLANT1,SUPER2,Image[20])

Obs rel Σ2, Unobs rel Σ1: [1]x121, [5]x123, [6]x11

Witness: s = [0]10[1]x121v123, s′ = [0]20.10[5]v121x123

Cure: Create channel in which initial occurrence of 20 enables 121 and disables 123, whileinitial occurrence of 10 disables 121 and enables 123. By this “semantic” split thechannel becomes equivalent to an encoder, or translator, from G2 to G1.

CHNL2 = Create(CHNL2,[mark all],[tran [0,10,1],[0,20,2],[1,20,1],[1,123,1] ,[2,10,2],[2,121,2]]) (3,6)

If we attempt to treat CHNL2 as an auxiliary controller, we fail to solve the local control problem,because of course CHNL is not locally observable. We are therefore forced to hard-wire CHNL2 intoPLANT1 as an auxiliary encoder as distinct from a controller. Just as “controllability” is the basis ofcontroller design, so “observability” can be seen here as the basis of encoder design. “Controlling” and“encoding” can be considered as operational dualities reflecting the structural dualities of controllabilityand observability.

The hardwiring yields

PLANT2 = Sync(PLANT1,CHNL2) (11,12) Blocked events = None

SPEC2 = Edit(SPEC1) (5,15)

SUPER3 = Supcon(PLANT2,SPEC2) (9,9)

MSUPER3 = Minstate(SUPER3) (8,9)

false = Isomorph(SUPER3,MSUPER3)

QCMSUPER3 = Supqc(MSUPER3,Image[10,11,20],QC[omitted]) (5,5) Deterministic.

MSUPER3 projects to plant behavior in accordance with specification, as required.

true = Obs(PLANT2,MSUPER3,Image[10,11,121,123])

false = Obs(PLANT2,MSUPER3,Image[20])

MSUPER3 is locally observable rel both Σ1 and Σ2. The goal has been achieved.

It remains to confirm that the projection of MSUPER3 on Σ1 leads to a correct local supervisor.

P1MSUPER3 = Project(MSUPER3,Image[10,11,121,123]) (4,4)

277

Page 295: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

P2MSUPER3 = Project(MSUPER3,Image[20]) (2,1)

The controlled behavior of EG1 under P1MSUPER3 is given by

SUPEG1 = Meet(EG1,P1MSUPER3) (5,4)

We compute the overall system behavior SYSTEM2 from that of the controlled EG1, togetherwith CHNL2 and G2.

SYSTEM2 = Sync(SUPEG1,G2) (10,13) Blocked events = None

SYSTEM2 = Sync(SYSTEM2,CHNL2) (9,9) Blocked events = None

QCSYSTEM2 = Supqc(SYSTEM2,Image[10,11,20],QC[omitted]) (5,5) Deterministic.

Overall system behavior is correct, in accordance with SPEC2.

TESTEG1 = Supcon(EG1,SUPEG1) (5,4)

true = Isomorph(TESTEG1,SUPEG1;identity)

SUPEG1 = Condat(EG1,SUPEG1) Controllable.

SIMEG1 = Supreduce(EG1,SUPEG1,SUPEG1) (2,4;slb=2)

SIMEG1 = Condat(EG1,SIMEG1) Controllable.

TEST1 = Meet(EG1,SIMEG1) (5,4)

true = Isomorph(TEST1,SUPEG1;identity)

Thus the reduced local supervisor for EG1 is confirmed correct.

This problem works out satisfactorily as an example of top-down encoding design starting fromthe initial global optimal supervisor. The principles are that (1) event splitting is used to provide anadequate information structure for achieving local observability, and then (2) the requisite encoding toresolve unobservability is implemented by a channel. This entity must (3) be controllable, namely nofurther control action is required to implement it, and (4) be hardwired into the plant, to representexactly the intercommunication action between the independent plant components. Thus channelsplay a new role, alongside (local) controllers. Essentially, channels are encoders through which distinctagents communicate. What they encode is event symbol strings from one or both alphabets into someevent of the other alphabet.

This might suggest an alternative approach to the present example, where the channel simplyencodes event 20 in G2 into a new event in G1. It is easily seen, however, that this maneuver will notwork, as what is needed is an encoding into yes/no of whether or not event 20 occurs before or afterevent 10. Thus our approach is correct as it stands, with no further economy apparently possible.

278

Page 296: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

6.4 Infimal Closed Observable Sublanguages

Let G, P be as before, and let A ⊆ L(G). Consider the class of languages

O(A) = K ⊇ A | K is closed and (G, P )-observable

We have the following (dual) analog of Theorem 3.5.1.

Theorem 6.4.1

O(A) is nonempty and closed under arbitrary intersections. In particular, O(A) contains a (unique)infimal element [which we denote by inf O(A)].

Proof

Clearly L(G) ∈ O(A). Let Kβ ∈ O(A) for all β in some index set B, and let

K = ∩Kβ|β ∈ B

Then K is closed. Suppose (s, s′) ∈ kerP , sσ ∈ K, s′ ∈ K and s′σ ∈ L(G). We have for each β thatsσ ∈ Kβ and s′ ∈ Kβ, so s′σ ∈ Kβ. Hence s′σ ∈ K, and K is observable. In particular

inf O(A) = ∩K|K ∈ O(A)

2

In general the conclusion of Theorem 6.4.1 fails if the observable languages are not closed, nor doesit help to require them to be Lm(G)-closed.

Example 6.4.1

Let Σ = α, β, γ, δ, Σo = β, γ, δ and

L(G) = δ + αδ(β + γ), Lm(G) = α, δ, αδ(β + γ)

K1 = α + δ + αδβ, K2 = α + δ + αδγ

The reader may verify that K1 and K2 are both Lm(G)-closed and observable. Now

K1 = ǫ, α, δ, αδ, αδβ), K2 = ǫ, α, δ, αδ, αδγ

K1 ∩K2 = α, δ, K1 ∩K2 = ǫ, α, δK1 ∩ K2 = ǫ, α, δ, αδ

K1 ∩ K2 −K1 ∩K2 = αδ

279

Page 297: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Taking s = ǫ, s′ = α gives s, s′ ∈ K1 ∩K2, while

sδ = δ ∈ K1 ∩K2, s′δ = αδ ∈ K1 ∩ K2 −K1 ∩K2

Thus K1 ∩K2 is not observable. 3

Furthermore, in general it is not true that the union of observable languages (closed or not) isobservable.

Example 6.4.2

Let Σ = α, β, Σo = β, with

L(G) = (ǫ+ α)β, K1 = α, K2 = β

Then K1 and K2 are both observable, but for K = K1 ∪K2 we have

ǫ, α ∈ K, P (ǫ) = P (α), ǫβ = β ∈ K, αβ 6∈ K

and thus K is not observable. 3

We conclude from these results that the class of observable languages containing a given language(and with no closure requirement), despite its seemingly natural definition from the viewpoint of systemtheory, is algebraically rather badly behaved. A more satisfactory approach will be described in thesection to follow. In the meantime we can, however, solve a problem of optimal supervision thataddresses only the closed behavior of the resulting system. The result will be applicable providednonblocking is not an issue.

Without essential loss of generality, we assume for the remainder of this section that

Σo ∪ Σc = Σ

namely every event is either observable or controllable. As a consequence, every uncontrollable eventis observable. Let A and E be closed sublanguages with

A ⊆ E ⊆ L(G)

We interpret E as ‘legal behavior’ and A as ‘minimally adequate behavior’. Our objective is:

Obtain a feasible supervisory control V such that

A ⊆ L(V/G) ⊆ E (∗)

First suppose that A = ∅. The supervisory control V defined by permanently disabling all controllableevents is feasible and it is enough to check that L(V/G) ⊆ E. If A 6= ∅, bring in the language classO(A) as before, and the class C(E) defined by

C(E) = K ⊆ E | K is closed and controllable

280

Page 298: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Recall from Sect. 3.5 that C(E) is closed under arbitrary intersections. We now have the followingabstract solvability condition.

Theorem 6.4.2 (Lin)

Assume A 6= ∅. The problem (*) is solvable if and only if

inf O(A) ⊆ sup C(E)

Proof

(Only if) Let K = L(V/G). Then K is closed. Taking Lm(G) = L(G) in Corollary 6.3.1 we obtainthat K is controllable and observable, so

inf O(A) ⊆ K ⊆ sup C(E)

from which the condition follows.

(If) The family of sublanguages

K = K ′|K ′ ⊇ inf O(A) & K ′ ∈ C(E)

is nonempty (sup C(E) belongs). Since C(E) is closed under intersections, the language

K := inf K = ∩K ′|K ′ ∈ K

belongs to K and is thus closed and controllable.

Write A = inf O(A). It will be shown that K is given explicitly by

K = AΣ∗u ∩ L(G)

Denote the right side of the proposed equality by K#. Clearly K# is closed and contains A. Also, K#

is controllable: for if s = s1s2 with s1 ∈ A, s2 ∈ Σ∗u, σ ∈ Σu and sσ ∈ L(G), then

sσ ∈ AΣ∗u ∩ L(G) = K#;

and it is easy to see (by induction on strings) that any closed controllable language containing A mustcontain K#.

We claim that K is even observable. With this established, it only remains to invoke Corollary6.3.1 for the desired result.

Because K is closed, to prove the claim it suffices to show

(∀s, s′, σ)sσ ∈ K & s′ ∈ K & s′σ ∈ L(G) & Ps = Ps′ ⇒ s′σ ∈ K

281

Page 299: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Taking σ ∈ Σu in the antecedent yields the result by controllability of K. Suppose σ ∈ Σc and assume,for a proof by contradiction, that s′σ 6∈ K. We must have sσ ∈ A. Clearly s′σ 6∈ A, for if s′σ ∈ A ands′σ ∈ L(G) then s′σ ∈ L(G) ∩ AΣ∗

u = K, contrary to our assumption.

It will be shown that s′ ∈ A. Otherwise, if s′ 6∈ A, let w′σ′ be the longest prefix of s′ such thatw′ ∈ A and w′σ′ 6∈ A: because A is nonempty and closed, we have at least ǫ ∈ A, so if s′ 6∈ A then|s′| > 0, and a prefix of the form described must surely exist. Furthermore σ′ ∈ Σu: in fact, theassumption s′ ∈ K implies w′σ′ ∈ K = AΣ∗

u ∩ L(G), and then w′σ′ 6∈ A requires σ′ ∈ Σu as stated.Now

Σ = Σc ∪ Σo

implies Σu ⊆ Σo, so that σ′ ∈ Σo. Since Ps = Ps′ by hypothesis, there is a prefix wσ′ of s such thatPw = Pw′. Since s ∈ A so is wσ′. Therefore

wσ′ ∈ A, w′ ∈ A, w′σ′ ∈ L(G)

and by observability of A there follows w′σ′ ∈ A. This contradicts the supposition above that w′σ′ 6∈ A.Therefore s′ ∈ A after all. Finally we have

Ps = Ps′, sσ ∈ A, s′ ∈ A, s′σ ∈ L(G) − A

in contradiction to the fact that A is observable. The claim is proved, and with it the desired result. 2

Example 6.4.3

The requirement in Theorem 6.4.2 that the relevant languages be closed cannot be dropped. Sup-pose, for instance, we replace C(E) by C(E), the family of all controllable sublanguages of E, andreplace K by

K = K|K ⊇ inf O(A) & K ∈ C(E)Then inf K need not exist. As an example, let

Σ = Σo = α, β, γ, Σc = β, γ, Σu = α

Lm(G) = ǫ, αβ, αγ, A = ǫ, E = Lm(G)

Since all events are observable, inf O(A) = A. Since α ∈ AΣu ∩L(G) and α 6∈ A, A is not controllable.Because Lm(G) is controllable, if inf K exists then A ⊆ inf K ⊆ Lm(G). Therefore the possiblecandidates for inf K are

ǫ, αβ, ǫ, αγ, or ǫ, αβ, αγbut none of these is infimal.

Example 6.4.4

If A and E are not closed, a solution to our problem (*) need not exist, even if A is observable andE is controllable. Let

Σ = α, β, Σo = α, Σc = β

282

Page 300: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

L(G) = ǫ, α, αβ, β, βα, βαβ, Lm(G) = L(G) − ǫWe take

A = β, E = α, β, βαβNow A = ǫ, β and β ∈ Lm(G) so A = A∩Lm(G), i.e. A is Lm(G)-closed. Also (in the active/inactiveset notation of Sect. 6.2)

AA(ǫ) = β, IAA(ǫ) = α,AA(β) = ∅, IAA(β) = α

hence A is observable. However, as

β ∈ A, α ∈ Σu, βα ∈ L(G) − A

A is not controllable. Next, it can be verified that E is controllable; however, as

α, βα ∈ E, Pα = α = P (βα),

AE(α) = ∅, IAE(α) = β,AE(βα) = β, IAE(βα) = ∅

it follows that E is not observable. Thus neither A nor E is a solution of the problem (*). Finally, if

A $ K $ E

thenK = K1 := α, β or K = K2 := β, βαβ,

but neither K1 nor K2 is controllable, and we conclude that (*) is not solvable. On the other hand, ifE is replaced by E then the problem (*) is solved by

K = ǫ, α, β, βα

3

In general, if E is not closed then (*) may fail to be solvable simply because E has too fewsublanguages.

6.5 Supervisory Control and Normality

As we saw in the previous section, the observability property can be conveniently exploited in super-visory control only when the relevant languages are all closed. Even then, because observability isnot preserved under union, in general an optimal (minimally restrictive) supervisory control will notexist. We obtain a better structured problem if we replace observability by the stronger requirementof normality. To this end we set up our problem anew, in such a way that this section is independentof Sects. 6.2 - 6.4.

283

Page 301: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Let the controlled DES G over Σ = Σc∪Σu be given, along with the observing agent’s projectionP : Σ∗ → Σ∗

o. As in Sect. 3.4, define the set of control patterns

Γ = γ ∈ Pwr(Σ)|γ ⊇ Σu

Just as before, we bring in the concept of a supervisory control V : L(G) → Γ. However, V mustnow ‘respect’ the observational constraint that control be based purely on the result of observing thestrings generated by G through the channel C, namely on the information transmitted by P . We sayV is feasible if

(∀s, s′ ∈ L(G))Ps = Ps′ ⇒ V (s) = V (s′),

namely “look-alike strings result in the same control decision.” Succinctly,

ker(P |L(G)) ≤ ker V

As to marking, we require as usual that

(i) Lm(V/G) ⊆ Lm(G)

It’s natural to require as well that marking ‘respect’ the observational constraint, namely “look-alikestrings in Lm(G) ∩ L(V/G) are either both marked or both unmarked”:

(ii) (∀s, s′)s ∈ Lm(V/G) & s′ ∈ Lm(G) ∩ L(V/G) & Ps′ = Ps⇒ s′ ∈ Lm(V/G)

If both (i) and (ii) hold we shall say that V is admissible. Admissibility is related to normality asfollows.

Lemma 6.5.1

(i) If Lm(V/G) is (Lm(G), P )-normal then V is admissible.

(ii) If L(V/G) is (L(G), P )-normal and V is admissible then Lm(V/G) is (Lm(G), P )-normal. 2

Thus if L(V/G) is (L(G), P )-normal then V admissible means that Lm(V/G) is a union of sublanguagesof the form [s] ∩ Lm(G), with [s] a cell of ker P .

Exercise 6.5.1: Prove Lemma 6.5.1. 3

Now let E ⊆ Lm(G) be a specification language. We introduce

Supervisory control and observation problem (SCOP)

284

Page 302: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Find nonblocking, feasible, admissible V such that

∅ 6= Lm(V/G) ⊆ E

To investigate SCOP we bring in the following three families of languages.

C(E) := K ⊆ E|K is controllable wrt G

N(E;Lm(G)) := K ⊆ E|K is (Lm(G), P ) − normalN(E;L(G)) := K ⊆ E|K is (L(G), P ) − normal

Each family is nonempty (∅ belongs), and is closed under arbitrary unions. Let

S(E) := C(E) ∩ N(E;Lm(G)) ∩ N(E;L(G))

Then S(E) is nonempty and closed under arbitrary unions, so that sup S(E) exists in S(E). Now wecan provide a sufficient condition for the solution of SCOP.

Theorem 6.5.1

Let K 6= ∅ and K ∈ S(E). Define V : L(G) → Γ according to:

V (s) :=

Σu ∪ σ ∈ Σc|P (sσ) ∈ PK Ps ∈ PKΣu, P s ∈ PL(G) − PK

and defineLm(V/G) := L(V/G) ∩K

Then V solves SCOP, withLm(V/G) = K .

Proof

Clearly V is feasible. We first claimL(V/G) = K

Notice thatK 6= ∅ ⇒ K 6= ∅ ⇒ ǫ ∈ K

To show L(V/G) ⊆ K, let s ∈ L(V/G), s ∈ K, and sσ ∈ L(V/G). By definition of L(V/G), we havesσ ∈ L(G) and σ ∈ V (s); and s ∈ K implies Ps ∈ PK. If σ ∈ Σu then, since K ∈ C(E),

sσ ∈ KΣu ∩ L(G) ⊆ K

If σ ∈ Σc, then P (sσ) ∈ PK, which implies

sσ ∈ L(G) ∩ P−1(PK) = K ,

285

Page 303: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

since K ∈ N(E;L(G)).

Next we show K ⊆ L(V/G). Let s ∈ K, s ∈ L(V/G), and sσ ∈ K. Then Ps ∈ PK; alsosσ ∈ Lm(G) ⊆ L(G). If σ ∈ Σu then σ ∈ V (s). If σ ∈ Σc then, since P (sσ) ∈ PK, again σ ∈ V (s).Thus s ∈ L(V/G), sσ ∈ L(G), and σ ∈ V (s), so sσ ∈ L(V/G), and our claim is proved.

To see that V is nonblocking, note that

Lm(V/G) := L(V/G) ∩K= K ∩K= K

namely Lm(V/G) = L(V/G).

Finally, V is admissible, by the fact that

Lm(V/G) = K ∈ N(E;Lm(G))

and Lemma 6.5.1. 2

It is well to note that the replacement of observability by normality will restrict the resultingsupervisory control by prohibiting the disablement of any controllable event that happens not to beobservable: i.e. only observable events will be candidates for disablement. We may state this factprecisely as follows.

Proposition 6.5.1

Let K ⊆ L(G) be controllable. If K is (L(G), P )-normal, then

(∀s ∈ Σ∗, σ ∈ Σ)s ∈ K & sσ ∈ L(G) − K ⇒ σ ∈ Σo ∩ Σc 2

Exercise 6.5.2: Prove Proposition 6.5.1. 3

On a more positive note, observability is tantamount to normality in the pleasant circumstance thatall controllable events are observable under P . For convenience we restate Proposition 6.2.2.

Proposition 6.5.2

Let K ⊆ Lm(G) be controllable and observable. Assume Pσ = σ for all σ ∈ Σc. Then K is(Lm(G), P )-normal and K is (L(G), P )-normal. 2

Exercise 6.5.3: Prove Proposition 6.5.2, under the weaker assumption (suitably formalized) thatPσ = σ for all σ ∈ Σc except possibly for those σ that are never disabled in the synthesis of K. 3

286

Page 304: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Now let Go be defined over the alphabet Σo, with

Lm(Go) = PLm(G)

L(Go) = PL(G)

Thus Go is the ‘observer’s local model of G’. Let

Σc,o := σ ∈ Σc|Pσ = σ = Σc ∩ Σo

andΣu,o := Σu ∩ Σo

be respectively the controllable and uncontrollable event subsets in Go. For Eo ⊆ Σ∗o, let

Co(Eo) := Ko ⊆ Eo|Ko is controllable wrt Go

Fix a specification language E ⊆ Σ∗, and bring in languages

No := P sup N(E;Lm(G)),

Ko := sup Co(No)

J := P−1Ko

K := Lm(G) ∩ J .

Theorem 6.5.2

Assume G is nonblocking, i.e. Lm(G) = L(G). If (Lm(G), J) are nonconflicting and K 6= ∅, thenSCOP is solvable with

Lm(V/G) = K .

Proof

It will be shown that K ∈ S(E). For this, let

N := sup N(E;Lm(G))

Then

K ⊆ Lm(G) ∩ P−1(No)

= Lm(G) ∩ P−1(PN)

= N (by normality)

⊆ E

Also (cf. remark preceding Exercise 6.1.1),

K = Lm(G) ∩ P−1Ko

287

Page 305: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

implies that K is (Lm(G), P )-normal, i.e.

K ∈ N(E;Lm(G)) (1)

Since Lm(G), J are nonconflicting, we have

K = Lm(G) ∩ J= Lm(G) ∩ J= L(G) ∩ P−1Ko (by Exercise 6.1.4)

i.e. K is (L(G), P )-normal, namelyK ∈ N(E;L(G)). (2)

To see that K is controllable, let s ∈ K, σ ∈ Σu, and sσ ∈ L(G). Then Ps ∈ Ko. If Pσ = σ, then

(Ps)σ = P (sσ) ∈ P (L(G)) = L(Go)

By Go-controllability of Ko, we have P (sσ) ∈ Ko, i.e.

sσ ∈ L(G) ∩ P−1(Ko) = K

If Pσ = ǫ, thenP (sσ) = Ps ∈ Ko

so againsσ ∈ L(G) ∩ P−1(Ko) = K

as required. ThusK ∈ C(E) (3)

and by (1)-(3), K ∈ S(E). The result now follows by Theorem 6.5.1. 2

Corollary 6.5.2 Under the conditions of Theorem 6.5.2, with K as previously defined, show thatK = sup S(E). Hint: By the proof of the theorem, K ∈ S(E). If H ∈ S(E) use H ∈ C(E)∩N(E;L(G))to show that PH ∈ C0(PE), and then H ⊆ K. 2

Exercise 6.5.4: Write Lm = Lm(G), L = L(G) and PL := P |L; thus PL : L → Σ∗0. Call PL an

Lm-observer if

(∀t ∈ PLm)(∀s ∈ L)Ps ≤ t ⇒ (∃u ∈ Σ∗)su ∈ Lm & P (su) = t

In other words, whenever Ps can be extended in Σ∗0 to a string t ∈ PLm, the underlying string s ∈ L

can be extended to a string su ∈ Lm with the same projection; the “local observer’s expectation isnever blocked in G”. Show that PL is an Lm–observer iff, for every sublanguage E ⊆ PLm,

Lm ∩ P−1(E) = L ∩ P−1(E)

288

Page 306: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

In particular, if K ⊆ Lm and PL is an Lm–observer then

Lm ∩ P−1(PK) = L ∩ P−1(PK)

If K is (Lm, P )-normal conclude that K is (L, P )-normal, in which case

S(E) = C(E) ∩ N(E;Lm(G))

With J as defined prior to Theorem 6.5.2, show that (Lm(G), J) are necessarily nonconflicting, and soit is enough to assume in Theorem 6.5.2 that G is nonblocking and K 6= ∅. 3

The foregoing results are brought together in the following (somewhat restricted) step-by-step designmethod. For a more general algorithm which is always effective, see Exercises 6.5.9, 6.5.10 below.

TCT Procedure for SCOP

0. Given G, E, and the list NULL of P -unobservable events

1. N := supnorm(E,G,NULL)

2. NO := project(N,NULL)4

3. GO := project(G,NULL)

4. KO := supcon(GO,NO) proposed ‘observer’s supervisor’

5. KODAT := condat(GO,KO)

6. PINVKO := selfloop(KO,NULL)

7. nonconflict(G,PINVKO) = true?

8. K = meet(G,PINVKO)

9. K nonempty?

If this procedure terminates successfully (with ‘yes’ at steps 7 and 9), then PINVKO provides asolution to SCOP, and K is the corresponding controlled behavior.

Example 6.5.1: SCOP for Small Factory

Take MACH1, MACH2 as in Small Factory, with specification

4Note that steps 1 and 2 could be combined by use of Exercise 6.1.12.

289

Page 307: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

10

21

BUF SL11, 12, 13, 20, 22, 23

FACT = sync(MACH1,MACH2)

Σo = 10, 11, 20, 21

Thus the unobservable events pertain to breakdown and repair. By the design procedure we obtain thefollowing.

0. FACT, BUF, NULL := [12,13,22,23]

1. N = supnorm(BUF,FACT,NULL) (18,42)

2. NO = project(N,NULL) (8,18)

3. FACTO = project(FACT,NULL) (4,12)

4. KO = supcon(FACTO,NO) (6,11)

5. KODAT = condat(FACTO,KO)

6. PINVKO = selfloop(KO,NULL) (6,35)

7. nonconflict(FACT,PINVKO) = true

8. K = meet(FACT,PINVKO) (20,37)

9. K is nonempty

Thus termination is successful. In the following additional steps we compare our result with the idealcase where all events are observable.

10. MK = minstate(K) (12,25)

11. BUFSUP = supcon(FACT,BUF) (12,25)

12. isomorph(MK,BUFSUP) = true

From this we conclude (rigorously if unsurprisingly) that optimal control of the buffer does notrequire observation of breakdowns and repairs. 3

Exercise 6.5.5: A possible drawback of the TCT design procedure for SCOP is that the observer’ssupervisor, being based on the projected plant model (GO in Step 4), may fail to account for possible

290

Page 308: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

blocking (cf. the discussion in Sect. 2.5). As a result, conflict may result at Step 7, whereupon thedesign procedure fails. For instance, consider the plant model G displayed below with alphabet Σ =0, 1, 2, 3, 5, in which event 0 is unobservable.

0

1

5 5

5

76

0

2

3

05

3

3,5

1G

5

4

2

The observer’s plant model GO = project(G, [0]) is the following:

0

1

1

2

3 4 5

55

5

3

3

2GO

Note that the closed and marked behaviors of GO are exactly the projections of the correspondingbehaviors of G as required. However, GO has obliterated the information that the event sequence

291

Page 309: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

(1,0,2,0) in G leads to a non-coreachable state in G. With reference to Exercise 6.5.4, verify that herePL is not an Lm-observer.

Attempt the TCT design procedure using the specification language Σ∗ (i.e. requiring only non-blocking), verify that it fails at Step 7, and explain how the proposed supervisor could cause blocking.Start again, enhancing the plant model by self-looping its non-coreachable states (5,6,7) with an aux-iliary uncontrollable but (hypothetically) observable event (4, say). Repeating the design procedure(with Σ unchanged, so that non-coreachable states are prohibited), verify that it now succeeds, anddescribe the control action. Finally, generalize this approach for arbitrary specifications, and provideconditions for its validity.

Exercise 6.5.6: It is almost obvious a priori that the approach of this section will fail for thetwo-agents problem in Example 6.3.1. Why?

Exercise 6.5.7: Given G,E and P , take S = supcon(G,E) and proceed as in Example 6.3.1 tocompute S1 = FPS. Also compute S2 = PINVKO as in SCOP. Assuming that both S1 and S2turn out to be nonconflicting with respect to G, show that the (marked) controlled behavior usingS1 contains that using S2. Hint: If V1, V2 are the corresponding supervisory controls, show thatLm(V1/G) ⊇ Lm(V2/G).

Exercise 6.5.8: For a mild generalization of the setup in this chapter, suppose T is an alphabetdisjoint from Σ, but that P : Σ∗ → T ∗ remains catenative, and that for each σ ∈ Σ, either Pσ ∈ T orPσ = ε. For ‘control consistency’ assume also that the subsets Tc := T ∩ PΣc and Tu := T ∩ PΣu aredisjoint, while T = Tc ∪ Tu. Revise the exposition accordingly.

Hint: If G = (Q,Σ, δ, q0, Qm), define G = (Q, Σ, δ, q0, Qm) as follows. For each transition (q, σ, q′) suchthat Pσ ∈ T introduce a new state x, and replace (q, σ, q′) with two new transitions (q, σ, x), (x, Pσ, q′).If X is the set of all such x, let Q := Q∪X. Define Σ := Σ∪T, q0 := q0, Qm := Qm and δ : Q× Σ → Q(pfn) accordingly. Let Σ0 := T and define P : Σ → Σ0 ∪ ε according to

P σ = ε, σ ∈ Σ

P τ = τ, τ ∈ T

Clearly P determines a (unique) natural projection Σ∗ → Σ∗0. Finally, consider the (standard) problems

of this chapter for the pair (G, P ).

Exercise 6.5.9: In the notation of SCOP, define the operator T : Pwr(Σ∗) → Pwr(Σ∗) according to

T (J) := sup C(sup N(sup N(J ;L(G)); Lm(G))), J ⊆ Σ∗

Set K0 := E,Kj = T (Kj−1), j > 1. Show that, provided E and Lm(G) are regular, the chain K0 ⊇

292

Page 310: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

K1 ⊇ K2, . . . is finitely convergent, toK := sup S(E)

Hint: Use the results of Exercises 3.5.3, 6.1.5, and 6.1.15 - 6.1.18. 3

The result of Exercise 6.5.9 is implemented in the TCT procedure supscop. Thus if E,G,K rep-resent respectively E,Lm(G) and K, and if Null/Image(P ) lists the events erased (or resp. retained)by P , then

K = supscop(E,G,Null/Image(P ))

Since ‖K‖ may be exponentially large in ‖E‖ · ‖Lm(G)‖, supscop is computationally intensive.

Exercise 6.5.10: Verify the following ‘feedback implementation’ of the solution K of SCOP computedabove. The ‘observer’s model’ of the supervisor, driven by strings Ps at the channel output, canbe represented by PK := project(K,Null/Image(P)). Also the observer’s model of the plant isPG = project(G,Null/Image(P)). Thus the observer will disable controllable events on the basis of

PK(.DAT) = condat(PG,PK)

Show that this controller is consistent with K. Hint: Compute

QPK = selfloop(PK,Null(P )),

TEST = meet(G,QPK)

and verifytrue = isomorph(TEST,K)

(possibly after application of minstate to the arguments). Justify these steps on the basis of TCTsemantics.

Exercise 6.5.11: State-size reduction under natural observer

Let Lm, L = Lm ⊆ Σ∗,Σ0 ⊆ Σ, and P : Σ∗ → Σ∗0 be the natural projection. Suppose P is an

Lm-observer, namely

(∀t ∈ PLm)(∀s ∈ L)Ps ≤ t⇒ (∃u ∈ Σ∗)su ∈ Lm & P (su) = t

Let λ = Ner(Lm), π = Ner(PLm) and write π P ∈ E(Σ∗) for ker(Pπ P ). Show that λ ≤ π P anddeduce ‖PLm‖ ≤ ‖Lm‖.

6.6 Control of a Guideway

The following example illustrates the ideas of this chapter in an intuitively simple setting, as well asthe computation using TCT of the various DES required. Of course, this ‘universal’ approach to the

293

Page 311: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

example problem is far from being the most efficient; furthermore the piecemeal TCT computationscould certainly be combined into higher-level procedures if desired.

Stations A and B on a guideway are connected by a single one-way track from A to B. The trackconsists of 4 sections, with stoplights (⋆) and detectors (!) installed at various section junctions.

⋆ ⋆

!!!!

· · · · Stn BStn A

·

Two vehicles, V1, V2 use the guideway simultaneously. V is in state 0 (at A), state i (while travellingin section i, i = 1, ..., 4), or state 5 (at B).

22

12

25

15

20

10

23

13

21

11

543210V2

V1

To prevent collision, control of the stoplights must ensure that V1 and V2 never travel on the samesection of track simultaneously: i.e. the V’s are subject to mutual exclusion of the state pairs (i, i),i = 1, ..., 4. Controllable events are odd-numbered; the unobservable events are 13, 23.

By TCT the solution can be carried out as follows. Bracketed numbers (m,n) report the state sizem and number of transitions n of the corresponding DES.

Following the procedure and notation in Sect. 6.5 (cf. Theorem 6.5.1), steps 0 to 9 compute theplant (generator) G = V, the legal specification language (generator) E, then the proposed feasiblesupervisor K.

0. create(V1) (6,5)create(V2) (6,5)V = sync(V1,V2) (36,60)E = mutex(V1,V2,[(1,1),(2,2),(3,3),(4,4)]) (30,40)NULL = [13,23]

1. N = supnorm(E,V,NULL) (26,32)

2. NO = project(N,NULL) (20,24)

3. VO = project(V,NULL) (25,40)

4. KO = supcon(VO,NO) (20,24)

294

Page 312: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

5. KODAT = condat(VO,KO)KODAT could instead be named KO, as in step 4 KO is filed as KO.DES, but in step 5 theresult of condat is filed with suffix .DAT

6. PIKO = selfloop(KO,NULL) (20,64)

7. nonconflict(V,PIKO) = true

8. K = meet(V,PIKO) (26,32)

9. K is nonempty by step 8.

It can be verified that in this example K turns out to be isomorphic to N.

The supervisory action of K can be read from the tabulated transition structure or from the tran-sition graph and is the following (where tsi stands for ‘track section i’): If V2 starts first (event 21),it must enter ts4 before V1 may start (event 11: disabled by light #1). V1 may then continue intots3 (event 10), but may not enter ts4 (event 15: disabled by light #3) until V2 enters Stn B (event22). Light #2 is not used. In fact, switching light #2 to red would mean disabling event 13 or 23; butthese events are unobservable, while K is normal. If all events were observable, supervision could bebased on E, allowing V1 to start when V2 has entered ts2. But then V1 must halt at light #2 untilV2 has entered ts4.

The transition graph for K when V2 starts first is displayed in Fig. 6.6.1 (for E adjoin the eventsshown dashed).

This example illustrates that the replacement of observability by normality as the property to besought in control synthesis results in general in some ‘loss of performance’ in the sense of a restrictionon control behavior that is not strictly necessary. For brevity write E etc. for Lm(E). We claim firstthat E is not observable. For let s = (21), s′ = (21)(23). The projection P nulls the event set 13,23,so Ps = Ps′ = (21), i.e. (s, s′) ∈ kerP . By inspection of the transition structure of V1,V2 we see that

AE(s) = σ | sσ ∈ E = 23,IAE(s) = σ | sσ ∈ L(V) − E = 11AE(s′) = 11, 20IAE(s′) = ∅

The fact that AE(s′) ∩ IAE(s) = 11 6= ∅ proves the claim.

To obtain a controllable and observable sublanguage of E, delete from E the transitions [4,11,7]and [7,20,11], along with their mirror-image counterparts [3,21,6], [6,10,10]; call the resulting languageCOB. It is clear that COB is controllable, since the first transition in each of these pairs is controllable.Now the conditions

s, s′ ∈ COB, (s, s′) ∈ kerP

plus the assumption that s 6= s′, hold (in the displayed graph for E) for

s = 21, s′ = (21)(23)

295

Page 313: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

or vice-versa, and this time we have

ACOB(s) = 23, IACOB(s) = 11ACOB(s′) = 20, IACOB(s′) = 11

for which the null intersection requirement is satisfied; and similarly for the remaining pairs (s, s′) ∈ker P . So COB is (V, P )–observable. Therefore COB can be synthesized by a feasible supervisor; byinspection the supervisory control requires the supervisor to: (i) disable event 11 after (21), keeping11 disabled until after the next observable event, and (ii) enable 11 but disable 13 after (21)(23)(20),and so on, as in the synthesis of E. Note that control calls for the disablement of the unobservableevent 13, whereas in the synthesis of a closed normal language (cf. K, above) only observable eventsever need to be disabled.

We check directly that E is not normal. Let

t = (21)(23)(11) ∈ E

s = Pt = (21)(11) ∈ L(V)

so s = Ps = Pt ∈ PE and s ∈ L(V) ∩ P−1(P (E)). But s 6∈ E, i.e.

E $ L(V) ∩ P−1(P (E))

We can also check directly that COB is not normal, by exhibiting a string terminating with anunobservable event that must be disabled. Let

s = (21)(23)(20)(11)(13)

t = (21)(23)(20)(11)

Then

Ps = (21)(20)(11)

Pt = (21)(20)(11)

Now t ∈ COB and Ps = Pt, so Ps ∈ P (COB), and so

s ∈ P−1P (COB) ∩ L(V)

but s 6∈ COB. Summarizing, we haveK $ COB $ E

Exercise 6.6.1: Complete the detailed verification that COB is (V, P )– observable. In additionshow that COB is strongly (V, P )–observable.

296

Page 314: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Exercise 6.6.2: Apply the method of Example 6.3.1 to the Guideway example of this section, startingfrom the optimal supervisor under full observation. Hint: First check that E is an optimal propersupervisor for V under full observation. Then compute

PE = project(E,Null[13, 23])

With Example 6.3.1 as a model, construct FPE by deleting from PE a suitable single transition foreach of the events 11 and 21, selflooping PE at appropriate states with events 13, 23 respectively, andtrimming the result. As an intermediate check, verify that FPE (24,36) is a proper supervisor for V.Create COB (28,36) to represent COB. Finally compute TEST = meet (V, FPE). If your FPE iscorrect you will find

isomorph(TEST,COB) = true

Exercise 6.6.3: Using TCT supscop, verify directly the solution K computed at step 9, above.Obtain supscop solutions for some unobservable event subsets other than 13, 23. For what maximalsubsets does a (nontrivial) solution of this type exist? Confirm that for any such solution no unobserv-able controllable event is ever disabled. For each of your solutions carry out the consistency check ofExercise 6.5.10. Finally, compute the reduced supervisors using supreduce.

297

Page 315: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Exercise 6.6.4: Develop an original example of your own along the lines of this section.

21

1123

20

25

22

11

13

10

15

12

1120

25

11 13 10

22

22

22

Fig. 6.6.1Transition graph for K when V2 starts first

(For E adjoin events shown dashed)

298

Page 316: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

E # states: 30 state set: 0 ... 29 initial state: 0

marker states: 29

vocal states: none

# transitions: 40

transitions:

[ 0, 11, 1] [ 0, 21, 2] [ 1, 13, 3] [ 2, 23, 4]

[ 3, 10, 5] [ 3, 21, 6] [ 4, 11, 7] [ 4, 20, 8]

[ 5, 15, 9] [ 5, 21, 10] [ 6, 10, 10] [ 7, 20, 11]

[ 8, 11, 11] [ 8, 25, 12] [ 9, 12, 13] [ 9, 21, 14]

[ 10, 15, 14] [ 11, 25, 15] [ 12, 11, 15] [ 12, 22, 16]

[ 13, 21, 17] [ 14, 12, 17] [ 14, 23, 18] [ 15, 13, 19]

[ 15, 22, 20] [ 16, 11, 20] [ 17, 23, 21] [ 18, 12, 21]

[ 18, 20, 22] [ 19, 10, 23] [ 19, 22, 24] [ 20, 13, 24]

[ 21, 20, 25] [ 22, 12, 25] [ 23, 22, 26] [ 24, 10, 26]

[ 25, 25, 27] [ 26, 15, 28] [ 27, 22, 29] [ 28, 12, 29]

E printed.

EDAT

Control data are displayed as a list of supervisor states where disabling occurs,

together with the events that must be disabled there.

control data:

1: 21 2: 11

6: 23 7: 13

10: 23 11: 13

22: 25 23: 15

EDAT printed.

299

Page 317: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

K # states: 26 state set: 0 ... 25 initial state: 0

marker states: 25

vocal states: none

# transitions: 32

transitions:

[ 0, 11, 1] [ 0, 21, 2] [ 1, 13, 3] [ 2, 23, 4]

[ 3, 10, 5] [ 4, 20, 6] [ 5, 15, 7] [ 6, 25, 8]

[ 7, 12, 9] [ 7, 21, 10] [ 8, 11, 11] [ 8, 22, 12]

[ 9, 21, 13] [ 10, 12, 13] [ 10, 23, 14] [ 11, 13, 15]

[ 11, 22, 16] [ 12, 11, 16] [ 13, 23, 17] [ 14, 12, 17]

[ 14, 20, 18] [ 15, 10, 19] [ 15, 22, 20] [ 16, 13, 20]

[ 17, 20, 21] [ 18, 12, 21] [ 19, 22, 22] [ 20, 10, 22]

[ 21, 25, 23] [ 22, 15, 24] [ 23, 22, 25] [ 24, 12, 25]

K printed.

KDAT

Control data are displayed as a list of supervisor states where disabling occurs,

together with the events that must be disabled there.

control data:

1: 21 2: 11

3: 21 4: 11

5: 21 6: 11

18: 25 19: 15

KDAT printed.

300

Page 318: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

6.7 Nondeterminism, Quasi-Congruences, and the Observer

Property

In this section we extend the definitions of nondeterministic dynamic system and quasi-congruence(Exercise 1.4.10), and nondeterministic generator (Sect. 2.5), to treat partial observation under anatural projection P . This will provide a state-based characterization and computational test for theproperty that P is an Lm-observer (as defined in Exercise 6.5.4).

Consider initially the (deterministic) DES G = (Q,Σ, δ, q0, Qm). Assume G is reachable and core-achable. Let µ /∈ Σ be a new event label, and bring in a new self-looped transition (q, µ, q) to ‘flag’each q ∈ Qm (cf. Sect. 3.3). We now replace G with

G′ = (Q,Σ′, δ′, q0, Qm)

where Σ′ := Σ ∪ µ, and δ′ is δ extended to Q× Σ′ as just described: thus

Qm = q ∈ Q|δ′(q, µ)!

Clearly G′ is reachable and coreachable. For the time being, to simplify notation we drop primes, andemploy the usual symbols G,Σ, δ to stand for their modifications G′,Σ′, δ′ as just described. We shallreturn to the original G,Σ, δ after stating Theorem 6.7.1. below.

Next let Σ0 ⊆ Σ and P : Σ∗ → Σ∗0 be the natural projection. Define

H = (Q,Σ0, η, q0, Qm)

to be the nondeterministic generator with η : Q× Σ∗0 → Pwr(Q) given by

η(q, s0) = δ(q, s)|s ∈ Σ∗, δ(q, s)!, P s = s0

Of course, if not δ(q, s)! for every s with Ps = s0 then η(q, s0) = ∅. Note that, in general,

η(q, ε) = δ(q, s)|Ps = ε% q

namely H generalizes the definition in Sect. 2.5. In H, η(q, ε) is the subset of states ‘silently reachable’from q in G. Evidently H is reachable, in the sense that

(∀q ∈ Q)(∃s0 ∈ Σ∗0)q ∈ η(q0, s0)

For η we have the usual composition property, as follows.

Proposition 6.7.1

For all q ∈ Q and s0, t0 ∈ Σ∗0,

η(q, s0t0) =⋃

η(q′, t0)|q′ ∈ η(q, s0) (1)

301

Page 319: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Proof

Note first that, P being catenative,

u ∈ Σ∗|Pu = s0t0 = st|s, t ∈ Σ∗, P s = s0, P t = t0

With the restriction to those s, t for which δ(., .)! understood, (1) is equivalent to

δ(q, st)|Ps = s0, P t = t0 =⋃

δ(q′, t)|Pt = t0|q′ ∈ δ(q, s)|Ps = s0

For inclusion (⊆) let Ps = s0, P t = t0, q′ := δ(q, s). By the composition rule for δ (Sect. 2.5),

δ(q, st) = δ(δ(q, s), t) = δ(q′, t)

For (⊇) let q′ ∈ δ(q, s′)|Ps′ = s0, i.e. q′ = δ(q, s) for some s with Ps = s0. Then if Pt = t0,

δ(q′, t) = δ(δ(q, s), t) = δ(q, st)

For economy of notation it will be convenient to write (1) in the form of a composition rule

η(q, s0t0) = η(η(q, s0), t0)

thus extending the first argument of η(., .) to a subset of Q.

Let π ∈ E(Q) be an equivalence relation on Q, and Pπ : Q→ Q/π =: Q the corresponding canonicalprojection. If R ⊆ Q then as usual

Pπ(R) := Pπ(q)|q ∈ R ⊆ Q

In this case, to emphasize the domain we may write Pπ∗(R)(:= Pπ(R)), with

Pπ∗ : Pwr(Q) → Pwr(Q)

We say that π is a quasi-congruence for H (with respect to the natural projection P ) if, for all q, q′ ∈ Q,

Pπ(q) = Pπ(q′) ⇒ (∀α ∈ Σ0)Pπη(q, α) = Pπη(q′, α)

Thus(∀α ∈ Σ0) kerPπ ≤ ker [Pπ∗(η(., α))]

so there exists a unique ‘induced’ map

η : Q× Σ0 → Pwr(Q)

such that the diagram below commutes.

Q ×Pπ

y

Q ×

Σ0η−−−→ Pwr(Q)

yid

yPπ∗

Σ0η−−−→ Pwr(Q)

302

Page 320: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Trivially, ⊥ is a quasi-congruence for H; but in general ⊤ is not, by Proposition 6.7.2 below.

It is useful to extend the induced map η to Q× Σ∗0, by adjoining

η(q, ε) :=⋃

Pπ(η(q′, ε))|Pπq′ = q, q ∈ Q

Unfortunately the composition rule extends only partially. We have

η(η(q, ε), α) =⋃

η(x, α)|x ∈ η(q, ε)=

x

Pπη(x, α)|Pπx = x|x ∈ η(q, ε)

=⋃

x

q′

Pπη(x, α)|x ∈ η(q′, ε)|Pπq′ = q

=⋃

q′

Pπ⋃

x

η(x, α)|x ∈ η(q′, ε)|Pπq′ = q

=⋃

q′

Pπη(q′, εα)|Pπq′ = q

=⋃

Pπη(q′, α)|Pπq′ = q

=⋃

Pπη(q′, α)|Pπq

′ = q= η(q, α)

In general, however,η(η(q, α), ε) % η(q, α)

Clearly for s0 ∈ Σ+0 we have by induction on |s0|,

η(q, s0) = Pπη(q, s0)

for any q with Pπq = q. Thus we have the commutative diagram

Q ×Pπ

y

Q ×

Σ+0

η−−−→ Pwr(Q)yid

yPπ∗

Σ+0

η−−−→ Pwr(Q)

(2)

If t0 ∈ Σ+0 , then by induction on |t0|,

η(q, s0t0) = η(η(q, s0), t0)

Note, however, that in general, for Pπq = q,

Pπ∗η(q, ε) $ η(q, ε)

With π a quasi-congruence for H, set q0 = Pπ(q0), Qm = PπQm, and let

H = (Q,Σ0, η, q0, Qm)

303

Page 321: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

We refer to H as the reduction of H(mod π).

For α ∈ Σ0, let Eα = q ∈ Q|η(q, α) 6= ∅ and πα = Eα, Q − Eα ∈ E(Q). Note that Eα is thesubset of states q ∈ Q either at which G can execute α (i.e. δ(q, α)!), or from which such a state issilently reachable:

Eα = q ∈ Q|(∃u ∈ Σ∗)Pu = ε & δ(q, uα)!Q−Eα = q ∈ Q|(∀u ∈ Σ∗)Pu = ε⇒ not δ(q, uα)!

Defineπ0 :=

∧πα|α ∈ Σ0

Proposition 6.7.2

Let π be a quasi-congruence for H. Then π ≤ π0.

Proof

Let Pπ(q) = Pπ(q′) and q ∈ Q− Eα. Now

Pπ[η(q′, α)] = Pπ[η(q, α)] = Pπ(∅) = ∅

so η(q′, α) = ∅, i.e. q′ ∈ Q−Eα. Therefore

(∀α ∈ Σ0)Pπ(q) = Pπ(q′) ⇒ q ≡ q′(mod πα)

namely π ≤ π0 as claimed.

Proposition 6.7.3

Let ψ, ω be quasi-congruences for H with respect to P . Then so is π := ψ ∨ ω.

Proof

Let x, y ∈ Q with Pπ(x) = Pπ(y), and let α ∈ Σ0. It must be shown that

Pπη(x, α) = Pπη(y, α)

For this let q0, q1, · · · , qn ∈ Q with q0 = x, qn = y, qi−1 ≡ qi(mod ψ or mod ω)(i = 1, · · · , n). Since ψ, ωare quasi-congruences, we have for each i

Pϕη(qi−1, α) = Pϕη(qi, α) (3)

304

Page 322: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

where either ϕ = ψ or ϕ = ω as appropriate. Let a ∈ η(x, α); we claim there is b ∈ η(y, α) withPπ(b) = Pπ(a). By (3) there is c1 ∈ η(q1, α) with c1 ≡ a(mod ϕ), then c2 ∈ η(q2, α) with c2 ≡ c1(mod ϕ),and finally b ∈ P (y, α) with b ≡ cn−1(mod ϕ). Thus b ≡ a (mod (ψ ∨ ω)), i.e. b ≡ a(mod π). Thisproves Pπη(x, α) ⊆ Pπη(y, α), and the reverse inclusion follows similarly.

Proposition 6.7.3 extends easily to arbitrary finite joins of quasi-congruences, hence

ρ := supπ ∈ E(Q)|π is a quasi-congruence for H

is the supremal (maximally coarse) quasi-congruence for H.

In computing ρ we use the following notation. If ξ ∈ E(Q) and α ∈ Σ0, then ξ η(·, α) ∈ E(Q) isdefined by

q ≡ q′ (mod ξ η(·, α)) iff Pξη(q, α) = Pξη(q′, α)

Proposition 6.7.4

Let ρ0 = π0 and for n ≥ 1,

ρn = ρn−1 ∧∧

ρn−1 η(·, α)|α ∈ Σ0

Then ρ∞ := lim ρn(n → ∞) exists in E(Q). If |Q| < ∞, the limit is achieved in finitely many steps,and in that case ρ∞ = ρ.

Proof

Since ρn ≤ ρn−1, and the lattice E(Q) is complete, the limit ρ∞ exists and is given by

ρ∞ = inf ρn|n > 0

In case |Q| <∞, so is E(Q), and the ρn sequence must converge finitely. In that case, clearly

ρ∞ ≤∧

ρ∞ η(·, α)|α ∈ Σ0

Write P∞ : Q→ Q/ρ∞. Then for all q, q′ ∈ Q, and all α ∈ Σ0, P∞q = P∞q′ implies

P∞ η(q, α) = P∞η(q′, α)

namely ρ∞ is a quasi-congruence for H. We claim that ρ∞ = ρ. In fact if π is any quasi-congruencefor H then by Proposition 6.7.2 and induction on n there results π ≤ ρn(n ≥ 1), so π ≤ ρ∞, namelyρ∞ is supremal.

The proposition shows that ρ can be determined effectively provided, as usual, |Q| < ∞ and|Σ| <∞.

305

Page 323: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Let π be any quasi-congruence. By the commutative diagram (2),

(∀q, q′ ∈ Q)(∀s0 ∈ Σ+0 )Pπ(q) = Pπ(q′) ⇒ Pπη(q, s0) = Pπη(q

′, s0) (4)

The following provides a useful explicit description of supremal quasi-congruence. First write P0

for the (nonempty) cells of π0; thus P0 partitions Q. Now define the binary relation ∼ on Q accordingto q1 ∼ q2 iff

(∀s0 ∈ Σ+0 )(∀C0 ∈ P0)η(q1, s0) ∩ C0 6= ∅ ⇔ η(q2, s0) ∩ C0 6= ∅ (5)

Thus q1 ∼ q2 iff every string in Σ+0 leads both q1 and q2 (in H) into the same block of cells defining

enablement/disablement patterns of the events of Σ0.

Proposition 6.7.5

The relation ∼ is a quasi-congruence for H.

Proof

Clearly ∼∈ E(Q). Let q1 ∼ q2 and α ∈ Σ0. It must be shown that η(q1, α) ∼ η(q2, α), namely forevery x1 ∈ η(q1, α) there is x2 ∈ η(q2, α) with x1 ∼ x2 (and vice-versa, which will follow by symmetry).Supposing the contrary, there are x1 ∈ η(q1, α), s0 ∈ Σ+

0 and C0 ∈ P0 such that

η(x1, s0) ∩ C0 6= ∅, (∀x2 ∈ η(q2, α))η(x2, s0) ∩ C0 = ∅

or vice-versa with indices 1,2 interchanged. As η(x1, s0) ⊆ η(q1, αs0) it follows that η(q1, αs0)∩C0 6= ∅whereas

η(q2, αs0) ∩ C0 =[⋃

η(x2, s0)|x2 ∈ η(q2, α)]∩ C0 = ∅

in contradiction to q1 ∼ q2.

From this we obtain

Proposition 6.7.6

Let π be any quasi-congruence for H. Then π ≤∼, namely ∼= ρ.

Proof

Let q1, q2 ∈ Q with Pπq1 = Pπq2. We must verify (5). Let s0 ∈ Σ+0 . By (4) above,

Pπη(q1, s0) = Pπη(q2, s0)

Thus if q′1 ∈ η(q1, s0) there is q′2 ∈ η(q2, s0) with q′1 ≡ q′2(mod π) and so q′1 ≡ q′2(mod π0). Thus for allα ∈ Σ0,

q′1 ≡ q′2 mod Eα, Q−Eα

306

Page 324: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

In particular q′1 ∈ Eα implies q′2 ∈ Eα, so

η(q1, s0) ∩ Eα 6= ∅ ⇒ η(q2, s0) ∩ Eα 6= ∅

Similarly for all β ∈ Σ0, q′1 ∈ Q− Eβ implies q′2 ∈ Q− Eβ, namely

η(q1, s0) ∩ (Q−Eβ) 6= ∅ ⇒ η(q2, s0) ∩ (Q−Eβ) 6= ∅

and (5) (with ⇒) follows. The reverse implication is true by symmetry; thus π = kerPπ ≤∼.

We next discuss nondeterminism. While H is formally nondeterministic by definition of η, we cannevertheless distinguish as follows between ‘actual’ nondeterminism and determinism. We shall saythat H is structurally deterministic if, for all q ∈ Q and s0 ∈ Σ∗

0, we have

η(q, s0) 6= ∅ ⇒ |η(q, s0)| = 1,

namely s0 leads from q to at most one state q′. Otherwise, H is structurally nondeterministic. Ofprincipal relevance is the application to the reduction of H(mod ρ).

Let ρ ∈ E(Q) be the supremal quasi-congruence for H, as above, and H the reduction of H(mod ρ).One can think of H as the canonical form of H with respect to quasi-congruence. Since ρ is supremal(maximally coarse), and ρ =∼, no coarser reduction is possible for which (5) is valid.

Proposition 6.7.7

Let H be structurally deterministic. Then for every s0 ∈ Σ∗0 there is a cell C0 of π0 such that

η(q0, s0) ⊆ C0.

Proof

Assume η(q0, s0) 6= ∅, so that |η(q0, s0)| = 1. If s0 = ε it follows from

η(q0, ε) =⋃

Pρ(η(q′0, ε))|Pρq

′0 = q0

thatPρ(η(q0, ε)) = q0

In case s0 ∈ Σ+0 then

η(q0, s0) = Pρη(q0, s0) = q1say, so in either case

η(q0, s0) ⊆ C

for some cell C of ρ. Since ρ ≤ π0, we have C ⊆ C0 for some cell C0 of π0, as claimed.

Remark: The proposition holds for the reduction of H with respect to any quasi-congruence π forH. ♦

307

Page 325: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Proposition 6.7.8

Assume H is structurally deterministic and let s0, t0 ∈ Σ∗0. If q ∈ η(q0, s0) and η(q, t0) 6= ∅, then

η(q′, t0) 6= ∅ for every q′ ∈ η(q0, s0).

Proof

If t0 = ε, η(q′, t0) ⊇ q′. Suppose t0 ∈ Σ+0 . By Proposition 6.7.7, η(q0, s0) ⊆ C0 for some cell C0

of π0, namely q′ ≡ q(mod π0). First assume t0 = α ∈ Σ0. Since η(q, α) 6= ∅ we have q ∈ Eα, henceq′ ∈ Eα, so η(q′, α) 6= ∅. The general result follows easily by induction on |t0|.

For the converse to Proposition 6.7.7, the restriction to ρ is essential.

Proposition 6.7.9

If H is structurally nondeterministic, there are a string s0 ∈ Σ∗0 and distinct cells C1, C2 of π0 such

thatη(q0, s0) ∩ C1 6= ∅ and η(q0, s0) ∩ C2 6= ∅ (6)

Proof

By hypothesis there are q ∈ Q and v0 ∈ Σ∗0 such that |η(q, v0)| ≥ 2.

First assume v0 = ε, |η(q, ε)| ≥ 2, where q = Pρ q. There are q′ 6= q with Pρ q′ = Pρ q, and also

x′ ∈ η(q′, ε) with Pρx′ = x′ 6= q, namely x′ 6≡ q(mod ρ). Since ρ =∼ (by Proposition 6.7.6) we have

that (5) fails for the pair x′, q; namely for some w0 ∈ Σ+0 and some cell C0 ∈ P0, either

η(q, w0) ∩ C0 6= ∅, η(x′, w0) ∩ C0 = ∅ (7)

or (7) holds with q, x′ interchanged. Assuming (7) as displayed, suppose first that η(x′, w0) 6= ∅. Thereis then C ′

0 ∈ P0, C′0 6= C0, such that η(x′, w0) ∩ C ′

0 6= ∅. Since

η(q′, w0) = η(η(q′, ε), w0) ⊇ η(x′, w0)

there follows η(q′, w0) ∩ C ′0 6= ∅. As q′ ≡ q mod ρ and η(q, w0) ∩ C0 6= ∅ we also have q′ ∼ q and so

η(q′, w0) ∩ C0 6= ∅

By reachability of H there is u0 ∈ Σ∗0 such that q′ ∈ η(q0, u0). Setting s0 = u0v0w0 = u0w0 we obtain

η(q0, s0) ∩ C0 = η(η(q0, u0), w0) ∩ C0

⊇ η(q′, w0) ∩ C0

6= ∅

308

Page 326: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

and similarly η(q0, s0) ∩ C ′0 6= ∅, as required.

Now suppose that in (7), η(x′, w0) = ∅, and let w′0 < w0 be the maximal prefix of w0 such that

η(x′, w′0) 6= ∅. Then for some α ∈ Σ0 we have w′

0α ≤ w0, so η(x′, w′0α) = ∅, namely η(x′, w′

0) ∩ Eα = ∅,or η(x′, w′

0) ⊆ Q−Eα. Clearly η(q′, w0) 6= ∅ implies η(q′, w′0) ∩Eα 6= ∅, hence there are distinct C0, C

′0

in P0 such thatη(q′, w′

0) ∩ C0 6= ∅, η(x′, w′0) ∩ C ′

0 6= ∅With w′

0 in place of w0, the argument is completed as before.

If (7) holds with q, x′ interchanged, we have

η(q, w0) ∩ C0 = ∅, η(x′, w0) ∩ C0 6= ∅

Suppose η(q, w0) 6= ∅. There is C ′0 6= C0 such that η(q, w0)∩C ′

0 6= ∅. Since q′ ∼ q we have η(q′, w0)∩C ′0 6=

∅ as well, and the argument is completed as above. If η(q, w0) = ∅ we proceed using suitable w′0 ≤ w0

just as before.

It remains to treat the case v0 ∈ Σ+0 . Again let q1, q2 ∈ η(q, v0) with q1 6= q2. If q = Pρ(q) then, as

v0 ∈ Σ+0 ,

Pρ(η(q, v0)) ⊇ q1, q2 = Pρq1, Pρq2for some qi ∈ η(q, v0). We claim that there are a string w0 ∈ Σ∗

0 and an element β ∈ Σ0 such that

η(q1, w0) ∩ Eβ 6= ∅ and η(q2, w0) ∩Eβ = ∅

or vice-versa, with indices 1, 2 interchanged. Otherwise, q1 ∼ q2 and, by Proposition 6.7.6, Pρq1 = Pρq2or q1 = q2, a contradiction.

We may assume η(q2, w0) 6= ∅. Otherwise for some prefix w′0 ≤ w0 and element β ′ ∈ Σ0 with

w′0β

′ ≤ w0, we would have η(q2, w′0) 6= ∅ together with

η(q1, w′0) ∩ Eβ′ 6= ∅, η(q2, w′

0) ⊆ Q− Eβ′

and we could replace w0 with w′0.

Letq′1 ∈ η(q1, w0) ∩Eβ and q′2 ∈ η(q2, w0) ⊆ Q−Eβ

Clearly q′1, q′2 belong to distinct cells C1, C2 of π0. By reachability of H, there is u0 ∈ Σ∗

0 with q ∈η(q0, u0). Set s0 = u0v0w0. Then q′i ∈ η(q0, s0)(i = 1, 2), namely

η(q0, s0) ∩ C1 6= ∅ and η(q0, s0) ∩ C2 6= ∅

and the proof is complete.

We can now identify the property (of P ) that H is structurally deterministic with the property thatP is an Lm(G)-observer. Recall that the latter means

(∀s ∈ Σ∗, t0 ∈ Σ∗0)s ∈ L(G) & (Ps)t0 ∈ PLm(G) ⇒ (∃t ∈ Σ∗)Pt = t0 & st ∈ Lm(G)

309

Page 327: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

As already assumed, G is trim (reachable and coreachable) and we now require that the flag eventµ ∈ Σ0. Recall that q ∈ Eµ iff

(∃v ∈ Σ∗)Pv = ε & δ(q, vµ)!

Thus q ∈ Eµ iff there is q′ silently reachable from q where δ(q′, µ)!, namely q′ ∈ Qm.

Let s ∈ L(G), s0 := Ps. Suppose t0 ∈ Σ∗0 with s0t0 ∈ PLm(G), so s0t0 = Pu for some u ∈ Lm(G).

Thusη(q0, s0t0) = δ(q0, u′)|Pu′ = s0t0

satisfies η(q0, s0t0) ∩Qm 6= ∅. Since Qm ⊆ Eµ, there follows

η(q0, s0t0) ∩Eµ 6= ∅

Now suppose H is structurally deterministic. By Proposition 6.7.7 we must have

η(q0, s0t0) = η(η(q0, s0), t0) ⊆ Eµ

Since q := δ(q0, s) ∈ η(q0, s0) there results η(q, t0) ⊆ Eµ. By Proposition 6.7.8, η(q, t0) 6= ∅, hence thereexists t′ with Pt′ = t0 such that q1 := δ(q, t′) ∈ Eµ. As noted previously, there exists v ∈ Σ∗ withPv = ε and δ(q1, v) ∈ Qm. On setting t = t′v we have Pt = Pt′ = t0 as well as

δ(q0, st) = δ(δ(q0, s), t) = δ(q, t′v)

= δ(δ(q, t′), v) = δ(q1, v)

∈ Qm

namely st ∈ Lm(G), confirming the observer property for P .

Suppose on the other hand that H is structurally nondeterministic. By Proposition 6.7.9 there area string u0 ∈ Σ∗

0 and distinct cells C1, C2 of π0 such that

η(q0, u0) ∩ C1 6= ∅ and η(q0, u0) ∩ C2 6= ∅,

hence strings ui ∈ Σ∗(i = 1, 2) with Pui = u0 such that

q1 := δ(q0, u1) ∈ C1 and q2 := δ(q0, u2) ∈ C2

Since C1 6= C2 there is α ∈ Σ0 with C1 ⊆ Eα, C2 ⊆ Q− Eα, so

η(q1, α) 6= ∅, η(q2, α) = ∅

Thus for some v1 with Pv1 = ε, q′1 := δ(q1, v1)! and δ(q′1, α)!, while for all v2 with Pv2 = ε, q′2 :=δ(q2, v2)! implies not δ(q′2, α)!. Since G is coreachable, there exists w1 with δ(q′1, αw1) ∈ Qm, namelyδ(q0, u1v1αw1) ∈ Qm, hence u1v1αw1 ∈ Lm(G), so u0α(Pw1) ∈ PLm(G). On the other hand forevery string w2 ∈ Σ∗ with δ(q2, v2w2)! the equality P (v2w2) = αP (w1) must fail, thus P is not anLm(G)-observer.

We have now proved the main result of this section.

310

Page 328: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Theorem 6.7.1

Let G = (Q,Σ, δ, q0, Qm) be reachable and coreachable, Σ0 ⊆ Σ, and P : Σ∗ → Σ∗0 the natural

projection. Assume Qm is flagged by an (observable) event µ ∈ Σ0. Let H be defined from G as in thetext, and H be the canonical form of H with respect to quasi-congruence. Then P is an Lm(G)-observerif and only if H is structurally deterministic.

At this point we recall that the DES G originally given can be recovered from the current ‘working’version by replacing Σ with Σ − µ,Σ0 with Σ0 − µ, and dropping the µ-selfloops from δ. As nochange was made in Qm, it is not difficult to see that the validity of Theorem 6.7.1 is not affected,namely also provides a criterion for the Lm(G)-observer property of P , now with the original G andP : Σ∗ → Σ∗

0.

Exercise 6.7.1: Justify the above remark in detail.

Example 6.7.1

1

2

3

4

5

0

1

2

3

4

5

0

µ

α

α

α

µα

Fig. 6.7.1

H

In Fig. 6.7.1, unlabelled transitions are ‘silent’, namely correspond to strings s ∈ Σ∗ with Ps = ε.With Σ0 = α, µ we have

Eα = 0, 1, 2, 3, 4, Q− Eα = 5Eµ = 3, 5, Q−Eµ = 0, 1, 2, 4π0 = Eα, Q−Eα ∧ Eµ, Q− Eµ

= 0, 1, 2, 4, 3, 5= A,B,C, say.

q η(q, α) η(q, µ) Pρ0(η(q, α)) Pρ0

(η(q, µ))

0 3,5 ∅ B,C ∅1 3 ∅ B ∅2 3,5 ∅ B,C ∅3 5 3 C B4 5 ∅ C ∅5 ∅ 5 ∅ C

311

Page 329: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Setting ρ0 = π0, we compute as shown in the table. Then

ρ1 = π0 ∧ π0 η(·, α) ∧ π0 η(·, µ)

= 0, 1, 2, 4, 3, 5∧ 0, 2, 1, 3, 4, 5∧ 0, 1, 2, 4, 3, 5

= 0, 2, 1, 3, 4, 5= A,B,C,D,E, say

Repeating the process with ρ1 we obtain

q η(q, α) η(q, µ) Pρ1(η(q, α)) Pρ1

(η(q, µ))

0 3,5 ∅ C,E ∅1 3 ∅ C ∅2 3,5 ∅ C,E ∅3 5 3 E C4 5 ∅ E ∅5 ∅ 5 ∅ E

ρ2 = ρ1 ∧ ρ1 η(·, α) ∧ ρ1 η(·, µ)

= 0, 2, 1, 3, 4, 5∧ 0, 2, 1, 3, 4, 5∧ 0, 1, 2, 4, 3, 5

= 0, 2, 1, 3, 4, 5= ρ1

Thus the computation terminates, to yield ρ = ρ1. Using the same cell labels as for ρ1 we obtain thetransition structure of H displayed below.5 For instance

η(A, ε) = Pρ(η(0, ε)) ∪ Pρ(η(2, ε))

= Pρ(0, 1, 2, 4)∪ Pρ(2, 4)= A,B,D

η(A, α) = Pρ(η(0, α)) ∪ Pρ(η(2, α))

= Pρ(3, 5) ∪ Pρ(3, 5)= C,E

5For clarity only direct transitions under ε or α ∈ Σ0 are displayed in transition graphs. Thus in the graph for H thecompositional transition A → E under α corresponding to 0 → 5 under ε.ε.α in H (and which appears in the table) is

omitted, as it can be derived from Aε→D,D

α→E by composition.

312

Page 330: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

q η(q, ε) η(q, α) η(q, µ)

A A,B,D C,E ∅B B C ∅C C E CD D E ∅E E ∅ E

µ

α

H

µ

A

B

C

D

α

E

α

α

Evidently H is structurally nondeterministic, and P fails to be an Lm(G)-observer for any G withH as first displayed.

Example 6.7.2

HHFig. 6.7.2

In Fig. 6.7.2, unlabelled transitions of H are ‘silent’. Furthermore, H is structurally deterministic,and P is an Lm(G)-observer for any G with H as displayed.

313

Page 331: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Example 6.7.3

H

Fig. 6.7.3 H

In Fig. 6.7.3, unlabelled transitions are ‘silent’. H is structurally nondeterministic, and P fails tobe an Lm(G)-observer for any G with H as displayed.

Exercise 6.7.2: Work out the details for Examples 6.7.2 and 6.7.3. In particular calculate π0 and ρ,and confirm that H is the canonical reduction of H. In Example 6.7.3, verify directly that P is not anLm(G)-observer.

Exercise 6.7.3: Complete the inductive proof of Proposition 6.7.8.

Exercise 6.7.4: Show that if H is structurally deterministic, then it is a canonical (minimal-state)generator for PLm(G). Hint: First verify that H represents PLm(G), so the required generator can beobtained from a suitable congruence, say ν, on the state set Q (cf. Proposition 2.5.1). If Pν : Q→ Q/νshow that Pν Pρ determines a quasi-congruence on Q that is coarser than ρ unless ν = ⊥.

Exercise 6.7.5: Construct an example of H where H, the canonical form of H with respect toquasi-congruence, is nondeterministic in the sense of having both silent transitions and transitions[q, α, q′], [q, α, q′′] with α ∈ Σ0 and q′ 6= q′′.

Exercise 6.7.6: Strong quasi-congruence

Say that ϕ ∈ E(Q) is a strong quasi-congruence for H (with respect to the natural projectionP : Σ∗ → Σ∗

0) if, for all q, q′ ∈ Q,

Pϕ(q) = Pϕ(q′) ⇒ Pϕη(q, ε) = Pϕη(q′, ε) & (∀α ∈ Σ0)Pϕη(q, α) = Pϕη(q

′, α)

Thus every strong quasi-congruence (sqc) is a quasi-congruence which, in addition, preserves state-equivalence under silent drift. Evidently an sqc ϕ will satisfy the strengthened version of the commu-tative diagram (2) obtained by replacing Σ+

0 by Σ∗0:

314

Page 332: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Q×Pϕ

y

Σ∗0

η−−→ Pwr(Q)yid

yPϕ∗

Σ∗0

η−−→ Pwr(Q)

In this diagram Q = Q/ϕ and η is the map induced by η in the usual way. Show that every sqc ϕsatisfies ϕ ≤ π0 and that the supremal sqc, say ψ, always exists and satisfies ψ ≤ ρ. Compute thecorresponding reductions H for Examples 6.7.1 - 6.7.3. Show that if H is structurally deterministicthen ρ is a sqc. Finally show that H is structurally deterministic iff H is. 3

Canonical (i.e. supremal) quasi-congruence and canonical strong quasi-congruence are computed inTCT by procedures supqc and supsqc respectively, according to

H = supqc(G,Null/Image(P ))

orH = supsqc(G,Null/Image(P ))

Here G refers to the standard DES originally given. A silent transition in H is reported with labele. Just as in transition graphs, the TCT transition table for H displays direct transitions under ε(or e) and α ∈ Σ0, but not compositions. Finally, TCT drops µ-selfloops from H, simply listing thecorresponding states as marked.

Exercise 6.7.7: For G as shown below, find the canonical forms with respect to quasi-congruenceand strong quasi-congruence. Explain the difference between them.

4

20

5

2

3

210

0

1

2

6

0

1

4

3,4

7

3

10G

4

20

5

2

3

210

0

1

2

6

0

1

4

3,4

7

3

10G Null(P ) = 10, 20

315

Page 333: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

6.8 Notes and References

This chapter is based largely on the doctoral thesis of F. Lin [T08] and related publications [J09,J16,C16,C32].The result in Exercise 6.2.2 is due to K.-C. Wong [T28, Appendix B]. Example 6.3.4 on distributedcontrol by communication is adapted from the thesis (Mannani 2009, Sect. 3.6), although our approachhere is different. Further information related to problems of the type of SCOP can be found in Cho &Marcus (1989) and Takai & Ushio (2003).

Exercise 6.5.8 is adapted from Cao et al. (1997).

The definition of ‘quasi-congruence’ in Exercise 1.4.10 and Sect. 6.7 was introduced in [J41] as ageneralization to nondeterminism of the observer congruence for deterministic systems discussed inWonham [1976]. Application to the computation of ‘natural observers’ is provided in [C113,J60]. Asshown in [J41], reduction by quasi-congruence is closely related to the notions of bisimulation andobservational equivalence due to Milner [1989]; see also Arnold [1994]. We prefer the ‘congruence’terminology as closer to standard algebra.

For Exercise 6.7.5 see e.g. Fig. 17 of [J60].

316

Page 334: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Chapter 7

State-Based Control of Discrete-EventSystems

7.1 Introduction

In previous chapters our approach to modelling the DES control problem has started from two underly-ing languages, respectively generated by the plant and accepted by the specification. The system statedescriptions were brought in as vehicles for representation and computation rather than as essential tothe problem description. In the present chapter we adopt a dual and more conventional viewpoint, inwhich the underlying state transition structure is assigned a more basic role. Two illustrative examplesare provided in the appendix, Sect. 7.7. In addition, the state viewpoint will facilitate the treatmentof systems – notably the vector discrete-event systems of Chapt. 8 – where the underlying state sethas regular algebraic structure that can be exploited for modelling compactness and computationalefficiency.

7.2 Predicates and State Subsets

Let G = (Q,Σ, δ, qo, Qm) be a DES, as defined in previous chapters. In order to place ‘conditions’ onthe state q of G, it will be convenient to use a logic formalism. While not strictly necessary (in factwe could make do with state subsets just as well), the logic terminology is sometimes closer to naturallanguage and intuition. Thus, a predicate P defined on Q is a function P : Q → 0, 1. P can alwaysbe identified with the corresponding state subset

QP := q ∈ Q | P (q) = 1 ⊆ Q ;

thus the complement Q−QP = q ∈ Q | P (q) = 0. We say that P holds, or is satisfied, precisely onthe subset QP , and that q ∈ QP satisfies P . The satisfaction relation P (q) = 1 will often be written

317

Page 335: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

q |= P (‘q satisfies P ’). Write Pred(Q) for the set of all predicates on Q, often identified with thepower set Pwr(Q). Boolean expressions will be formed as usual by logical negation, conjunction anddisjunction; in standard notation:

(¬P )(q) = 1 iff P (q) = 0

(P1 ∧ P2)(q) = 1 iff P1(q) = 1 and P2(q) = 1(P1 ∨ P2)(q) = 1 iff P1(q) = 1 or P2(q) = 1

Recall the De Morgan rules

¬(P1 ∧ P2) = (¬P1) ∨ (¬P2), ¬(P1 ∨ P2) = (¬P1) ∧ (¬P2)

Given P ∈ Pred(Q), we say that P1, P2 ∈ Pred(Q) are equivalent rel P if

P1 ∧ P = P2 ∧ P ,

namely P1 and P2 coincide when restricted, or ‘relativised’, to the subset QP . As the logic counterpartto subset containment we introduce on Pred(Q) the partial order defined by

P1 P2 iff P1 ∧ P2 = P1 (iff ¬P1 ∨ P2)

Thus P1 P2 (P1 ‘precedes’ P2) just when P1 is stronger than P2 in the sense that P1 ‘implies’P2; equivalently if q |= P1 then q |= P2; and we also say that P1 is a subpredicate of P2. Under theidentification of Pred(Q) with Pwr(Q) and with ⊆ it is clear that (Pred(Q),) is a complete lattice.The top element ⊤ of this lattice, defined by Q⊤ = Q, will be denoted by true (and is the weakestpossible predicate), while the bottom element ⊥, defined by Q⊥ = ∅, will be written ⊥ = false (andis the strongest possible predicate).

Exercise 7.2.1: Justify the terms “strong” and “weak” in this usage.

7.3 Predicate Transformers

First we consider reachability issues for G. Let P ∈ Pred(Q). The reachability predicate R(G, P ) isdefined to hold precisely on those states that can be reached in G from qo via states satisfying P ,according to the inductive definition:

1. qo |= P ⇒ qo |= R(G, P )

2. q |= R(G, P ) & σ ∈ Σ & δ(q, σ)! & δ(q, σ) |= P ⇒ δ(q, σ) |= R(G, P )

3. No other states q satisfy R(G, P ).

Explicitly, q |= R(G, P ) if and only if there exist an integer k ≥ 0, states q1, ..., qk ∈ Q, and eventsσ0, σ1, ..., σk−1 ∈ Σ such that

318

Page 336: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

1. δ(qi, σi)! & δ(qi, σi) = qi+1, i = 0, 1, ..., k − 1

2. qi |= P , i = 0, 1, ..., k

3. qk = q

For fixed G, R(G, ·) : Pred(Q) → Pred(Q) is an example of a predicate transformer, i.e. a maptransforming predicates to predicates. Clearly R(G, P ) P ; also R(G, ·) is monotone with respect to, in the sense that P P ′ implies R(G, P ) R(G, P ′). Note that R(G, true) is the reachable setfor G, namely the set of states reachable from qo without constraint.

Fix σ ∈ Σ. The weakest liberal precondition corresponding to σ ∈ Σ is the predicate transformerMσ : Pred(Q) → Pred(Q) defined as follows:

Mσ(P )(q) :=

1 if either δ(q, σ)! & δ(q, σ) |= P, or not δ(q, σ)!0 otherwise (i.e. δ(q, σ)! and not δ(q, σ) |= P )

Equivalently and more concisely,

q |= Mσ(P ) iff δ(q, σ) |= P whenever δ(q, σ)!

It is clear that Mσ(·) is monotone. The action of Mσ can be visualized in terms of the ‘dynamic flow’ onQ induced by one-step state transitions under σ, wherever such transitions are defined. Thus Mσ(P ) isjust the condition on (states in) Q that ensures that from a state, say q, there is a one-step transitioninto QP under the occurrence of the event σ (so Mσ(P ) is indeed a ‘precondition’ for P ), or else that σcannot occur at q at all, i.e. δ(q, σ) is not defined (in this sense the precondition is ‘liberal’). Note that‘weakest’ means ‘the largest state subset with the asserted property’, namely ‘the weakest assumptionrequired to establish either that σ was not enabled or that σ occurred and led to P ’.

The weakest liberal precondition is retrospective, drawing attention from a present condition (i.e.P ) to its one-step antecedent. A dual concept is the predicate transformer strongest postcondition Nσ:Pred(Q) → Pred(Q) defined according to

Nσ(P )(q) :=

1 if (∃q′ |= P ) δ(q′, σ)! and δ(q′, σ) = q0 otherwise

i.e. (∀q′ |= P ) (either not δ(q′, σ)! or δ(q′, σ) 6= q)

The strongest postcondition is prospective, drawing attention from a present condition to its one-stepconsequent; and ‘strongest’ means ‘the smallest state subset with the asserted property’, namely ‘thestrongest inference that can be made solely on the assumption that P held and σ occurred’.

We shall see that weakest liberal precondition plays a role in controllability properties, while it canbe shown that strongest postcondition relates to observability.

Later we shall use the connection between state reachability and language behavior, summarized asfollows. The closed behavior L(G, q) corresponding to initialization of G at an arbitrary state q ∈ Q isdefined to be

L(G, q) := w ∈ Σ∗ | δ(q, w)!

319

Page 337: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

while the corresponding marked behavior is, of course,

Lm(G, q) := w ∈ L(G, q) | δ(q, w) ∈ Qm

Similarly we define the closed [resp. marked] language induced by a predicate P ∈ Pred(Q) to be

L(G, P ) := w ∈ L(G, qo) | (∀v ≤ w) δ(qo, v) |= P

[resp.Lm(G, P ) := w ∈ L(G, P ) | δ(qo, w) ∈ Qm]

The reachable set R(G, q) of states reachable from arbitrary q ∈ Q is then

R(G, q) := δ(q, w) | w ∈ L(G, q)

Exercise 7.3.1: Consider an agent observing the behavior of G, who knows only that G was initializedin some (unspecified) state q ∈ QP ⊆ Q with P ∈ Pred(Q), and that G subsequently generated thestring s = σ1σ2...σk. Show that the agent’s best estimate of the state at s is the predicate

Nσk(...Nσ2

(Nσ1(P ))...)

7.4 State Feedback and Controllability

We define a state feedback control (SFBC) for G to be a total function

f : Q→ Γ

whereΓ := Σ′ ⊆ Σ | Σ′ ⊇ Σu

Thus f attaches to each state q of G a subset of events that always contains the uncontrollable events.The event σ ∈ Σ is enabled at q if σ ∈ f(q), and is disabled otherwise; σ is always enabled if σ ∈ Σu.For σ ∈ Σ introduce the predicate fσ : Q→ 0, 1 defined by

fσ(q) := 1 iff σ ∈ f(q)

Thus a SFBC f is specified by the family of predicates fσ | σ ∈ Σ. The closed-loop transitionfunction induced by f will be written δf , given by

δf (q, σ) :=

δ(q, σ) if δ(q, σ)! and fσ(q) = 1undefined, otherwise

We write Gf := (Q,Σ, δf , qo, Qm) for the closed-loop DES formed from G and f .

320

Page 338: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

If f is a SFBC for G then, of course, R(Gf , P ) denotes the reachability predicate for Gf (initializedat qo). Since for any q and σ, δf(q, σ)! only if δ(q, σ)! it is evident that R(Gf , P ) R(G, P ).

The following definition is fundamental. We say that P ∈ Pred(Q) is controllable (with respect toG) if

P R(G, P ) & (∀σ ∈ Σu)P Mσ(P )

Thus controllability asserts that if q satisfies P then (i) q is reachable from qo via a sequence of statessatisfying P , and (ii) if σ ∈ Σu, δ(q, σ)! and q′ = δ(q, σ) then q′ satisfies P , namely ‘P is invariantunder the flow induced by uncontrollable events’. Note that the predicate false is trivially controllable.

Theorem 7.4.1

Let P ∈ Pred(Q), P 6= false. Then P is controllable if and only if there exists a SFBC f for Gsuch that R(Gf , true) = P .

Thus a nontrivial predicate P is controllable precisely when it can be ‘synthesized’ by state feedback.

Proof

(If) Assume R(Gf , true) = P . Since δf (q, σ)! implies δ(q, σ)! it is clear that any q such that q |= Pcan be reached from qo along a sequence of states with the same property, so P R(G, P ). Let σ ∈ Σu

and q |= P . If δ(q, σ)! then δf (q, σ)! (since f is a SFBC) and then

δ(q, σ) = δf(q, σ) |= R(Gf , true) = P

This implies that q |= Mσ(P ), and therefore P Mσ(P ).

(Only if) Assume P controllable and define the SFBC f : Q→ Γ by

(∀σ ∈ Σc)fσ := Mσ(P )

First it will be shown that R(Gf , true) P . Let q |= R(Gf , true). Then for some k ≥ 0, q1, ..., qk(=q) ∈ Q and σ0, σ1, ..., σk−1 ∈ Σ, we have

δ(qi, σi)!, δ(qi, σi) = qi+1, fσi(qi) = 1, i = 0, 1, ..., k − 1

By hypothesis, q |= P for some q, and by controllability q |= R(G, P ), so in particular qo |= P . Weclaim that q1 |= P . For if σo ∈ Σu then controllability implies that qo |= Mσo

(P ), so δ(qo, σo) = q1 |= P ;while if σo ∈ Σc then fσo

(qo) = 1, namely qo |= Mσo(P ) and again δ(qo, σo) = q1 |= P . By repetition of

this argument for q2, ..., qk we conclude that qk = q |= P . It remains to show that P R(Gf , true). Letq |= P . By controllability, q |= R(G, P ). For some k ≥ 0, q1, ..., qk(= q) ∈ Q and σo, σ1, ..., σk−1 ∈ Σwe have

qi |= P, i = 0, ..., k

δ(qi, σi)!, δ(qi, σi) = qi+1, i = 0, ..., k − 1

321

Page 339: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

and thereforeqi |= Mσi

(P ), i = 0, 1, ..., k − 1

If σi ∈ Σu then fσi(qi) = 1 because f is a SFBC; while if σi ∈ Σc then fσi

(qi) = Mσi(P )(qi) = 1 (as

just shown). Therefore δf (qi, σi)! and δf(qi, σi) = qi+1 (i = 0, 1, ..., k − 1), namely

q = qk |= R(Gf , true)

as claimed. 2

Now suppose P ∈ Pred(Q) is not controllable. As usual, we seek a controllable predicate thatbest approximates P from below. Following standard procedure, bring in the family of controllablepredicates that are stronger than P , namely

CP(P ) := K ∈ Pred(Q) | K P & K controllable

Proposition 7.4.1

CP(P ) is nonempty and is closed under arbitrary disjunctions; in particular the supremal elementsup CP(P ) exists in CP(P ).

Proof

We have already seen that false ∈ CP(P ). Now let Kλ ∈ CP(P ) for λ ∈ Λ, some index set. It willbe shown that

K :=∨

λ∈Λ

Kλ ∈ CP(P )

It is clear that K P , so it remains to test controllability. Let q |= K, so q |= Kλ for some λ. Bycontrollability of Kλ, q |= R(G, Kλ), and as Kλ K there follows q |= R(G, K). If σ ∈ Σu thensimilarly q |= Mσ(Kλ), hence q |= Mσ(K) as required. Finally, the supremal element of CP(P ) is

sup CP(P ) =∨

K | K ∈ CP(P )

2

The following characterization will be useful later. Define the predicate transformer 〈·〉 accordingto

q |= 〈P 〉 if (∀w ∈ Σ∗u)δ(q, w)! ⇒ δ(q, w) |= P

Note that 〈P 〉 P (since δ(q, ǫ) = q) and in fact 〈P 〉 is the weakest subpredicate of P that is invariantunder the flow induced by uncontrollable events.

Proposition 7.4.2sup CP(P ) = R(G, 〈P 〉)

322

Page 340: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Proof

Claim 1. R(G, 〈P 〉) ∈ CP(P )

We show that R(G, 〈P 〉) is controllable. Let q |= R(G, 〈P 〉). Then qo |= 〈P 〉 and there are k ≥ 0,q1, ..., qk(= q) ∈ Q and σo, σ1, ..., σk−1 ∈ Σ such that

qi |= 〈P 〉, i = 1, ..., k

δ(qi, σi)!, δ(qi, σi) = qi+1, i = 0, ..., k − 1

We note that qi |= R(G, 〈P 〉) since qj |= 〈P 〉 for j = 0, 1, ..., i. In particular q |= R(G, R(G, 〈P 〉)), soR(G, 〈P 〉) R(G, R(G, 〈P 〉)). Next we choose σ ∈ Σu with δ(q, σ)! and establish q Mσ(R(G, 〈P 〉)),namely q′ := δ(q, σ) |= R(G, 〈P 〉). For this let w ∈ Σ∗

u with δ(q′, w)!. Then σw ∈ Σ∗u, and

δ(q′, w) = δ(δ(q, σ), w) = δ(q, σw) |= P (since q |= 〈P 〉)

Thus q′ |= 〈P 〉. Then q |= R(G, 〈P 〉) together with q′ = δ(q, σ) implies q′ |= R(G, 〈P 〉), so q |=Mσ(R(G, 〈P 〉)), completing the proof of Claim 1.

Claim 2. Let P ′ ∈ CP(P ). Then P ′ R(G, 〈P 〉).

Let q |= P ′. Then qo |= P ′ and there exist k ≥ 0, q1, ..., qk(= q) ∈ Q and σo, σ1, ..., σk−1 ∈ Σ suchthat

qi |= P ′, i = 1, ..., k

δ(qi, σi)!, δ(qi, σi) = qi+1 i = 0, ..., k − 1

Fix i and σ ∈ Σu. Then qi |= P ′ Mσ(P ′) and δ(qi, σ)! imply δ(qi, σ) |= P ′. If w ∈ Σ∗u then by

induction on |w| we infer that if δ(qi, w)! then δ(qi, w) |= P ′ P . There follows in turn

qo |= 〈P 〉, q1 |= 〈P 〉, ..., qk |= 〈P 〉, i.e. q |= 〈P 〉,

namely q |= R(G, 〈P 〉), and Claim 2 is proved.

The result follows from Claims 1 and 2. 2

Corollary 7.4.1

sup CP(P ) 6= false iff R(G, 〈P 〉) 6= false iff qo |= 〈P 〉

2

Under the assumption that sup CP(P ) 6= false, we may define a corresponding ‘optimal’, i.e.behaviorally least restrictive, SFBC f ∗ to synthesize R(G, 〈P 〉). Imitating the proof (‘Only if’) ofTheorem 7.4.1 we may set

(∀σ ∈ Σc)f∗σ(q) :=

1 if δ(q, σ)! & δ(q, σ) |= 〈P 〉0 otherwise

323

Page 341: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Note that f ∗σ(q) may be evaluated arbitrarily (in particular = 0) if not δ(q, σ)!. This formula suggests

that in practice optimal control can be implemented ‘on-line’, namely by testing, at the current stateq, the satisfaction relation δ(q, σ) |= 〈P 〉 for each controllable event σ such that δ(q, σ)!. Efficientimplementation of f ∗

σ in an application will thus depend on devising an economical algorithmic rep-resentation of 〈P 〉, namely of ‘reachability on the uncontrollable subsystem’. While in general thisreachability property may be intractable or even undecidable, we shall see in the next chapter that anefficient algorithm is often available for vector discrete-event systems and linear predicates.

Exercise 7.4.1: Show that the predicate P ∈ Pred(Q) is controllable if and only if : P = R(G, P )and the language L(G, P ) is controllable.

Exercise 7.4.2: Show that, for arbitrary P ∈ Pred(Q),

L(G, sup CP(P )) = sup C(L(G, P ))

7.5 Balanced State Feedback Controls and Modularity

A SFBC f : Q→ Γ is balanced if

(∀q, q′ ∈ Q)(∀σ ∈ Σ) q, q′ |= R(Gf , true) & δ(q, σ)! & δ(q, σ) = q′

⇒ fσ(q) = 1

A balanced SFBC is one which, among all SFBC synthesizing the same (controllable) predicate, enablesat every reachable state q the largest possible set of (controllable) events σ for which δ(q, σ)!. Thus abalanced SFBC is “maximally permissive”.

Exercise 7.5.1: Show that an arbitrary SFBC can always be replaced by a balanced SFBC withoutchanging the reachable set. 3

Let P ∈ Pred(Q), P 6= false, be expressible as a conjunction of predicates P1, ..., Pk:

P =

k∧

i=1

Pi

We shall think of P as a specification for the controlled behavior of the DES G, and the Pi ∈ Pred(Q)as partial specifications. Our objective will be to implement an optimal SFBC for P by means ofmodular SFBC for the Pi.

Write R(f/G) for R(Gf , true). For i = 1, ..., k let fi : Q→ Γ be an optimal SFBC for Pi, i.e.

R(fi/G) = sup CP(Pi)

324

Page 342: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

The modular SFBC f formed from the fi is given by

fσ :=k∧

i=1

fi,σ, σ ∈ Σ

i.e. fσ(q) = 1 iff fi,σ(q) = 1 for i = 1, ..., k: an event is enabled by f if and only if it is enabled by eachfi. In this case write symbolically

f :=

k∧

i=1

fi

Theorem 7.5.1

Assume that fi is balanced (i = 1, ..., k). Then f is balanced, and

R(f/G) = sup CP(P )

Proof

Clearly R(f/G) ∧ki=1 R(fi/G), from which it easily follows that f is balanced. Next, we have

R(fi/G) = R(G, 〈Pi〉) Pi, i = 1, ..., k

so that R(f/G) P , hence R(f/G) ∈ CP(P ), and therefore R(f/G) sup CP(P ). It remains tocheck that

sup CP(P ) R(f/G)

Now sup CP(P ) = R(G, 〈P 〉), and

〈P 〉 = 〈k∧

i=1

Pi〉 =

k∧

i=1

〈Pi〉

so it must be shown that

R(G,k∧

i=1

〈Pi〉) R(f/G)

Let

q |= R(G,

k∧

i=1

〈Pi〉)

Then there are m ≥ 0, q1, ..., qm(= q) and σo, σ1, ..., σm−1 such that

δ(qj , σj)!, δ(qj , σj) = qj+1, j = 0, 1, ..., m− 1

qj |=k∧

i=1

〈Pi〉, j = 0, 1, ..., m

325

Page 343: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Thus qj |= R(G, 〈Pi〉) = R(fi/G) (i = 1, ..., k; j = 0, 1, ..., m). Since each fi is balanced,

fi,σj(qj) = 1, i = 1, ..., k; j = 0, 1, ..., m− 1

which implies in turnk∧

i=1

(fi)σj(qj) = 1, j = 0, 1, ..., m− 1

qj |= R(f/G)

q = qm |= R(f/G)

as required. 2

Exercise 7.5.2: Provide an example to show that the conclusion of Theorem 7.5.1 may fail if theassumption that the fi are balanced is dropped.

7.6 Dynamic State Feedback Control

The foregoing methods are readily extended to the situation where additional memory elements areincluded in the state description, permitting the control action to depend not only on the current stateof the plant G, but also on various properties of past behavior.

Let Gi = (Qi,Σ, δi, qi,o, Qi,m) (i = 1, 2) be DES defined over the same alphabet Σ. We recall thatthe product DES G = G1 × G2, G = (Q,Σ, δ, qo, Qm), is defined according to

Q = Q1 ×Q2

δ((q1, q2), σ) = (δ1(q1, σ), δ2(q2, σ))

(just in case δ(q1, σ)! and δ(q2, σ)!),

qo = (q1,o, q2,o), Qm = Q1,m ×Q2,m

Let H = (Y,Σ, η, yo, Y ) be a DES with marker subset the entire state set (so marked and closedbehaviors coincide). We say that H is a memory for G if L(H) ⊇ L(G). Such H does not constrain Gunder product of DES, namely

L(G ×H) = L(G), Lm(G × H) = Lm(G)

Memory can provide a medium for the ‘recording’ of specification languages restricting the behavior ofG, in the following sense. Let E ⊆ Σ∗ be a closed language, and let P ∈ Pred(Q× Y ). We say thatthe pair (E, P ) is compatible with G × H if

L(G × H, P ) = E ∩ L(G)

326

Page 344: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Thus enforcement of the predicate P on the state set of the product DES is equivalent to restrictingthe closed behavior of G to the language E. The precise connection is the following, where we writeCPG×H(·) for the family of controllable (with respect to G × H) subpredicates (on Q × Y ) of itsargument, and CG×H(·) (resp. CG) for the family of controllable (with respect to G × H (resp. G))sublanguages of its argument.

Theorem 7.6.1

Let H be a memory for G. For E ⊆ Σ∗ unrestricted,

CG×H(E) = CG(E)

Also, if E ⊆ Σ∗ is closed and (E, P ) is compatible with G × H, then

L(G × H, supCPG×H(P )) = sup CG(E ∩ L(G))

Proof

Apply the definition of memory, and the result of Exercise 7.4.2 to G × H. 2

To implement behavior of the type just described, we bring in dynamic state feedback control(DSFBC), defined as SFBC in the sense already employed, but now on the state set of G × H. Thusa DSFBC is a map f : Q × Y → Γ, with component predicates fσ : Q × Y → 0, 1 for σ ∈ Σ, justas before. For emphasis we may refer to the pair F := (f,H) as a DSFBC for G and write L(F/G),Lm(F/G) for the corresponding controlled sublanguages of L(G), Lm(G). Finally we say that theDSFBC F is balanced if f is balanced as a SFBC for G×H defined on Q× Y . In this terminology wehave the following consequence of Theorems 7.4.1 and 7.6.1, and Exercise 7.5.1.

Corollary 7.6.1

Let E ⊆ Σ∗, E closed, and assume sup CG(E ∩ L(G)) 6= ∅. There exists a balanced DSFBCF = (f,H) for G such that

L(F/G) = sup CG(E ∩ L(G))

2

Exercise 7.6.1: Let E ⊆ L(G) be nonempty and closed. Show that there exist a memory H forG and a predicate P ∈ Pred(Q × Y ) such that (E, P ) is compatible with G × H. Hint: Considerthe reachability tree for L(G), or alternatively an automaton for E completed by a dump state so itaccepts Σ∗.

Exercise 7.6.2: For a ‘distinguished’ event α ∈ Σ, let H model a counter that records the number ofoccurrences of α, mod 10 say. Suggest some pairs (E, P ) that could be compatible with G × H.

327

Page 345: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Exercise 7.6.3: Prove Theorem 7.6.1 and Corollary 7.6.1. Hint: Use the results of Exercises 7.4.2and 7.6.1. 3

Finally we indicate how the principle of DSFBC can be adapted to modularity. With a view tolater applications we assign to languages the primary role of specifications. Let Ei ⊆ Σ∗ (i = 1, ..., k)be closed languages which we take to be specification languages for the closed behavior of G. LetE = E1 ∩ ... ∩ Ek. For each i let Hi = (Yi,Σ, ηi, yi,o, Yi) be a memory for G, and Pi ∈ Pred(Q× Yi)such that (Pi, Ei) is compatible with G × Hi. Define P ∈ Pred(Q× Y1 × ...× Yk) according to

(q, y1, ..., yk) |= P iff (q, yi) |= Pi, i = 1, ..., k

Let Fi = (fi,Hi) be a balanced DSFBC for G such that L(Fi/G) = sup CG(Ei ∩ L(G)). Now defineF = (f,H1 × ...× Hk) according to

fσ(q, y1, ..., yk) = 1 iff fi,σ(q, yi) = 1, i = 1, ..., k

With the foregoing conditions in place, we have

Theorem 7.6.2

The DES H := H1 × ... × Hk is a memory for G, the pair (E, P ) is compatible with G × H,F := (f,H) is a balanced DSFBC for G, and

L(F/G) = L(G ×H, sup CPG×H(P )) = sup CG(E ∩ L(G))

2

Exercise 7.6.4: Prove Theorem 7.6.2, and provide a concrete illustration.

Exercise 7.6.5: Marking and Nonblocking. In this chapter so far, the marker states of G haveplayed no role, and nonblocking has not been explicitly treated. To complete the story in this respect,define a predicate P ∈ Pred(Q) to be nonblocking for G if

(∀q |= P )(∃s ∈ Σ∗)δ(q, s)! & δ(q, s) ∈ Qm & (∀w ≤ s)δ(q, w) |= P

Notice that P = false is trivially nonblocking; in any case, if q |= P , there is a path in Q leading from qto some state in Qm along which P is satisfied. Define a balanced SFBC f for G to be nonblocking for Gif R(Gf , true) is a nonblocking predicate. Assuming P 6= false, show that there is a nonblocking SFBCf for G such that R(Gf , true) = P , if and only if P is controllable and nonblocking. Next show thatthe family of nonblocking predicates stronger than a given predicate, say SPEC ∈ Pred(Q), is closedunder arbitrary disjunctions. Then show that the family of predicates that are stronger than SPECand are both nonblocking and controllable, is closed under arbitrary disjunctions, hence possesses aweakest element, the supremal element of the family. If not false, this element will thus determine anoptimal nonblocking SFBC that enforces SPEC. Go on to investigate the requirement of nonblockingwhen SFBC is modular. As might be expected, the conjunction of nonblocking predicates generally

328

Page 346: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

fails to be nonblocking: prove this by example. Say two nonblocking predicates are nonconflicting iftheir conjunction is nonblocking. On this basis, develop corresponding refinements of the results ofSects. 7.5 and 7.6. Finally, link the above state-based approach to nonblocking with the linguisticapproach of Chapter 3, identifying and proving the relations between dual concepts.

Exercise 7.6.6: Partial state observations

Extend the state feedback control theory of this chapter to the case where the state q is knownto the supervisor only modulo some equivalence relation ρ ∈ E(Q). Find a necessary and sufficientcondition that P ∈ Pred(Q) can be synthesized by SFBC. Hint: Consider (among other things) the‘observability’ condition

(∀q, q′ |= P )(∀σ ∈ Σc)q ≡ q′(modρ) & δ(q, σ)! & δ(q′, σ)!

& δ(q, σ) |= P ⇒ δ(q′, σ) |= P

7.7 Notes and References

Predicate transformers were introduced by E.W. Dijkstra [1976], and first applied to DES control theoryin [J06, J07]. This chapter is based on the latter references together with work of Y. Li [C24, C27, C29,T17, J21]. The two industrial examples to follow are adapted from Sørensen et al. [1993] and Falcione& Krogh [1993] respectively.

A concrete representation for state-based modelling and supervision, called ‘boolean discrete-eventsystems’ (BDES), and including a treatment of memory, nonblocking, and forcing, is provided in thethesis of Y.W. Wang [T43]. In particular the Gas Burner (Exercise 7.8.1 below) is developed in detail.

7.8 Appendix: Two Industrial Examples

In this appendix we sketch two exercises on DES modelling by predicates, specifically in a booleanformalism where the state structure is determined by a list of independent propositional variables. Forcomplementary details the reader may consult the cited references.

Exercise 7.8.1: Gas Burner (Sørensen et al. [1993]): The process state is given by the simultaneoustruth values of 5 boolean variables; state transitions are triggered by any of 10 distinct events. Someof these are:

329

Page 347: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

predicate HR = “heat is required”X = “an explosion has occurred (system is in an exploded condition)”

event ‘on’ = “system on-button is pushed”‘ex’ = “system explodes”

Transitions are determined by rules of two types: enablement rules ENR and next-state rules NSR.An example of ENR is: Event ‘on’ can occur iff predicate HR = false; while NSR might be: ‘on’ takesany state with HR = false into the corresponding state with HR = true. To each event there may beassociated several rules, corresponding to different subsets of states. Multiple rules should be checkedfor consistency, to ensure transitions are deterministic.

The rule base is easily encoded into a case-statement associating with each event an if-then clause interms of boolean state components. From this the one-step state transition matrix (32×10) is computedonce for all; then the reduced transition structure over the reachability set can be generated by depth-first search. [This naive monolithic approach is exponentially complex in the number of predicates andis not recommended for large systems!]

1. Referring to the cited paper for ENR and NSR, carry out this procedure for the gas burnerexample, and verify the authors’ state transition model, writing your own program to calculatethe reachability set. You should get a final state size of just 9. In the notation of the paper, labelevents as follows:

on off df1 df2 df3 df4 sr ff cr ex0 1 2 3 4 5 6 7 8 9

and encode state components according to

HR D F B X0 1 2 3 4

Each state component will take values 1 or 0, corresponding to true or false. States are numberedfrom 0 to 31 corresponding to all possible boolean combinations of the vector [HR D F B X],evaluated as

HR ⋆ 1 +D ⋆ 2 + F ⋆ 4 +B ⋆ 8 +X ⋆ 16

For instance, the initial state is 2 = [0 1 0 0 0].

2. Extend the foregoing modelling procedure to include control, e.g. RW disablement, assuming forinstance that Σc = on,off,sr,cr. Comment on whether or not the system could then be safelyturned on and, if not, suitably modify the design, for instance by using forcible events in the senseof Sect.3.8. Generalize the approach to take into account that sometimes additional memory (anextended state space) is required to represent the control specifications, namely when the latterinvolve conditions on the past behavior of the process. For instance, “Stop the process after 10sensor failures” could be enforced with the aid of an auxiliary counter.

Exercise 7.8.2: Neutralization System (Falcione & Krogh [1993]): A neutralization system in anindustrial chemical process could consist of a reaction tank, heater, mixer, and valves for filling and

330

Page 348: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

emptying the tank. The plant seen by the programmable logic controller (PLC) consists of booleanvariables to represent the operator setting (process off or on), fluid level, temperature and pressure.The controller variables are boolean variables for the valve states (closed or open), temperature andpH indicator lights (off or on), and heater and mixer states (off or on). Recall that pH is a measureof alkalinity; i.e. if pH is too low, more neutralizer is added. In detail the plant state variables are thefollowing:

x0 = start = 1 when process ONx1 = ls1 level ≥ level1x2 = ls2 level ≥ level2x3 = ls3 level ≥ level3x4 = ts temp ≥ OKx5 = as pH ≥ OK

Here level1 ≤ level2 ≤ level3, i.e. the possible level combinations are (x1, x2, x3) = (0, 0, 0),(1, 0, 0), (1, 1, 0), (1, 1, 1).

The controller state variables are:

u1 = v1 = 1 iff valve1 is OPEN (tank fluid feed from reservoir)

u2 = m mixer is ON

u3 = h heater is ON

u4 = tl temp indicator light is ON

u5 = v4 valve4 is OPEN (tank fluid drain back to reservoir)

u6 = v2 valve2 is OPEN (neutralizer feed)

u7 = al pH indicator light is ON

u8 = v3 valve3 is OPEN (tank fluid drain to next tank)

The controller state transition structure is given by assignment (:=) statements:

u1 := (u1 + x0).u8.x2

u2 := (u2 + x2).x1

u3 := u8.x2.x4

u4 := x2.x4

u5 := (u5 + x3).x2

u6 := u5.u8.x2.x5

u7 := x2.x5

u8 := (u8 + x2.x4.x5).u5.x1

Note that + is boolean disjunction (thus 1+1 = 1), boolean negation and . boolean conjunction.

Initially the process is OFF (x0 = 0), the tank is empty (x1 = x2 = x3 = 0), temperature is low(x4 = 0), pH is unspecified (x5 = 0 or 1). In the controller, all valves are CLOSED (u1 = u5 = u6 =u8 = 0) and the mixer and heater are OFF (u2 = u3 = 0). From the control logic this implies that theindicator lights are both OFF (u4 = u7 = 0).

331

Page 349: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

The rules of operation are the following. To start the process, set x0 := 1, opening valve1 (u1 = 1)which stays open until the tank has filled to level2 (x2 = 1). When level2 is reached start the mixer(u2 := 1); if the level drops below level1 (x1 = 0) stop the mixer (u2 := 0). Energize the heater(u3 := 1) if the temperature is too low (x4 = 0) and the tank level is at least level2 (x2 = 1). IfpH is too low (x5 = 0) open the neutralizer feed valve2 (u6 := 1). If the tank becomes full (level ≥level3, i.e. x3 = 1) then open valve4 (drain tank fluid back to reservoir, i.e. u5 := 1); this will closevalve2 (u6 := 0) to stop the flow of neutralizer. When the fluid level drops just below level2 (x2 = 0),close valve4 (u5 := 0). When both temperature and pH are OK (x4 = x5 = 1), de-energize the heater(u3 := 0) and open valve3 (u8 := 1) to drain the tank. When the tank is empty (x1 = 0), close valve3(u8 := 0) and restart the process.

While the description specifies how the controller reacts to the plant, no model has been specifiedas to how the plant responds to the controller, so the control loop is open, and no analysis of controlledbehavior is possible. One could experiment with various DES models for the plant. For instance, takethe plant to be the shuffle of 3 processes, LEVEL, TEMP and ALK. LEVEL has the 4 states listedabove, with events “level rise” and “level drop”, where “level rise” is enabled when valve1 or valve2is OPEN and valve3 and valve4 are CLOSED (i.e. (u1 + u6).u5.u8), while “level drop” is enabledwhen valve1 and valve2 are CLOSED and valve3 or valve4 is OPEN (i.e. u1.u6.(u5 + u8)). TEMP has2 states (x4 = 0 or 1) with events “temp rise”, enabled when heater is ON (u3 = 1) and “temp drop”,enabled when u3 = 0. Similarly ALK has states (x5 = 0 or 1) with events “alk rise” enabled whenvalve2 is OPEN (u6 = 1). Notice that what we have here is a simple qualitative model of the plantphysics. The example illustrates why there is current interest in qualitative modelling: this is simplyhigh-level discrete aggregation, and (if the model is valid) is all you need for logic control design.

The plant transition triples are:

(level0,level drop,level0)(level0,level rise,level1)(level1,level drop,level0)(level1,level rise,level2)(level2,level drop,level1)(level2,level rise,level3)(level3,level drop,level2)(level3,level rise,level3)

Note that level drop (resp. level rise) leaves level0 (resp.level3) unchanged.

In this formalism one can regard the occurrence of an event in a given time window or samplinginterval as a boolean variable. Recalling that level0 = (0,0,0), level1 = (1,0,0), level2 = (1,1,0), level3= (1,1,1), we can bring in new boolean level variables

l0 = x1.x2.x3

l1 = x1.x2.x3

l2 = x1.x2.x3

l3 = x1.x2.x3

332

Page 350: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

with transition assignments

l0 := l0.level rise + l1.level drop

l1 := l1.level rise.level drop + l0.level rise + l2.level drop

and so on. These rules could be expressed in terms of the xi by the equations

x1 = l1 + l2 + l3

x2 = l2 + l3

x3 = l3

The events are enabled or disabled according to the controller and plant states, i.e. events can occuronly in control and plant states where they are enabled in accordance with the physical interpretation.Thus the enablement preconditions for rise or drop in level are:

enable(level rise) = (u1 + u6).u5.u8enable(level drop) = u1.u6.(u5 + u8)

The transition rules are

level rise := enable(level rise).random

level drop := enable(level drop).random

where random (= boolean 0 or 1) represents the mechanism of event selection.

Similarly

x4 := x4.temp rise + x4.temp dropx5 := x5.alk rise + x5

with preconditions

enable(temp rise) = u3enable(temp drop) = u3enable(alk rise) = u6

Note that we have embodied a physical assumption that if u3 = 0 (heater is OFF) then temp dropis enabled, so temp could drop but need not; whereas if temp is OK and heater is ON then temp dropis disabled, and the condition x4 = 1 is stable. A more refined model could include a temperaturecontroller with ON/OFF thresholds bracketing the setpoint.

The equations can be used for simulation or analysis, with an enabled event chosen randomly ateach simulation step and the state and control variables updated. The process can now be considereda standard RW model with the feedback already incorporated: for each state (x, u) certain events willbe enabled and exactly one of them will be selected as the next event. Then (x, u) is updated and theprocess repeats.

333

Page 351: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

In general the model is of the form

x new := qualitative physics(x,u,events), u new := control logic(x, u).

As always, the total process with state (x, u) is driven by the events constituting the changes inphysical state under the action of the plant dynamics and control logic.

The archtypal system of this general kind is a level controller (e.g. water pump or furnace control),where the plant state variables are x1, x2 with

x1 = 1 iff level ≥ level1x2 = 1 level ≥ level2

and level2 > level1 as above. The controller variable is u, with u = 1 representing that the pump orfurnace is ON. The process has a main switch TOGGLE.

Thenu := TOGGLE.(u+ x1).x2

namely “keep pumping if [(already pumping or level < level1) and level < level2]”. So the pump startslow, stops high, and tries to keep level between level1 and level2. Once the level reaches level2 thepump shuts off, only turning on again if the level drops below level1. Ignoring TOGGLE we have

u := f(u, x1, x2), say,

with u new = 1 iff x2 = 0 and either u = 1 or x1 = 0.

The “correctness” of such a controller means that the plant state subset (x1, x2)|x1 = 1 is globallyattractive, like the regulation condition “tracking error = 0” of standard control theory. Namely oneshould eventually reach and remain in this subset from any initialization and in the absence of furtherdisturbances. In the absence of disturbances (e.g. leaks or cooling) a trivial plant model shows theattractive state is (1,1) because, when once u = 1, the condition u = 1 is maintained until x2 = 1. Ifx2 = 1 then x1 = 1 (by the plant model) and, again by the plant model, in the absence of disturbancesx2 just remains at 1. So one has to think of the plant model as autonomous except for occasionaldisturbances, which are then fully corrected, just as in regulation theory. The effect of a disturbance isjust to move the plant to some arbitrary initial state. Thus the (undisturbed) plant model has to saythat if x1 = 0 and u is kept at 1 then eventually x1 = 1; if x1 = 1 and u is kept at 1 then eventuallyx2 = 1; and if once x2 = 1 then (regardless of u) x2 = 1 always. One could get u to turn off whenx2 = 1 by considering that u is controllable (can be disabled) and introducing an overflow conditionthat is to be prohibited.

In the neutralization process, the assumptions are that temperature (resp. pH) always rises as longas the heater is ON (resp. the neutralizer valve is OPEN); and that level always rises (resp. falls) underappropriate valve conditions of OPEN or CLOSED. One then needs to prove that from the empty tankcondition (or possibly other, disturbed, initial conditions) the target temperature and pH are reachedwith level ≥ level1; and that subsequently the tank is emptied in an appropriate way. This could bedone either with brute force calculation or by analysis using logic and/or stability (e.g. Liapunov)

334

Page 352: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

arguments. Considerations of this sort are explored in the currently popular area of hybrid (mixeddiscrete/continuous) systems.

Write a simulation program for the neutralization process, exploring various plant models. Developstandard DES (generator/automaton) representations, and investigate supervisory control and stability.

335

Page 353: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Chapter 8

Supervision of Vector Discrete-EventSystems

8.1 Introduction

In this chapter we specialize the control theory of discrete-event systems developed previously, to asetting of vector addition systems. We adopt the state-based approach of Chapter 7. It is natural toenhance the abstract automaton model by exploiting algebraic regularity of internal system structurewhen it exists. An obvious instance of such structure is arithmetic additivity over the integers. Forexample, the state of a manufacturing workcell might be the current contents of its buffers and thenumbers of machines in various modes of operation: thus, when a machine completes a work cycle,the status vector of machines and the vector of buffer contents would be suitably incremented. Similarexamples are furnished by various kinds of traffic systems.

System modelling by vector addition systems is a long-standing technique, especially in the settingof Petri nets. For us, however, Petri nets will serve only as a graphical representation tool, and wemake little use of net theory as such. Our treatment will be self-contained, using only elementary linearalgebra and integer programming.

We first develop the base model, then the feedback synthesis of control-invariant state subsets,along with the appropriate versions of controllability, observability and modularity. These results areillustrated by examples from the literature on manufacturing systems.

8.2 Vector Discrete-Event Systems

Let Z denote the integers ...,−1, 0, 1, ... and N the natural numbers 0, 1, 2, .... Let Zn (resp. Nn)denote the space of n-vectors (i.e. ordered n-tuples) with components in Z (resp. N), along with vector

336

Page 354: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

addition, and scalar multiplication by integers (resp. natural numbers). In algebra, Zn so equippedis a ‘module over the ring of integers’, not a vector space; nevertheless we shall loosely speak of itselements as ‘vectors’ and use vector space terminology on grounds of familiarity. We shall employ the‘direct sum’ operation ⊕ to form structures like Zn ⊕ Zm (≃ Zn+m under the obvious isomorphism) orNn ⊕ Zm. In such cases we may write x = x′ ⊕ x′′ to denote the decomposition of x into its naturalprojections onto the direct summands. If v is an arbitrary vector in some Zk, we write v ≥ 0 to meanthat each component of v is nonnegative, i.e. that in fact v ∈ Nk, thought of as embedded in Zk.

A vector discrete-event system (VDES) is a DES G = (X,Σ, ξ, xo, Xm) defined as in previouschapters (although we make a notational change to X from Q and to ξ from δ), but with vectorstructure, in the foregoing sense, attached to the state set X and transition function ξ. Thus in generalX = Nn ⊕ Zm, while ξ : X × Σ → X will always have the additive form:

ξ(x, σ) = x+ eσ

for some eσ ∈ Zn+m, the displacement vector corresponding to σ. Writing x = x′⊕x′′ as above, we notethat in general ξ will be a partial function, defined for just those (x, σ) pairs such that x′ ∈ Nn and(x + eσ)′ = x′ + e′σ ∈ Nn, or briefly x′ ≥ 0, x′ + e′σ ≥ 0; however, no such restriction will apply to thesecond components x′′ and (x + eσ)′′, in Zm. In particular if the Nn summand is absent, so X = Zm,then ξ will be a total function. By the usual inductive definition, ξ is extended to strings s ∈ Σ∗, sofrom now on we consider ξ : X × Σ∗ → X (pfn).

Let Σ be indexed as Σ = σ1, ..., σk and write ei for eσi. With X = Nn ⊕ Zm as above, write

p := n +m and regard x and the ei as (column) arrays of size p× 1. Bring in the matrix

E := [e1...ek] ∈ Zp×k,

the displacement matrix for G. Now consider strings s ∈ Σ∗. It will be useful to count the occurrencesof the various event symbols in s. For this define

V : Σ∗ → Nk : s 7→ [v1(s)...vk(s)] ∈ Nk×1

where vj(s) is the number of occurrences of σj in s. [Note that we may display a column array asa row, to save space: the definition should resolve any ambiguity, and our vector-matrix operationswill always be consistent with the array definitions.] V (s) is the occurrence vector of s. V (·) can beregarded as a morphism of monoids (Nk is an additive or commutative, monoid), with

V (ε) = 0 ∈ Nk, V (s1s2) = V (s1) + V (s2)

In this notation we haveξ(x, s)! ⇒ ξ(x, s) = x+ EV (s)

The evaluation of ξ(x, s) depends just on x and V (s), but it makes sense only when ξ(x, s) is defined.With X = Nn ⊕ Zm and x = x′ ⊕ x′′, ξ(x, s)! if and only if (x + EV (w))′ ≥ 0 for all w ≤ s, namelynonnegativity of the Nn-projection is preserved for all prefixes of s. Thus it might well be that forcertain x and s one has x′ ≥ 0 and (x + EV (s))′ ≥ 0, but for some w, ε < w < s, the nonnegativitycondition fails; in that case, ξ(x, s) is not defined.

337

Page 355: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Remark 8.2.1: A more general definition of VDES which might be preferred results on strengtheningthe enablement conditions as follows. Suppose X = Nn. Given eσ ∈ Zn as before, let fσ ∈ Nn beany vector ≥ max(0,−eσ) (computed componentwise), and declare that ξ(x, σ)! iff x ≥ fσ. This willguarantee that x + eσ ≥ 0. Alternatively, one can pick vectors e+σ , e

−σ ∈ Nn independently and define

eσ := e+σ − e−σ , fσ := e−σ ; this is equivalent to the usual transition enablement definition for a Petrinet allowing selfloops. In this chapter we use only the restricted definition corresponding to the choicefσ = −eσ. See, however, Exercise 8.8.2 for how a selfloop can be simulated when it is needed.

As in Sect. 7.3, denote by L(G, x0) the closed behavior generated by G when initialized at statex0 ∈ X:

L(G, x0) := s ∈ Σ∗|ξ(x0, s)!

The following exercise illustrates a modelling limitation of VDES, namely not all finite-state gener-ators can be so represented, in the sense of closed behavior equivalence.

Exercise 8.2.1: Consider the DES G in Fig. 8.2.1. Show that there exists no ‘generalized’ VDES H(cf. Remark 8.2.1.) such that L(H, x0) = L(G).

20

0

1

Fig. 8.2.1

DES G (all states considered marked)

Exercise 8.2.2: Let G be a VDES with no selfloops, state set X = Nn, and matrix description

x(s) = x0 + EV (s)

for x0 ∈ X, s ∈ L(G, x0). Here E ∈ Zn×m, V ∈ Nm×1. Borrowing the terminology of Petri nets, defineG to be structurally bounded if, for every choice of initial state x0 ∈ X, there is an integer b such that|x(s)| ≤ b for all s ∈ L(G, x0), where e.g. |x| := max |x1|, ..., |xn|. Prove that G is structurallybounded if and only if there exists c = [c1, ..., cn] ∈ N1×n with all ci > 0, such that cE ≤ 0 (i.e. thevector cE ∈ Z1×m has each component ≤ 0). In this case obtain an estimate of b. Extend your resultto ‘generalized’ VDES with selfloops in the sense of Remark 8.2.1. Hint: Proof of the ‘if’ statementis straightforward; for the deeper ‘only if’ statement you will need the following ‘alternative’ theoremfrom linear inequalities.

Theorem The dual systems (over Z)

t ≥ 0, Et ≥ 0; cE ≤ 0, c ≥ 0

338

Page 356: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

possess solutions t∗ and c∗ for which the following alternative holds:

Either Et∗ 6= 0 or c∗ > 0.

2

Use this theorem to show that if the required vector c fails to exist then G is not structurallybounded.

Finally, prove that if G is structurally bounded, with vector c > 0 as above, then

xi(s) ≤ cx0/ci , s ∈ L(G, x0), i = 1, ..., n

If bi := ⌊cx0/ci⌋(i = 1, ..., n), show how to represent G as the synchronous product of n buffersB1, ...,Bn, where the capacity of Bi is bi. [Notation: for r ∈ R and r ≥ 0, ⌊r⌋ := maxk ∈ N|k ≤ r .]Thus a structurally bounded VDES in Nn is nothing other than the synchronous product of n buffers,one for each state component. This representation can be used to check, for instance, whether thegiven VDES is nonblocking.

8.3 VDES Modelling

Example 8.3.1: FACT#1

Consider a ‘factory’ consisting of 10 machines, each a DES modelled over the alphabet Σ =α, β, λ, µ in the usual way, and displayed as a Petri net in Fig. 8.3.1. We do not distinguish themachines individually, being interested only in the numbers resident in the three states indexed 1, 2, 3corresponding respectively to Idle, Working, Down. The state of the factory is then x ∈ N3, withxi ≥ 0 and x1 + x2 + x3 = 10. If it is assumed that two or more machines never make a transitionsimultaneously, then the possible transitions are x 7→ x+ eσ (σ ∈ Σ), with

E = [eα eβ eλ eµ] =

−1 1 0 1

1 −1 −1 00 0 1 −1

Thus the effect, if any, of each event on a state component is just to increment or decrement it by 1.The initial state could be taken as xo = [10 0 0] ∈ N3×1 and a transition is defined if and only if thecondition x ≥ 0 is preserved.

339

Page 357: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

I

µ

λ DW

α

β

x2

x1

x3

Fig. 8.3.1

Note that, at the expense of additional notation, it would be quite straightforward to model theoccurrence of compound events, defined as the simultaneous execution of individual events by distinctmachines. Just as before, a compound event would be represented by a suitable displacement vector andrestricted by the appropriate nonnegativity condition. For example, if either two or three events α couldoccur together, label these simultaneous events α2, α3 and bring in the corresponding displacements

eα2 = [−2 2 0], eα3 = [−3 3 0]

The corresponding transitions are defined just in case, respectively, x1 ≥ 2 or x1 ≥ 3.

Example 8.3.2: FACT#2

By augmenting the state of FACT#1 one can bring in ‘memory’ to record features of past behavior.For instance, let

x4 := # workpieces produced

= # occurrences of event β since initialization

Thus x4 models a counter for β, with initially x4 = 0. Making this extension to FACT#1 yields thenew state space X = N4 and displacement matrix for FACT#2:

E =

−1 1 0 11 −1 −1 00 0 1 −10 1 0 0

Note that x4 may grow without bound as the process evolves, although in an application we mightimpose a control specification such as x4 ≤ 100, perhaps to respect the capacity of a storage buffer.

340

Page 358: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Example 8.3.3: FACT#3

We extend FACT#2 to allow a count of the excess of successful work cycles over machine break-downs, defining x5 := #β−#λ (where #σ denotes the number of occurrences of σ since initialization).Now we must allow x5 ∈ Z and take for the new state space X = N4 ⊕ Z. Then, for instance,

eβ = [1 − 1 0 1 1], eλ = [0 − 1 1 0 − 1] ∈ Z5×1

and the reader will easily construct E.

Remark 8.3.1: Simultaneous events

We generalize the remark at the end of Example 8.3.1 as follows. Regard the event set Σ =σ1, ..., σm as a basis set of simple events for the generation of compound events, defined as arbitraryformal linear combinations σ(r1, ..., rm) := r1σ1 + ... + rmσm, where the rj ∈ N (thus any simple eventis compound). The full event set, including the null event, is now the set of all compound events.The interpretation of a compound event is just that rj ≥ 0 instances of σj occur simultaneously,for all j = 1, ..., m. In Example 8.3.1, an event 2α + 3β + λ + 3µ would mean that simultaneously2 machines start work, 3 end work successfully, 1 breaks down and 3 complete repair. Intuitionsuggests that this only makes sense if we imagine a small time delay between the ‘beginning’ of acompound event and its ‘termination’, so the foregoing event can occur only if the state vector satisfiesx ≥ [2 3 + 1 3] = [2 4 3]. In general for σ ∈ Σ write ej := eσj

, e−j := max−ej , 0, and declare thatξ(x, σ(r1, ..., rm))! iff x ≥ r1e

−1 + ... + rme

−m, in which case

ξ(x, σ(r1, ..., rm)) := x+ r1e1 + ... + rmem

In this chapter we prohibit (nonsimple) compound events, albeit they are sometimes of interest inapplications, especially in problems of mutual exclusion.

Exercise 8.3.1: Show that in Example 8.3.1, σ(r1, r2, r3, r4) is enabled only if r1 + r2 + r3 + r4 ≤ 10,so the set of compound events that can actually occur is finite. Exactly how many are there? Find ageneral formula for the case r1 + ...+ rk ≤ N .

Exercise 8.3.2: With ξ(x, s) = x + EV (s) whenever ξ(x, s)!, and E ∈ Zn×k, interpret solutionst ∈ Zk×1 of Et = 0, and solutions p ∈ Z1×n of pE = 0. In the terminology of Petri nets, such t are‘transition invariants’ and p are ‘place invariants’. For an application of the latter see Exercise 8.13.11.

8.4 Linear Predicates

It will be appropriate to require of predicates on X that they be compatible with the algebraic setting,in particular that they be generated by basic predicates that are ‘linear’ in the state. Such predicates

341

Page 359: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

occur commonly in the applications: e.g. in conditions like “either x1 ≤ 5 or x2 > 10”. For simplicity ofnotation consider that X = Zn (if X has a component Nm then embed Nm ⊆ Zm). Our basic predicatesP will be those that distinguish state subsets XP ⊆ X of the form

XP := x = [x1...xn] ∈ Zn | a1x1 + ... + anxn ≤ b

where a1, ..., an, b ∈ Z. Representing a ∈ Z1×n (a row array) and x ∈ Zn×1 (a column array), we havesuccinctly,

XP = x ∈ X | ax ≤ bor

x |= P iff ax ≤ b

Call such P a linear predicate on X and denote by Predlin(X) the corresponding subset of Pred(X).Finally, let Predlin(X) be the Boolean closure of Predlin(X), namely the smallest subset of Pred(X)that contains Predlin(X) and is closed under the Boolean operations ¬, ∧ and ∨. We have P ∈Predlin(X) if and only if P can be built up by applying the Boolean operations a finite number oftimes to a finite number of predicates in Predlin(X). Thus P = (x1 ≤ 5)∨(¬(x2 ≤ 10)) for the exampleabove.

Exercise 8.4.1: If X = Nn ⊕ Zm and S ⊂ X is a finite subset, show that the predicate P = (x ∈ S)belongs to Predlin(X).

Exercise 8.4.2: Show that Predlin(X) is a proper Boolean subalgebra of Pred(X).

8.5 State Feedback and Controllability of VDES

In this section we exemplify for VDES the definitions and results of Sect. 7.4. Recalling FACT#2 inSect. 8.3 let us assume that items produced (on occurrence of event β) are placed in a buffer of capacity100. To prevent possible buffer overflow we must maintain the control specification

# free slots in buffer ≥ # machines working

or 100 − x4 ≥ x2, i.e. the linear predicate

SPEC := (x2 + x4 ≤ 100)

Assume Σc = α. Now SPEC is true under the initial condition x = [10 0 0 0]. It is easily seenthat SPEC is maintained true provided α is enabled only if SPEC holds with positive slack, i.e. whenx2 + x4 < 100. For this define SFBC f : X × Σ → 0, 1 according to

fα(x) =

1 if x2 + x4 < 1000 otherwise

342

Page 360: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Exercise 8.5.1: Draw a graph with vertical axis x2 + x4, and horizontal axis ‘real’ time marked withthe quasi-random instants of successive events, corresponding to the string α α β α λ α µ β λ.... Next,assuming the process has run long enough to approach the ‘control boundary’ x2 + x4 = 100, generatea string to display (on a similar graph) the action of the SFBC f .

Exercise 8.5.2: Reasoning ad hoc, show that f enforces SPEC with minimal restriction placed on thebehavior of FACT#2. 3

We shall be using the theory of Sect. 7.4 to solve problems of the foregoing type systematically. Webegin by illustrating reachability and controllability for VDES.

Example 8.5.1: FACT#4

We simplify FACT#2 by eliminating the breakdown/repair feature, taking Σ = α, β, Σc = αas shown in Fig. 8.5.1. In FACT#4 X = N3, with x = [x1, x2, x3] ∈ N3×1; x1, x2 are the number ofmachines idle (I) and working (W ) respectively; x3 is the number of occurrences of β since initialization;and the initial state is xo = [10 0 0]. Thus

E = [eα eβ] =

−1 1

1 −10 1

β

αx2

x1

x3

Fig. 8.5.1

We first consider the predicate P ∈ Pred(X) given by

x |= P iff (x1 + x2 = 10) & (x3 ≤ 100)

P amounts to our previous buffer constraint, conjoined with the ‘obvious’ invariant on the total numberof machines in the system, included here for technical convenience.

To investigate whether P is controllable, we start by checking the condition

P R(FACT#4, P ) (?)

343

Page 361: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Let x |= P , i.e. x = [10 − j j k] for some j, k : 0 ≤ j ≤ 10, 0 ≤ k ≤ 100. We attempt to constructa string that will lead FACT#4 from xo to x while preserving P . For instance, let s := (αβ)kαj,corresponding to k successful work cycles followed by j machine transitions from I to W . It is clearthat x = ξ(xo, s)!. We claim:

(∀w ≤ s)y := ξ(x0, w)! & y |= P

In fact it is easy to verify ξ(x0, w)! and y |= P for strings w of each of the prefix types

w = (αβ)l, 0 ≤ l ≤ k − 1w = (αβ)lα, 0 ≤ l ≤ k − 1w = (αβ)kαl, 0 ≤ l ≤ j

This proves the claim, and thus (?) above. Next we check

(∀σ ∈ Σu)P Mσ(P ) (??)

Let σ = β and x = [9 1 100]. We have x |= P , ξ(x, β)! and

y := ξ(x, β) = x+ eβ = [10 0 101]

Since not y |= P , (??) fails, so P is not controllable.

Exercise 8.5.3: Explain intuitively why P is not controllable, i.e. how P might fail under the occur-rence of an uncontrollable event. 3

Now consider the alternative predicate Q ∈ Pred(X) given by

x |= Q iff (x1 + x2 = 10) & (x3 ≤ 100 − x2)

In this case x |= Q if and only if x = [10 − j j k] where 0 ≤ j ≤ 10, 0 ≤ k ≤ 100 − j. Takings = (αβ)kαj we verify x |= R(G, Q) as shown above for P . To check Q Mβ(Q) observe that

ξ(x, β)! iff x+ eβ ≥ 0

iff [10 − j + 1 j − 1 k + 1] ≥ 0

iff j ≥ 1

i.e. x must satisfy0 ≤ k ≤ 100 − j, 1 ≤ j ≤ 10

and theny := ξ(x, β) = [10 − l l m]

where l = j − 1, m = k + 1. Since 0 ≤ l ≤ 9 and

0 ≤ m ≤ 1 + (100 − j) = 1 + (100 − (l + 1)) = 100 − l

we get that y |= Q. It follows that Q is controllable.

344

Page 362: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

According to Theorem 7.4.1 the controllability of Q guarantees the existence of a SFBC f such thatQ = R(f/FACT#4), and in fact the proof showed that f can be defined by

fσ := Mσ(Q), σ ∈ Σc

With Σc = α we get

fα(x) = 1 iff

either not ξ(x, α)!or ξ(x, α)! & ξ(x, α) |= Q

Now

ξ(x, α)! iff x+ eα ≥ 0

iff [10 − j j k] + [−1 1 0] ≥ 0

iff [10 − j − 1 j + 1 k] ≥ 0

iff (−1 ≤ j ≤ 9) & (k ≥ 0)

For ξ(x, α) |= Q we then require0 ≤ k ≤ 100 − (j + 1)

or

fα(x) = 1 iff

either j = 10or (j ≤ 9) & (0 ≤ k ≤ 100 − (j + 1))

For instance, this control would enable α if j = 0 and k ≤ 99, but disable α if j = 1 and k = 99. Noticethat the SFBC synthesizing Q is far from unique: for instance, there is no need to enable α if j = 10,as there are then no machines idle. It is clear that the way fσ(x) is defined when not ξ(x, σ)! may inprinciple be arbitrary. 3

From these examples it appears that direct calculation of reachable sets can become rather involved,even for the simplest VDES models. On the other hand, as far as P -invariance is concerned, thecalculation need be done only along sequences of uncontrollable events. In the next section we explorethis issue in more detail.

8.6 Reachability and Loop-Freeness

Let G = (X,Σ, ξ, xo, Xm) be a VDES. In later application of the results of this section, G will betaken as ‘the uncontrollable subsystem of the plant’, to be defined in due course. For now, we focusgenerally on how the components of the vector x are successively incremented and decremented underthe occurrence of events. Let X = Zn and x = [x1...xn]. This coordinatization of X will be fixed andthe subsequent definitions will depend on it. The corresponding displacement vectors will be writteneσ = [eσ(1)...eσ(n)], with the eσ(i) ∈ Z. Write I = 1, ..., n and for σ ∈ Σ define

σ↑ := i ∈ I | eσ(i) < 0σ↓ := i ∈ I | eσ(i) > 0

345

Page 363: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Thus for i ∈ σ↑ the components xi of x are negatively incremented (i.e. positively decremented) by theoccurrence of σ, while for i ∈ σ↓ the xi are positively incremented. The index subsets σ↑ (resp. σ↓) canbe visualized as (labelling) the components of x that are ‘upstream’ (resp. ‘downstream’) from σ; theσ↑-labelled x-components act as ‘source’ state variables for σ, while the σ↓ act as ‘sinks’. Dually, fori ∈ I define

i↑ := σ ∈ Σ | eσ(i) > 0i↓ := σ ∈ Σ | eσ(i) < 0

The occurrence of an event σ ∈ i↑ positively increments xi, i.e. σ acts as a source for xi; while σ ∈ i↓

negatively increments xi, i.e. σ acts as a sink for xi. Dually again, i↑ (resp. i↓) represents the subset ofevents that are immediately upstream (resp. downstream) from the state component xi. Notice thatour notation is necessarily unsymmetrical. With state variables, we need to distinguish between (a)the component index (i), standing for the component ‘xi’ as a fixed symbol for a state variable inthe ordered n-tuple of state variables, and (b) the (current) value assumed by the state variable xi, aninteger subject to incremental change as the process evolves. For events (labelled) σ no such distinctionis applicable.

Observe that i ∈ σ↑ (resp. σ↓) if and only if σ ∈ i↓ (resp. i↑).

Let [τ1, ..., τk] be a list of elements from Σ, possibly with repetitions, and let [i1, ..., ik] be a similarlist from I. The interleaved list L := [τ1, i1, ..., τk, ik] will be called a loop in G if

τ1 ∈ i↓1, ..., τk ∈ i↓k

andi1 ∈ τ ↓2 , i2 ∈ τ ↓3 , ..., ik−1 ∈ τ ↓k , ik ∈ τ ↓1

Equivalently the loop relations can be displayed as

i1 ∈ τ ↓2 , τ2 ∈ i↓2, ..., ik−1 ∈ τ ↓k , τk ∈ i↓k, ik ∈ τ ↓1 , τ1 ∈ i↓1

If no loop in G exists, G is loop-free.

Bring in the state-variable source subset

I↑ := I −∪σ↓ | σ ∈ Σ

Thus for i ∈ I↑, xi is never positively incremented by the occurrence of an event, namely xi can onlystay constant or decrease in value as the DES G evolves.

Lemma 8.6.1

Assume Σ 6= ∅. If G is loop-free then for some σ ∈ Σ, σ↑ ⊆ I↑.

346

Page 364: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Proof

Suppose the contrary, namely(∀σ ∈ Σ)σ↑ − I↑ 6= ∅

Pick τ1 ∈ Σ arbitrarily and let i1 ∈ τ ↑1 − I↑. Then i1 6∈ I↑ implies that i1 ∈ τ ↓2 for some τ2 ∈ Σ. Sinceτ ↑2 − I↑ 6= ∅, we pick i2 ∈ τ ↑2 − I↑, and then i2 ∈ τ ↓3 for some τ3 ∈ Σ. Continuing this process we obtaina sequence τ1, i1, τ2, i2, ..., τj, ij , ... such that

ij ∈ τ ↑j ∩ τ ↓j+1, j = 1, 2, ...

or equivalentlyτj ∈ i↓j , ij ∈ τ ↓j+1, j = 1, 2, ...

Since the index set I is finite (|I| = n) we may select the least j > 1, say j = k + 1 (k ≥ 1), such thatij = il for some l < j, and without loss of generality assume l = 1. Then we have

i1 ∈ τ ↓2 , τ2 ∈ i↓2, ..., ik−1 ∈ τ ↓k , τk ∈ i↓k, ik ∈ τ ↓k+1, τk+1 ∈ i↓1

This states thatL := [τk+1, i1, τ2, i2, ..., τk, ik]

is a loop in G, contrary to hypothesis. 2

We shall need the idea of a ‘subsystem’ of G obtained by picking out a subset of the components ofthe state vector and a subset of events. With I as before, let I ⊆ I, and let Σ ⊆ Σ. The correspondingsubsystem G of G is

G := (X, Σ, ξ, xo, Xm)

where X, xo, Xm are the natural projections of X, xo, Xm on the components with indices in I, and ξis the restriction of ξ:

ξ : X × Σ → X : x 7→ x+ eσ (pfn)

With σ ∈ Σ we declare ξ(x, σ)! whenever ξ(x, σ)! for some x with projection x. For instance, if X = Nm,ξ(x, σ)! provided x ≥ 0 and x+ eσ ≥ 0. Thus G is indeed a VDES.

Recall the definition of the closed behavior generated by G corresponding to initialization at anarbitrary state x:

L(G, x) := s ∈ Σ∗ | ξ(x, s) !

Lemma 8.6.2

Let G be a subsystem of G obtained by removing one or more elements of Σ, but keeping X = X.Let s ∈ L(G, x), x′ := ξ(x, s), and s ∈ Σ∗. Then

s ∈ L(G, x′) iff ss ∈ L(G, x)

2

347

Page 365: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Lemma 8.6.3

Let X = Nn, σ ∈ Σ, k ∈ N. Then

x+ keσ ≥ 0 ⇒ σk ∈ L(G, x)

Proof

The statement is true for k = 0. Assume inductively that it is true for k ≤ l, and let x+(l+1)eσ ≥ 0.Clearly

x′ := x+ leσ ≥ 0

so σl ∈ L(G, x) and x′ = ξ(x, σl)!. Also x′ + eσ ≥ 0 implies ξ(x′, σ)!, so σl+1 ∈ L(G, x), as required. 2

Lemma 8.6.4

Let X = Nn, x ∈ X and x + Σkσeσ | σ ∈ Σ ∈ X for some kσ ∈ N. For some τ ∈ Σ assumeτ ↑ ⊆ I↑. Then x+ kτeτ ∈ X.

Proof

If i ∈ I↑ then Σkσeσ(i) | σ 6= τ ≤ 0, so that

xi + kτeτ (i) ≥ xi + Σkσeσ(i) | σ ∈ Σ ≥ 0

If i 6∈ I↑ then i 6∈ τ ↑, so kτeτ (i) ≥ 0, and again xi + kτeτ (i) ≥ 0. 2

For the remainder of this section we assume Σ = σ1, ..., σm and that X = Nn, namely all statesx satisfy x ≥ 0. Recalling from Sect. 8.6.1 the definition of the occurrence vector V (·), we know thatfor s ∈ Σ∗, x ∈ X,

s ∈ L(G, x) ⇒ ξ(x, s) = x+ EV (s) ≥ 0

Our main result states that, under the condition of loop freeness, this implication can be reversed.

Theorem 8.6.1

Assume G is loop-free. Then for every x ∈ Nn×1 and v ∈ Nm×1,

(∃s ∈ L(G, x))V (s) = v iff x+ Ev ≥ 0

348

Page 366: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Proof

(Only if) The result is immediate by ξ(x, s)! and ξ(x, s) = x+ EV (s).

(If) Let x ≥ 0, v ≥ 0, x+Ev ≥ 0. We may write v(i) for vi if convenient. By Lemma 8.6.1, σ↑ ⊆ I↑

for some σ ∈ Σ, say σ1. Lemma 8.6.4 (with kσ = vσ) yields x + v1e1 ≥ 0. With s1 := σv(1)1 Lemma

8.6.3 gives s1 ∈ L(G, x), so ξ(x, s1)! and x1 := ξ(x, s1) ≥ 0. Let G be the subsystem of G obtained byremoving σ1 (but keeping X = X), so Σ := Σ−σ1. Let I↑ be the state-variable source subset for G.It is clear that G loop-free implies G loop-free, so (if Σ 6= ∅) we pick σ ∈ Σ, say σ = σ2, with σ↑ ⊆ I↑.Now we have

x1 +m∑

i=2

vieσi= x+

m∑

i=1

vieσi= x+ Ev ≥ 0

By Lemma 8.6.4, x1 + v2eσ2≥ 0; Lemma 8.6.3 gives s2 := σ

v(2)2 ∈ L(G, x1), and by Lemma 8.6.2,

s1s2 ∈ L(G, x). So x2 := ξ(x, s1s2)! and x2 ≥ 0. Continuing in this way we get finally

s := s1s2...sm ∈ L(G, x)

withsi = σ

v(i)i , i = 1, ..., m

and V (s) = v. 2

Exercise 8.6.1: Show that the assumption in Theorem 8.6.1 that G is loop-free cannot be droppedaltogether if the stated conclusion is to hold. Also show that the conclusion may hold in some caseswhere G is not loop-free.

8.7 Loop-Freeness and Optimal Control

Let G be a VDES as before, with X = Nn. In this section we apply Theorem 8.6.1 to obtain an(often) efficient way to compute SFBC ‘on-line’, whenever the specification predicate is linear, and Gsatisfies a condition of loop-freeness. Formally, let Σ = Σu, X = X and define Gu (:= G) to be theuncontrollable subsystem of G. Let P ∈ Predlin(X), with

x |= P iff ax ≤ b

for some a ∈ Z1×n, b ∈ Z. We arrange the indexing so that Σu = σ1, ..., σm, with

Eu = [e1...em] ∈ Zn×m

We write |s|i to denote the number of occurrences of σi in s, and for s ∈ Σ∗u bring in the occurrence

vectorVu(s) := [|s|1...|s|m] ∈ Nm×1

349

Page 367: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Recalling the characterization sup CP(P ) = R(G, 〈P 〉) of Proposition 7.4.2, our first task is tocalculate 〈P 〉. Using the fact that L(Gu, x) is prefix-closed, we have that x |= 〈P 〉 if and only if

(∀s ∈ L(Gu, x))ξ(x, s) |= P

iff (∀s ∈ L(Gu, x))x+ EuVu(s) |= P

iff (∀s ∈ L(Gu, x))ax+ aEuVu(s) ≤ b

iff ax+ maxaEuVu(s) | s ∈ L(Gu, x) ≤ b

In general the indicated maximization problem may be intractable, a fact which makes the followingresult especially interesting.

Proposition 8.7.1

If Gu is loop-free, then x |= 〈P 〉 if and only if

ax+ cv∗(x) ≤ b

Here c := aEu ∈ Z1×m, and v∗(x) is a solution of the integer linear programming problem:

cv = maximum

with respect to v ∈ Zm×1 such that v ≥ 0 and Euv ≥ −x.

Proof

By Theorem 8.6.1 applied to Gu,

Vu(s) | s ∈ L(Gu, x) = v ∈ Nm | x+ Euv ≥ 0

ThereforemaxaEuVu(s) | s ∈ L(Gu, x) = cv∗(x),

and the result for 〈P 〉 follows as claimed. 2

We can now provide our final result, on computation of the optimal control.

Theorem 8.7.1

Assume Gu is loop-free. An optimal SFBC f ∗, if one exists, enforcing the linear predicate P :=(ax ≤ b), is given for σ ∈ Σc by the formula:

f ∗σ(x) =

1 if ξ(x, σ)! and axnew + cv∗(xnew) ≤ b (where xnew := x+ eσ)0 otherwise

350

Page 368: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Furthermore, f ∗ so defined is balanced.

Proof

The fact that f ∗ optimally enforces P follows immediately from Sect. 7.4 and Proposition 8.7.1.The property that f ∗ is balanced results by construction: f ∗

σ(x) = 1 whenever both x ∈ R(G, 〈P 〉) andξ(x, σ)! with ξ(x, σ) ∈ R(G, 〈P 〉). 2

We remark that ξ(x, σ)! just when xnew ≥ 0, by VDES dynamics. If not ξ(x, σ)! then f ∗σ(x) can in

principle be defined arbitrarily.

Corollary 8.7.1

Assume Gu is loop-free. An optimal SFBC f ∗ exists iff

axo + cv∗(xo) ≤ b

If this condition fails, then no SFBC exists for G that enforces P .

Proof

By the results of Sect. 7.4 an optimal control f ∗ exists iff sup CP(P ) 6= false, and this is true iffxo |= sup CP(P ). Since sup CP(P ) = R(G, 〈P 〉), f ∗ exists iff xo |= 〈P 〉, and the assertion follows byProposition 8.7.1. 2

Exercise 8.7.1: For a given VDES G, suppose Gu is not loop-free, but you decide to use the integerlinear programming method of Theorem 8.7.1 anyway, because it is computationally convenient. Couldsuch a control design violate the specification? Either prove it could not or find an example to showthat it may. If it does not, its only fault might be that it is overly conservative. In that case, create anexample to illustrate.

8.8 Example: FACT#5

We consider the small factory with Petri net shown below, where a group of 10 input machines feeds abuffer, which in turn supplies a group of 5 machines at the output. Let I1, W1, D1 denote the numbersof input machines in state I, W , D, with a similar notation for output machines, and let B denote thenumber of items in the buffer. We define the state vector x as

x := [I1 W1 D1 I2 W2 D2 B] ∈ N7×1

withxo = [10 0 0 5 0 0 0]

351

Page 369: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

D2D1 W2W1

I1 I2B

λ2λ1

β2β1

µ2µ1α2α1

buffermachinesoutput

machinesinput

Fig. 8.8.1Petri net for FACT #5

Listing the events in order (α1, β1, λ1, µ1, α2, β2, λ2, µ2) we get the displacement matrix E ∈ Z7×8

displayed below.

α1 β1 λ1 µ1 α2 β2 λ2 µ2

I1 −1 1 0 1 0 0 0 0W1 1 −1 −1 0 0 0 0 0D1 0 0 1 −1 0 0 0 0I2 0 0 0 0 −1 1 0 1W2 0 0 0 0 1 −1 −1 0D2 0 0 0 0 0 0 1 −1B 0 1 0 0 −1 0 0 0

Taking Σu = β1, λ1, β2, λ2 and extracting the corresponding submatrix of E results in

Eu =

1 0 0 0−1 −1 0 0

0 1 0 00 0 1 00 0 −1 −10 0 0 11 0 0 0

∈ Z7×4

It is easy to check – for instance by inspection of its Petri net – that Gu is loop-free.

Assume that the buffer capacity is 100, and that we undertake to prevent overflow, namely toenforce the predicate Pover := (ax ≤ b), where

a := [0 0 0 0 0 0 1] ∈ Z1×7, b := 100

352

Page 370: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

This givesc := aEu = [1 0 0 0] ∈ Z1×4

Writing v := [v1 v2 v3 v4] ∈ Z4×1, we attempt to maximize cv = v1, subject to v ≥ 0 and Euv ≥ −x.With x = [x1...x7] ∈ N7×1 the constraints become

v1 ≥ −x1

−v1 − v2 ≥ −x2

v2 ≥ −x3

v3 ≥ −x4

−v3 − v4 ≥ −x5

v4 ≥ −x6

v1 ≥ −x7

together with v ≥ 0. All but the second and fifth of these conditions are enforced by VDES dynamics,which maintain x ≥ 0. Thus the effective constraints reduce to

v1 ≥ 0, v2 ≥ 0, v1 + v2 ≤ x2, v3 + v4 ≤ x5

Clearly v1 is maximized at v1 = x2, v2 = 0, v3 = ω, v4 = ω, where ω denotes ‘don’t care’. For α1 theoptimal control defined in Sect. 8.7 is therefore

f ∗α1

(x) = 1 iff axnew + cv∗(xnew) ≤ b (xnew := x+ eα1)

iff (x7)new + (x2)new ≤ 100

iff x7 + (x2 + 1) ≤ 100

iff x2 + x7 ≤ 99

In words, α1 is enabled if and only if the number of input machines at work plus the current buffercontent is at most one less than the buffer capacity, and this is obviously intuitively correct.

Exercise 8.8.1: Under the same assumptions, investigate how to prevent buffer underflow, namelyenforce

Punder := (x7 ≥ 0) = (−x7 ≤ 0)

Following a similar procedure for α2, verify that optimal control enables α2 in all states, namely theonly enablement condition for the occurrence of α2 is ξ(x, α2)!, or (x4 ≥ 1) & (x7 ≥ 1), and this isenforced automatically by VDES dynamics.

Exercise 8.8.2: Selfloop simulation

Consider the additional specification that no input machine should be repaired (i.e. µ1 is disabled) aslong as some output machine is broken down. Writing #σ for the number of occurrences of event σsince initialization, we have for the number of output machines broken down,

D2 = x6 = #λ2 − #µ2

353

Page 371: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Since µ1 must be disabled if D2 > 0, and up to I2(0) = x4(0) = 5 output machines can be down atone time, D2 > 0 means C := 5 − D2 < 5. This specification can be modelled using a ‘VDES withselfloop’ as displayed by the Petri net in Fig. 8.8.2(a).

Fig. 8.8.2(a)

C

D1

5

50

5 0

λ2

µ2

D2λ1 µ1

To incorporate this specification in our standard model of VDES (from which selfloops are excluded)one may interpose a new coordinate V and uncontrollable transition ν as in Fig. 8.8.2(b).

V

ν

µ1

5

5

50 C

Fig. 8.8.2(b)

At first glance this device may seem unrealistic, since when C = 0 and V = 1, following an occurrenceof µ1, the (uncontrollable!) event λ2 will be disabled pending the occurrence of ν. Recall, however, thatno timing constraints are imposed, so ν can be assumed to occur arbitrarily soon after its enablement.

(a) More formally, consider the configuration of Fig. 8.8.2(a), defined as a ‘generalized’ VDES, sayG, in the sense of Remark 8.2.1. Take for the state vector and initial condition

x = [D1 D2 C], x0 = [0 0 5]

and for the alphabet λ1, µ1, λ2, µ2. The enablement conditions for λ1, λ2, µ2 are just as in astandard VDES, while for µ1 we define vectors

e+µ1= [0 0 5], e−µ1

= [1 0 5], eµ1= [−1 0 0]

354

Page 372: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

and the enablement condition x ≥ e−µ1. With the semantics of G now well-defined, let L(G)

be the corresponding closed behavior, of course over λ1, µ1, λ2, µ2. Next define a VDES H byincorporating Fig. 8.8.2(b) into Fig. 8.8.2(a). The state vector and initial condition of H can betaken as

x = [D1 D2 C V ] ∈ Z4×1, x0 = [0 0 5 0]

and the alphabet as λ1, µ1, λ2, µ2, ν. The displacement matrix E is then

E =

1 −1 0 0 00 0 1 −1 00 −5 −1 1 50 1 0 0 −1

With the semantics that of a standard VDES, let the closed behavior be L(H). Finally, ifP : λ1, µ1, λ2, µ2, ν∗ → λ1, µ1, λ2, µ2∗ is the natural projection (erasing ν), show that L(G) =PL(H).

(b) With FACT#5 redefined as a new VDES by incorporating the additional structure of the VDESH, in part (a), re-solve for the optimal control to prevent buffer overflow, and compare the resultwith the control law found in the earlier part of this section.

8.9 Memory and Dynamic State Feedback Control for VDES

We now apply to VDES the constructions of Sect. 7.6. As in Sect. 8.8 assume that the plant VDESG has state set Nn. To G we shall adjoin a VDES H = (Y,Σ, η, yo, Y ), and in view of the vectorstructures write G ⊕H for the ‘direct sum’ VDES:

G ⊕ H = (X ⊕ Y,Σ, ξ ⊕ η, xo ⊕ yo, Xm ⊕ Y )

Typically the state vector y ∈ Y will play the role of a memory variable (as distinct from a materialvariable like ‘numbers of machines’), and so we shall take Y = Zp for some p > 0. The displacementvector for H corresponding to σ will be denoted by hσ ∈ Zp×1; the corresponding displacement vectorin G ⊕ H is eσ ⊕ hσ ∈ Z(n+p)×1, with

(ξ ⊕ η)(x⊕ y, σ)! iff ξ(x, σ)! iff x+ eσ ≥ 0

In other words, the memory H places no additional ‘physical’ constraint on the transitions of G ⊕ H.

As before let Σ = σ1, ..., σm. We define a linear dynamic predicate to be an element Pdyn ∈Predlin(Nm):

v = [v1...vm] |= Pdyn iff

m∑

i=1

civi ≤ d

where the ci and d ∈ Z, i.e.v |= Pdyn iff d− cv ≥ 0

355

Page 373: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

where c := [c1, ..., cm] ∈ Z1×m. For the behavior of G subject to Pdyn, bring in

L(G, Pdyn) := s ∈ L(G) | (∀w ≤ s)V (w) |= Pdyn

With Pdyn we associate the memory H as above, where

Y := Z, yo := d, η(y, σi) := y − ci, (i = 1, ..., m)

It should now be clear that enforcing s ∈ L(G, Pdyn) is tantamount to enforcing the predicate y ≥ 0 inG ⊕ H. Formally, define Psta ∈ Predlin(X ⊕ Y ) according to

x⊕ y |= Psta iff − y ≤ 0

Then we have

Lemma 8.9.1L(G ⊕ H, Psta) = L(G, Pdyn)

2

By Theorem 7.6.1 and Lemma 8.9.1, we have the main result, in the notation of Sect. 7.6, as follows.

Theorem 8.9.1

Let f ∗ be an optimal SFBC enforcing Psta in G⊕H, and write F ∗ = (f ∗,H). Then F ∗ is an optimalDSFBC for G relative to Pdyn, namely

L(F ∗/G) = sup CG(L(G, Pdyn))

2

With a slight modification of the definition of Pdyn, the computational result of Section 8.8 willapply in the present situation as well; for an example see Sect. 8.11 below.

8.10 Modular Dynamic State Feedback Control for VDES

By following the scheme outlined at the end of Sect. 7.6 it is quite straightforward to describe modularcontrol of VDES, by adjoining a direct sum of memory VDES of the type H in the previous section.Again taking Σ = σ1, ..., σm, suppose we wish to enforce on the occurrence vector V (·) of G apredicate Pdyn ∈ Predlin(Nm) of conjunctive form:

v |= Pdyn iff

k∧

i=1

(civ ≤ di)

356

Page 374: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

where v ∈ Zm×1, ci ∈ Z1×m, di ∈ Z (i = 1, ..., k). For each conjunct Pdyn,i := (civ ≤ di), constructmemory Hi as in Sect. 8.9, and let F ∗

i := (f ∗i ,Hi) be a corresponding optimal balanced DSFBC for G.

It follows by Theorem 7.6.2 that

F ∗ := f ∗1 ∧ ... ∧ f ∗

k ,H1 ⊕ ...⊕Hk

is then an optimal balanced DSFBC enforcing Pdyn on the behavior of G .

To conclude this section we restate for future reference the correspondence between VDES andconjunctive predicates.

Proposition 8.10.1

For any predicate of form Pdyn there is a VDES H with state set Nk and event set Σ such that

L(G) ∩ L(H) = L(G, Pdyn)

Dually for any VDES H with state set Nk and event set Σ (|Σ| = m) there exists a predicate Pdyn onNm such that the above equality is true.

Proof

For the first statement, apply the construction of Sect. 8.9 to each conjunct of Pdyn. For thesecond statement, reverse the procedure: given H = (Y,Σ, η, yo, Y ) with Y = Nk, yo = [yo1...yok], Σ =σ1, ..., σm and η(y, σ) = y+ hσ (defined when y ≥ 0, y+ hσ ≥ 0), write hσj

=: hj = [hj1...hjk] ∈ Zk×1

(j = 1, ..., m) and let

di := yoi, cij := −hji, (i = 1, ..., k; j = 1, ..., m)

Then define ci := [ci1...cim] ∈ Z1×m (i = 1, ..., k), and finally

Pdyn :=

k∧

i=1

(di − civ ≥ 0)

2

Thus each state variable of a VDES can be regarded as a ‘memory’ variable that records a weightedsum of event occurrence numbers. The initial and occurrence conditions of a VDES with state spaceNk impose the requirement that all k memory state variables be maintained nonnegative. A VDES onNk thus expresses the same language as a conjunction of linear dynamic specifications. Thus such aVDES can be used to provide a control specification in the first place.

357

Page 375: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

8.11 Example: FACT#2

Returning to FACT#2 (Sects. 8.3, 8.5), we attempt to enforce predicates

P1 := (x4 ≤ 100), P2 := (10 + #β ≥ 3#λ)

where #σ means the number of occurrences of σ in the string generated by G since initialization.P2 is supposed to limit the number of breakdowns, relative to the number of workpieces successfullyprocessed; since breakdown (λ) is uncontrollable, this may require that eventually the process be shutdown.

Following the procedure of Sect. 8.9, to represent P2 bring in the memory

H = (Y,Σ, η, yo, Y )

withY := Z, Σ = α, β, λ, µ, yo := 10

hα = 0, hβ = 1, hλ = −3, hµ = 0

where η(y, σ) = y + hσ. It is clear that in G ⊕ H, the state variable y will record the quantity

y = 10 + #β − 3#λ

and P2 is tantamount to (y ≥ 0). The state vector of G ⊕H is

x⊕ y = [x1 x2 x3 x4 y] ∈ N4 ⊕ Z

initialized at [10 0 0 0 10]. Note that the VDES dynamics for G ⊕ H automatically enforce onlyx ≥ 0, and not y ≥ 0. The full displacement matrix is

E :=

−1 1 0 11 −1 −1 00 0 1 −10 1 0 00 1 −3 0

For the control design we wish to use integer linear programming as in Sect. 8.7. To do so we mustrespect the assumption (cf. Theorem 8.6.1) that our VDES state variables remain nonnegative underthe defined (and uncontrolled) dynamic transition action. Since the memory variable y ∈ Z is not thusconstrained we first write it as the difference of two nonnegative variables, say

y = y1 − y2

with y1 = 10 + #β, y2 = 3#λ. We now redefine

Y := N2, y :=

[y1

y2

], Σ = α, β, λ, µ, y0 :=

[100

]

hα =

[00

], hβ =

[10

], hλ =

[03

], hµ =

[00

]

358

Page 376: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

with η(y, σ) = y + hσ ∈ N2 and P2 = (y1 − y2 ≥ 0). The new state vector of G ⊕H is

x⊕ y = [x1 x2 x3 x4 y1 y2] ∈ N6

initialized at [10 0 0 0 10 0]. Note that the VDES dynamics for G itself automatically enforcex⊕ y ≥ 0. The full displacement matrix is

E :=

−1 1 0 11 −1 −1 00 0 1 −10 1 0 00 1 0 00 0 3 0

∈ Z6×4

To start the design we note that (G⊕H)u is loop-free. Referring to Sect. 8.7, write Eu for the 6×2submatrix of E corresponding to events β and λ, i.e. columns 2 and 3. For P1, let

a = [0 0 0 1 0 0] ∈ Z1×6, b = 100

Thenc := aEu = [1 0] ∈ Z1×2

and we take v = [v1 v2] ∈ N2×1. We are to maximize cv = v1 subject to v ≥ 0 and Euv ≥ −(x⊕ y), i.e.

v1 ≥ 0, v2 ≥ 0,

v1 ≥ −x1, − v1 − v2 ≥ −x2, v2 ≥ −x3,

v1 ≥ −x4, v1 ≥ −y1, 3v2 ≥ −y2

In view of xi ≥ 0, yj ≥ 0 by the dynamics of G ⊕ H, the effective constraints are

v1 ≥ 0, v2 ≥ 0, v1 + v2 ≤ x2

from which we obtain the solutionv∗1 = x2, v∗2 = 0

As expected, the solution for P1 is independent of the memory element H. From Theorem 8.7.1 we getfor the optimal control

f (1)∗α (x⊕ y) = 1 iff a(x⊕ y)new + cv∗((x⊕ y)new) ≤ b

iff x4,new + x2,new ≤ 100

using (x⊕ y)new := (x⊕ y) + (eα ⊕ hα).

For P2 we have −y1 + y2 ≤ 0, or a(x⊕ y) ≤ b with

a = [0 0 0 0 − 1 1], b = 0

359

Page 377: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Thus c = aEu = [−1 3], and our problem is to maximize

cv = −v1 + 3v2

under the same effective conditions as before, namely vi ≥ 0, v1 + v2 ≤ x2. This gives v∗1 = 0, v∗2 = x2

and cv∗(x) = 3x2. Thus for σ ∈ Σc we may take

f (2)∗σ (x⊕ y) = 1 iff − y1,new + y2,new + 3x2,new ≤ 0

where (x⊕ y)new := (x⊕ y)+ (eσ ⊕hσ). Combining the SFBC for P1 with the DSFBC for P2 we obtainfor the conjunction

f ∗σ(x⊕ y) = 1 iff (x2,new + x4,new ≤ 100) ∧ (3x2,new − y1,new + y2,new ≤ 0)

whenever σ ∈ Σc, in particular for σ = α.

This example provides an opportunity to implement optimal control by means of a ‘control’ VDES,say Gcon, coupled (via ⊕) to G. To see how this is done, rearrange the conditions for f ∗

σ in the form

100 − x2,new − x4,new ≥ 0, − 3x2,new + y1,new − y2,new ≥ 0

Introduce control coordinates z1, z2 which we shall try to arrange so that

z1 = 100 − x2 − x4, z2 = −3x2 + y1 − y2

as the process evolves; initially z1 = 100, z2 = 10. Heuristically note that

z1 = 100 − (#α− #β − #λ) − #β = 100 − #α + #λ

z2 = −3(#α − #β − #λ) + (10 + #β) − 3#λ = 10 − 3#α + 4#β

With the ordering (α, β, λ, µ) we therefore take the displacements in z1, z2 to be

k(z1) = [−1 0 1 0], k(z2) = [−3 4 0 0]

Thus if we let Gcon := (Z,Σ, ζ, zo, Z) with Z = N2, and let the foregoing displacements define ζ , thenthe behavior of G⊕Gcon (as a VDES with state space N6) will be exactly the behavior of G under f ∗,inasmuch as σ will be enabled only if z1,new ≥ 0, z2,new ≥ 0. Notice that the only negative entries in thek1, k2 vectors correspond to controllable events (specifically, α). Thus the requirement of coordinatenonnegativity enforced, by assumption ‘physically’, by VDES over N6, captures the control action in aplausible way: no further ‘control technology’ is needed. This approach will be pursued systematicallyin Sect. 8.13.

8.12 Modelling and Control of a Production Network

We consider the modelling and control of a production network, adapted from work by Al-Jaar andDesrochers. A Petri net for the system is shown in Fig. 8.12.1.

360

Page 378: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

a12

a14

x21

a32

a34

a31

a52

a54

a51

a82

InspectorGroup 4Buffer 3Group 3

Buffer 1

Buffer 2Group 2

Group 1

x82x81

a81a73

a74

x74

a75

a71

x72x61

a53

x41

x54

x51

a33

x34

a35

x31

x33x32

x14

x11

x12 x13

a15

a11

a83

x71

x73

a72

x53x52

a55

a13

Fig. 8.12.1Production Network

The system operates as follows. Machines in Groups 1 and 2 receive parts from a non-depletinginventory and deposit the finished parts in Buffers 1 and 2 respectively. Machines in Group 3 fetchparts from Buffers 1 and 2 for assembling. The assembled workpiece is deposited in Buffer 3 to befurther processed by Group 4. The processed workpiece is sent to an inspection unit which can eitheroutput the workpiece as a finished product or return it for reworking by Group 4.

We use a modular approach to modeling this production network. First we model modules of thenetwork individually and then compose them to form the model of the complete system.

(1) Modelling of the Machines

The state vector of machine group 1,2,3,4 is indexed respectively i = 1, 3, 5, 7 and is

xi = [x1i , x

2i , x

3i , x

4i ] ∈ N4×1, i = 1, 3, 5, 7 .

The state components denote, respectively, ‘idle’, ‘processing’, ‘holding (part prior to sending on)’,‘broken down’. With reference to Fig. 8.12.1, transitions α1

i , α2i , α

3i , α

4i , α

5i (i = 1, 3, 5, 7) represent

‘start processing’, ‘finish processing’, ‘return to idle’, ‘break down’, ‘return to processing after repair’.

The corresponding state transition function ξi : Xi × Σi → Xi is given by

ξi(xi, αji ) = xi + ei,αj

i(i = 1, 3, 5, 7; j = 1, 2, 3, 4, 5)

where

ei,α1i

=

−1100

ei,α2i

=

0−1

10

361

Page 379: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

ei,α3i

=

10

−10

ei,α4i

=

0−1

01

ei,α5i

=

010

−1

Initially, all machines are in the ‘idle’ state:

xi,0 =

gi

000

The vector models of these machines are then

Gi = (Xi,Σi, ξi, xi,o)

whereΣi = α1

i , α2i , α

3i , α

4i , α

5i

with Σi,c = α3i , i.e. we assume that only the event ‘return to idle’ is controllable.

(2) Modelling of the Inspection Unit

The model for the inspector isG8 = (X8,Σ8, ξ8, x8,o)

whereΣ8 = α3

7, α18, α

28, α

38

Σ8,c = α181

andx8 = [x1

8, x28] ∈ N2×1

x8,o = [0, 0]

ξ8(x8, αi8) = x8 + e8,αi

8

with

e8,α37

=

[10

]e8,α1

8=

[−1

1

]e8,α2

8=

[0

−1

]e8,α3

8=

[0

−1

]

(3) Modelling of Buffers

The three buffers can be modelled as scalar systems. For Buffer 1, we have

G2 = (X2,Σ2, ξ2, x2,o)

1The ‘coupling event’ α37 is already controllable in G7.

362

Page 380: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

withΣ2 = α3

1, α15, Σ2,c = α3

1X2 = N x1

2,o = 0

ξ2(x12, α

31) = x1

2 + 1

ξ2(x12, α

15) = x1

2 − 1

Buffer 2 is modelled similarly. For Buffer 3, we have

G6 = (X6,Σ6, ξ6, x6,o)

withΣ6 = α3

5, α17, α

28, Σ6,c = α3

5X6 = N, x1

6,o = 0

ξ6(x16, α

35) = ξ6(x

16, α

28) = x1

6 + 1

ξ(x16, α

17) = x1

6 − 1

(4) Composition

Finally we compose the above components to obtain the VDES model of the production network:

G = (X,Σ, ξ, x0) =8⊕

i=1

Gi

where

Σ =8⋃

i=1

Σi, Σc =8⋃

i=1

Σi,c

X =8⊕

i=1

Xi, x0 =8⊕

i=1

xi,0

ξ(x, αji ) = x+ eαj

i

with

eαji=

8⊕

k=1

ek,αji

where we define ek,αji

= 0 if αji is not in Σk. The connections of the system modules are displayed in

Fig. 8.12.2.

363

Page 381: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

G1

G3

G2

G4

G5 G6 G7 G8

Fig. 8.12.2Production Network Connection

Note that the connection of G1 and G2 is serial, that of G2 and G4 parallel, and that of G6 andG8 feedback.

(5) Control of the Production Network

We now discuss how to synthesize a modular controller to satisfy the performance specification ofthe system. The specification is that no buffer overflow and that at most one part be inspected at agiven time. We assume that Buffer i has capacity ki and the buffer inside the inspection unit (x1

8) hascapacity 1. This specification can be formalized as a predicate on the state space X:

P =

4∧

i=1

Pi

with

P1 = (x12 ≤ k1)

P2 = (x14 ≤ k2)

P3 = (x16 ≤ k3)

P4 = (x18 ≤ 1)

We list the optimal2 subcontrollers for the above linear specifications.

f1,α(x) = 0 ⇔ α = α31 and x1

2 ≥ k1

f2,α(x) = 0 ⇔ α = α33 and x1

4 ≥ k2

f3,α(x) = 0 ⇔ (α = α35 or α = α1

8) and x16 + x2

8 ≥ k3

f4,α(x) = 0 ⇔ α = α37 and x1

8 ≥ 1

2While Gu is not loopfree, and therefore Theorem 8.7.1 not strictly applicable, the asserted optimality is obvious byinspection.

364

Page 382: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

The conjunction of these subcontrollers is

f :=

5∧

i=1

fi

It is easy to check that all subcontrollers in f are balanced. Therefore, this modular controller isoptimal in the sense that it synthesizes a largest reachable state set among all controllers which enforcethe specification

P =

4∧

i=1

Pi

as asserted by Theorem 7.5.1.

The above modular controller can lead to deadlock of the controlled system. To see this, considerthe state at which x1

2 = k1, x14 = k2, x

16 = k3, x

18 = 1 and x3

i = gi (i = 1, 3, 5, 7), with all other statevariables being 0. At this state all controllable events are disabled and no uncontrollable event canoccur. One way to remove the deadlock in the system is to add another subspecification which ensuresthat the deadlock state cannot be reached.

For this it is sufficient to ensure that the number of empty slots in Buffer 3 (k3 − x16) is maintained

at least as great as the number of workpieces that could potentially be returned to Buffer 3 on beingtested defective. In the worst case this is the number of workpieces being processed by the machinesin Group 4 together with the Inspector, namely

x27 + x3

7 + x47 + x1

8 + x28

So our new subspecification can be taken to be

P5 = (x16 + x2

7 + x37 + x4

7 + x18 + x2

8 ≤ k3)

Notice that P5 implies P3, so the latter may now be discarded and the controls redesigned on the basisof P1, P2, P4 and P5.

Exercise 8.12.1: Redesign the controls as just specified. By detailed reasoning from your controldesign, prove that the controlled system is maximally permissive and nonblocking with respect to theprescribed initial state as marker state. For a plausible numerical assignment of the ki (not too large!)verify this conclusion computationally using the DES representation described in Exercise 8.2.2. 3

To illustrate dynamic control, let us consider the following linear dynamic specification:

|α35| − |α3

8| ≤ k

which specifies that the number of parts in the inspection loop never exceeds an integer k. Here|α3

i | (i = 5, 8) denotes the number of occurrences of α3i . A one-dimensional memory H can be easily

constructed from this specification and is shown in Fig. 8.12.3.

365

Page 383: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

y

a12

a14

x41a32

a34

x52

a52

a54

x72a51 a71

a72

a74a82

x82x81

a81

a83

x71

x74

a73

a75

x73

Group 4 InspectorBuffer 3Group 3

x61

x51

x54

a55

a53

x53

x34

x31

x14

x11

x21

a33

x12 x13

a13

x33x32a31

Buffer 2Group 2

Buffer 1Group 1

a35

a15

a11

HFig. 8.12.3

Production Network with Dynamic Control

The dynamic specification is then equivalent to a static specification

y ≤ k

on the extended state space X ⊕ Y with Y being the one-dimensional state space of H. By Theorem8.9.1, the optimal controller f enforcing this static specification can be defined as

fα =

0 if α = α3

5 and y ≥ k1 otherwise

Exercise 8.12.2: Verify this result by calculating f ∗ as in Theorem 8.9.1.

8.13 Representation of Optimal Control by a Control VDES

In this section we return to the problem, illustrated in Sect. 8.11, of representing the optimal control bya VDES. This kind of result has the appeal that control does not require departure from the basic modelclass, a feature that offers convenience in control implementation, and ease of analysis and simulationof controlled behavior. On the other hand, insisting on a VDES implementation of the control doesimpose further restrictions on the structure of the plant G (although not on the control specification).

366

Page 384: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

As usual let G = (X,Σ, ξ, xo, Xm), with X = Nn and where ξ is defined by displacement vectorseσ ∈ Zn×1. Assume that the control specification is provided in the form of a VDES S = (Y,Σ, η, yo, Y ),where Y = Np, and with displacement vectors hσ ∈ Zp×1. One may think of S as tracking the behaviorof G, with the specification expressed as the predicate (y ≥ 0) on X ⊕ Y . Write S := L(S), the closedbehavior of S. We shall assume that sup CG(L(G)∩ S) 6= ∅, so an optimal DSFBC F ∗ for G exists (asa SFBC on X ⊕ Y ), such that

L(F ∗/G) = sup CG(L(G) ∩ S)

Let Gcon := (Z,Σ, ζ, zo, Z) be a VDES with Z = Nr. We say that Gcon is a VDES implementation(VDESI) of F ∗ provided

L(F ∗/G) = L(G ⊕Gcon)

We shall provide a constructive sufficient condition (jointly due to Nianqing Huang, 1991, andShu-Lin Chen, 1992) under which Gcon exists; it will then turn out that r = p.

Let A ⊆ Σ and α ∈ A. Define the event subset Σ(α,A) and coordinate (index) set I(α,A)inductively by the rules:

1. α ∈ Σ(α,A)

2. σ ∈ Σ(α,A) & i ∈ σ↑ ⇒ i ∈ I(α,A)

3. i ∈ I(α,A) & σ ∈ i↑ ∩A⇒ σ ∈ Σ(α,A)

4. No other elements belong to Σ(α,A) or I(α,A).

Note that Rule 2 says that i is placed in I(α,A) if eσ(i) < 0. The restriction of G to I(α,A) and Σ(α,A)is the subsystem of G that is upstream from α, taking into account only the flow due to transitions inA.

Next take A := Σu and consider (one-dimensional) S with p = 1, Y = N. Define

Σ−u := σ ∈ Σu|hσ < 0

Σ∇ := ∪Σ(σ,Σu)|σ ∈ Σ−u

I∇ := ∪I(σ,Σu)|σ ∈ Σ−u

Finally, denote by G∇ the restriction of G to I∇, Σ∇. Thus G∇ is just the subsystem of G of whichthe flow is uncontrollable and effect is to decrement the (scalar) specification coordinate y ∈ Y viaevents in Σ−

u . Since the specification is precisely that y be maintained nonnegative, it is the structureof G∇ that is crucial for that of the optimal control.

Example 8.13.1: For FACT#2 we had P2 = (10 +#β ≥ 3#λ), which may be converted to a VDESS with Y = N, yo = 10, and [hα hβ hλ hµ] = [0 1 − 3 0]. We have

367

Page 385: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Σ−u = λ, Σ∇ = λ, I∇ = λ↑ = 2

3

Now we can state

Theorem 8.13.1 (Nianqing Huang, Shu-Lin Chen)

Given a VDES G and a specification language S represented by a 1-dimensional VDES S as above.Assume that an optimal DSFBC F ∗ for G exists (i.e. sup CG(L(G) ∩ S) 6= ∅). In addition assume theconditions

1. G∇ is loop-free.

2. For all σ ∈ Σ∇, the displacement vector eσ in G has at most one negative component, i.e. |σ↑| ≤ 1;furthermore if for some i, eσ(i) < 0, then eσ(i) = −1 (by Rule 2 above, σ↑ = i and i ∈ I∇).

Then a VDESI Gcon for F ∗ exists. 2

Example 8.13.2: For FACT#2 the conditions of Theorem 8.13.1 are clearly satisfied; a VDESI wasconstructed ad hoc in Sect. 8.11. 3

Our proof will be constructive, and include a test for the existence of F ∗. Roughly, the procedureis to successively transform the specification VDES S, moving upstream in G∇ against the flow of(uncontrollable) events, until the controllability condition on the transformed version of S is satisfied.The loop-freeness Condition 1 guarantees termination, while Condition 2 serves to rule out ‘disjunctive’control logic (cf. Exercise 8.13.7).

We begin by defining a family of transformations Tα (α ∈ Σu) on 1-dimensional VDES. As abovelet S = (Y,Σ, η, yo, Y ) with yo ≥ 0 and η(y, σ) = y+ hσ. NULL will stand for the ‘empty’ VDES withL(NULL) := ∅. Under Condition 2 of Theorem 8.13.1, define

Snew := TαS

as follows.

1. If hα ≥ 0 then Tα = id (identity operator), i.e. Snew := S.

2. If hα < 0 and α↑ = i (thus eα(i) < 0) then

ynew,o := yo + xo(i)hα

hnew,σ :=

hσ + eσ(i)hα if σ ∈ i↑ ∪ i↓hσ otherwise

If ynew,o ≥ 0 then accept the VDES Snew with ynew,o, hnew,σ (σ ∈ Σ): otherwise Snew := NULL.

368

Page 386: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

3. If hα < 0 and α↑ = ∅ then Snew := NULL.

4. For all σ ∈ Σ, Tσ(NULL) := NULL.

In part 2 of the definition of Tα, clearly ynew,o ≤ yo. Also, Condition 2 of Theorem 8.13.1 implieseα(i) = −1, so

hnew,α = hα + eα(i)hα = 0

In general hnew,σ is made up of the direct contribution hσ to y on the occurrence of σ, plus a contributionto y of eσ(i)hα due to occurrences of α (see the proof of Lemma 8.13.1 below).

Note that activation of part 3 of the definition of Tα is not ruled out by Condition 2 of Theorem8.13.1.

Example 8.13.3: In FACT#2 recall that y = 10+#β−3#λ, h = [0 1 −3 0], λ ∈ Σu, hλ = −3 < 0,λ↑ = 2. Thus, Snew = TλS is calculated according to

ynew,o = yo + xo(2)hλ = yo = 10

2↑ ∪ 2↓ = α, β, λhnew,α = hα + eα(2)hλ = 0 + (+1)(−3) = −3

hnew,β = hβ + eβ(2)hλ = (+1) + (−1)(−3) = 4

hnew,λ = hλ + eλ(2)hλ = 0

hnew,µ = hµ

Thushnew = [−3 4 0 0]

For Snew,σ ∈ Σu|hσ < 0 = ∅,

so that now all Tσ = id. 3

Let I ⊆ I := 1, ..., n, Σ ⊆ Σ and let G be the restriction of G to I , Σ. An event σ ∈ Σ is a leafevent of G if, for all i ∈ σ↓ ∩ I, i↓ ∩ Σ = ∅, or briefly (σ↓ ∩ I)↓ ∩ Σ = ∅ (in particular this is true ifσ↓ ∩ I = ∅). Evidently a leaf event of G cannot contribute to the occurrence in G of an immediatelyfollowing event in Σ.

Let LeafEvent(G, α) denote a procedure that selects an arbitrary leaf event α of G (or returns errorif no leaf event exists). To compute Gcon we start with

369

Page 387: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Procedure 1 (index Σ∇ by leaf property);

Gvar := G∇;Σvar := Σ∇;k := |Σ∇|;index := 1;if k = 0 then LEList := [ ] else

while index ≤ k do

begin

LeafEvent(Gvar, α);LEList[index] := α;Σvar := Σvar − α;Gvar := restriction of Gvar to I∇,Σvar;index := index + 1

end.

Proposition 8.13.1:

Under the conditions of Theorem 8.13.1, Procedure 1 is well-defined.

Proof:

It suffices to check that Gvar always has a leaf event if index ≤ k. But this follows by Condition 1of Theorem 8.13.1 that G∇ is loop-free. 2

Exercise 8.13.1: Supply the details. 3

Procedure 1 returns a listing of Σ∇, LEList = [ ] or [α1, ..., αk]. Procedure 2 will then compute thefinal result as follows.

Procedure 2:

If LEList = [ ] then Sfin := S else

Sfin := TαkTαk−1

...Tα1(S).

It will be shown that, under the Conditions 1 and 2 of Theorem 8.13.1, either Sfin = NULL, in whichcase sup CG(L(G) ∩ S) = ∅ and F ∗ does not exist, or else Sfin = Gcon is a VDESI for F ∗.

Exercise 8.13.2: Let G be a 1-dimensional VDES with Σu = Σ = α, β and displacement matrixE = [−1 − 1]. Define S by h = [−5 − 7]. Check that α, β are both leaf events and that

Sfin = TαTβS = TβTαS

370

Page 388: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

with yfin,o = yo − 7xo and hfin = [2 0]. Thus Sfin 6= NULL if and only if yo ≥ 7xo. Explain intuitively.

Exercise 8.13.3: Consider the 6-dimensional VDES G with Σu = Σ = σi|i = 1, ..., 7, and

E :=

0 −1 −1 0 0 0 00 0 0 4 −1 0 02 1 0 0 0 −1 00 0 3 0 2 0 −1

−1 0 0 0 0 0 00 0 0 −1 0 0 0

For S leth := [0 0 0 0 0 − 2 − 3]

Thus Σ−u = σ6, σ7. Show that a possible LEList is [σ6 σ2 σ7 σ1 σ5 σ3 σ4]. Calculate hfin and

yfin,o = yo − cxo

for suitable c ∈ N1×6. Interpret the result in terms of a ‘worst case’ event sequence that maximallydecrements y. 3

Write S = L(S), Snew = L(Snew).

Lemma 8.13.1:

Let Snew = TαS (with α ∈ Σu). Then

sup CG(L(G) ∩ Snew) = sup CG(L(G) ∩ S) (∗)

Proof:

If hα ≥ 0 then Tα = id, Snew = S, and there is nothing to prove.

If hα < 0 and α↑ = ∅ then Snew = NULL. Also, as αj ∈ L(G) for all j ≥ 0, and yo + jhα < 0 for jsufficiently large, we have sup CG(L(G) ∩ S) = ∅, establishing (*) for this case.

It remains to assume hα < 0 and α↑ 6= ∅, namely α↑ = i, with eα(i) = −1. Let s ∈ L(G),nσ = |s|σ(σ ∈ Σ). Then

0 ≤ k := ξ(xo, s)(i) = xo(i) +∑

σ

nσeσ(i)

371

Page 389: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Note that it suffices to sum over σ ∈ i↑ ∪ i↓. First suppose s ∈ sup CG(L(G) ∩ Snew). Then

0 ≤ ηnew(yo,new, s)

= yo,new +∑

σ

nσhσ,new

= yo + xo(i)hα +∑

σ∈i↑∪i↓

nσ[hσ + eσ(i)hα] +∑

σ 6∈i↑∪i↓

nσhσ

= yo +∑

σ

nσhσ +

[xo(i) +

σ∈i↑∪i↓

nσeσ(i)

]hα

= yo +∑

σ

nσhσ + khα

and so, as khα ≤ 0,

yo +∑

σ

nσhσ ≥ 0

The same argument applies to each prefix s′ ≤ s, showing that η(yo, s)!, namely s ∈ L(G)∩S. Therefore

sup CG(L(G) ∩ Snew) ⊆ L(G) ∩ Sso that

sup CG(L(G) ∩ Snew) ⊆ sup CG(L(G) ∩ S)

For the reverse inclusion, take s ∈ sup CG(L(G) ∩ S). With k as before we have, as eα(i) = −1,

xo(i) +∑

σ 6=α

nσeσ(i) + (nα + k)eα(i) = 0 (†)

so that ξ(xo, sαj)! for 0 ≤ j ≤ k, with ξ(xo, sα

k)(i) = 0. By controllability

sαk ∈ sup CG(L(G) ∩ S)

In particular η(yo, sαk)!, namely

yo +∑

σ 6=α

nσhσ + (nα + k)hα ≥ 0 (††)

Calculating as before,

yo,new +∑

σ

nσhσ,new = yo +∑

σ

nσhσ +

[xo(i) +

σ∈i↑∪i↓

nσeσ(i)

]hα

= yo +∑

σ 6=α

nσhσ + nαhα − keα(i)hα

+

[xo(i) +

σ 6=α

nσeσ(i) + (nα + k)eα(i)

]hα

= yo +∑

σ 6=α

nσhσ + (nα + k)hα

≥ 0

372

Page 390: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

using (†) and (††). By the same argument applied to each prefix of s, we conclude that ηnew(yo,new, s)!,namely

s ∈ L(G) ∩ Snew

and thereforesup CG(L(G) ∩ S) ⊆ sup CG(L(G) ∩ Snew)

as required. 2

Lemma 8.13.2:

Let G,S satisfy Condition 2 of Theorem 8.13.1, and assume α ∈ Σ∇ with α↑ = i. Let Snew =Tα(S). Then

(∀σ 6∈ i↑)hnew,σ ≥ hσ

2

Corollary 8.13.1:

Under the conditions of Theorem 8.13.1, let the result of Procedure 1 be

LEList = [α1, ..., αk]

Then for j = 2, ..., k, Tαjdoes not decrease the components of hαi

for i = 1, ..., j − 1.

Proof:

Let α↑j = l and in turn set i = 1, ..., j − 1. Note that αi 6∈ l↑, since otherwise αi cannot be a leaf

event in the restriction of G∇ to I∇, αi, ..., αj , ..., αk, contrary to Procedure 1. The result follows byLemma 8.13.2 with α = αj and putting σ = α1, ..., αj−1 in turn. 2

Exercise 8.13.4: In the example of Exercise 8.13.3, check that Tσ2does not decrease h6; Tσ7

does notdecrease h6, h2; ...;Tσ4

does not decrease hi for i = 6, 2, 7, 1, 5, 3. 3

Proof of Theorem 8.13.1:

Assume first that Procedure 2 yields Sfin 6= NULL. It will be shown that Sfin is a VDESI for F ∗.By construction, LEList contains all α ∈ Σu such that hα < 0. Also, if at some stage in Procedure 2we have S′′ = TαS

′, say, then hα(S′′) ≥ 0. By Corollary 8.13.1 it follows that for all σ ∈ Σu, hfin,σ ≥ 0.

Write Sfin = L(Sfin). We claim that Sfin is controllable with respect to G . Indeed if s ∈ Sfin ∩L(G)and σ ∈ Σu with sσ ∈ L(G), let ηfin(yfin,o, s) = y, so

ηfin(yfin,o, sσ) = y + hfin,σ ≥ y,

namely sσ ∈ Sfin.

373

Page 391: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

It follows thatsup CG(L(G) ∩ Sfin) = L(G) ∩ Sfin

By Lemma 8.13.1,sup CG(L(G) ∩ Sfin) = sup CG(L(G) ∩ S)

and thusL(G) ∩ Sfin = sup CG(L(G) ∩ S)

namely Sfin is a VDESI for F ∗.

Finally we note that Sfin 6= NULL if and only if, at each stage of Procedure 2, we have bothα↑ 6= ∅ and ynew,o ≥ 0. But if α↑ = ∅ (i.e. α ∈ Σ∇ is permanently enabled) there must exist astring s ∈ Σ∗

u ∩ L(G∇) such that η(yo, s) < 0, i.e. s 6∈ L(S), hence sup CG(L(G) ∩ S) = ∅. Thesame conclusion follows if ynew,o < 0 at some stage. Thus (under the conditions of the theorem) therequirement Sfin 6= NULL is necessary and sufficient for the existence of F ∗.

2

Remark 8.13.2:

Procedure 2 could be modified by dropping the condition that ynew,o ≥ 0 at each stage, and simplyreporting whatever value of yfin,o is calculated at termination. A result yfin,o < 0 would then representthe least amount by which the original value of yo should be raised to yield an acceptable (nonnegative)result. 3

It is straightforward to extend Theorem 8.13.1 to the case of a p-dimensional specification, merelyby treating each component as an independent scalar in modular fashion.

Exercise 8.13.5: Justify the last statement in detail, and illustrate with a modular VDESI of dimen-sion 2.

Exercise 8.13.6: Let G be a 5-dimensional VDES over Σ = σ1, σ2, σ3, σ4, σ5 with Σc = σ4 and

E =

−1 −1 2 0 00 −2 0 0 00 0 −1 1 −20 0 0 −1 00 0 0 0 −1

h = [−1 0 0 0 0]

Let xo = [0 3 0 4 1], yo = 3. Apply Theorem 8.13.1 with Procedures 1 and 2 to obtain a VDESI for F ∗.

Exercise 8.13.7: Show that Condition 2 of Theorem 8.13.1 cannot be dropped altogether. Hint: Inthe following example, verify that Condition 2 is violated, and F ∗ exists but cannot be implemented

374

Page 392: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

as a VDES. Let G be 2-dimensional with Σ = α, β, γ, Σu = α and

E =

[−1 0 1−1 1 0

]

h = [−1 0 0]

Let xo = [0 0], yo = 2. Show that optimal control is given by

F ∗β (x1, x2, y) = 1 iff min(x1, x2 + 1) ≤ y

F ∗γ (x1, x2, y) = 1 iff min(x1 + 1, x2) ≤ y

Show that neither of these enablement conditions can be written as an inequality (or conjunction ofinequalities) linear in the occurrence vector, so there can be no VDESI for either F ∗

β or F ∗γ .

Exercise 8.13.8: Show that Condition 2 of Theorem 8.13.1 is not necessary. Hint: In the followingexample, verify that Condition 2 is violated, but F ∗ exists and does have a VDES implementation. LetG be 2-dimensional with Σ = α, β, γ, Σc = γ and

E =

[−1 0 1−1 1 0

]

h = [−1 0 0]

Let xo = [0 0], yo = 2. Check that F ∗γ exists and has the VDESI S with h(S) = [0 0 − 1] and initial

value 2.

Exercise 8.13.9: Let G be 1-dimensional with Σ = α, β, γ, Σc = γ,

E = [−2 − 1 1]

h = [−3 1 0]

Investigate the existence of F ∗ and a VDES implementation. What conclusion can be drawn aboutTheorem 8.13.1?

Exercise 8.13.10: Repeat Exercise 8.13.9 for the following. Let G be 4-dimensional with Σ =α, β, λ, µ, Σu = λ,

E =

−1 0 0 10 −1 0 22 1 −2 00 0 1 −2

x(0) = [1 2 0 2] ∈ N4×1

and specification x4 ≤ 2.

375

Page 393: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Exercise 8.13.11: Continuing Exercise 8.13.10, find a ‘place invariant’ (cf. Exercise 8.3.2) [c1 c2 c3 c4]with the ci > 0. From this derive a priori bounds x1, x4 ≤ 4; x2, x3 ≤ 8. Using these bounds constructstate models Xi for the VDES components xi, and form the plant model X as their synchronousproduct. Use TCT to obtain the optimal supervisor enforcing (x4 ≤ 2). Verify consistency with yourresult in Exercise 8.13.10.

8.14 Appendix: Three Examples from Petri Nets

We provide three examples to show how supervisory control problems described in terms of Petri netscan be treated in the automaton framework of this monograph, Chapters 3, 4 and 6. Commentedoutput from the TCT MAKEIT.TXT files is provided for the reader’s convenience. Details of problemformulation can be found in the cited literature.

Example 8.14.1: Manufacturing Workcell

Ref: K. Barkaoui, I. Ben Abdallah. A deadlock prevention method for a class of FMS.Proc. IEEE Int. Conf. on Systems, Man, and Cybernetics. Vancouver, Canada,October 1995, pp.4119-4124.

The system is a manufacturing workcell consisting of two input bins I1,I2, four machines M1,...,M4, tworobots R1,R2, and two output bins O1,O2. Two production sequences, for RED and GRN workpieces,run concurrently; these are:

GRN: I1 → R1 → (M1 or M2) → R1 → M3 → R2 → O1

RED: I2 → R2 → M4 → R1 → M2 → R1 → O2

In the simplest case, treated here, at most one workpiece of each type (red, green) is allowed in thesystem at any one time.

Since the machines and production sequences share the robots as resources, there is the a prioripossibility of deadlock. In fact, without control there is exactly one deadlock state (20) in TEST= meet(CELL,SPEC). At this state the components are in states:

R1 R2 M1 M2 M3 M4 RED GRN1 0 0 1 0 0 2 3

One deadlock sequence is:

R1 takes in green part (ev 11 in CELL)R2 takes in red part (ev 91)R1 loads M2 with green part (ev 21)R2 loads M4 with red part (ev 101)R1 unloads red part from M4 (ev 111)

376

Page 394: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

At this point, R1 holds a red, having just unloaded it from M4 (event 111), while M2 holds a green,having finished processing it. R1 must load M2 with the red it’s holding (ev 121) but cannot doso because M2 holds the green, which only R1 can unload (ev 41). The deadlock occurs becauseboth R1 and M2 are “full” (with a red, green respectively), and there’s no mechanism for making therequired swap. The cure is easy: simply eliminate state 20 from TEST; the result is then exactly theoptimal controlled behavior SUP. So instead of the old blocking sequence [11,91,21,101,111] we nowhave [11,91,21, 101,41]; in other words GRN is allowed to progress to its state 4 (ev 41) before RED isallowed to progress to its state 3 (ev 111). The problem arises because a single robot (R1) is sharedby 2 machines M2,M4; and M2 is shared by 2 processes (RED,GRN). At the deadlock state REDand GRN have conflicting requirements for M2 and therefore on R1, which is deadlocked because ofits previous action on M4. Conclusion: careful sequencing of the interleaved processes RED, GRN isneeded to avoid deadlock due to conflicting demands on the shared resources R1 and M2. Of course,this is achieved ‘automatically’ by supcon.

377

Page 395: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

R1 = Create(R1,[mark 0],[tran [0,11,1],[0,41,1],[0,51,1],[0,111,1], [0,131,1],[1,21,0],[1,31,0],[1,61,0],[1,121,0],[1,141,0]]) (2,10)

R2 = Create(R2,[mark 0],[tran [0,71,1],[0,91,1],[1,81,0],[1,101,0]]) (2,4)

M1 = Create(M1,[mark 0],[tran [0,31,1],[1,51,0]]) (2,2)

M2 = Create(M2,[mark 0],[tran [0,21,1],[0,121,1],[1,41,0],[1,131,0]]) (2, 4)

M3 = Create(M3,[mark 0],[tran [0,61,1],[1,71,0]]) (2,2)

M4 = Create(M4,[mark 0],[tran [0,101,1],[1,111,0]]) (2,2)

CELL = Sync(R1,R2) (4,28) Blocked events = None

CELL = Sync(CELL,M1) (8,52) Blocked events = None

CELL = Sync(CELL,M2) (16,88) Blocked events = None

CELL = Sync(CELL,M3) (32,160) Blocked events = None

CELL = Sync(CELL,M4) (64,288) Blocked events = None

ALL = Allevents(CELL) (1,14)

GRN = Create(GRN,[mark 0],[tran [0,11,1],[1,21,2],[1,31,3],[2,41,4],[3,51,4],[4,61,5],[5,71,6],[6,81,0]]) (7,8)

RED = Create(RED,[mark 0],[tran [0,91,1],[1,101,2],[2,111,3],[3,121,4],[4,131,5],[5,141,0]]) (6,6)

SPEC = Sync(RED,GRN) (42,90) Blocked events = None

false = Nonconflict(CELL,SPEC)

TEST = Meet(CELL,SPEC) (35,61)

SUP = Supcon(CELL,SPEC) (34,60)

SUP = Condat(CELL,SUP) Controllable.

378

Page 396: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

[Only events 51,71 do not appear in the Condat table; therefore they could be replaced by uncontrollablecounterparts (say 50,70) without changing the controlled behavior.]

SIMSUP = Supreduce(CELL,SUP,SUP) (11,38; lo bnd 8)3

STEST = Meet(CELL,SIMSUP) (34,60)

true = Isomorph(STEST,SUP;identity)

SIMSUP = Condat(CELL,SIMSUP) Controllable.

The following shows that removing the single blocking state 20 is enough to obtain the optimal controlfrom the naive behavior TEST.

ETEST = Edit(TEST,[states -[20]],rch) (34,60)

true = Isomorph(ETEST,SUP;identity)

Example 8.14.2: Piston Rod Robotic Assembly Cell

Ref: J.O. Moody, P.J. Antsaklis. Supervisory Control of Discrete Event Systems UsingPetri Nets. Kluwer, 1998; Sect. 8.4.

With reference to Fig. 8.11 of the cited text, the system consists of an M-1 robot performing varioustasks (Petri net places p4,p5,p6,p7), and similarly an S-380 robot (p2,p3); p1 is used for initialization.

3See Sect. 3.10

379

Page 397: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

M-1 ROBOT

To model this we replace p4 by a generator capable of holding up to two piston pulling tools in atwo-slot buffer MR1; the tools are generated by event 40 and selected for use by event 41. The eventsequence [41,51,60,70,80] tracks the installation of a cap on a piston rod and the conveyance of itsengine block out of the work space. In our model, up to four operations in this sequence could beprogressing simultaneously, although a specification (below) will limit this number to one.

MR1 = Create(MR1,[mark 0],[tran [0,40,1],[1,40,2],[1,41,0],[2,41,1]]) (3, 4)

MR2 = Create(MR2,[mark 0],[tran [0,41,1],[1,51,0]]) (2,2)

MR3 = Create(MR3,[mark 0],[tran [0,51,1],[1,60,0]]) (2,2)

MR4 = Create(MR4,[mark 0],[tran [0,60,1],[1,70,0]]) (2,2)

MR5 = Create(MR5,[mark 0],[tran [0,70,1],[1,80,0]]) (2,2)

MROB = Sync(MR1,MR2) (6,9)

MROB = Sync(MROB,MR3) (12,21)

MROB = Sync(MROB,MR4) (24,48)

MROB = Sync(MROB,MR5) (48,108)

S-380 ROBOT

Starting from the ready-to-work condition, this robot performs the event sequence [10,20,30] corre-sponding to readying parts for assembly; its work cycle is closed by event 80.

SROB = Create(SROB,[mark 0],[tran [0,10,1],[1,20,2],[2,30,3], [3,80,0]]) (4,4)

PLANT = Sync(MROB,SROB) (192,504)

Note that the only controllable events are 41,51, which more than satisfies the authors’ requirementthat events 60,70,80 be uncontrollable.

380

Page 398: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

There are 3 specifications, as detailed in the authors’ equations 8.11-8.13. These are linear inequalitieson markings, which are easily converted (by inspection of the PN) into counting constraints on suitableevent pairs. For instance, 8.12 requires that m4+m5+m6+m7 ≤ 1, where mi is the marking of placepi; by inspection, this is equivalent to

(|41| − |51|) + (|51| − |60|) + (|60| − |70|) + (|70| − |80|) ≤ 1,

or simply |41| − |80| ≤ 1; here |k| is the number of firings of transition k since the start of the process.By inspection of the PN it is clear that the inequality forces events 41,80 to alternate, with 41 occurringfirst; hence SPEC2, below.

SPEC1 = Create(SPEC1,[mark 0],[tran [0,10,1],[1,30,0]]) (2,2)

SPEC2 = Create(SPEC2,[mark 0],[tran [0,41,1],[1,80,0]]) (2,2)

SPEC3 = Create(SPEC3,[mark 0],[tran [0,30,1],[1,51,0]]) (2,2)

SPEC = Sync(SPEC1,SPEC2) (4,8)

SPEC = Sync(SPEC,SPEC3) (8,18)

PLANTALL = Allevents(PLANT) (1,9)

SPEC = Sync(SPEC,PLANTALL) (8,50)

381

Page 399: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

The supremal supervisor can now be computed, then simplified by the control-congruence reductionprocedure.

SUPER = Supcon(PLANT,SPEC) (33,60)

SUPER = Condat(PLANT,SUPER) Controllable.

SIMSUP = Supreduce(PLANT,SUPER,SUPER) (3,12; lo bnd = 3)4

Thus SIMSUP is strictly minimal.

X = Meet(PLANT,SIMSUP) (33,60)

true = Isomorph(X,SUPER;identity)

SIMSUP = Condat(PLANT,SIMSUP) Controllable.

TEST = Meet(PLANT,SIMSUP) (33,60)

true = Isomorph(TEST,SUPER;identity)

The authors specify four auxiliary constraints 8.14-8.17, of the form already discussed; we model theseas follows, and create the auxiliary specification ASPEC. We test these constraints against the existingcontrolled behavior SUPER, and confirm that they are already satisfied.

ASP1 = Create(ASP1,[mark 0],[tran [0,20,1],[1,30,0]]) (2,2)

ASP2 = Create(ASP2,[mark 0],[tran [0,41,1],[1,60,0]]) (2,2)

ASP3 = Create(ASP3,[mark 0],[tran [0,60,1],[1,70,0]]) (2,2)

ASP4 = Create(ASP4,[mark 0],[tran [0,70,1],[1,80,0]]) (2,2)

ASPEC = Sync(ASP1,ASP2) (4,8)

ASPEC = Sync(ASPEC,ASP3) (8,18)

ASPEC = Sync(ASPEC,ASP4) (16,40)

ASPEC = Sync(ASPEC,PLANTALL) (16,88)

4See footnote 3

382

Page 400: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

COASPEC = Complement(ASPEC,[]) (17,153)

X = Meet(SUPER,COASPEC) (33,60)

TX = Trim(X) (0,0)

Unobservable events: we assume with the authors that events 51,60,70 have become unobservable. Asa simplifying assumption on supervisor design, we consider that controllable event 51 will now not besubject to disablement. Thus we could (but will not) relabel event 51 as 50 throughout. Our newassumption allows us to treat the problem as an instance of SCOP (Sect. 6.5). We therefore computeas follows.

N = Supnorm(SPEC,PLANT,[51,60,70]) (24,39)

NO = Project(N,Null[51,60,70]) (15,24)

PLANTO = Project(PLANT,Null[51,60,70]) (60,129)

SUPERO = Supcon(PLANTO,NO) (15,24) [“Observer’s supervisor”]

SUPERO = Condat(PLANTO,SUPERO) Controllable. [“Observer’s supervisor”]

OSUPER = Selfloop(SUPERO,[51,60,70]) (15,69) [Feasible supervisor]

true = Nonconflict(PLANT,OSUPER)

K = Meet(PLANT,OSUPER) (24,39) [Controlled behavior using feasible supervisor]

SIMSUPO = Supreduce(PLANTO,SUPERO,SUPERO) (2,7; lo bnd = 2)5

Thus SIMSUPO is strictly minimal.

SIMSUPO = Condat(PLANTO,SIMSUPO) Controllable.

TESTO = Meet(PLANTO,SIMSUPO) (15,24)

true = Isomorph(TESTO,SUPERO;identity)

5See footnote 3.

383

Page 401: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

We’ll check that, as expected, controlled behavior K using the feasible supervisor is more restrictedthan the original controlled behavior SUPER (which of course was computed without assuming anyobservational constraint). Nevertheless, K is adequate for performance of the assembly process: forinstance the K-string [10,20,30,40,41,51,60,70,80] is a full assembly cycle.

COSUPER = Complement(SUPER,[]) (34,306)

X = Meet(K,COSUPER) (24,39)

TX = Trim(X) (0,0)

Some routine checks, in principle redundant:

true = Nonconflict(PLANT,OSUPER)

OSUPER = Condat(PLANT,OSUPER) Controllable.

As expected, OSUPER never disables unobservable event 51.

384

Page 402: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Example 8.14.3: Unreliable Machine (Deadlock Avoidance)

Ref: J.O. Moody, P.J. Antsaklis. Deadlock avoidance in Petri nets with uncontrollabletransitions. Proc. 1998 American Automatic Control Conference. Reproduced inJ.O. Moody, P.J. Antsaklis. Supervisory Control of Discrete Event Systems UsingPetri Nets. Kluwer, 1998; Sect. 8.3 (pp.122-129).

This is a problem which, in the authors’ Petri net formulation, requires finding the system’s two‘uncontrolled siphons.’ By contrast, the TCT solution is fast and immediate, requiring no specialanalysis.

The system model consists of a machine M1 containing two 1-slot output buffers M1C (for completedworkpieces) and M1B (for damaged workpieces, which result when M1 breaks down), together withtwo dedicated AGVs to clear them. M1 is the conventional RW machine. Event 10 (successful com-pletion) increments M1C, which must be cleared (event 14) by AGV1 before M1 can restart; event 12(breakdown) increments M1B, which must be cleared (event 16) by AGV2 before M1 can be repairedafter breakdown (event 13); these requirements are enforced by SPEC1C, SPEC1B respectively. Theworkspace near the buffers can be occupied by only one AGV at a time: this is enforced by SPEC1;the final SPEC model is sync(SPEC1,SPEC1C,SPEC1B). Blocking would occur if, for instance, AGV1moved into position to clear its buffer M1C, but M1B rather than M1C was filled; or AGV2 movedinto position to clear its buffer M1B, but M1C rather than M1B was filled; in each case the positionedAGV would lock out the other.

Modeling the plant

M1 = Create(M1,[mark 0],[tran [0,11,1],[1,10,0],[1,12,2],[2,13,0]]) (3,4)

M1C = Create(M1C,[mark 0],[tran [0,10,1],[1,14,0]]) (2,2)

M1B = Create(M1B,[mark 0],[tran [0,12,1],[1,16,0]]) (2,2)

AGV1 = Create(AGV1,[mark 0],[tran [0,101,1],[1,14,2],[2,100,0]]) (3,3)

AGV2 = Create(AGV2,[mark 0],[tran [0,201,1],[1,16,2],[2,200,0]]) (3,3)

P = Sync(M1,M1C) (6,10) Blocked events = None

P = Sync(P,M1B) (12,24) Blocked events = None

P = Sync(P,AGV1) (36,84) Blocked events = None

385

Page 403: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

P = Sync(P,AGV2) (108,288) Blocked events = None

PALL = Allevents(P) (1,10)

Modeling the specification

SPEC1 = Create(SPEC,[mark 0],[tran [0,101,1],[0,201,2],[1,100,0],[2,200,0]]) (3,4)

SPEC1C = Create(SPEC1C,[mark 0],[tran [0,10,1],[0,11,0],[1,14,0]]) (2,3)

SPEC1B = Create(SPEC1B,[mark 0],[tran [0,12,1],[0,13,0],[1,16,0]]) (2,3)

SPEC = Sync(SPEC1,SPEC1C) (6,17) Blocked events = None

SPEC = Sync(SPEC,SPEC1B) (12,52) Blocked events = None

SPEC = Sync(SPEC,PALL) (12,52) Blocked events = None

false = Nonconflict(P,SPEC)

Blocking could occur in the absence of supervisory control. Some blocking sequences are [11,10,201],[201,11,10],[11,12,101], [101,11,12]. These result in the situations described earlier, where an AGV in the workspacelocks out the other, required AGV.

PSPEC = Meet(P,SPEC) (24,40)

false = Nonconflict(PSPEC,PALL)

MPSPEC = Minstate(PSPEC) (23,40)

Computing the supremal supervisor

SUP = Supcon(P,SPEC) (16,24)

SUP = Condat(P,SUP) Controllable.

386

Page 404: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Computing a simplified supervisor

SIMSUP = Supreduce(P,SUP,SUP) (5,23; lo bnd = 4)6

X = Meet(P,SIMSUP) (16,24)

true = Isomorph(SUP,X;identity)

SIMSUP = Condat(P,SIMSUP) Controllable.

It’s easy to check by inspection that SIMSUP prohibits the blocking sequences listed above.

8.15 Notes and References

Supervisory control theory in the sense of [T01,J03] was subsequently formulated in Petri nets by Krogh[1987], who employed a mechanism of ‘control places’ and ‘control arcs’. This chapter is based mainlyon work of Y. Li [T17, C24, C27, C29, C33, J21, J22], N.-Q. Huang [C35, T16], and S.-L. Chen [C47,T24]. Further developments can be found in [T33]. The structural boundedness criterion of Exercise8.2.2 seems to be due to Memmi & Roucairol [1980; p.215, Theorem 1]; see also Murata [1989; p.567,Theorem 29]. The ‘alternative theorem’ we suggest using here is an easy extension from R to Z ofTucker [1956; p.11, Corollary 3A(i)]. In the Petri net literature the result of Theorem 8.6.1 has beenattributed to Hiraishi & Ichikawa [1988]. Exercise 8.13.10 is adapted from Moody & Antsaklis [1998],Sect. 4.5.

Further information on linking supervisory control theory to VDES or Petri net models can befound in [C98,J44].

6See footnote 3.

387

Page 405: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Chapter 9

Supervisory Control of TimedDiscrete-Event Systems

9.1 Introduction

In this chapter we augment the framework of Chapters 3 and 4 with a timing feature. The occurrenceof an event, relative to the instant of its enablement, will be constrained to lie between a lower andupper time bound, synchronized with a postulated global digital clock. In this way we are able tocapture timing issues in a useful range of control problems. Timing introduces a new dimension ofDES modelling and control, of considerable power and applied interest, but also of significant com-plexity. Nevertheless, it will turn out that our previous concept of controllability, and the existence ofmaximally permissive supervisory controls, can be suitably generalized. The enhanced setting admitssubsystem composition (analogous to synchronous product), and the concept of forcible event as anevent that preempts the tick of the clock. An example of a manufacturing cell illustrates how the timedframework can be used to solve control synthesis problems which may include logic-based, temporaland quantitative optimality specifications.

The chapter is organized as follows. The base model of timed discrete-event systems (TDES) isintroduced in Sect. 2 and illustrated in Sects. 3 and 4. The role of time bounds as specificationsis indicated in Sect. 5. Composition of TDES is defined and illustrated in Sects. 6 and 7. Sect. 8introduces TDES controllability and forcible events, leading to maximally permissive supervision inSect. 9. A small academic example (‘the endangered pedestrian’) is treated in Sect. 10, followed bya simple but nontrivial application to a manufacturing workcell in Sect. 11. Modular supervision isintroduced in Sect. 12, and some possible extensions in future work outlined by way of conclusion inSect. 13.

Our timed framework is amenable to computation in the style of TCT; the enhanced package,designed to be used with this text, is TTCT.

388

Page 406: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

9.2 Timed Discrete-Event Systems

To develop the base model we begin with the usual 5-tuple of form

Gact = (A,Σact, δact, ao, Am)

except that the ‘state set’ often designated Q has been replaced with an activity set A whose elementsare activities a. While in principle the state set need not be finite, in applications it nearly always is;here we shall restrict A to be finite for technical simplicity. Σact is a finite alphabet of event labels (orsimply, events). We stress that, in the interpretation, activities have duration in time, while events areinstantaneous. The activity transition function is, as expected, a partial function δact : A× Σact → A.An activity transition is a triple [a, σ, a′], with a′ = δact(a, σ). In line with standard terminology, ao isthe initial activity and Am ⊆ A is the subset of marker activities. Let N denote the natural numbers0, 1, 2, .... In Σact, each transition (label) σ will be equipped with a lower time bound lσ ∈ N and anupper time bound uσ ∈ N ∪ ∞. To reflect two distinct possibilities of basic interest we partition Σact

according toΣact = Σspe ∪ Σrem

where ‘spe’ denotes ‘prospective’ and ‘rem’ denotes ‘remote’. If an event σ is prospective, its uppertime bound uσ is finite (0 ≤ uσ < ∞) and 0 ≤ lσ ≤ uσ; while if σ is remote, we set uσ = ∞ andrequire 0 ≤ lσ < ∞. The modelling function of time bounds is straightforward: lσ would typicallyrepresent a delay, in communication or in control enforcement; uσ a hard deadline, imposed by legalspecification or physical necessity. The formal role of time bounds will be treated in detail below. Thetriples (σ, lσ, uσ) will be called timed events, and for these we write

Σtim := (σ, lσ, uσ)|σ ∈ Σact

For j, k ∈ N write [j, k] for the set of integers i with j ≤ i ≤ k, and let

Tσ =

[0, uσ] if σ ∈ Σspe

[0, lσ] if σ ∈ Σrem

Tσ will be called the timer interval for σ. We can now define the state set

Q := A×∏

Tσ|σ ∈ Σact

Thus a state is an element of form q = (a, tσ|σ ∈ Σact)where a ∈ A and the tσ ∈ Tσ; namely q consists of an activity a together with a tuple assigning to eachevent σ ∈ Σact an integer in its timer interval Tσ. The component tσ of q will be called the timer ofσ in q. If σ ∈ Σspe, the current deadline for σ is tσ, while the current delay is max(tσ + lσ − uσ, 0). Ifσ ∈ Σrem, the current delay is tσ (while the current deadline may be regarded as infinite). The valueuσ (resp. lσ) for a prospective (resp. remote) event σ will be called the default value of tσ. The initialstate is

qo := (ao, tσo|σ ∈ Σact)

389

Page 407: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

where the tσ are set to their default values

tσo :=

uσ if σ ∈ Σspe

lσ if σ ∈ Σrem

The marker state subset will be taken to be of the form

Qm ⊆ Am ×∏

Tσ|σ ∈ Σact

namely a marker state comprises a marker activity together with a suitable assignment of the timers.

We introduce one additional event, written tick, to represent ‘tick of the global clock’, and take forour total set of events

Σ := Σact ∪ tick

The state transition function will be defined in detail below; as expected it will be a partial function

δ : Q× Σ → Q

We now writeG = (Q,Σ, δ, qo, Qm)

With the above definitions, including the partition of Σ as

Σ = Σspe ∪ Σrem ∪ tick

and an assignment of time bounds, G will be called a timed discrete-event system (TDES). For thepurpose of display we may employ the activity transition graph (ATG) of G, namely the ordinarytransition graph of Gact; and the timed transition graph (TTG) of G, namely the ordinary transitiongraph of G, incorporating the tick transition explicitly. In addition, by projecting out tick from L(G)we can derive the timed activity DES Gtact over Σact, and display its transition structure as thetimed activity transition graph (TATG) of G. While the TATG suppresses tick, it does incorporatethe constraints on ordering of activities induced by time bounds. As illustrated by Examples 1 and 2below, Gtact may be much more complex than Gact.

Before defining the behavioral semantics of the TDES G in detail, we provide an informal summary.As is customary with DES, events are thought of as instantaneous and occurring at quasi-randommoments of real time R+ = t|0 ≤ t < ∞. However, we imagine measuring time only with a globaldigital clock with output tickcount: R+ → N, where

tickcount(t) := n, n ≤ t < n+ 1

Temporal conditions will always be specified in terms of this digital clock time; real-valued time assuch, and the clock function tickcount, will play no formal role in the model. The temporal resolutionavailable for modelling purposes is thus just one unit of clock time. The event tick occurs exactly at thereal time moments t = n (n ∈ N). As usual, G is thought of as a generator of strings in Σ∗; intuitivelyG incorporates the digital clock, and thus its ‘generating action’ extends to the event tick.

390

Page 408: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Events are generated as follows. G starts from qo at t = 0 and executes state transitions inaccordance with its transition function δ, i.e. by following its TTG. δ(q, σ) is defined at a pair (q, σ),written δ(q, σ)!, provided (i) σ = tick, and no deadline of a prospective event in q is zero (i.e. noprospective event is imminent); or (ii) σ is prospective, q = (a, ), δact(a, σ)!, and 0 ≤ tσ ≤ uσ − lσ; or(iii) σ is remote, q = (a, ), δact(a, σ)!, and tσ = 0. An event σ ∈ Σact is said to be enabled at q = (a, )if δact(a, σ)!, and to be eligible if, in addition, its timer evaluation is such that δ(q, σ)!. Only an eligibleevent ‘can actually occur’. If σ is not enabled, it is said to be disabled; if σ is not eligible, it is ineligible;an enabled but ineligible event will be called pending.

The occurrence of tick at q causes no change in the activity component a of q; however, the timercomponents tσ are altered in accordance with the detailed rules given below. The occurrence of σ ∈ Σact

at q always resets tσ to its default value; again, the effect on other timers will be described below. Afterσ ∈ Σact first becomes enabled, its timer tσ is decremented by one at each subsequent tick of theclock, until either tσ reaches zero, or σ occurs, or σ is disabled as a result of the occurrence of someeligible transition (possibly σ itself). If σ occurs, or becomes disabled owing to some transition to anew activity, tσ is reset to its default value, where it is held until σ next becomes re-enabled, when theforegoing process repeats.

An event σ ∈ Σact cannot become eligible (and so, occur) prior to lσ ticks of the clock after it lastbecame enabled. A prospective event σ cannot be delayed longer than uσ − lσ ticks after tσ has ‘tickeddown’ to uσ− lσ; thus when tσ ‘times out’ to 0, σ cannot be delayed except by preemptive occurrence ofsome other eligible event in Σact. A remote event σ can occur any time (although it need not occur atall), as long as it remains enabled, and provided lσ ticks have elapsed after it last became enabled. Forremote events, our semantics will not distinguish between the assertions ‘σ occurs eventually’ (but withno hard deadline) and ‘σ never occurs at all’; this is a consequence of the viewpoint that ‘behavior’ isa subset of Σ∗ (rather than of the infinite-string language Σω). It is important to note that, because ofits possible non-occurrence (even if continuously enabled) a remote event is not just a ‘limiting case’of a prospective event.

With the above as guidelines we now provide the formal definition of δ. Write δ(q, σ) = q′, where

q = (a, tτ |τ ∈ Σact), q′ = (a′, t′τ |τ ∈ Σact)Then δ(q, σ)! if and only if

(i) σ = tick and (∀τ ∈ Σspe)δact(a, τ)! ⇒ tτ > 0; or

(ii) σ ∈ Σspe, δact(a, σ)!, and 0 ≤ tσ ≤ uσ − lσ; or

(iii) σ ∈ Σrem, δact(a, σ)!, and tσ = 0

The entrance state q′ is defined as follows.

(i) Let σ = tick. Then a′ := a, and

if τ is prospective, t′τ :=

uτ if not δact(a, τ)!tτ − 1 if δact(a, τ)! and tτ > 0

391

Page 409: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

(Recall that if τ is prospective, δact(a, τ)! and tτ = 0 then not δ(q, tick)!)

if τ is remote, t′τ :=

lτ if not δact(a, τ)!tτ − 1 if δact(a, τ)! and tτ > 00 if δact(a, τ)! and tτ = 0

(ii) Let σ ∈ Σact. Then a′ := δact(a, σ), and

if τ 6= σ and τ is prospective, t′τ :=

uτ if not δact(a

′, τ)!tτ if δact(a

′, τ)!if τ = σ and σ is prospective, t′τ := uσ

if τ 6= σ and τ is remote, t′τ :=

lτ if not δact(a

′, τ)!tτ if δact(a

′, τ)!if τ = σ and σ is remote, t′τ := lσ

To complete the general definition of TDES we impose a final technical condition, to exclude thephysically unrealistic possibility that a tick transition might be preempted indefinitely by repeatedexecution of an activity loop within a fixed unit time interval. A TDES is said to have an activity loopif

(∃q ∈ Q)(∃s ∈ Σ+act) δ(q, s) = q

We rule this out, and declare that all TDES must be activity-loop-free (alf), namely

(∀q ∈ Q)(∀s ∈ Σ+act) δ(q, s) 6= q

It should be stressed that the alf condition refers to the timed transition structure, not to the activitytransition structure. The latter may quite safely contain loops provided the time bounds associatedwith the relevant events in Σact are appropriate.

With the definition of TDES transition structure now complete, the Σ∗ behavioral semantics ofG is defined in the usual way: the closed behavior L(G) of G is the subset of all strings in Σ∗ thatcan be generated by iteration of δ starting from qo (i.e. the strings s such that δ(qo, s)!); while themarked behavior Lm(G) is the subset of all strings in L(G) for which the terminal state belongs to Qm

(i.e. the strings s such that δ(qo, s) ∈ Qm). Note that a TDES never ‘stops the clock’: at any stateeither some transition ( , σ, ) with σ ∈ Σact is eligible, or at least the tick transition is defined. Byactivity-loop-freeness, no infinite (Σω−) string generated by the transition structure of a TDES can betick-free; indeed in any infinite string tick must occur infinitely often.1

Exercise 9.2.1: Verify the foregoing remark in detail. That is, if Q is finite and the activity-loop-freedom condition holds for G, then every string in L(G) can be extended in L(G) (i.e. by use of theTDES transition structure) to include an additional occurrence of tick, and no string can be extendedindefinitely without an occurrence of tick. This shows that in every infinite string generated by TDES,tick must occur infinitely often.

1Here the fact that A, and so Q, are finite sets is crucial.

392

Page 410: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

9.3 Example 1

The following example illustrates how timing constraints can strongly influence complexity of thelanguage generated by a TDES. Let

Gact = (A,Σact, δact, ao, Am)

withΣact = α, β, A = Am = 0, ao = 0

δact(0, α) = δact(0, β) = 0

and timed events (α, 1, 1), (β, 2, 3), both prospective. The ATG for Gact is simply:

0α, β

Thus α, β are always enabled. The state set for G is

Q = 0 × Tα × Tβ = 0 × [0, 1] × [0, 3]

and has size |Q| = 8. We take Qm = (0, [1, 3]). The TTG for G is easily constructed and is displayedin Fig. 9.3.1; it has 11 transitions, over the event set α, β, tick; the pairs [tα, tβ] corresponding to thestates (0, tα, tβ) of G are listed below. The event α is pending at states 0,2,5,7 and eligible at states1,3,4,6, while β is pending at 0,1,2,4 and eligible at 3,5,6,7. Notice that tick is preempted by α or β ifeither of these events has deadline 0 (namely is imminent).

393

Page 411: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

0

α

t

t

t

α

α

β

β

β

1

2

3 4

5

67

α

β

Fig. 9.3.1Timed transition graph, Ex. 1

State (node of TTG): 0 1 2 3 4 5 6 7Components [tα, tβ]: [1,3] [0,2] [1,2] [0,1] [0,3] [1,1] [0,0] [1,0]

To obtain the TATG of G we require a projection operation on TDES defined (in outline) as follows.Let G be an arbitrary TDES, over the alphabet Σ, with closed and marked behaviors L(G), Lm(G)respectively. Let Σpro ⊆ Σ and write Σnul := Σ − Σpro. Let P : Σ∗ → Σ∗

pro be the natural projectionwhose action on a string s ∈ Σ∗ is just to erase any symbols of Σnul that appear in s. Now let Gpro beany TDES over Σpro with closed and marked behaviors

L(Gpro) := PL(G), Lm(Gpro) := PLm(G)

If the state set of G is finite, it is convenient in practice to select Gpro such that its state set is ofminimal size. In any case, for a suitable determination of Gpro we can define an operation projectaccording to

Gpro = project(G,Σnul)

394

Page 412: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

In examples Σnul will be written as a list. We can now specify the TATG of G as

Gtact = project(G, [tick])

For the example of this section the result is displayed in Fig. 9.3.2. Notice that Gtact happensto have just as many states (8) as G, illustrating the logical complexity that may be induced on theordering of events by time bounds. This ordering, which could also be thought of as a set of phaserelationships, is exhibited in the TATG (Fig. 9.3.2) but not in the ATG (above).

αβα

α

α

αα

α β

β

ββ

Fig. 9.3.2Timed activity transition graph, Ex. 1

9.4 Example 2

Let Σ = α, β, γ with the timed events α, β as in Example 1. Adjoin to the structure of Example 1 thetimed remote event (γ, 2,∞) with activity transition [0, γ, 0]; Gact is otherwise unchanged. The statesize of G turns out to be |Q| = 24, with 41 transitions. It is found that Gtact := project(G, [tick])has 52 states and 108 transitions, thus being even more complex than G itself! While at first glancesurprising, inasmuch as the occurrence or non-occurrence of γ does not appear to constrain that of αor β, this result can be thought of as a consequence of the nondeterminism created in the transitionstructure of G when tick is first projected out: an increase in complexity is the penalty exacted (byproject) for replacing this nondeterministic description by a behaviorally equivalent deterministic one.

395

Page 413: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

9.5 Time Bounds as Specifications

The imposition of time bounds on an event σ ∈ Σact can be thought of as a specification over thealphabet σ, tick. If σ ∈ Σspe, with bounds 0 ≤ lσ ≤ uσ, then the corresponding DES, say SPECσ,will have state set 0, ..., uσ, with transitions (i, tick, i + 1) for 0 ≤ i ≤ uσ − 1, together with (i, σ, 0)for lσ ≤ i ≤ uσ. To state i corresponds the evaluation tσ = uσ − i. Similarly if σ ∈ Σrem, with boundlσ, 0 ≤ lσ <∞, then SPECσ has state set 0, ..., lσ, with transitions (i, tick, i+1) for i = 0, ..., lσ −1,(lσ, tick, lσ), and (lσ, σ, 0). To state i corresponds the evaluation tσ = lσ − i. The specifications for theevents α, β, γ of Examples 1 and 2 are displayed in Fig. 9.5.1.

t

α

t t t

tt

β

β

t

γ

SPECα

SPECγ

SPECβ

Fig. 9.5.1Time bound specifications, Exs. 1 and 2

It should be observed that in SPECσ all events other than σ are ignored, in particular events whoseoccurrence may reinitialize SPECσ by transition to an activity where σ is disabled. Unfortunatelythere is no simple way to obtain G by straightforward combination of Gact with the SPECσ. In general,to obtain G (or its reachable subgraph) one must compute the reachable subset of Q, starting fromqo and systematically examining the timed transition rules (for δ) in conjunction with the transitionstructure (δact) of Gact.

396

Page 414: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

9.6 Composition of TDES

Complex TDES can be built up from simpler ones by a composition operator comp. Let G1,G2 beTDES, over alphabets Σ1,Σ2 respectively, where Σi = Σi,act ∪ tick. In general Σ1,act,Σ2,act neednot be disjoint. To form the composition G = comp(G1,G2) we start by defining the alphabet of Gas Σ1 ∪ Σ2, and the activity transition structure of G as the synchronous product of the componentactivity structures:

Gact = sync(G1,act,G2,act)

The time bounds (lσ, uσ) in G of an event

σ ∈ (Σ1,act − Σ2,act) ∪ (Σ2,act − Σ1,act)

remain unchanged from their definition in the corresponding component structure, while if σ ∈ Σ1,act ∩Σ2,act then its time bounds in G are defined in obvious notation to be

(lσ, uσ) = (max(l1,σ, l2,σ),min(u1,σ, u2,σ))

provided lσ ≤ uσ. If the latter condition is violated for any σ then the composition G is consideredundefined. Thus the component TDES with the greater lower time bound (respectively smaller uppertime bound) determines the timing behavior of the composition. This convention extends the principlethat synchronous product represents an agreement between components that a transition with a sharedlabel can be executed when and only when the conditions imposed on its execution by each componentare satisfied.2

Provided the time bound conditions as stated above are satisfied, the composition G is now fullydefined; clearly the alf condition will be true for the composition if it is true for each component.

Since synchronous product is associative, as a binary operation on the underlying languages, itfollows that composition is associative in this sense as well.

It is important to stress that comp (G1, G2) is in general quite different from the result of formingthe synchronous product of the timed transition structures of G1 and G2, for the latter would forcesynchronization of the tick transition as it occurs in the component TTGs. Such a rule of compositionplaces a constraint on the interaction of component TDES that proves unrealistic for the modellingrequirements in many applications; it may even lead to temporal deadlock (‘stopping the clock’) as inthe example of Sect. 9.7.

Exercise 9.6.1: Let G1, G2 be TDES with Σ1,act ∩ Σ2,act = ∅. Show that, in this special case,

comp(G1,G2) ≈ sync(G1,G2)

where ≈ denotes that the closed and marked behaviors of the TDES coincide.

2While this convention respects physical behavior in many applications it need not be considered sacrosanct for allfuture modelling exercises.

397

Page 415: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

9.7 Example 3

Consider the TDES G1,G2 with ATGs displayed in Fig. 9.7.1; Σ1,act = α, β, Σ2,act = β, γ; timebounds are as in Example 2. Let G = comp (G1,G2). The ATG of G is also shown in Fig. 9.7.1;as the time bounds for the shared event label β are the same in G1 and G2, the time bounds forΣact = α, β, γ are as specified already. While the structure of G is fairly rich, and admits strings ofarbitrary length, the synchronous product of the timed transition graphs of G1 and G2 turns out tohave a closed behavior which terminates with deadlock (i.e., no subsequent transition is defined) afterjust 9 transitions.3 Thus, it does not even represent a TDES.

G1

G

G2

α

ββ

γ

β

β β

γ

γ

γ

α α

Fig. 9.7.1Activity transition graphs, Ex. 3

Exercise 9.7.1: Verify this example using TTCT.

3The language generated is the closure of the string pair tick α tick2 β tick2 (γ tick | tick γ).

398

Page 416: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

9.8 Controllability of TDES

To use TDES as models for supervisory control, it is necessary to specify the ways in which TDEStransitions can be controlled by an external agent or supervisor. From a theoretical viewpoint it isnatural and convenient to impose two criteria on our ‘control technology’: (i) control should at mostrestrict uncontrolled behavior, never enlarge it; and (ii) controlled behavior subject to a specificationconstraint should admit optimization in the sense of maximal permissiveness.

By analogy with our theory of untimed DES, we first seek the counterpart of ‘controllable events’,namely transitions that can be disabled. Intuitively, if an event can be ‘disabled’, then it can beprevented indefinitely from occurring. In view of (i) this suggests that only remote events may belongto this category, for if a prospective event were disabled then it might be prohibited from occurringeven when imminent and when no competing event is eligible to preempt it. This situation wouldresult in behavior that could never be realized in the absence of control. On this basis we bring in anew subset Σhib ⊆ Σrem to label the prohibitible events. Our ‘technology’ will permit the supervisor toerase a prohibitible event from the current list of eligible transitions at a given state q of the supervisedTDES. Of course, just as in the original model, the erased event may be reinstated if and when Grevisits q on a subsequent occasion.

Next we consider a new category of events that arises naturally in the presence of timing: theforcible events, or elements of a new subset Σfor ⊆ Σact. A forcible event is one that can preempt a tickof the clock. If at a given state of G, tick is defined and one or more elements of Σfor are eligible, thenour supervisory control technology permits the effective erasure of tick from the current list of definedevents, namely the guaranteed preemptive occurrence of some one of the eligible events in Σact, whethera member of Σfor or otherwise. Thus forcible events are ‘events of last resort to beat the clock’. Thereis no particular relation postulated a priori between Σfor and any of Σhib, Σrem or Σspe. In particularan event in Σrem might be both forcible and prohibitible.

It is convenient to define the uncontrollable event set

Σunc := Σact − Σhib

= Σspe ∪ (Σrem − Σhib)

Eligible events in Σunc can never be erased by control action. Finally, we define the (complementary)controllable event set

Σcon := Σ − Σunc

= Σhib ∪ tickNote that a forcible event may be controllable or uncontrollable; a forcible event that is uncontrol-lable cannot be directly prevented from occurring by disablement.4 Also, while formally designated‘controllable’ to simplify terminology, the status of tick lies intuitively between ‘controllable’ and ‘un-controllable’: no technology could ‘prohibit’ tick in the sense of ‘stopping the clock’, although a forcibleevent, if eligible, may preempt it.

4An instance: air defense could force a plane to land within 10 minutes (say) but not prevent it from landing eventually;the landing is forcible but not controllable.

399

Page 417: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Exercise 9.8.1: (‘Delayable’ events) Consider an event α that is both prohibitible and forcible, withthe requirement that α occur no earlier than 2 ticks (from enablement) and no later than 4 ticks.Provide the corresponding specification (as a language over the full alphabet). More generally, supposethe requirement is that α be delayed until some other event β occurs, but not for longer than 4 ticks,and that when α does occur, β is disabled. Assume, for instance, that β is uncontrollable and has timebounds (0,∞). Show that this specification can be modelled on a structure with 11 states. 3

The simplest way to visualize the behavior of a TDES G under supervision is first to consider the(infinite) reachability tree of G before any control is operative. Each node n of the tree corresponds toa unique string s of L(G) (of course, over the full alphabet Σ including tick). At n we may define thesubset of eligible events, say EligG(s) ⊆ Σ. Thus

EligG(s) := σ ∈ Σ | sσ ∈ L(G)

Henceforth we shall use the term ‘eligible’ in this extended sense, to apply to tick as well as to eventsin Σact. By our assumptions on G, EligG(s) 6= ∅ for all s ∈ L(G). A supervisor will be considered adecision-maker that, at n, selects a nonempty subset of EligG(s) in accordance with the rules statedabove. It is now clear that, under these rules, our criterion (i) is satisfied, and it will later be shownthat criterion (ii) is satisfied as well.

To formalize the rules we proceed as follows. Define a supervisory control to be any map V : L(G) →Pwr(Σ) such that, for all s ∈ L(G),

V (s) ⊇

Σunc ∪ (tick ∩ EligG(s))if V (s) ∩ EligG(s) ∩ Σfor = ∅

Σunc if V (s) ∩ EligG(s) ∩ Σfor 6= ∅

Notice that if V ′ and V ′′ are both supervisory controls, then so is V := V ′ ∨ V ′′, defined by V (s) :=V ′(s) ∪ V ′′(s). This property will imply the satisfaction of criterion (ii).

Fix a supervisory control V . The remainder of the discussion proceeds by analogy with Chapter 3.Write V/G to denote the pair (G, V ) (‘G under the supervision of V ’). The closed behavior of V/G isthe language L(V/G) ⊆ L(G) defined inductively according to:

(i) ǫ ∈ L(V/G).

(ii) If s ∈ L(V/G), σ ∈ V (s), and sσ ∈ L(G) then sσ ∈ L(V/G).

(iii) No other strings belong to L(V/G).

Thus ǫ ⊆ L(V/G) ⊆ L(G), and L(V/G) is nonempty and closed. The marked behavior of V/G is

Lm(V/G) = L(V/G) ∩ Lm(G)

and thus ∅ ⊆ Lm(V/G) ⊆ Lm(G). As usual we say V is nonblocking for G provided

Lm(V/G) = L(V/G)

400

Page 418: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Exercise 9.8.2: Show that, for all s ∈ L(G),

V (s) ∩ EligG(s) 6= ∅ 3

We shall characterize those sublanguages of Lm(G) that qualify as the marked behavior of somesupervisory control V . First let K ⊆ L(G) be arbitrary, and write

EligK(s) := σ ∈ Σ | sσ ∈ K, s ∈ Σ∗

We define K to be controllable (with respect to G ) if, for all s ∈ K,

EligK(s) ⊇

EligG(s) ∩ (Σunc ∪ tick) if EligK(s) ∩ Σfor = ∅EligG(s) ∩ Σunc if EligK(s) ∩ Σfor 6= ∅

Thus K controllable means that an event σ (in the full alphabet Σ including tick) may occur in K ifσ is currently eligible in G and either (i) σ is uncontrollable, or (ii) σ = tick and no forcible event iscurrently eligible in K. The effect of the definition is to allow the occurrence of tick (when it is eligiblein G) to be ruled out of K only when a forcible event is eligible in K and could thus (perhaps amongother events in Σact) be relied on to preempt it. Notice, however, that a forcible event need not preemptthe occurrence of competing non-tick events that are eligible simultaneously. In general our model willleave the choice of tick-preemptive transition nondeterministic.

In one form or another, the notion of forcing as preemption is inherent in control. Our notion offorcing is ‘weakly preemptive’, in that only the clock tick is assuredly preempted if forcing is invoked;however, the preemptive occurrence of a competing non-forcible but eligible event is not ruled out. Amore conventional notion of forcing would require ‘strong preemption’, namely that a forcible eventactually preempt any competing eligible event. If the control technology to be modelled actually admits‘forcing’ in the strongly preemptive sense just indicated, then that feature would be modelled in oursetup by suitably defining the activity transition structure.5

Notice finally that the controllability of K is a property only of K, and that the languages ∅, L(G),and Σ∗ are all trivially controllable.

Our first main result is the analog of Theorem 3.4.1 (Chapt. 3). Since the tick transition needsspecial treatment, the proof will be given in full.

Theorem 9.8.1

Let K ⊆ Lm(G), K 6= ∅. There exists a nonblocking supervisory control V for G such thatLm(V/G) = K if and only if

(i) K is controllable with respect to G, and

5For instance, if a forcible event σ = ‘stop’ is to strictly preempt κ = ‘collision’, the model requires interposing atleast one tick between σ and κ, and a structure in which σ causes transition to an activity where κ is disabled. Thisseems quite intuitive on physical grounds.

401

Page 419: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

(ii) K is Lm(G)-closed.

Proof

(If) For s ∈ K defineV (s) := Σunc ∪ (Σcon ∩ EligK(s))

while if s ∈ L(G) − K assign the ‘don’t care’ value

V (s) := Σ

First of all, V really is a supervisory control. Indeed, V (s) ⊇ Σunc always. Next, if

V (s) ∩ EligG(s) ∩ Σfor = ∅

thenΣunc ∩ EligG(s) ∩ Σfor = ∅

andΣcon ∩ EligK(s) ∩ Σfor = ∅

Therefore(Σuncon ∪ Σcon) ∩ EligK(s) ∩ Σfor = ∅

i.e.EligK(s) ∩ Σfor = ∅

By controllability of K,tick ∩ EligG(s) ⊆ EligK(s)

and sotick ∩ EligG(s) ⊆ V (s)

as required.

Next we show that L(V/G) = K and begin with L(V/G) ⊆ K. We have ǫ ∈ L(V/G) by definition,and ǫ ∈ K since K 6= ∅. Arguing by induction, let s ∈ L(V/G), s ∈ K, sσ ∈ L(V/G). Thenσ ∈ V (s) ∩ EligG(s). If σ ∈ Σunc then σ ∈ EligG(s) ∩ Σunc, so σ ∈ EligK(s) since K is controllable. Ifσ ∈ Σcon∩EligK(s) then again σ ∈ EligK(s). In either case σ ∈ EligK(s), so sσ ∈ K. For K ⊆ L(V/G),we proceed similarly, letting s ∈ K, s ∈ L(V/G), sσ ∈ K. If σ ∈ Σunc then σ ∈ V (s). Since sσ ∈ Kwe have sσ ∈ L(G) and so sσ ∈ L(V/G). If σ ∈ Σcon then σ ∈ Σcon ∩ EligK(s), i.e. σ ∈ V (s), andagain sσ ∈ L(V/G). We have now proved L(V/G) = K.

Finally

Lm(V/G) = L(V/G) ∩ Lm(G) (by definition)

= K ∩ Lm(G)

= K (since K is Lm(G)-closed)

402

Page 420: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

and Lm(V/G) = K = L(V/G), so V is nonblocking for G.

(Only if) Let V be a nonblocking supervisory control for G with Lm(V/G) = K. Since V isnonblocking, we have L(V/G) = K, so

K = L(V/G) ∩ Lm(G) = K ∩ Lm(G)

i.e. K is Lm(G)-closed. To show that K is controllable let s ∈ K, so s ∈ L(V/G), and by definition ofL(V/G),

EligK(s) = V (s) ∩ EligG(s)

ThusEligK(s) ⊇ Σunc ∩ EligG(s)

always. Also if EligK(s) ∩ Σfor = ∅ then

V (s) ∩ EligG(s) ∩ Σfor = ∅

Because V is a supervisory control,

V (s) ⊇ tick ∩ EligG(s)

henceEligK(s) ⊇ tick ∩ EligG(s)

as required. So K is controllable, as claimed. 2

For brevity we refer to a nonblocking supervisory control (for G, understood) as an NSC. It is usefulto introduce a slight generalization of NSC in which the supervisory action includes marking as wellas control. For this, let M ⊆ Lm(G). Define a marking nonblocking supervisory control for the pair(M,G), or MNSC, as a map V : L(G) → Pwr(Σ) exactly as before; but now for the marked behaviorof V/G we define

Lm(V/G) = L(V/G) ∩M .

One may think of the marking action of the MNSC V as carried out by a recognizer forM that monitorsthe closed behavior of V/G, sounding a beep exactly when a string in M has been generated. As asublanguage of Lm(G), these strings could be thought of as representing a subset of the ‘tasks’ thatG (or its underlying physical referent) is supposed to accomplish. For instance in a manufacturingproblem, one might define a ‘batch’ to consist of 10 fully processed workpieces. M might then be takenas the set of strings that represent the successful processing of N integral batches, N ≥ 0, with allmachines returned to the idle state and all buffers empty.

The counterpart result to Theorem 9.8.1 actually represents a simplification, as the condition ofLm(G)-closedness can now be dropped.

403

Page 421: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Theorem 9.8.2

Let K ⊆ Lm(G), K 6= ∅. There exists an MNSC V for (K,G) such that

Lm(V/G) = K

if and only if K is controllable with respect to G.

Proof

(If) With V defined as in the proof of Theorem 9.8.1, it may be shown as before that L(V/G) = K.Then

Lm(V/G) = L(V/G) ∩K = K ∩K = K

so that Lm(V/G) = K = L(V/G), namely V is nonblocking for G.

(Only if) We have K = Lm(V/G) = L(V/G). Then the proof that K is controllable is unchangedfrom that of Theorem 9.8.1. 2

9.9 Supremal Controllable Sublanguages and Optimal Super-

vision

Let G = ( ,Σ, , , ) be a controlled TDES with Σ partitioned as in the previous section. Let E ⊆ Σ∗.As in Chapter 3, we introduce the set of all sublanguages of E that are controllable with respect to G:

C(E) = K ⊆ E | K is controllable with respect to G

Proposition 9.9.1

C(E) is nonempty and is closed under arbitrary unions.

Proof

Since the empty language is trivially controllable, C(E) 6= ∅. Suppose K1, K2 ∈ C(E). Let K =K1 ∪K2; then K = K1 ∪ K2. For any s ∈ Σ∗, clearly

EligK(s) = EligK1(s) ∪ EligK2

(s)

Let s ∈ K. Since at least one of the two subsets on the right satisfies the inclusion condition appearingin the definition of controllability, so does EligK(s), and therefore K is controllable. Extension of theargument to an arbitrary union is obvious. 2

We may now assert the existence of a unique supremal element sup C(E) in E.

404

Page 422: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Let E,L ⊆ Σ∗. We say that E is L-marked if E ⊇ E ∩ L, namely any prefix of E that belongs toL must also belong to E.

Proposition 9.9.2

Let E ⊆ Σ∗ be Lm(G)-marked. Then sup C(E ∩ Lm(G)) is Lm(G)-closed.

Proof

We have E ⊇ E ∩ Lm(G), from which there follows in turn

E ∩ Lm(G) ⊆ E ∩ Lm(G)

E ∩ Lm(G) ∩ Lm(G) ⊆ E ∩ Lm(G)

E ∩ Lm(G) ∩ Lm(G) ⊆ E ∩ Lm(G)

so that F := E ∩ Lm(G) is Lm(G)-closed. Let K = sup C(F ). If K is not Lm(G)-closed, i.e. K $K ∩Lm(G), there is a string s ∈ K ∩Lm(G) with s 6∈ K. Let J = K ∪ s. Since J = K we have thatJ is controllable. Also K ⊆ F implies that

K ∩ Lm(G) ⊆ F ∩ Lm(G) = F

so that s ∈ F and thus J ⊆ F . Therefore J ∈ C(F ) and J ' K, contradicting the fact that K issupremal. 2

Now we can present the main result of this section.

Theorem 9.9.3

Let E ⊆ Σ∗ be Lm(G)-marked, and let K = sup C(E∩Lm(G)). If K 6= ∅, there exists a nonblockingsupervisory control (NSC) V for G such that Lm(V/G) = K.

Proof

K is controllable and, by Proposition 9.9.2, Lm(G)-closed. The result follows by Theorem 9.8.1. 2

As in Chapter 3, the result may be paraphrased by saying that K is (if nonempty) the maximallypermissive (or minimally restrictive) solution of the problem of supervising G in such a way that itsbehavior belongs to E and control is nonblocking. In this sense the supervisory control provided byTheorem 9.9.3 is (qualitatively) optimal.

As might be expected, if we place part of the burden of ‘marking action’ on the supervisory controlitself we may relax the prior requirement on E. By an application of Theorem 9.8.2 the reader mayeasily obtain the following analog of Theorem 3.4.2.

405

Page 423: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Theorem 9.9.4

Let E ⊆ Σ∗ and let K = sup C(E∩Lm(G)). IfK 6= ∅ there exists a marking nonblocking supervisorycontrol (MNSC) for G such that Lm(V/G) = K. 2

Finally, the implementation of supervisory controls by automata is formally no different from pro-cedures already described in Sect. 3.6.

9.10 Example 4: Endangered Pedestrian

Consider two TDES

BUS = (a, g, pass, [a, pass, g], a, g), (pass, 2, 2)

PED = (r, c, jump, [r, jump, c], r, c), (jump, 1,∞)

(where in place of δ we merely list the one activity transition). These model respectively a bus thatmakes a single transition pass between the activities ‘approaching’ and ‘gone by’, and a pedestrian whomay make a single transition jump from ‘road’ to ‘curb’. These entities are combined in the TDES

BP = comp(BUS,PED)

The ATG and TTG of BP are displayed in Fig. 9.10.1.

We bring in ‘control technology’, with the assumption

Σhib = Σfor = jump

However, nothing can stop the bus from passing in the interval between 2 and 3 ticks of the clock.

Suppose it is required that the pedestrian be saved. As a first scenario, we specify a TDES thatimposes no a priori timing constraints on events, but merely requires the pedestrian to jump beforethe bus passes:

406

Page 424: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

p

p

j j

(g,c)

(g,r)

(a,c)

BP: ATG

(a,r)

p

p

t tt

jjj

tt

BP: TTG

Fig. 9.10.1Activity and timed transition graphs for BP

SAVE = (s0, s1, s2, jump, pass, [s0, jump, s1], [s1, pass, s2], s0, s2)with set of timed events Σtim = (jump, 0,∞), (pass, 0,∞). The ATG and TTG are displayed in Fig.9.10.2; the TTG is obtained from the ATG by selflooping tick.

j p

S2S0 S1

S0 S1 S2

pj

t t t

Fig. 9.10.2Activity and timed transition graphs for SAVE

Here and later we use the operation meet, defined on TDES according to

G3 = meet(G1,G2)

where L(G3) := L(G1) ∩ L(G2), Lm(G3) := Lm(G1) ∩ Lm(G2). As usual with such operations it isunderstood that meet is uniquely defined at implementation.

407

Page 425: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Now we can bring in the relevant (‘physically possible’) strings of L(SAVE) as those shared withBP, namely the behavior(s) of

BPSAVE = meet(BP,SAVE)

as displayed in the TTG of Fig. 9.10.3. The closed behavior L(BPSAVE) is not controllable, since

t

j

p

t

t

j

t

Fig. 9.10.3Timed transition graph: BPSAVE

EligBP(tick2) ∩ Σfor = jump 6= ∅, EligBP(tick2) ∩ Σunc = passbut

EligBPSAVE(tick2) = jumpEvidently, after tick2 nothing can prevent the bus from passing before the pedestrian jumps. But all isnot lost: Lm(BPSAVE) has the supremal controllable sublanguage Lm(BPSAFE) as in Fig. 9.10.4.Note that, while tick ∈ EligBP(tick), nonetheless

t

j

t p

t

Fig. 9.10.4Timed transition graph: BPSAFE

EligBP(tick) ∩ Σfor = jump 6= ∅, EligBP(tick) ∩ Σunc = ∅and thus the second tick can be reliably preempted by the forcible event jump (i.e., the pedestrian canbe ‘forced’ to jump between the first tick and the second).

In a less optimistic scenario the pedestrian is again supposed to be saved, but at least 2 ticks mustelapse from initialization before a jump (perhaps the pedestrian is handicapped); since jump ∈ Σhib, the

408

Page 426: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

string tick,jump can surely be prohibited as a prefix of controlled behavior. The resulting specificationPRISK is shown in Fig. 9.10.5. Just as for BPSAVE, it is uncontrollable; but now the supremalcontrollable sublanguage of Lm(PRISK) is empty, and the control problem is unsolvable.

t

j

t

p

tt

Fig. 9.10.5Timed transition graph: PRISK

As a more complicated variation, suppose the bus can be stopped (by a traffic officer) and held up for1 tick. Introduce NEWBUS, like BUS but with new timed events (stop, 0,∞) with stop ∈ Σfor∩Σhib,and (wait, 1, 1), having ATG in Fig. 9.10.6. With the string delay1 := stop, tick, wait the TTG ofNEWBUS can be displayed as in Fig. 9.10.7. In effect, delay1 can be used to preempt tick at anystate of the TTG where both are defined, although it cannot be relied on to preempt pass if pass isimminent. By use of delay1 safety of the handicapped pedestrian can be guaranteed, for instance byforcing stop initially but disabling stop thereafter.

p

ws

Fig. 9.10.6Activity transition graph: NEWBUS

d1

t t p

t

d1

d1

Fig. 9.10.7Timed transition graph: NEWBUS

409

Page 427: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Exercise 9.10.1: Work out the details for NEWBUS using TTCT.

9.11 Example 5: Timed Manufacturing Cell

The manufacturing cell of Fig. 9.11.1 consists of machines MACH1,MACH2, with an input conveyorCONV1 as an infinite source of workpieces and output conveyor CONV2 as an infinite sink. Eachmachine may process two types of parts, p1 and p2; and each machine is liable to break down, but thenmay be repaired. For simplicity, the transfer of parts between machines will be absorbed as a step inmachine operation. The machine ATGs (identical up to event labelling) are displayed in Fig. 9.11.2and the timed events listed below.

MACH1 MACH2

CONV2CONV1

p1: —–

p2: - - - -

MACH1,MACH2: numerically controlled machinesCONV1: incoming conveyor (infinite source)CONV2: outgoing conveyor (infinite sink)

Fig. 9.11.1The manufacturing cell

MACHi, i = 1, 2

αi2αi1

µi

λiλi

βi1 βi2

Fig. 9.11.2Numerically controlled machines

410

Page 428: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

MACH1 : (α11, 1,∞) (β11, 3, 3) (α12, 1,∞) (β12, 2, 2)

(λ1, 0, 3) (µ1, 1,∞)

MACH2 : (α21, 1,∞) (β21, 1, 1) (α22, 1,∞) (β22, 4, 4)

(λ2, 0, 4) (µ2, 1,∞)

Here αij is the event ‘MACHi starts work on a pj-part’, while βij is ‘MACHi finishes working on apj-part’; λi, µi represent respectively the breakdown6 and repair of MACHi. We take

Σfor = αij | i, j = 1, 2, Σunc = λi, βij | i, j = 1, 2

Σhib = Σfor ∪ µ1, µ2The TTGs of MACH1 and MACH2 are shown in Figs. 9.11.3, 9.11.4.

We shall impose (i) logic-based specifications, (ii) a temporal specification, and (iii) a quantitativeoptimality specification as follows:

(i) • a given part can be processed by just one machine at a time• a p1-part must be processed first by MACH1 and then by MACH2• a p2-part must be processed first by MACH2 and then by MACH1• one p1-part and one p2-part must be processed in each production cycle• if both machines are down, MACH2 is always repaired before MACH1

6Since breakdown may occur only when a machine is working, the upper time bound uλ assigned to a breakdownevent need not exceed the (finite) upper time bound uβ for completion of the corresponding work cycle. The uλ couldbe replaced by anything larger, including ∞, without affecting behavior.

411

Page 429: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

t t t t t11 12

1t11t

MACH1 t1 1 1 1 1

t

11 12

Fig. 9.11.3The TTG of MACH1

t t t t t

t

α21 α22

MACH2

β22

β21 t

µ2 t

λ2

λ2λ2

λ2λ2

λ2 λ2t

Fig. 9.11.4The TTG of MACH2

412

Page 430: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

(ii) • in the absence of breakdown/repair events a production cycle must be completed inat most 10 time units

(iii) • subject to (ii), production cycle time is to be minimized

The first three specifications (i) are formalized as TDES SPEC1-SPEC4, displayed in Fig. 9.11.5,while the fourth specification (i) is formalized as SPEC5, Fig. 9.11.6, and the fifth (breakdown/repair)as SPEC6, Fig. 9.11.7. It can be verified that, in fact, SPEC1 and SPEC2 are automatically enforcedby SPEC3 and SPEC4 together. We therefore define the complete logic-based specification

SPEC1 SPEC2

SPEC3 SPEC4

β21, λ2

α21α11

**∗∗

α12 α22

β12, λ1 β22, λ2

β11 β22

α11, β21, ∗ α22, β12, ∗∗

∗t, α12, β12, α22, β22, λ1, λ2, µ1, µ2

α21 α12

∗, λ1

∗∗, λ2

∗∗, λ1

∗ ∗ t, α11, β11, α21, β21, λ1, λ2, µ1, µ2

*,λ2

β11, λ1

∗∗, λ1, λ2

∗t, α12, β12, α22, β22, µ1, µ2 ∗ ∗ t, α11, β11, α21, β21, µ1, µ2

∗, λ1, λ2

Fig. 9.11.5SPEC1 − SPEC4

413

Page 431: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

SPEC5 *

*

*

*

β12

β12

β21

β21

∗t, α11, β11, α12, α21, α22, β22, λ1, λ2, µ1, µ2

Fig. 9.11.6SPEC5

SPEC6

λ2

µ2

*

µ1, ∗

∗t, α11, β11, α12, β12, α21, β21, α22, β22, λ1

Fig. 9.11.7SPEC6

SPECLOG = meet(SPEC3,SPEC4,SPEC5,SPEC6)

a TDES with 32 states and 224 transitions. Define the cell’s open-loop behavior as the compositionMACH of MACH1 and MACH2:

MACH = comp(MACH1,MACH2)

(121 states, 345 transitions).

Here and below we write G3 = supcon(G1,G2) to denote the operation that returns a TDES G3whose marked behavior Lm(G3) is the supremal controllable sublanguage sup C(Lm(G1), Lm(G2));while its closed behavior L(G3) = Lm(G3).

414

Page 432: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

The maximally permissive proper supervisor for MACH that enforces SPECLOG can now becomputed as

SUPLOG = supcon(MACH,SPECLOG)

(264 states, 584 transitions). In this controlled behavior, forcing plays no role.

To address the temporal specification (ii) we first recompute the results for (i), under the statedassumption that breakdowns are absent. For this we define new machines NMACH1, NMACH2with simplified ATGs, Fig. 9.11.8. The new logic-based specification is

NMACHi, i = 1, 2

αi1 αi2

βi2βi1

Fig. 9.11.8The new machine activity transition graphs

NSPECLOG = meet(SPEC3,SPEC4,SPEC5)

(16 states, 72 transitions). The open-loop behavior of the simplified cell is

NMACH = comp(NMACH1,NMACH2)

(81 states, 121 transitions). These definitions yield the new supervisor

NSUPLOG = supcon(NMACH,NSPECLOG)

(108 states, 144 transitions), displayed in Fig. 9.11.9. Now we consider the temporal specification itself.Bring in the TDES TIMER10 displayed in Fig. 9.11.10. TIMER10 is simply an 11-tick sequenceall of whose states are marked. TIMER10 forces any TDES with which it is synchronized by meetto halt after at most 10 ticks, i.e. after 11 ticks to execute no further event whatever except the tickevent. Thus it extracts the marked strings (if any) which satisfy this constraint, namely the ‘tasks’ ofTDES which can be accomplished in at most 10 ticks. Of course, the designer must guarantee that the10-tick deadline is actually met, if necessary by suitable forcing action. To determine whether such aguarantee is feasible, it suffices to check that the corresponding supremal controllable sublanguage isnonempty. The result is

415

Page 433: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

0

3

3

6

0

0

8

0

00

0

7*

6

0

07

0

0

0

30

10

03

0

8

0

0

0

0

3

7

7

1

1

1

1

1

1

2

8

8

3

0

* 3

0

4

6

4

0

6

4

6

0

5

0

5

4

0

6

0

0

6

3

0

2

0

8

0

0

0

8

0

0

0

04

00

20

0

4

0

5

5

0

5 0

5

0

5

0

2

8

0

0

0

0

0

0

8

0

2

0

0

0

1

10

0

0

20

50

5

0

2

7

0

2

0

7

0

2

0

0

7

7

0*

0

*

*0

*

*

*

0

1 : α11, 2 : β11, 3 : α12, 4 : β12, 5 : α21, 6 : β21, 7 : α22, 8 : β22, 0 : tick,* : selfloop in tick.

Fig. 9.11.9NSUPLOG

416

Page 434: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

TIMER10

t t

t

t t

t t t t

t

t

t*

*

** * * * *

*

**

∗α11, β11, α12, β12, α21, β21, α22, β22

Fig. 9.11.10TIMER10 (12,108)

TNSUPLOG = supcon(NSUPLOG,TIMER10)

(209 states, 263 transitions), so the check succeeds. We conclude that, in the absence of breakdowns, aproduction cycle can indeed be forced to complete in 10 ticks or less. Here, of course, the use of forcibleevents is essential.

Finally, to address specification (iii), we proceed as in (ii) with successive timer sequences of tick-length 9,8,... until supcon returns an empty result. For this example the minimum enforcible produc-tion time turns out to be 7 ticks, with behavior

OTNSUPLOG = supcon(NSUPLOG,TIMER7)

(19 states, 21 transitions) shown in Fig. 9.11.11. Initially both NMACH1 and NMACH2 are forcedto start work on a p1-part and p2-part respectively (events α11, α22). Forcing occurs as soon as theseevents become eligible, thus preempting a tick which would take the system along a suboptimal (slower)path (see Fig. 9.11.9). NMACH1 (NMACH2) finishes work on its p1-part (p2-part) within 3 (resp.4) time units. As soon as NMACH2 has finished with its p2-part (event β22), NMACH1 is forced tostart working on it (α12), again preempting a tick that would take the system along a suboptimal path.Finally, NMACH2 is forced to work on the p1-part, enabling the system to finish its production cyclein minimum time.

417

Page 435: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

OTNSUPLOG

α11

α11α22

α12

α21

t t t

t

tt

t t

β12

β12β21

β22 β11

α22

tβ21

Fig. 9.11.11OTNSUPLOG

9.12 Modular Supervision of TDES

LetG = (Q,Σ, δ, qo, Qm), S = (X,Σ, ξ, xo, Xm)

be TDES, with Σ = Σact∪tick. We assume that G is equipped with control structure, as in Sect. 9.8,and consider when S can be used a supervisor for G. As in Chapter 4 write S∧G for the conjunctionof S and G (implemented by TCT meet), so

Lm(S ∧ G) = Lm(S) ∩ Lm(G), L(S ∧ G) = L(S) ∩ L(G)

As in Sect. 3.6 we say that S is a proper supervisor for G if

(i) S is trim

(ii) S is controllable with respect to G (i.e. Lm(S ∧ G) is controllable)

(iii) S ∧ G is nonblocking

418

Page 436: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Since by (iii), Lm(S ∧ G) = L(S ∧G), (ii) means that

EligL(S∧G)(s) ⊇

EligG(s) ∩ (Σunc ∪ tick) if EligL(S∧G)(s) ∩ Σfor = ∅EligG(s) ∩ Σunc if EligL(S∧G)(s) ∩ Σfor 6= ∅

We remark that if Lm(S ∧ G) 6= ∅ then

(∀s ∈ L(S ∧G)) EligL(S∧G)(s) 6= ∅

Exercise 9.12.1: Justify this statement. 3

Let K ⊆ L(G). The following definition extracts the feature of controllability that expresses thepreemption of tick by a forcible event. We say that K is coercive with respect to G if

(∀s ∈ K)tick ∈ EligG(s) − EligK(s) ⇒ EligK(s) ∩ Σfor 6= ∅

i.e.(∀s ∈ K) EligK(s) ∩ Σfor = ∅ & tick ∈ EligG(s) ⇒ tick ∈ EligK(s)

We say that languages K1, K2 ⊆ L(G) are jointly coercive with respect to G if K1∩K2 is coercive withrespect to G. Now let S1, S2 be proper supervisors for G.

Theorem 9.12.1

S1 ∧ S2 is a proper supervisor for G if

(i) S1 ∧ S2 is trim,

(ii) Lm(S1 ∧ G), Lm(S2 ∧G) are nonconflicting, and

(iii) Lm(S1 ∧ G), Lm(S2 ∧G) are jointly coercive with respect to G.

2

Exercise 9.12.2: Prove Theorem 9.12.1. 3

Example 9.12.1: Timed Workcell

Consider a workcell consisting of two machines M1,M2 linked by a one-slot buffer BUF as shownbelow.

419

Page 437: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

0

21

30

21

3

Figure 9.12.1

M1 BUF M2Mi i 2: down3: under repair

BUF ? ?2ii1

Workpie eWorkpie eSour e Sinkii

? = f1; 1; 1; 1; 2; 2; 2; 2g

420

Page 438: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

LetΣunc = βi, λi, ηi | i = 1, 2, Σfor = Σhib = αi, µi | i = 1, 2

with corresponding timed events

(α1, 0,∞), (β1, 1, 2), (λ1, 0, 2), (µ1, 0,∞), (η1, 1,∞)

(α2, 0,∞), (β2, 1, 1), (λ2, 0, 1), (µ2, 0,∞), (η2, 2,∞)

For the TDES to be controlled we take WORKCELL = comp(M1,M2), under the informal speci-fications

1. BUF must not overflow or underflow

2. If M2 goes down, its repair must be started “immediately”, and prior to starting repair of M1if M1 is currently down.

BUF itself will serve as the first of these specifications. The second is formalized as BR, in Fig. 9.12.2.

22???? = f1; 1; 1; 1; 2; 2; 2g1; ti k; ??BR

Fig. 9.12.2

For the monolithic supervisor we compute

SPEC = meet(BUF,BR) (4, 32)

SUPER = supcon(WORKCELL,SPEC) (54, 124)

SUPER = condat(WORKCELL,SUPER)

Now let us attempt to find modular supervisors. It can be verified that BR is already controllableand nonconflicting with respect to WORKCELL. BUF is not controllable but can be made so bydisabling α1 at state 1 to form XBUF, as in Fig. 9.12.3.

421

Page 439: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

XBUF 10 12?? = f1; 1; 1; 2; 2; 2; 2; ti kg1; ?

Fig. 9.12.3

Now Theorem 9.12.1 can be used to confirm that XBUF ∧ BR is proper, and yields the controlledbehavior representation

WCXBUFBR = meet(WORKCELL,meet(XBUF,BR)) (49, 110)

It can be verified that the marked behavior of WCXBUFBR is strictly smaller than that of SUPER;namely the behavior under the above modular control, while nontrivial and correct, is suboptimal.The reason is that, in the timed structure of WORKCELL, disablement of α1 is not always necessarywhen the buffer is full, for if M2 is idle it is sufficient immediately to force α2, thus clearing the bufferand preventing overflow. Our modular supervisor XBUF is overly conservative.

Exercise 9.12.3: Check the conditions of Theorem 9.12.1, taking S1 = XBUF, S2 = BR, G =WORKCELL. Use TTCT condat to check joint coerciveness.

Exercise 9.12.4: In the example above, show that the jointly coercive property of S1, S2 comes intoplay on the occurrence of λ2: the repair of M2 must be initialized without delay, thus preempting theoccurrence of tick (by the forcible event µ2) in the transition structure of S2 and consequently of S1.

Exercise 9.12.5: Consider the simplified problem with M1, M2, BUF replaced with NM1, NM2,NBUF on deleting the events λi, µi, ηi(i = 1, 2); and with BR omitted. Compute

NM = comp(NM1,NM2) (12, 23)

NBUFSUP = supcon(NM,NBUF) (13, 21)

Show that there exists a reduced (timed) supervisor NBUFSIM (3,10) that is control–equivalentto NBUFSUP with respect to NM and explain its operation. Also show that a ‘naive’ extensionXBUFSIM formed by self-looping λi, µi, ηi is blocking for WORKCELL and explain in detail whythis is so. Can you find a small, proper buffer supervisor for WORKCELL, say BUFSIM, that iscompatible with BR (in the sense of Theorem 9.2.1)?

422

Page 440: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

9.13 Conclusions

The chapter provides a framework for the study of theoretical issues in the design of supervisorycontrols for timed discrete-event systems. The model incorporates both time delays and hard deadlines,and admits both forcing and disablement as means of control. In addition it supports compositionof modular subsystems and systematic synthesis. In particular, the model retains the concept ofdesign that is qualitatively optimal in the sense of minimally restricting the behavior of the underlyingcontrolled system, subject to constraints imposed by formal specifications of performance.

Because the theory is expressed in the elementary framework of regular languages and finite au-tomata, only rudimentary control scenarios can be treated directly. For instance, no explicit provisionis made for program variables, or such constructs of a real-time programming language as interruptsand logically conditioned events and procedures. In higher-level approaches where such constructs aresupported, design approaches tend to be heuristic. With the introduction of suitable architecture thepresent framework may supply a basis for rendering such approaches more formal and systematic.

9.14 Notes and References

The timed DES framework of this chapter is a simplified version of that for ‘timed transition models’treated by Ostroff ([T06], Ostroff [1989,1990], [J13]); the new controllability features, including forcing,are due to Brandin ([T11], [T26], [C51], [C52], [J22]). In Petri nets, time bounds on events werepreviously employed by Merlin & Farber [1976] and Berthomieu & Diaz [1991], while forcing in DESwas investigated by Golaszewski & Ramadge [1987]. From a different perspective, timed automata aredescribed in Alur & Dill [1990] and applied to supervisory control in Wong-Toi & Hoffmann [1991].

423

Page 441: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Bibliography

TEXTBOOKS, MONOGRAPHS AND PROCEEDINGS

Discrete-Event Systems

Baccelli, F., G. Cohen, G.J. Olsder, J.-P. Quadrat. Synchronization and Linearity. Wiley, 1992.

Balemi, S., P. Kozak, R. Smedinga (Eds.). Discrete Event Systems: Modeling and Control. Birkhauser,1993.

Boel, R., G. Stremersch (Eds.). Discrete Event Systems: Analysis and Control. [Proceedings ofWODES2000, Ghent, August 21-23, 2000]. Kluwer, 2000.

Caillaud, B., P. Darondeau, L. Lavagno, X. Xie (Eds.). Synthesis and Control of Discrete EventSystems. [Proceedings of SCODES’2001, INRIA, Paris, July 2001]. Kluwer, 2002.

Cassandras, C.G. Discrete Event Systems. Irwin, 1993.

Cassandras, C.G., S. Lafortune. Introduction to Discrete Event Systems. (2nd. ed.) Kluwer, 2008.

Cohen, G., J.-P. Quadrat (Eds). Proc. 11th International Conference on Analysis and Optimizationof Systems: Discrete Event Systems. Sophia-Antipolis, June 1994. Lecture Notes in Control andInformation Sciences vol. 119, Springer-Verlag, 1994.

Darondeau, P., S. Kumagai (Eds.). Proc. ATPN-Workshop on Discrete Event Systems Control. 24thInt. Conference on Application Theory of Petri Nets (ATPN 2003). Eindhoven, The Netherlands, June23-27, 2003.

Ho, Y.-C. (Ed.). Special Issue on Dynamics of Discrete-Event Systems. Proc. IEEE 77 (1), January1989.

424

Page 442: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Ho, Y.-C., Y.-P. Zheng (Eds.). Proc. 1991 IFAC Workshop on Discrete Event System Theory andApplications in Manufacturing and Social Phenomena. International Academic, 1991.

International Workshop on Discrete Event Systems – WODES’96. Institute of Electrical Engineers,London, UK, August 1996.

International Workshop on Discrete Event Systems – WODES’98. Institute of Electrical Engineers,London, UK, August 1998.

Lafortune, S., F. Lin, D. Tilbury (Eds.). Proc. 8th International Workshop on Discrete Event Systems(WODES’06), Ann Arbor, MI, July 10-12, 2007. IEEE 2006.

Lennartson, B. et al. (Eds.). Proc. Ninth International Workshop on Discrete Event Systems(WODES’08), Goteborg, Sweden, May 28-30, 2008. IEEE.

Ma, C., W.M. Wonham. Nonblocking Supervisory Control of State Tree Structures. Lecture Notes inControl and Information Sciences (LNCIS) 317, Springer, 2005.

Sanchez, A. Formal Specification and Synthesis of Procedural Controllers for Process Systems. LectureNotes in Control and Information Sciences (LNCIS) 212, Springer, 1996.

Silva, M., A. Giua, J.-M. Colom (Eds.). Proc. Sixth International Workshop on Discrete Event Systems(WODES’02), Zaragoza, Spain, October 2002. IEEE Computer Society 2002.

Varaiya, P., A.B. Kurzhanski (Eds.). Discrete Event Systems: Models and Applications. Lecture Notesin Control and Information Sciences (LNCIS) 103, Springer, 1987.

Viswanadham, N., Y. Narahari. Performance Modeling of Automated Manufacturing Systems. Prentice-Hall, 1992.

Zaytoon, J., V. Carre-Menetrier, C. Cassandras, X. Cao (Eds.). Preprints 7th International Workshopon Discrete Event Systems (IFAC Workshop on Discrete Event Systems, WODES’04), Reims, France,22-24 September 2004.

Automata and Languages

Arnold, A. Finite Transition Systems, Prentice-Hall, 1994.

Carroll, J., D. Long. Theory of Finite Automata. Prentice-Hall, 1989.

Eilenberg, S. Automata, Languages, and Machines: Volume A. Academic, 1974.

425

Page 443: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Hopcroft, J.E., J.D. Ullman. Introduction to Automata Theory, Languages and Computation. Addison-Wesley, 1979.

Lewis, H.R., C.H. Papadimitriou. Elements of the Theory of Computation. Prentice-Hall, 1981.

Algebra

Burris, S., H.P. Sankappanavar. A Course in Universal Algebra. Springer-Verlag, 1981.

Davey, B.A., H.A. Priestley. Introduction to Lattices and Order. Cambridge University Press, 1990.

Mac Lane, S., G. Birkhoff. Algebra. Third ed., Chelsea, 1993.

Szasz, G. Introduction to Lattice Theory. Academic, 1963.

Wechler, W. Universal Algebra for Computer Scientists. Springer-Verlag, 1992.

Temporal Logic

Manna, Z., A. Pnueli. The Temporal Logic of Reactive and Concurrent Systems. Springer-Verlag, 1992.

Ostroff, J.S. Temporal Logic for Real-Time Systems. Research Studies Press, 1989.

Petri Nets

David, R., H. Alla. Petri Nets and Grafcet. Prentice-Hall, 1992.

Desrochers, A.A., R.Y. Al-Jaar. Applications of Petri Nets in Manufacturing Systems. IEEE Press,1995.

Iordache, M.V., P.J. Antsaklis. Supervisory Control of Concurrent Systems: A Petri Net StructuralApproach. Birkhauser, 2006.

Moody, J., P. Antsaklis. Supervisory Control of Discrete Event Systems Using Petri Nets. Kluwer,1998.

Peterson, J.L. Petri Net Theory and Modeling of Systems. Prentice-Hall, 1981.

Reisig, W. Petri Nets. Springer-Verlag, 1985.

426

Page 444: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Zhou, M.C., F. DiCesare. Petri Net Synthesis for Discrete Event Control of Manufacturing Systems.Kluwer, 1993.

Zhou, M.C., K. Venkatesh. Modeling, Simulation and Control of Flexible Manufacturing Systems: APetri Net Approach. World Scientific, Singapore, 1999.

Zhou, M.C. (Ed.). Petri Nets in Flexible and Agile Automation. Kluwer, 1995.

Discrete-Event Simulation

Birtwistle, G.M. DEMOS - A System for Discrete Event Modelling on Simula. Springer-Verlag, 1987.

Fishman, G.S. Principles of Discrete Event Simulation. Wiley, 1978.

Law, A.M., W.D. Kelton. Simulation, Modeling & Analysis. McGraw-Hill, 1991.

Zeigler, B.P. Multifacetted Modeling and Discrete Event Simulation. Academic, 1984.

Zeigler, B.P. Object-Oriented Simulation with Hierarchical, Modular Models. Academic, 1990.

Concurrency: Modelling, Programming, and Computation

Ben-Ari, M. Principles of Concurrent Programming. Prentice-Hall International, 1982.

Dijkstra, Edsger W. A Discipline of Programming. Prentice-Hall, 1976.

Germundsson, R. Symbolic Systems - Theory, Computation and Applications. Ph.D. thesis No. 389,Dept. of Electrical Engineering, Linkoping University, 1995.

Gunnarsson, J. On Modeling of Discrete Event Dynamic Systems, Using Symbolic Algebraic Methods.Thesis No. 502, Division of Automatic Control, Lund University, 1997.

Hoare, C.A.R. Communicating Sequential Processes. Prentice-Hall, 1985.

Holt, R.C., G.S. Graham, E.D. Lazowska, M.A. Scott. Structured Concurrent Programming WithOperating Systems Applications. Addison-Wesley, 1978.

Lynch, N. Distributed Algorithms. Morgan Kaufmann, 1996.

Magee, J., J. Kramer. Concurrency: State Models and Java Programs. Wiley, 1999.

427

Page 445: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Milner, R. Communication and Concurrency. Prentice-Hall, 1989.

Implementation and Engineering

Bennett, S. Real-Time Computer Control: An Introduction. Prentice-Hall, 1988.

Burns, A., A. Wellings. Real-Time Systems and Their Programming Languages. Sec. ed., Addison-Wesley, 1997.

Fleming, P.I. Parallel Processing in Control: The Transputer and Other Architectures. Peregrinus,1988.

Gray, D. Introduction to the Formal Design of Real-Time Systems. Springer, 1999.

Krishna, C.M., K.G. Shin. Real-Time Systems. McGraw-Hill, 1997.

Mesarovic, M.D., D. Macko, Y. Takahara. Theory of Hierarchical, Multilevel, Systems. Academic,1970.

Raynal, M. Algorithms for Mutual Exclusion. The MIT Press, 1986.

SUPPLEMENTARY REPORTS AND ARTICLES

K. Akesson, H. Flordal, M. Fabian. Exploiting modularity for synthesis and verification of supervisors.Proc. 15th IFAC World Congress on Automatic Control, Barcelona, Spain, 2002.

R.Y. Al-Jaar, A.A. Desrochers. A modular approach for the performance analysis of automated man-ufacturing systems using generalized stochastic Petri nets. Rpt. RAL #116, Robotics and AutomationLab., Rensselaer Polytechnic Institute, Troy NY, 1988.

R. Alur, D. Dill. Automata for modeling real-time systems. In Proc. 17th International Colloquium onAutomata, Languages and Programming. Lecture Notes on Computer Science (LNCS) 443, Springer-Verlag 1990, pp. 322-335.

B. Berthomieu, M. Diaz. Modeling and verification of time dependent systems using time Petri nets.IEEE Trans. on Software Engineering 17 (3), March 1991, pp. 259-273.

C. Cao, F. Lin, Z.-H. Lin. Why event observation: observability revisited. Discrete Event DynamicSystems: Theory and Applications 7, 1997, pp. 127-149.

428

Page 446: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

H. Cho, S.I. Marcus. Supremal and maximal sublanguages arising in supervisor synthesis problemswith partial observations. Mathematical Systems Theory 22, 1989, pp. 177-211.

E.W. Dijkstra. Hierarchical ordering of sequential processes. Acta Informatica 1, 1971, pp. 115-138.

A. Falcione, B. Krogh. Design recovery for relay ladder logic. IEEE Control Systems 13 (2), April1993, pp. 90-98.

M. Heymann. Concurrency and discrete event control. IEEE Control Systems 10 (4), 1990, pp. 103-112.

K. Hiraishi, A. Ichikawa. A class of Petri nets that [sic] a necessary and sufficient condition forreachability is obtainable. Trans. Soc. of Instrumentation and Control Engineers (SICE) 24 (6), 1988,pp. 91-96 (in Japanese).

L.E. Holloway, B.H. Krogh. Synthesis of feedback logic control for a class of controlled Petri nets.IEEE Trans. on Automatic Control 35 (5), 1990, pp. 514-523.

P. Hubbard, P.E. Caines. Dynamical consistency in hierarchical supervisory control. IEEE Trans. onAutomatic Control 47 (1), January 2002, pp. 37-52.

A. Kay, J.N. Reed. A relay and guarantee method for timed CSP: a specification and design of atelephone exchange. IEEE Trans. on Software Engineering 19 (6), June 1993, pp. 625-639.

B.H. Krogh. Controlled Petri nets and maximally permissive feedback logic. Proceedings 25th AnnualAllerton Conference on Communication, Control and Computing, October 1987, pp. 317-326.

A. Mannani. Synthesis of communicating decentralized supervisors for discrete-event systems with ap-plication to communication protocol synthesis. Ph.D. Thesis, ECE Department, Concordia University,Montreal, June 2009.

G. Memmi, G. Roucairol. Linear algebra in net theory. In: W. Brauer (Ed.), Net Theory and Appli-cations, Lecture Notes on Computer Science (LNCS) 84, Springer-Verlag, 1980; pp. 213-223.

P.M. Merlin, D.J. Farber. Recoverability of communication protocols - implications of a theoreticalstudy. IEEE Trans. on Communications 24, Sept. 1976, pp. 1036-1043.

T. Murata. Petri nets: properties, analysis and applications. Proc. IEEE 77 (4), April 1989, pp.541-580.

J.S. Ostroff. Deciding properties of timed transition models. IEEE Trans. on Parallel and DistributedSystems 1 (2), April 1990, pp. 170-183.

429

Page 447: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

M.H. de Queiroz, J.E.R. Cury. Modular control of composed systems. Proc. American Control Con-ference, Chicago, IL, June 2000, pp. 4051-4055.

H. Simon. The architectecture of complexity. Proc. Amer. Phil. Soc. 106, December 1967, pp. 467-482. Reprinted in: Herbert A. Simon, The Sciences of the Artificial (Chapt. 7, pp. 193-229), Seconded., The MIT Press, Cambridge MA, 1981.

E.V. Sørensen, J. Nordahl, N.H. Hansen. From CSP models to Markov models. IEEE Trans. onSoftware Engineering 19 (6), June 1993, pp. 554-570.

S. Takai, T. Ushio. Effective computation of an Lm(G)-closed, controllable, and observable sublanguagearising in supervisory control. Systems & Control Letters 49, 2003, pp. 191-200.

A.W. Tucker. Dual systems of homogeneous linear relations. In: H.W. Kuhn, A.W. Tucker (Eds.),Linear Inequalities and Related Systems, Annals of Mathematics Studies (38), Princeton U.P., 1956;pp. 3-18.

Y. Willner, M. Heymann. On supervisory control of concurrent discrete-event systems. InternationalJ. of Control 54(5), 1991, pp. 1143-1169.

K.C. Wong. On the complexity of projections of discrete-event systems. Proc. International Workshopon Discrete Event Systems (WODES’ 98). IEE, London, 1998; pp. 201-206.

H. Wong-Toi, G. Hoffmann. The control of dense real-time discrete event systems. Proc. of the 30thIEEE Conference on Decision and Control, Brighton, U.K., December 1991, pp. 1527-1528.

W.M. Wonham. Towards an abstract internal model principle. IEEE Trans. on Systems, Man, andCybernetics SMC 6(11), 1976, pp. 735-740.

W.M. Wonham. Linear Multivariable Control: A Geometric Approach. Third edn., Springer, 1985.

SYSTEMS CONTROL GROUP PUBLICATIONS AND THESES ON DISCRETE-EVENTSYSTEMS

Monograph

[M1] C. Ma, W.M. Wonham. Nonblocking Supervisory Control of State Tree Structures. Lecture Notesin Control and Information Sciences (LNCIS) 317, Springer 2005.

Journal Publications

430

Page 448: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

[J01] A.F. Vaz, W.M. Wonham. On supervisor reduction in discrete-event systems. International J.Control 44 (2), 1986, pp. 475-491.

[J02] J.G. Thistle, W.M. Wonham. Control problems in a temporal logic framework. International J.Control 44 (4), 1986, pp. 943-976.

[J03] P.J. Ramadge, W.M. Wonham. Supervisory control of a class of discrete event processes. SIAMJ. Control and Optimization 25 (1), 1987, pp. 206-230.

[J04] W.M. Wonham. Some remarks on control and computer science. Control Systems Magazine 7(2), 1987, pp. 9-10.

[J05] W.M. Wonham, P.J. Ramadge. On the supremal controllable sublanguage of a given language.SIAM J. Control and Optimization 25 (3), 1987, pp. 637-659.

[J06] P.J. Ramadge, W.M. Wonham. Modular feedback logic for discrete event systems. SIAM J.Control and Optimization, 25 (5), 1987, pp. 1202-1218.

[J07] W.M. Wonham, P.J. Ramadge. Modular supervisory control of discrete event systems. Maths.of Control, Signals & Systems 1 (1), 1988, pp. 13-30.

[J08] F. Lin, W.M. Wonham. Decentralized supervisory control of discrete-event systems. InformationSciences 44 (2), 1988, pp. 199-224.

[J09] F. Lin, W.M. Wonham. On observability of discrete-event systems. Information Sciences 44 (2),1988, pp. 173-198.

[J10] F. Lin, A. Vaz, W.M. Wonham. Supervisor specification and synthesis for discrete event systems.International J. Control 48 (1), 1988, pp. 321-332.

[J11] Y. Li, W.M. Wonham. On supervisory control of real-time discrete-event systems. InformationSciences 46 (3), 1988, pp. 159-183.

[J12] P.J. Ramadge, W.M. Wonham. The control of discrete event systems. Proc. IEEE, Special Issueon Discrete Event Dynamic Systems, 77 (1), January 1989, pp. 81-98.

[J13] J.S. Ostroff, W.M. Wonham. A framework for real-time discrete event control. IEEE Trans. onAutomatic Control 35 (4) 1990, pp. 386-397.

[J14] H. Zhong, W.M. Wonham. On consistency of hierarchical supervision in discrete-event systems.IEEE Trans. on Automatic Control 35 (10) 1990, pp. 1125-1134.

[J15] R.D. Brandt, V. Garg, R. Kumar, F. Lin, S.I. Marcus, W.M. Wonham. Formulas for calculatingsupremal controllable and normal sublanguages. Systems & Control Letters 15, 1990, pp. 111-117.

[J16] F. Lin, W.M. Wonham. Decentralized control and coordination of discrete-event systems withpartial observation. IEEE Trans. on Automatic Control 35 (12), 1990, pp. 1330-1337.

431

Page 449: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

[J17] K. Rudie, W.M. Wonham. The infimal prefix-closed and observable superlanguage of a givenlanguage. Systems & Control Letters 15, 1990, pp. 361-371.

[J18] F. Lin, W.M. Wonham. Verification of nonblocking in decentralized supervision. Control Theoryand Advanced Technology 7 (1) 1991, pp. 19-29.

[J19] T. Ushio, Y. Li, W.M. Wonham. Concurrency and state feedback in discrete-event systems. IEEETrans. on Automatic Control 37 (8) 1992, pp. 1180-1184.

[J20] K. Rudie, W.M. Wonham. Think globally, act locally: decentralized supervisory control. IEEETrans. on Automatic Control 37 (11) 1992, pp. 1692-1708. Reprinted in F.A. Sadjadi (Ed.),Selected Papers on Sensor and Data Fusion, 1996; ISBN 0-8194-2265-7.

[J21] Y. Li, W.M. Wonham. Control of vector discrete-event systems: I - The base model. IEEETrans. on Automatic Control 38 (8), August 1993, pp. 1214-1227. Correction: IEEE Trans. onAutomatic Control 39 (8) August 1994, p. 1771.

[J22] B.A. Brandin, W.M. Wonham. Supervisory control of timed discrete-event systems. IEEE Trans.on Automatic Control 39 (2) February 1994, pp. 329-342.

[J23] Y. Li, W.M. Wonham. Control of vector discrete-event systems: II - controller synthesis. IEEETrans. on Automatic Control 39 (3) March 1994, pp. 512-531.

[J24] J.G. Thistle, W.M. Wonham. Control of infinite behavior of finite automata. SIAM J. on Controland Optimization 32 (4) July 1994, pp. 1075-1097.

[J25] J.G. Thistle, W.M. Wonham. Supervision of infinite behavior of discrete-event systems. SIAMJ. on Control and Optimization 32 (4) July 1994, pp. 1098-1113.

[J26] F. Lin, W.M. Wonham. Supervisory control of timed discrete event systems under partial obser-vation. IEEE Trans. on Automatic Control 40 (3) March 1995, pp. 558-562.

[J27] Y. Li, W.M. Wonham. Concurrent vector discrete-event systems. IEEE Trans. on AutomaticControl 40 (4) April 1995, pp. 628-638.

[J28] M. Lawford, W.M. Wonham. Equivalence preserving transformations for timed transition models.IEEE Trans. on Automatic Control 40 (7) July 1995, pp. 1167-1179.

[J29] P. Kozak, W.M. Wonham. Fully decentralized solutions of supervisory control problems. IEEETrans. on Automatic Control 40 (12) December 1995, pp. 2094-2097.

[J30] K.C. Wong, W.M. Wonham. Hierarchical control of discrete-event systems. Discrete EventDynamic Systems 6 (3) July 1996, pp. 241-273.

[J31] K.C. Wong, W.M. Wonham. Hierarchical control of timed discrete-event systems. Discrete EventDynamic Systems 6 (3) July 1996, pp. 274-306.

[J32] P. Kozak, W.M. Wonham. Design of transaction management protocols. IEEE Trans. AutomaticControl 41 (9) September 1996, pp. 1330-1335.

432

Page 450: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

[J33] K.C. Wong, W.M. Wonham. Modular control and coordination of discrete event systems. DiscreteEvent Dynamic Systems 8 (3) October 1998, pp. 247-297.

[J34] S. Hashtrudi Zad, R.H. Kwong, W.M. Wonham. Supremum operators and computation of supre-mal elements in system theory. SIAM J. Control & Optimization 37 (3) March 1999, pp. 695-709.

[J35] P. Gohari, W.M. Wonham. On the complexity of supervisory control design in the RW framework.IEEE Trans. on Systems, Man and Cybernetics; Part B: Cybernetics. (Special Issue on DiscreteSystems and Control) 30 (5) October 2000, pp. 643-652.

[J36] P.C.Y. Chen, W.M. Wonham. Stable supervisory control of flexible manufacturing systems withfixed supply and demand rates. International J. of Production Research: Special Issue on Mod-eling, Specification and Analysis of Manufacturing Systems 39 (2) January 2001, pp. 347-368.

[J37] P.C.Y. Chen, W.M. Wonham. Real-time supervisory control of a processor for non-preemptiveexecution of periodic tasks. Real Time Systems J. 23 (3) November 2002, pp. 183-208.

[J38] S. Hashtrudi Zad, R.H. Kwong, W.M. Wonham. Fault diagnosis in discrete-event systems: frame-work and model reduction. IEEE Trans. on Automatic Control 48 (7) July 2003, pp. 1199-1212.

[J39] P. Gohari, W.M. Wonham. Reduced supervisors for timed discrete-event systems. IEEE Trans.on Automatic Control 48 (7) July 2003, pp. 1187-1198.

[J40] R. Su, W.M. Wonham. Supervisor reduction for discrete-event systems. Discrete Event DynamicSystems 14 (1) January 2004, pp. 31-53.

[J41] K.C. Wong, W.M. Wonham. On the computation of observers in discrete-event systems. DiscreteEvent Dynamic Systems 14 (1) January 2004, pp. 55-107.

[J42] S. Hashtrudi Zad, R.H. Kwong, W.M. Wonham. Fault diagnosis in discrete-event systems: in-corporating timing information. IEEE Trans. on Automatic Control 50 (7) 2005, pp. 1010-1015.

[J43] S. Hashtrudi Zad, M. Moosaei, W.M. Wonham. On computation of supremal controllable, normalsublanguages. Systems & Control Letters 54 (9) September 2005, pp. 871-876.

[J44] M. Uzam, W.M. Wonham. A hybrid approach to supervisory control of discrete event systemscoupling RW supervisors to Petri nets. Intnl. J. of Advanced Manufacturing Technology 28 (7-8)2006, pp. 747-760.

[J45] R.J. Leduc, B.A. Brandin, M. Lawford, W.M. Wonham. Hierarchical interface-based supervisorycontrol, part I: serial case. IEEE Trans. on Automatic Control 50 (9) September 2005, pp.1322-1335.

[J46] R.J. Leduc, M. Lawford, W.M. Wonham. Hierarchical interface-based supervisory control, partII: parallel case. IEEE Trans. on Automatic Control 50 (9) September 2005, pp. 1336-1348.

[J47] Max H. Queiroz, Jose E. Cury, W.M. Wonham. Multitasking supervisory control of discrete-eventsystems. Discrete Event Dynamic Systems 15 (4) December 2005, pp. 375-395.

433

Page 451: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

[J48] P. Gohari, W.M. Wonham. Efficient implementation of fairness in discrete-event systems usingqueues. IEEE Trans. on Automatic Control 50 (11) November 2005, pp. 1845-1849.

[J49] R. Su, W.M. Wonham. Global and local consistencies in distributed fault diagnosis for discrete-event systems. IEEE Trans. on Automatic Control 50 (12) December 2005, pp. 1923-1935.

[J50] S.E. Bourdon, M. Lawford, W.M. Wonham. Robust nonblocking supervisory control of discrete-event systems. IEEE Trans. on Automatic Control 50 (12) December 2005, pp. 2015-2021.

[J51] R. Su, W.M. Wonham. Hierarchical fault diagnosis for discrete-event systems under global con-sistency. Discrete Event Dynamic Systems 16 (1) January 2006, pp. 39-70.

[J52] C. Ma, W.M. Wonham. Nonblocking supervisory control of state tree structures. IEEE Trans.on Automatic Control 51 (5) May 2006, pp. 782-793.

[J53] A. Saadatpoor, W.M. Wonham. State-based control of timed discrete-event systems using binarydecision diagrams. Systems & Control Letters 56 (1) January 2007, pp. 62-74.

[J54] Y.-Z. Chen, W.M. Wonham. Supervisory control based on vector synchronous product of au-tomata. Studies in Informatics and Control 16 (1) March 2007, pp. 7-18.

[J55] L. Feng, W.M. Wonham, P.S. Thiagarajan. Designing communicating transaction processes bysupervisory control theory. Formal Methods in System Design 30 (2) April 2007, pp. 117-141.

[J56] L. Feng, W.M. Wonham. Supervisory control architecture for discrete-event systems. IEEETrans. on Automatic Control 53 (6) July 2008, pp. 1449-1461.

[J57] A. Nabavi, R. Iravani, A. Afzalian, W.M. Wonham. Discrete-event systems supervisory controlfor a dynamic flow controller. IEEE Trans. on Power Delivery 24 (1) January 2009, pp. 219-230.

[J58] A. Afzalian, A. Saadatpoor, W.M. Wonham. Systematic supervisory control solutions for under-load tap-changing transformers. Control Engineering Practice 16 (9) September 2008, pp. 1035-1054.

[J59] L. Feng, K. Cai, W.M. Wonham. A structural approach to the nonblocking supervisory controlof discrete-event systems. International J. of Advanced Manufacturing Technology 41 (11) 2009,pp. 1152-1167.

[J60] L. Feng, W.M. Wonham. On the computation of natural observers in discrete-event systems.Discrete Event Dynamic Systems 20 (1) March 2010, pp. 63-102.

[J61] K. Cai, W.M. Wonham. Supervisor localization: a top-down approach to distributed control ofdiscrete-event systems. IEEE Trans. Automatic Control 55 (3) March 2010, pp. 605-618.

[J62] K. Cai, W.M. Wonham. Supervisor localization for large discrete-event systems: case study,production cell. International J. of Advanced Manufacturing Technology [to appear; publishedonline SpringerLink 2010.03.07].

434

Page 452: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Conference Papers

[C01] P.J. Ramadge, W.M. Wonham. Supervisory control of discrete event processes. Joint Workshopon Feedback & Synthesis of Linear & Nonlinear Systems. Istituto di Automatica, Univ. diRoma, June 1981. In: D. Hinrichsen, A. Isidori (eds.), Feedback Control of Linear and NonlinearSystems, Lecture Notes on Control and Information Sciences No. 39, Springer-Verlag, Berlin,1982, pp. 202-214.

[C02] P.J. Ramadge, W.M. Wonham. Algebraic decomposition of controlled sequential machines.Eighth Triennial World Congress, Intnl. Fedn. Aut. Control (IFAC), Kyoto, August 1981.Preprints, vol. 3, pp. 37-41.

[C03] P.J. Ramadge, W.M. Wonham. Supervision of discrete event processes. Proc. 21st IEEE Conf.on Decision and Control, IEEE Control Systems Society, New York, December 1982, pp. 1228-1229.

[C04] P.J. Ramadge, W.M. Wonham. Supervisory control of a class of discrete event processes. Proc.Sixth Intnl. Conference on Analysis and Optimization of Systems, Nice, June 1984. In: A.Bensoussan, J.L. Lions (eds.), Analysis and Optimization of Systems, Lecture Notes on Controland Information Sciences No. 63, Springer-Verlag, Berlin, 1984; Part 2, pp. 477-498.

[C05] W.M. Wonham, P.J. Ramadge. On the supremal controllable sublanguage of a given language.Proc. 23rd IEEE Conf. on Decision and Control, IEEE Control Systems Society, New York,December 1984, pp. 1073-1080.

[C06] W.M. Wonham, P.J. Ramadge. On modular synthesis of supervisory controls for discrete eventprocesses. Proc. Intnl. Conf. on Computers, Systems and Signal Processing, IEEE and I.I.Sc.,Bangalore, December 1984, pp. 500-504.

[C07] W.M. Wonham. On control of discrete event systems. Seventh Intnl. Symp. on the Mathemat-ical Theory of Networks and Systems (MTNS-85), Stockholm, June 1985. In: C.I. Byrnes, A.Lindquist (eds.), Computational and Combinatorial Methods in Systems Theory, North-Holland,Amsterdam, 1986, pp. 159-174.

[C08] F. Lin, W.M. Wonham. On the computation of supremal controllable sublanguages. Proc. 23rdAnnual Allerton Conf. on Communication, Control and Computing. Univ. of Illinois, Urbana,October 1985, pp. 942-950.

[C09] J.G. Thistle, W.M. Wonham. On the use of temporal logic in control theory. Proc. 23rd AnnualAllerton Conf. on Communication, Control and Computing. Univ. of Illinois, October 1985, pp.961-970.

[C10] A. Vaz, W.M. Wonham. On supervisor reduction in discrete event systems. Proc. 23rd AnnualAllerton Conf. on Communication, Control and Computing. Univ. of Illinois, Urbana, October1985, pp. 933-939.

435

Page 453: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

[C11] J.S. Ostroff, W.M. Wonham. A temporal logic approach to real time control. Proc. 24th IEEEConf. on Decision and Control, IEEE Control Systems Society, New York, December 1985,pp.656-657.

[C12] P.J. Ramadge, W.M. Wonham. Modular supervisory control of discrete event systems. SeventhIntnl. Conf. on Analysis and Optimization of Systems, Antibes, June 1986. In: A. Bensous-san, J.L. Lions (eds.), Analysis and Optimization of Systems, Lecture Notes on Control andInformation Sciences (LNCIS) 83, Springer-Verlag, New York, 1986, pp. 202-214.

[C13] P.J. Ramadge, W.M. Wonham. Modular feedback logic for discrete event systems. FourthIFAC/IFORS Symp., Large Scale Systems: Theory and Applications, Zurich, August 1986. In:H.P. Geering, M. Mansour (eds.), Large Scale Systems: Theory and Applications. PergamonPress, Oxford, August 1986, vol.1, pp. 83-88.

[C14] W.M. Wonham. Some remarks on control and computer science. Workshop on Future Directionsin System Theory and Applications, Univ. of Santa Clara, September 1986.

[C15] Y. Li, W.M. Wonham. Supervisory control of real-time discrete-event systems. Proceedings, 1987American Control Conference, Minneapolis, June 1987, pp. 1715-1720.

[C16] F. Lin, W.M. Wonham. Supervisory control and observation of discrete-event systems. MTNS’87 - Mathematical Theory of Networks and Systems - International Symposium, Phoenix, June1987. In: Byrnes, C.I., Martin, C.F., Saeks, R.E. (eds.): Analysis and Control of NonlinearSystems. North-Holland, Amsterdam, 1988, pp. 337-348.

[C17] J.G. Thistle, W.M. Wonham. Supervisory control with infinite-string specifications. Proc.Twenty-Fifth Annual Allerton Conference on Communication, Control and Computing, Uni-versity of Illinois, 1987, vol. 1, pp. 327-334.

[C18] W.M. Wonham. Logic and language in control theory. Proc. Twenty-Fifth Annual AllertonConference on Communication, Control and Computing, University of Illinois, 1987, vol. 1, pp.1-3.

[C19] J.S. Ostroff, W.M. Wonham. State machines, temporal logic and control: a framework for discreteevent systems. Proc. 26th IEEE Conference on Decision and Control, IEEE Control SystemsSociety, New York, 1987, pp. 681-686.

[C20] J.S. Ostroff, W.M. Wonham. Modelling, specifying and verifying real-time embedded computersystems. Proc. Eighth Real-Time Systems Symposium, IEEE Computer Society, New York,December 1987, pp. 124-132.

[C21] H. Zhong, W.M. Wonham. On hierarchical control of discrete-event systems. Proc. 1988 Confer-ence on Information Sciences and Systems, Dept. of Electrical Engineering, Princeton University,1988, pp. 64-70.

[C22] Y. Li, W.M. Wonham. Deadlock issues in supervisory control of discrete-event systems. Proc.1988 Conference on Information Sciences and Systems, Dept. of Electrical Engineering, PrincetonUniversity, 1988, pp. 57-63.

436

Page 454: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

[C23] J.G. Thistle, W.M. Wonham. On the synthesis of supervisors subject to ω-language specifications.Proc. 1988 Conference on Information Sciences and Systems, Dept. of Electrical Engineering,Princeton University, 1988, pp. 440-444.

[C24] Y. Li, W.M. Wonham. A state-variable approach to the modeling and control of discrete-eventsystems. Proc. Twenty-Sixth Annual Allerton Conference on Communication, Control, andComputing. University of Illinois, September 1988, pp. 1140-1149.

[C25] W.M. Wonham. A control theory for discrete-event systems. In: M.J. Denham, A.J. Laub (eds.),Advanced Computing Concepts and Techniques in Control Engineering, NATO ASI Series, vol.F47, Springer-Verlag, Berlin, 1988; pp. 129-169.

[C26] W.M. Wonham. A language-based control theory of discrete-event systems. Preprints, ShellConference on Logistics, Appeldoorn, The Netherlands, October 1988. In C.F.H. van Rijn (Ed.),Logistics - Where Ends Have To Meet, Pergamon, Oxford (UK), 1989, pp. 158- 169.

[C27] Y. Li, W.M. Wonham. Controllability and observability in the state-feedback control of discrete-event systems. Proc. 27th IEEE Conference on Decision and Control, IEEE Control SystemsSociety, New York, December 1988, pp. 203-208.

[C28] F. Lin, W.M. Wonham. Decentralized control and coordination of discrete-event systems. Proc.27th IEEE Conference on Decision and Control, IEEE Control Systems Society, New York, De-cember 1988, pp. 1125-1130.

[C29] Y. Li, W.M. Wonham. Composition and modular state-feedback control of vector discrete-eventsystems. Proc. 1989 Conf. on Information Sciences and Systems, The Johns Hopkins University,Baltimore, March 1989, pp. 103-111.

[C30] Y. Li, W.M. Wonham. Strict concurrency and nondeterministic control of discrete-event systems.Proc. 28th IEEE Conference on Decision and Control, IEEE Control Systems Society, New York,December 1989, pp. 2731-2736.

[C31] T. Ushio, Y. Li, W.M. Wonham. Basis feedback, weak interaction, and concurrent well-posednessin concurrent discrete-event systems. Proc. 28th IEEE Conference on Decision and Control, IEEEControl Systems Society, New York, December 1989, pp. 127-131.

[C32] F. Lin, R.D. Brandt, W.M. Wonham. A note on supremal controllable and normal sublanguages.Proc. Twenty-Seventh Annual Allerton Conf. on Communication, Control and Computing,September 1989, pp. 491-500.

[C33] Y. Li, W.M. Wonham. Linear integer programming techniques in the control of vector discrete-event systems. Proc. Twenty-Seventh Annual Allerton Conf. on Communication, Control andComputing, Univ. of Illinois, September 1989, pp. 528-537.

[C34] H. Zhong, W.M. Wonham. Hierarchical control of discrete-event systems: computation and exam-ples. Proc. Twenty-Seventh Annual Allerton Conf. on Communication, Control and Computing,Univ. of Illinois, September 1989, pp. 511-519.

437

Page 455: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

[C35] N.Q. Huang, Y. Li, W.M. Wonham. Supervisory control of vector discrete-event systems. Proc.Twenty-Seventh Annual Allerton Conf. on Communication, Control and Computing, Univ. ofIllinois, September 1989, pp. 925-934.

[C36] S.D. O’Young, W.M. Wonham. Object-oriented computation and simulation of large-scale dis-crete event systems. Proc. Twenty-Seventh Annual Allerton Conf. on Communication, Controland Computing, Univ. of Illinois, September 1989, pp. 945-954.

[C37] K. Rudie, W.M. Wonham. Supervisory control of communicating processes. Tenth InternationalIFIP WG 6.1 Symposium on Protocol Specification, Testing and Verification. Ottawa, June 1990.[In L. Logrippo, R.L. Probert, H. Ural (Eds.). Protocol Specification, Testing and Verification,X. Elsevier (North-Holland), 1990, pp. 243-257.]

[C38] H. Zhong, W.M. Wonham. Hierarchical coordination. Proc. Fifth IEEE International Sympo-sium on Intelligent Control. Philadelphia, September 5-7, 1990, pp. 8-14.

[C39] K. Rudie, W.M. Wonham. Think globally, act locally: decentralized supervisory control. Proc.1991 American Control Conference, Boston, June 1991, pp. 898-903.

[C40] W.M. Wonham. Some current research directions in control of discrete-event systems. Presentedat European Control Conference ECC 91, Grenoble, July 1991. [preprint available separatelyfrom Proceedings]

[C41] B.A. Brandin, B. Benhabib, W.M. Wonham. Discrete event system supervisory control appliedto the management of manufacturing workcells. Proc. Seventh International Conference onComputer-Aided Production Engineering, Cookeville TN USA, August 1991; Elsevier, Amster-dam, 1991, pp. 527-536.

[C42] J.G. Thistle, W.M. Wonham. Control of ω-automata, Church’s problem, and the emptinessproblem for tree ω-automata. Proc. Computer Science Logic CSL ’91 (Institut fur Informatikund angewandte Mathematik, Universitat Bern, Bern, Switzerland, October 1991). In E.Borger,G. Jager, H.K Buning, M.M. Richter (Eds.). Lecture Notes in Computer Science (LNCS) 626,Springer-Verlag, Berlin, 1992, pp. 367-381.

[C43] M. Lawford, W.M. Wonham. An application of real-time transformational equivalence. Proc.1992 Conference on Information Sciences and Systems, vol. 1, pp. 233-238, Princeton University,Princeton NJ, 1992.

[C44] B.A. Brandin, W.M. Wonham, B. Benhabib. Manufacturing cell supervisory control - a timeddiscrete event system approach. Proc. 1992 IEEE International Conference on Robotics andAutomation, Nice, France, May 1992, pp. 931-936.

[C45] B.A. Brandin, W.M. Wonham, B. Benhabib. Modular supervisory control of timed discrete-event systems. Proc. Thirtieth Annual Allerton Conference on Communication, Control andComputing, University of Illinois, 1992, pp. 624-632.

438

Page 456: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

[C46] K.C. Wong, W.M. Wonham. Hierarchical and modular control of discrete-event systems. Proc.Thirtieth Annual Allerton Conference on Communication, Control and Computing, University ofIllinois, 1992, pp. 614-623.

[C47] S.-L. Chen, W.M. Wonham. Existence and design of supervisors for vector discrete-event sys-tems. Proc. Thirtieth Annual Allerton Conference on Communication, Control and Computing,University of Illinois, 1992, pp. 604-613.

[C48] T.-J. Ho, W.M. Wonham. A framework for timed discrete-event systems. Proc. Thirtieth AnnualAllerton Conference on Communication, Control and Computing, University of Illinois, 1992, pp.650-651.

[C49] K. Rudie, W.M. Wonham. Protocol verification using discrete-event systems. Proc. 31st IEEEConference on Decision and Control, Tucson, Arizona, December 1992, pp. 3770-3777.

[C50] M. Lawford, W.M. Wonham. Equivalence preserving transformations for timed transition models.Proc. 31st IEEE Conference on Decision and Control, Tucson, Arizona, December 1992, pp.3350-3356.

[C51] B.A. Brandin, W.M. Wonham. Supervisory control of timed discrete-event systems. Proc. 31stIEEE Conference on Decision and Control, Tucson, Arizona, December 1992, pp. 3357-3362.

[C52] B.A. Brandin, W.M. Wonham, B. Benhabib. Manufacturing cell supervisory control - a modulartimed discrete-event system approach. Proc. IEEE International Conference on Robotics andAutomation, Atlanta, Georgia, May 1993, pp. 931-936.

[C53] K.C. Wong, W.M. Wonham. Hierarchical control of timed discrete-event systems. Proc. SecondEuropean Control Conference 1993, Groningen, The Netherlands, June-July 1993, pp. 509-512.

[C54] M. Lawford, W.M. Wonham. Supervisory control of probabilistic discrete event systems. Proc.36th Midwest Symposium on Circuits and Systems, Detroit, MI, August 1993, pp. 327-331.

[C55] B.A. Brandin, W.M. Wonham. Modular supervisory control of timed discrete-event systems.Proc. 32nd IEEE Conference on Decision and Control, IEEE Control Systems Society, NewYork, December 1993, pp. 2230-2235.

[C56] M. Lawford, W.M. Wonham, J.S. Ostroff. State-event observers for labeled transition systems.Proc. 33rd IEEE Conference on Decision and Control, December 1994, pp. 3642-3648.

[C57] W.M. Wonham. Supervisory control automata for discrete event systems. Preprints, ADEDOPSWorkshop (Analysis and Design of Event-Driven Operations in Process Systems), Centre forProcess Systems Engineering, Imperial College of Science Technology and Medicine, London UK,April 1995; 34 pp.

[C58] S.L. Chen, W.M. Wonham. Existence and design of supervisors for vector discrete-event systems.Proc. 1995 Canadian Conference on Electrical and Computer Engineering, Montreal, September1995, pp. 805-808.

439

Page 457: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

[C59] R.J. Leduc, W.M. Wonham. Discrete event systems modeling and control of a manufacturingtestbed. Proc. 1995 Canadian Conference on Electrical and Computer Engineering, Montreal,September 1995, pp. 793-796.

[C60] S.L. Chen, W.M. Wonham. Supervisory control of finite automata under dynamic predicatespecifications. Proc. Thirty-Third Annual Allerton Conference on Communication, Control andComputing, University of Illinois, October, 1995, pp. 501-509.

[C61] R.J. Leduc, W.M. Wonham. PLC implementation of a DES supervisor for a manufacturingtestbed. Proc. Thirty-Third Annual Allerton Conference on Communication, Control and Com-puting, University of Illinois, October, 1995, pp. 519-528.

[C62] K.C. Wong, W.M. Wonham. Modular control and coordination of discrete-event systems. Proc.4th IEEE Mediterranean Symposium on New Directions in Control & Automation, Chania, Crete,Greece, June 1996; pp. 595-599.

[C63] K.C. Wong, W.M. Wonham. Modular control and coordination of a transfer line: a tutorialexample. Pre-Proceedings of the 1996 Workshop on Theoretical Problems on ManufacturingSystems Design and Control, Univ. of Minho and Univ. of Parma, Lisbon, June 1996; pp. 21-29.

[C64] M. Lawford, J.S. Ostroff, W.M. Wonham. Model reduction of modules for state-event temporallogics. Workshop on Application of Formal Methods to System Development: Telecommunica-tions, VLSI and Real-Time Computerized Control Systems. Jacques Cartier Centre, Montreal,October 1996; pp. 281-287.

[C65] M. Lawford, J.S. Ostroff, W.M. Wonham. Model reduction of modules for state-event temporallogics. In R. Gotzhein, J. Bredereke (Eds.), Formal Description Techniques IX, Chapman &Hall, London, 1996; pp. 263-278. [IFIP TC6/6.1 International Conference on Formal DescriptionTechniques IX/ Protocol Specification, Testing and Verification XVI, Kaiserslautern, Germany,8-11 October 1996]

[C66] Hashtrudi Zad, R.H. Kwong, W.M. Wonham. Supremum operators and computation of supremalelements in system theory. Proc. 1997 IEEE Conference on Decision and Control (CDC’97),December 1997, pp. 2946-2951.

[C67] W.M. Wonham, P. Gohari M. A linguistic framework for controlled hierarchical DES. Interna-tional Workshop on Discrete Event Systems (WODES ’98). IEE, London, August 1998; pp.207-212.

[C68] S. Hashtrudi Zad, R.H. Kwong, W.M. Wonham. Fault diagnosis in discrete-event systems: frame-work and model reduction. Proc. 1998 IEEE Conference on Decision and Control (CDC’98),December 1998, pp. 3769-3774.

[C69] C.Y.P. Chen, W.M. Wonham. Non-preemptive scheduling of periodic tasks: a discrete-eventcontrol approach. Proc. Fifth International Conference on Control, Automation, Robotics andVision. Nanyang Technological University, Singapore, December 8-11, 1998; pp. 1674-1678.

440

Page 458: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

[C70] C.Y.P. Chen, W.M. Wonham. Real-time supervisory control of a processor for non-preemptiveexecution of periodic tasks. Proc. IFAC-99 World Congress, Beijing, July 1999, Vol. J, pp. 13-18.

[C71] S. Hashtrudi Zad, R.H. Kwong, W.M. Wonham. Fault diagnosis in timed discrete-event systems.Proc. 1999 IEEE Conference on Decision and Control (CDC’99), pp. 1756-1761.

[C72] R. Minhas, W.M. Wonham. Modelling of timed discrete event systems. Proc. Thirty-SeventhAnnual Allerton Conference on Communication, Control and Computing, Allerton, IL, September1999, pp. 75-84.

[C73] S. Abdelwahed, W.M. Wonham. Interacting discrete event systems. Proc. Thirty-Seventh AnnualAllerton Conference on Communication, Control and Computing, Allerton. IL, September 1999,pp. 85-92.

[C74] S. Hashtrudi Zad, R.H. Kwong, W.M. Wonham. Fault diagnosis in finite-state automata andtimed discrete-event systems. In: D. Miller, L. Qiu (Eds.), Topics in Control and Its Applications,pp. 81-105. Springer-Verlag, 1999.

[C75] W.M. Wonham. Supervisory control of discrete-event systems: an introduction. Proc. IEEEIntnl. Conf. on Industrial Technology 2000 (ICIT2000), Goa, India, January 19-22, 2000; pp.474-479.

[C76] K.C. Wong, W.M. Wonham. On the computation of observers in discrete-event systems. 2000Conference on Information Sciences and Systems, Princeton University, March 15-17, 2000, pp.TP1.7-TP1.12.

[C77] R. Su, W.M. Wonham. Decentralized fault diagnosis for discrete-event systems. 2000 Conferenceon Information Sciences and Systems, Princeton University, March 15-17, 2000, pp. TP1.1-TP1.6.

[C78] R.J. Leduc, B.A. Brandin, W.M. Wonham. Hierarchical interface-based non-blocking verification.Canadian Conference on Electrical and Computer Engineering (CCECE 2000), Halifax, May 7-10,2000, pp. 1-6.

[C79] P. Gohari, W.M. Wonham. Reduced supervisors for timed discrete-event systems. In R. Boel, G.Stremersch (Eds.), Discrete Event Systems: Analysis and Control [Proc. WODES2000], Kluwer,2000; pp. 119-130.

[C80] S. Hashtrudi Zad, R.H. Kwong, W.M. Wonham. Fault diagnosis and consistency in hybridsystems. Proc. Thirty-Eighth Annual Allerton Conference on Communications, Control, andComputing, Allerton, IL, October 2000; pp. 1135-1144.

[C81] S.E. Bourdon, W.M. Wonham, M. Lawford. Invariance under scaling of time bounds in timeddiscrete-event systems. Proc. Thirty-Eighth Annual Allerton Conference on Communications,Control, and Computing, Allerton, IL, October 2000; pp. 1145-1154.

[C82] R. Su, W.M. Wonham. Supervisor reduction for discrete-event systems. 2001 Conference onInformation Sciences and Systems, The Johns Hopkins University, March 21-23, 2001 [6 pp.].

441

Page 459: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

[C83] P. Dietrich, R. Malik, W.M. Wonham, B.A. Brandin. Implementation considerations in super-visory control. In B. Caillaud, X. Xie (Eds.), Proc. Symposium on the Supervisory Control ofDiscrete Event Systems (SCODES’2001), INRIA, Paris, July 2001; pp. 27-38.

[C84] Z.H. Zhang, W.M. Wonham. STCT: an efficient algorithm for supervisory control design. InB. Caillaud, X. Xie (Eds.), Proc. Symposium on the Supervisory Control of Discrete EventSystems (SCODES’2001), INRIA, Paris, July 2001; pp. 82-93. See also: B. Caillaud et al. (Eds.).Synthesis and Control of Discrete Event Systems, Kluwer 2002; pp. 77-100.

[C85] R.J. Leduc, B.A. Brandin, W.M. Wonham, M. Lawford. Hierarchical interface-based supervisorycontrol: serial case. Proc. 40th IEEE Conference on Decision & Control, Orlando, Fla., December2001, pp. 4116-4121.

[C86] R.J. Leduc, W.M. Wonham, M. Lawford. Hierarchical interface-based supervisory control: par-allel case. Proc. Thirty-Ninth Annual Allerton Conference on Communications, Control, andComputing, Allerton, IL, October 2001, pp. 386-395.

[C87] R.J. Leduc, M. Lawford, W.M. Wonham. Hierarchical interface-based supervisory control: AIPexample. Proc. Thirty-Ninth Annual Allerton Conference on Communications, Control, andComputing, Allerton, IL, October 2001, pp. 396-405.

[C88] W.M. Wonham. Supervisory control of discrete-event systems. In Asit K. Datta, Anish Deb,Samarjit Sengupta (Eds.): Proc. Intnl. Conf. on Control, Instrumentation and InformationCommunication (CIIC 2001), Dept. of Applied Physics, U. of Calcutta, 13-15 December 2001;pp. 321-330.

[C89] S.E. Bourdon, M. Lawford, W.M. Wonham. Robust nonblocking supervisory control of discrete-event systems. Proc. 2002 American Control Conference, Anchorage, May 2002, pp. 730-735.

[C90] P.C.Y. Chen, W.M. Wonham. Computation of complete schedules for execution of periodic taskson a processor with preemption. Proc. 4th Asia Control Conference, Singapore, September 25-27,2002, pp. 1904-1909.

[C91] W. Wu, H. Su, J. Chu, W.M. Wonham. Colored Petri net control of OR-logic. Proc. 2002 IEEEInternational Symposium on Intelligent Control, Vancouver, October 27-30, 2002, pp. 795-800.

[C92] R. Su, W.M. Wonham. Distributed diagnosis for qualitative systems. Proc. International Work-shop on Discrete Event Systems (WODES ’02), Zaragoza, Spain, October 2002, pp. 169-174.

[C93] S. Abdelwahed, W.M. Wonham. Supervisory control of interacting discrete event systems. Proc.41st IEEE Conference on Decision and Control, Las Vegas, December 2002, pp. 1175-1180.

[C94] R. Su, W.M. Wonham. Probabilistic reasoning in distributed diagnosis for qualitative systems.Proc. 41st IEEE Conference on Decision and Control, Las Vegas, December 2002, pp. 429-434.

[C95] C. Ma, W.M. Wonham. Control of state tree structures. Proc. 11th Mediterranean Conferenceon Control and Automation, Rhodes (Greece), June 2003, paper T4-005 (6 pp.).

442

Page 460: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

[C96] S. Abdelwahed, W.M. Wonham. Blocking detection in discrete-event systems. Proc. 2003 Amer-ican Control Conference, June 2003, pp. 1673-1678.

[C97] R. Minhas, W.M. Wonham. Online supervision of discrete event systems. Proc. 2003 AmericanControl Conference, June 2003, pp. 1685-1690.

[C98] W.M. Wonham. Supervisory control theory: models and methods. Proc. ATPN - Workshop onDiscrete Event Systems Control, 24th International Conference on Application Theory of PetriNets (ATPN 2003), Eindhoven, The Netherlands, June 2003; pp. 1-14.

[C99] M.H. de Queiroz, J.E.R. Cury, W.M. Wonham. Multi-tasking supervisory control of discrete-eventsystems. Proc. 7th International Workshop on Discrete Event Systems (WODES’04), Reims,September 2004, pp. 175-180.

[C100] R. Su, W.M. Wonham. A model of component consistency in distributed diagnosis. Proc. 7thInternational Workshop on Discrete Event Systems (WODES’04), Reims, September 2004, pp.427-432.

[C101] R. Su, W.M. Wonham. Hierarchical distributed diagnosis under global consistency. Proc. 7thInternational Workshop on Discrete Event Systems (WODES’04), Reims, September 2004, pp.157-162.

[C102] R. Su, W.M. Wonham. An algorithm to achieve local consistency in distributed systems. Proc.43rd IEEE Conference on Decision and Control (CDC’04), December 2004, pp. 998-1003.

[C103] R. Su, W.M. Wonham. Distributed diagnosis under global consistency. Proc. 43rd IEEE Con-ference on Decision and Control (CDC’04), December 2004, pp. 525-530.

[C104] L. Feng, W.M. Wonham, P.S. Thiagarajan. Designing communicating transaction processes bysupervisory control theory. Proc. Forty-Second Annual Allerton Conference on Communications,Control, and Computing, Allerton, IL, October 2004; pp. 1060-1069.

[C105] R. Su, W.M. Wonham. Undecidability of termination of CPLC for computing supremal localsupport. Proc. Forty-Second Annual Allerton Conference on Communications, Control, andComputing, Allerton, IL, October 2004; pp. 604-613.

[C106] A. Saadatpoor, W.M. Wonham. State based control of timed discrete event systems using binarydecision diagrams. Proc. Forty-Second Annual Allerton Conference on Communications, Control,and Computing, Allerton, IL, October 2004; pp. 1070-1079.

[C107] C. Ma, W.M. Wonham. A symbolic approach to the supervision of state tree structures. Proc.13th IEEE Mediterranean Conference on Control and Automation (MED’05), Limassol, Cyprus,June 2005, paper TuM04.5 (6 pp.).

[C108] A.A. Afzalian, W.M. Wonham. Discrete-event system supervisory controller design for an electri-cal power transmission network. 14th Iranian Conference on Electrical Engineering (ICEE2006),Tehran, July 2006.

443

Page 461: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

[C109] L. Feng, W.M. Wonham. Computationally efficient supervisor design: abstraction and modular-ity. Proc. 8th International Workshop on Discrete-Event Systems (WODES’06), U. of Michigan,Ann Arbor, MI, July 2006, pp. 3-8.

[C110] L. Feng, W.M. Wonham. Computationally efficient supervisor design: control-flow decomposi-tion. Proc. 8th International Workshop on Discrete-Event Systems (WODES’06), U. of Michigan,Ann Arbor, MI, July 2006, pp. 9-14.

[C111] A.A. Afzalian, A. Saadatpoor, W.M. Wonham. Discrete-event system modeling and supervisorycontrol for under-load tap-changing transformers. IEEE International Conference on Control Ap-plications & IEEE International Symposium on Computer-Aided Control Systems Design & IEEEInternational Symposium on Intelligent Control (2006 CCA/CACSD/ISIC), Tech. U. Munchen,Munich, Germany, October 2006.

[C112] A. Saadatpoor, A.A. Afzalian, W.M. Wonham. Timed discrete-event systems supervisory controlfor under-load tap-changing transformers. Third Intnl. Conference on Informatics in Control,Automation and Robotics (ICINCO 2006), Setubal, Portugal, August 2006.

[C113] L. Feng, W.M. Wonham. On the computation of natural observers in discrete-event systems.Proc. 45th IEEE Conference on Decision and Control (CDC’06), San Diego, CA, December2006, pp. 428-433.

[C114] A. Saadatpoor, A.A. Afzalian, W.M. Wonham. Hierarchical control of under-load tap-changingtransformers using DES. Third International Conference on Informatics in Control, Automationand Robotics (ICINCO 2006), Setubal, Portugal, August 2006.

[C115] Y.Z. Chen, W.M. Wonham. Supervisory control based on vector synchronous product of au-tomata. Multiconference on Computational Engineering in Systems Applications, Beijing, Octo-ber 4-6, 2006.

[C116] A. Saadatpoor, W.M. Wonham. Supervisor state size reduction for timed discrete-event systems.Proc. 2007 American Control Conference (2007 ACC), New York, July 2007.

[C117] A. Saadatpoor, C. Ma, W.M. Wonham. Supervisory control of timed state tree structures. 2008American Control Conference (2008 ACC), Seattle, Washington, June 11-13, 2008.

[C118] C. Ma, W.M Wonham. STSLib and its application to two benchmarks. Proc. 9th InternationalWorkshop on Discrete Event Systems (WODES’08), Goteborg, Sweden, May 28-30, 2008; pp.119-124.

[C119] K. Cai, W.M. Wonham. Supervisor localization: a top-down approach to distributed controlof discrete-event systems. In L. Beji, S. Otmane, A. Abichou (Eds.), Proc. 2nd MediterraneanConference on Intelligent Systems & Automation (CISA’09), Zarzis, Tunisia, March 23-25, 2009;pp. 302-308.

[C120] K. Cai, W.M. Wonham. Supervisor localization for large-scale discrete-event systems. Joint 48thIEEE Conference on Decision and Control and 28th Chinese Control Conference, Shanghai, PRChina, December 16-18, 2009; pp. 3099-3105.

444

Page 462: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Graduate Theses

[T01] P.J. Ramadge. Control and Supervision of Discrete Event Processes. Ph.D. Thesis, Dept. ofElectl. Engrg., Univ. of Toronto, May 1983.

[T02] F. Lin. Supervisor Synthesis for Discrete Event Processes. M.A.Sc. Thesis, Dept. of Electl.Engrg., Univ. of Toronto, August 1984.

[T03] R.S.W. Chan. Simulation and Modelling of a Supervisory Control System Using ConcurrentEuclid. M.A.Sc. Thesis, Dept. of Electl. Engrg., Univ. of Toronto, September 1984.

[T04] J.G. Thistle. Control Problems in a Temporal Logic Setting. M.A.Sc. Thesis, Dept. of Electl.Engrg., Univ. of Toronto, January 1985.

[T05] Y. Li. Supervisory Control of Real-Time Discrete Event Systems. M.A.Sc. Thesis, Dept. ofElectl. Engrg., Univ. of Toronto, July 1986.

[T06] J. Ostroff. Real-Time Computer Control of Discrete Systems Modelled by Extended State Ma-chines: A Temporal Logic Approach. Ph.D. Thesis, Dept. of Electl. Engrg., Univ. of Toronto,January 1987.

[T07] J. Shifman. A Hierarchical Approach to Path Planning for Robots. M.A.Sc. Thesis, Dept. ofElectl. Engrg., Univ. of Toronto, September 1987.

[T08] F. Lin. On Controllability and Observability of Discrete Event Systems. Ph.D. Thesis, Dept. ofElectl. Engrg., Univ. of Toronto, November 1987.

[T09] H. Zhong. Control of Discrete-Event Systems: Decentralized and Hierarchical Control. M.A.Sc.Thesis, Dept. of Electl. Engrg., Univ. of Toronto, December 1987.

[T10] K. Rudie. Software for the Control of Discrete-Event Systems: A Complexity Study. M.A.Sc.Thesis, Dept. of Electl. Engrg., Univ. of Toronto, March 1988.

[T11] B.A. Brandin. The Supervisory Control of Discrete Event Systems with Forcible Events. M.A.Sc.Thesis, Dept. of Electl. Engrg., Univ. of Toronto, October 1989.

[T12] K.C. Wong. An Algebraic Description of Hierarchical Control in Discrete-Event Systems. M.A.Sc.Thesis, Dept. of Electl. Engrg., Univ. of Toronto, June 1990.

[T13] T.-M. Pai. Real Time Implementation of Discrete-Event Control Systems. M.A.Sc. Thesis, Dept.of Electl. Engrg., Univ. of Toronto, June 1990.

[T14] R.K. Wong. State-Based Discrete-Event Modeling and Control of Concurrent Systems. M.A.Sc.Thesis, Dept. of Electl. Engrg., Univ. of Toronto, November 1990.

[T15] J.G. Thistle. Control of Infinite Behaviour of Discrete-Event Systems. Ph.D. Thesis, Dept. ofElectl. Engrg., Univ. of Toronto, January 1991.

445

Page 463: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

[T16] N.-Q. Huang. Supervisory Control of Vector Discrete-Event Processes. M.A.Sc. Thesis, Dept. ofElectl. Engrg., Univ. of Toronto, April 1991.

[T17] Y. Li. Control of Vector Discrete-Event Systems. Ph.D. Thesis, Dept. of Electl. Engrg., Univ.of Toronto, April 1991.

[T18] I.E.H. Caulder. Applications of Decentralized Hierarchical DES Control to TelecommunicationsNetwork Protocols. M.A.Sc. Thesis, Dept. of Electl. Engrg., Univ. of Toronto, August 1991.

[T19] M.S. Lawford. Transformational Equivalence of Timed Transition Models. M.A.Sc. Thesis, Dept.of Electl. Engrg., Univ. of Toronto, January 1992.

[T20] H. Zhong. Hierarchical Control of Discrete-Event Systems. Ph.D. Thesis, Dept. of Electl. Engrg.,Univ. of Toronto, April 1992.

[T21] J. Liao. Hierarchical Control in Vector Discrete-Event Systems. M.A.Sc. Thesis, Dept. of Electl.Engrg., Univ. of Toronto, April 1992.

[T22] C.-Y. Yuen. Control Synthesis for Timed Discrete Event Systems. M.A.Sc. Thesis, Dept. ofElectl. Engrg., Univ. of Toronto, April 1992.

[T23] K. Rudie. Decentralized Control of Discrete-Event Systems. Ph.D. Thesis, Dept. of Electl.Engrg., Univ. of Toronto, June 1992.

[T24] S.-L. Chen. Existence and Design of Supervisors for Vector Discrete Event Systems. M.A.Sc.Thesis, Dept. of Electl. Engrg., Univ. of Toronto, July 1992.

[T25] B. Schwartz. State Aggregation of Controlled Discrete-Event Systems. M.A.Sc. Thesis, Dept. ofElectl. Engrg., Univ. of Toronto, July 1992.

[T26] B.A. Brandin. Real-Time Supervisory Control of Automated Manufacturing Systems. Ph.D.Thesis, Dept. of Electl. & Cmptr. Engrg., Univ. of Toronto, January 1993.

[T27] L. Zhu. Control Theory of Stochastic Discrete Event Systems. M.A.Sc. Thesis, Dept. of Electl.& Cmptr. Engrg., Univ. of Toronto, April 1993.

[T28] K.-C. Wong. Discrete-Event Control Architecture: An Algebraic Approach. Ph.D. Thesis, Dept.of Electl. & Cmptr. Engrg., Univ. of Toronto, June 1994.

[T29] B. Wang. Top-Down Design for RW Supervisory Control Theory. M.A.Sc. Thesis, Dept. ofElectl. & Cmptr. Engrg., Univ. of Toronto, June 1995.

[T30] R.J. Leduc. PLC Implementation of a DES Supervisor for a Manufacturing Testbed: An Imple-mentation Perspective. M.A.Sc. Thesis, Dept. of Electl. & Cmptr. Engrg., Univ. of Toronto,January 1996.

[T31] Y.-Q. Zhang. Software for State-Event Observation Theory and its Application to SupervisoryControl. M.A.Sc. Thesis, Dept. of Electl. & Cmptr. Engrg., Univ. of Toronto, January 1996.

446

Page 464: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

[T32] T.Y.L. Chun. Diagnostic Supervisory Control: A DES Approach. M.A.Sc. Thesis, Dept. ofElectl. & Cmptr. Engrg., Univ. of Toronto, August 1996.

[T33] S.-L. Chen. Control of Discrete-Event Systems of Vector and Mixed Structural Type. Ph.D.Thesis, Dept. of Electl. & Cmptr. Engrg., Univ. of Toronto, September 1996.

[T34] M.S. Lawford. Model Reduction of Discrete Real-Time Systems. Ph.D. Thesis, Dept. of Electl.& Cmptr. Engrg., Univ. of Toronto, January 1997.

[T35] X.-Q. Zhang. Control of Boolean Discrete-Event Systems. M.A.Sc. Thesis, Dept. of Electl. &Cmptr. Engrg., Univ. of Toronto, April 1997.

[T36] Y.-C. Guan. Implementation of Hierarchical Observer Theory. M.A.Sc. Thesis, Dept. of Electl.& Cmptr. Engrg., Univ. of Toronto, April 1997.

[T37] T.-J. Ho. The Control of Real-Time Discrete-Event Systems Subject to Predicate-Based Con-straints. Ph.D. Thesis, Dept. of Electl. & Cmptr. Engrg., Univ. of Toronto, August 1997.

[T38] P. Gohari-Moghadam. A Linguistic Framework for Controlled Hierarchical DES. M.A.Sc. Thesis,Dept. of Electl. & Cmptr. Engrg., Univ. of Toronto, April 1998.

[T39] C. Ma. A Computational Approach to Top-Down Hierarchical Supervisory Control of DES.M.A.Sc. Thesis, Dept. of Electl. & Cmptr. Engrg., Univ. of Toronto, April 1999.

[T40] S. Hashtrudi Zad. Fault Diagnosis in Discrete-Event and Hybrid Systems. Ph.D. Thesis, Dept.of Electl. & Cmptr. Engrg., Univ. of Toronto, August 1999.

[T41] K.Q. Pu. Modeling and Control of Discrete-Event Systems with Hierarchical Abstraction. M.A.Sc.Thesis, Dept. of Electl. & Cmptr. Engrg., Univ. of Toronto, March 2000.

[T42] R. Su. Decentralized Fault Diagnosis for Discrete-Event Systems. M.A.Sc. Thesis, Dept. ofElectl. & Cmptr. Engrg., Univ. of Toronto, April 2000.

[T43] Y.W. Wang. Supervisory Control of Boolean Discrete-Event Systems. M.A.Sc. Thesis, Dept. ofElectl. & Cmptr. Engrg., Univ. of Toronto, June 2000.

[T44] Z.H. Zhang. Smart TCT: An Efficient Algorithm for Supervisory Control Design. M.A.Sc. Thesis,Dept. of Electl. & Cmptr. Engrg., Univ. of Toronto, April 2001.

[T45] S. Abdelwahed. Interacting Discrete-Event Systems: Modeling, Verification, and SupervisoryControl. Ph.D. Thesis, Dept. of Electl. & Cmptr. Engrg., Univ. of Toronto, March 2002.

[T46] R.J. Leduc. Hierarchical Interface-based Supervisory Control. Ph.D. Thesis, Dept. of Electl. &Cmptr. Engrg., Univ. of Toronto, April 2002.

[T47] R.S. Minhas. Complexity Reduction in Discrete Event Systems. Ph.D. Thesis, Dept. of Electl.& Cmptr. Engrg., Univ. of Toronto, September 2002.

[T48] P. Gohari-Moghadam. Fair Supervisory Control of Discrete-Event Systems. Ph.D. Thesis, Dept.of Electl. & Cmptr. Engrg., Univ. of Toronto, September 2002.

447

Page 465: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

[T49] V.J. Ravichandran. Distributed Diagnosis for State-Based Discrete-Event Systems. M.A.Sc.Thesis, Dept. of Electl. & Cmptr. Engrg., Univ. of Toronto, September 2002.

[T50] C. Ma. Hierarchical Control of State-Stree Structures. Ph.D. Thesis, Dept. of Electl. & Cmptr.Engrg. Univ. of Toronto, March 2004.

[T51] R. Su. Distributed Diagnosis for Discrete-Event Systems. Ph.D. Thesis, Dept. of Electl. &Cmptr. Engrg., Univ. of Toronto, June 2004.

[T52] S. Yi. Hierarchical Supervision with Nonblocking. M.A.Sc. Thesis, Dept. of Electl. & Cmptr.Engrg., Univ. of Toronto, June 2004.

[T53] A. Saadatpoor. State-Based Control of Timed Discrete-Event Systems Using Binary DecisionDiagrams. M.A.Sc. Thesis, Dept. of Electl. & Cmptr. Engrg., Univ. of Toronto, June 2004.

[T54] L. Feng. Computationally Efficient Supervisor Design for Discrete-Event Systems. Ph.D. Thesis,Dept. of Electl. & Cmptr. Engrg., Univ. of Toronto, July 2007.

[T55] K. Cai. Supervisor Localization: A Top-Down Approach to Distributed Control of Discrete-EventSystems. M.A.Sc. Thesis, Dept. of Electl. & Cmptr. Engrg., Univ. of Toronto, June 2008.

[T56] B. Cheung. Computing Hierarchical Nonblocking Discrete-Event Systems. M.A.Sc. Thesis, Dept.of Electl. & Cmptr. Engineering, Univ. of Toronto, July 2008.

[T57] A. Saadatpoor. Timed State-Tree Structures: Supervisory Control and Fault Diagnosis. Ph.D.Thesis, Dept. of Electl. & Cmptr. Engrg., Univ. of Toronto, March 2009.

448

Page 466: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Appendix

Supervisory Control of a Mine Pump

449

Page 467: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

UNTIMED MINE PROBLEM IN TCT

This exercise is adapted from Chapter 16 of the book: A. Burns, A. Wellings. Real-Time Systems andTheir Programming Languages. Addison-Wesley 1990.

The plant consists of a water pump (PUMP), water-level sensor (WLSENSOR), methane sensor(MESENSOR), human operator (OPERATOR), and water-flow sensor (WFSENSOR). Each sensorreports either a high or a low value for its variable, with corresponding higher- or lower-indexed event.There are two modes, automatic and manual. In automatic mode, the pump (motor) is controlledby the methane and water-level sensors; it is turned on if and only if the water-level is high and themethane level is low. The water-flow sensor monitors pump operation; it reports either ‘ok’ (low) or‘problem’ (high); in case of ‘problem’ (i.e. the pump is turned on but there is no water flow) it shouldsound an alarm. Manual mode overrides automatic; in manual, the sensors are disconnected from thepump control, and the operator is free to turn the pump on or off at will.

The DES model is built up in stages, so the designer has a clear picture of control action as morefeatures are added. The TCT “Project” command can be used to look at various facets of systembehavior.

STAGE 0: Create the individual plant units.

PUMP = Create(PUMP,[mark 0],[tran [0,11,0],[0,13,0]]) (1,2)

11 = TurnOff; 13 = TurnOn

WLSENSOR = Create(WLSENSOR,[mark 0],[tran [0,21,1],[1,22,0],[1,24,0]]) (2 ,3)

21 = Initialize, 22 = ReportWaterLevelLo, 24 = ReportWaterLevelHi

MESENSOR = Create(MESENSOR,[mark 0],[tran [0,31,1],[1,32,0],[1,34,0]]) (2 ,3)

31 = Initialize, 32 = ReportMethaneLevelLo, 34 = ReportMethaneLevelHi

OPERATOR = Create(OPERATOR,[mark 0],[tran [0,41,0],[0,43,0]]) (1,2)

41 = EnterAutomaticMode, 43 = EnterManualMode

WFSENSOR = Create(WFSENSOR,[mark 0],[tran [0,51,1],[0,53,0],[1,52,0],[1,54 ,0]]) (2,4)

51 = Initialize, 52 = ReportOK, 53 = SoundAlarm, 54 = ReportProblem

450

Page 468: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

STAGE 1: Consider just the pump and the two most critical sensors, for water-level and methane.

PLANT1 = Sync(PUMP,WLSENSOR) (2,7)

PLANT1 = Sync(PLANT1,MESENSOR) (4,20)

ALL1 = Create(ALL1,[mark 0]) (1,0)

ALL1 = Selfloop(ALL1,[11,13,21,22,24,31,32,34]) (1,8)

Bring in two specifications. CYCSPEC1 forces WLSENSOR and MESENSOR to operate in turn,re-initializing after commanding the pump to turn off or on, as appropriate, and then recycling.

CYCSPEC1 = Create(CYCSPEC1,[mark 0],[tran [0,21,1],[1,22,2],[1,24,2],[2,31 ,3],[3,32,4],[3,34,4], [4,11,0],[4,13,0]]) (5,8)

CYCSPEC1 = Sync(CYCSPEC1,ALL1) (5,8)

PMPSPEC1 allows the pump to be forced (or kept) on only when water-level is high and methane levelis low. This is a boolean condition expressing the enablement or disablement of pump events 11 and13 as a function of the most recent sensor reports.

PMPSPEC1 = Create(PMPSPEC1,[mark 0],[tran [0,11,0],[0,22,0],[0,24,1],[0,32,0],[0,34,2],[1,13,1],[1,22,0],[1,24,1],[1,32,1],[1,34,3],[2,11,2],[2,22,2],[2,24,3],[2,32,0],[2,34,2],[3,11,3],[3,22,2],[3,24,3],[3,32,1],[3,34,3]]) (4,20)

PMPSPEC1 = Sync(PMPSPEC1,ALL1) (4,28)

Construct the first-stage specification and compute the first-stage supervisor.

SPEC1 = Meet(CYCSPEC1,PMPSPEC1) (20,28)

MSPEC1= Minstate(SPEC1) (10,13)

SUPER1 = Supcon(PLANT1,SPEC1) (20,28)

SUPER1 = Condat(PLANT1,SUPER1) Controllable.

MSUPER1 = Minstate(SUPER1) (10,13)

The transition graph of the (state-minimized) controlled behavior MSUPER1 is as expected, and quitetransparent. Investigate modular control.

451

Page 469: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

true = Nonconflict(PLANT1,CYCSPEC1)

true = Nonconflict(PLANT1,PMPSPEC1)

MODSUP1 = Meet(CYCSPEC1,PMPSPEC1) (20,28)

true = Isomorph(SUPER1,MODSUP1;identity)

Modular control with separate supervisors for the sensor cycle and the pump control has been validatedfor the Stage 1 system.

STAGE 2: Incorporate operator’s override. This is to mean that the operator can force the sys-tem from automatic to manual mode at any time (ev43); when returning to automaticmode (ev41) the automatic system is re-initialized to state 0. Thus SPEC2 is createdby adding one new state (10) to MSPEC1, with ev43 taking the system from anystate of MSPEC1 to the new manual-operation state (10); then ev41 takes 10 backto 0. Note the convenience of using a wildcard ([*,43,10] while editing.

SPEC2 = Edit(MSPEC1,[trans +[0,43,10],+[1,43,10],+[2,43,10],+[3,43,10],+[4,43,10],+[5,43,10],+[6,43,10],+[7,43,10],+[8,43,10],+[9,43,10],+[10,11,10],+[10,13,10],+[10,21,10],+[10,22,10],+[10,24,10],+[10,31,10],+[10,32,10],+[10,34,10],+[10,41,0]]) (11,32)

ALL2 = Selfloop(ALL1,[41,43]) (1,10)

PLANT2= Sync(PLANT1,OPERATOR) (4,28)

SUPER2 = Supcon(PLANT2,SPEC2) (14,44)

SUPER2 = Condat(PLANT2,SUPER2) Controllable.

Investigate modular control. From CYCSPEC1 and PMPSPEC1 respectively construct CYCSPC12and PMPSPC12 to incorporate manual override.

CYCSPC12 = Edit(CYCSPEC1,[trans +[0,43,5],+[1,43,5],+[2,43,5],+[3,43,5],+[4,43,5],+[5,41,0]]) (6,14)

CYCSPC12 = Edit(CYCSPC12,[trans +[5,11,5],+[5,13,5],+[5,21,5],+[5,22,5],+[5,24,5],+[5,31,5],+[5,32,5],+[5,34,5]]) (6,22)

CYCSPC12 = Condat(PLANT2,CYCSPC12) Uncontrollable.

CYCSUP12 = Supcon(PLANT2,CYCSPC12) (9,34)

452

Page 470: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

PMPSPC12 = Edit(PMPSPEC1,[trans +[0,43,4],+[1,43,4],+[2,43,4],+[3,43,4],+[4,11,4],+[4,13,4],+[4,21,4],+[4,22,4],+[4,24,4],+[4,31,4],+[4,3 2,4],+[4,34,4],+[4,41,0]])(5,41)

true = Nonconflict(PLANT2,PMPSPC12)

PMPSPC12 = Condat(PLANT2,PMPSPC12) Controllable.

Thus PMPSPC12 is a proper supervisor for PLANT2.

MODSUP2 = Meet(CYCSUP12,PMPSPC12) (24,69)

true = Nonconflict(PLANT2,MODSUP2)

MODSUP2 = Condat(PLANT2,MODSUP2) Controllable.

MMODSUP2 = Minstate(MODSUP2) (14,44)

true = Isomorph(SUPER2,MMODSUP2;identity)

The two modular supervisors are together equivalent to the centralized supervisor. Check to see if theyare of minimal state size.

MCYCSP12 = Minstate(CYCSUP12) (9,34)

MPMSPC12 = Minstate(PMPSPC12) (5,41)

They are both minimal. Make an additional check on behavior.

MODBEH2 = Meet(PLANT2,MODSUP2) (24,69)

MMODBEH2 = Minstate(MODBEH2) (14,44)

true = Isomorph(SUPER2,MMODBEH2;identity)

Modular supervision for the Stage 2 system has been validated.

STAGE 3: Bring in WFSENSOR, specified by WFSPEC to sound an alarm (ev53) if it detectsa problem with water flow (ev54); it should be initialized every time the pump isturned on (ev13); and the WFSENSOR cycle should run to completion before thepump is reactivated (turned off or on again).

ALL3 = Selfloop(ALL2,[51,52,53,54]) (1,14)

PLANT3 = Sync(PLANT2,WFSENSOR) (8,72)

SPEC23 = Sync(SPEC2,ALL3) (11,76)

453

Page 471: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

WFSPEC = Create(WFSPEC,[mark 0],[tran [0,11,0],[0,13,1],[1,51,2],[2,52,0], [2,54,3],[3,53,0]]) (4,6)

WFSPEC = Sync(WFSPEC,ALL3) (4,38)

SPEC3 = Meet(SPEC23,WFSPEC) (44,157)

SPEC3 = Condat(PLANT3,SPEC3) Uncontrollable.

SUPER3 = Supcon(PLANT3,SPEC3) (56,199)

MSUPER3 = Minstate(SUPER3) (56,199)

true = Isomorph(MSUPER3,SUPER3;identity)

SUPER3 = Condat(PLANT3,SUPER3) Controllable.

Investigate modular supervision. We already know that modularity at Stage 2 is equivalent to usingSUPER2, so first upgrade SUPER2 to SUPER23 to make it compatible with PLANT3.

SUPER23 = Sync(SUPER2,ALL3) (14,100)

true = Nonconflict(PLANT3,WFSPEC)

WFSPEC = Condat(PLANT3,WFSPEC) Controllable.

WFSPEC is a proper supervisor for PLANT3; rename it WFSUP3. Try SUPER23 and WFSUP3 asmodular supervisors.

WFSUP3 = Edit(WFSPEC) (4,38)

MODSUP3 = Meet(SUPER23,WFSUP3) (56,199)

true = Isomorph(SUPER3,MODSUP3;identity)

As a check, go back and adapt the modular components previously obtained for SUPER2, to obtainthree modular supervisors for the Stage 3 system.

CYCSUP13 = Sync(CYCSUP12,ALL3) (9,70)

PMPSPC13 = Sync(PMPSPC12,ALL3) (5,61)

Combine the three modular supervisors and check the behavior under modular control.

TEST3 = Sync(WFSUP3,CYCSUP13) (36,142)

TEST3 = Sync(TEST3,PMPSPC13) (72,244)

454

Page 472: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

MODBEH3 = Meet(PLANT3,TEST3) (72,244)

MMODBEH3 = Minstate(MODBEH3) (56,199)

true = Isomorph(SUPER3,MMODBEH3;identity)

Modular behavior for the Stage 3 system has been validated.

STAGE 4: Reduce SUPER3 to SUPER4, the behavior of the automatic mode alone, by removingev41 and ev43.

ALL4 = Edit(ALL3,[trans -[0,41,0],-[0,43,0]]) (1,12)

SUPER4 = Meet(SUPER3,ALL4) (37,76)

MSUPER4 = Minstate(SUPER4) (37,76)

true = Isomorph(MSUPER4,SUPER4;identity)

As a check, exhibit the ordering in automatic mode of evs11,13,21,31,51,53.

PSUPER4 = Project(SUPER4,Null[22,24,32,34,52,54]) (10,17)

As another check, recover the Stage 1 supervisor by projecting out WFSENSOR from SUPER4.

QSUPER4 = Project(SUPER4,Null[51,52,53,54]) (10,13)

MSUPER1 = Minstate(SUPER1) (10,13)

true = Isomorph(QSUPER4,MSUPER1;identity)

455

Page 473: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

STAGE 5: Make some enhancements to PLANT3 to incorporate a counter which raises a flag(ev90) if there are at least 3 consecutive readings of both water-level high (ev24) andof methane-level high (ev34). We also add a general alarm (ev91) that can be usedto order that the mine be evacuated.

WLEMERG = Create(WLEMERG,[mark 0,3],[tran [0,22,0],[0,24,1],[1,22,0],[1,24,2],[2,22,0],[2,24,3],[3,22,3],[3,24,3],[3,90,3]]) (4,9)

MEEMERG = Create(MEEMERG,[mark 0,3],[tran [0,32,0],[0,34,1],[1,32,0],[1,34,2],[2,32,0],[2,34,3],[3,32,3],[3,34,3],[3,90,3]]) (4,9)

EMERG = Sync(WLEMERG,MEEMERG) (16,65)

EVACMINE = Create(EVACMINE,[mark 0],[tran [0,91,0]]) (1,1)

PLANT5 = Sync(PLANT3,EMERG) (128,1160)

PLANT5 = Sync(PLANT5,EVACMINE) (128,1288)

ALL5 = Selfloop(ALL3,[90,91]) (1,16)

Add SPEC5 to make it impossible for the operator to turn on the pump when the methane level ishigh.

MESPEC = Create(MESPEC,[mark 0],[tran [0,13,0],[0,32,0],[0,34,1],[1,32,0],[1,34,1]]) (2,5)

MESPEC = Sync(MESPEC,ALL5) (2,31)

SPEC35 = Sync(SPEC3,ALL5) (44,245)

SPEC5 = Meet(SPEC35,MESPEC) (73,422)

true = Nonconflict(PLANT5,SPEC5)

SUPER5 = Supcon(PLANT5,SPEC5) (804,3927)

MSUPER5 = Minstate(SUPER5) (776,3826)

456

Page 474: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

STAGE 6: Provide a crisis scenario to force the operating mode to manual (ev43) and order thatthe mine be evacuated, when the methane/water-level flag is raised (ev90). Note thatthe sensors are disabled at the terminal state 2.

CRISIS = Create(CRISIS,[mark 0,2],[tran [0,21,0],[0,31,0],[0,51,0],[0,90,1],[1,21,1],[1,31,1],[1,43,2],[1,51,1],[1,90,1],[2,90,2],[2,91,2]]) (3,11)

CRISIS = Sync(CRISIS,ALL5) (3,41)

SPEC6 = Meet(SPEC5,CRISIS) (102,386)

SUPER6 = Supcon(PLANT5,SPEC6) (292,681)

MSUPER6 = Minstate(SUPER6) (278,652)

[STAGE 7: has been deleted]

STAGE 8: Using vocalization, develop a simple abstract model of SUPER1, taking into accountjust the methane readings, with the objective of letting a high- level manager executea system shutdown (ev81).

SUPER8 = Edit(MSUPER1) (10,13)

SHUTDOWN = Create(SHUTDOWN,[mark 0],[tran [0,81,0]]) (1,1)

ALL8 = Selfloop(ALL1,[81]) (1,9)

PLANT8 = Sync(PLANT1,SHUTDOWN) (4,24)

The shutdown specification SDNSPEC will require that both pump transitions, along with the sensorspecifications, be disabled.

SDNSPEC = Create(SDNSPEC,[mark 0,1],[tran [0,11,0],[0,13,0],[0,21,0],[0,31,0],[0,81,1]]) (2,5)

SDNSPEC = Sync(SDNSPEC,ALL8) (2,13)

Adapt the Stage 1 sensor cycle to Stage 8.

CYCSPEC8 = Sync(CYCSPEC1,ALL8) (5,13)

For shutdown to occur without supervisor blocking, the former restriction that only the “normal” statebe marked must be relaxed, inasmuch as shutdown will occur only after *abnormal* behavior! So nowall four of the Stage 1 PMPSPEC1 states must be marked.

457

Page 475: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

PMPSPEC8 = Edit(PMPSPEC1,[mark +[1],+[2],+[3]]) (4,28)

PMPSPEC8 = Sync(PMPSPEC8,ALL8) (4,32)

SPEC8 = Meet(PMPSPEC8,CYCSPEC8) (20,48)

SPEC8 = Meet(SPEC8,SDNSPEC) (40,64)

SUPER8 = Supcon(PLANT8,SPEC8) (24,32)

MSUPER8 = Minstate(SUPER8) (9,12)

SUPER8 = Edit(MSUPER8) (9,12)

Next vocalize the significant events corresponding to methane-level readings (evs32,34) and shutdown(ev81).

VSUPER8 = Vocalize(SUPER8,[[0,81,81],[5,34,34],[6,34,34],[5,32,32],[6,32,32]]) (10,13)

VSUPER8 = Recode(VSUPER8) (10,13)

VSUP8HI = Higen(VSUPER8) (2,3)

OCVSUP8 = Outconsis(VSUPER8) (10,13)

HCVSUP8 = Hiconsis(VSUPER8) (10,13)

false = Isomorph(HCVSUP8,OCVSUP8)

OCVSUP8 has 4 vocalized states and 3 distinct vocal outputs, whereas HCVSUP8 has 5 vocalizedstates with 5 vocal outputs.

X = Hiconsis(OCVSUP8) (10,13)

true = Isomorph(X,HCVSUP8;identity)

HCVSP8HI = Higen(HCVSUP8) (3,5)

Reasonably small high-level abstraction of the low-level controlled behavior: 3 states vs. 10. Bring inSPEC8HI to shut the system down after 3 consecutive high methane readings.

SPEC8HI = Create(SPEC8HI,[mark 0,4],[tran [0,320,0],[0,340,1],[1,320,0],[1,340,2],[2,320,0],[2,340,3],[3,811,4]]) (5,7)

ALL8HI = Create(ALL8HI,[mark 0]) (1,0)

ALL8HI = Selfloop(ALL8HI,[320,340,811,821,831]) (1,5)

458

Page 476: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

SPEC8HI = Sync(SPEC8HI,ALL8HI) (5,17)

SUPER8HI = Supcon(HCVSP8HI,SPEC8HI) (8,13)

Y = Minstate(SUPER8HI) (8,13)

true = Isomorph(Y,SUPER8HI;identity)

By inspection of SPEC8HI an obvious simplified supervisor can be created.

SMSUP8HI = Edit(SPEC8HI,[trans -[3,821,3],-[3,831,3]]) (5,15)

TEST = Meet(HCVSP8HI,SMSUP8HI) (8,13)

true = Isomorph(TEST,SUPER8HI;identity)

Hierarchical treatment of SUPER1 is successful. However, it was not quite straightforward, as thesubtle effects of marking had to be dealt with.

STAGES 9,10: Adapt the model of Stage 8 to incorporate the operator, as in Stage 2, so we haveboth automatic and manual modes.

PLANT9 = Sync(PLANT8,OPERATOR) (4,32)

MSPEC8 = Minstate(SPEC8) (12,23)

Modify MSPEC8 to allow transition from automatic to manual (ev43) and back (ev41) to occur onlybetween the initial state and the designated entrance state (12) to manual. Note that the latter state(12) is now marked. Shutdown (ev81) is restricted to occur only at the initial state (0) or the entrancestate to manual (2); all action ceases after shutdown and the system remains at the shutdown state(3). The modelling intent is to cut back to a small number of instances of significant events in orderto produce a small high-level model.

SPEC10 = Edit(MSPEC8,[trans +[0,43,12],+[12,11,12],+[12,13,12],+[12,21,12],+[12,22,12],+[12,24,12],+[12,31,12],+[12,32,12],+[12,34,12],+[12,41,0],+[12,81,12]]) (13,34)

SPEC10 = Edit(SPEC10,[trans -[1,81,5],-[3,81,7],-[4,81,7],-[6,81,10],-[8,81,10],-[9,81,7],-[11,81,7]]) (13,27)

SPEC10 = Edit(SPEC10,[mark +[12]],[trans +[12,81,2],-[12,81,12]]) (13,27)

PLANT10 = Edit(PLANT9) (4,32)

SUPER10 = Supcon(PLANT10,SPEC10) (13,35)

MSUPER10 = Minstate(SUPER10) (13,35)

459

Page 477: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

true = Isomorph(MSUPER10,SUPER10;identity)

Now we create the high-level model, first vocalizing SUPER10 with respect to methane readings(evs32,34), automatic/manual transitions (evs41,43), and shutdown (ev81).

VSUPER10 = Vocalize(SUPER10,[[0,43,43],[0,81,81],[2,41,41],[2,81,81],[7,32,32],[7,34,34],[8,32,32],[8,34,34],[9,32,32],[10,34,34],[9,34,34],[13,81,81],[10,32,32],[13,43,43],[14,81,81],[15,81,81],[16,81,81]]) (20,67)

X = Minstate(VSUPER10) (20,67)

true = Isomorph(X,VSUPER10;identity)

VSP10HI = Higen(VSUPER10) (3,8)

OCVSP10 = Outconsis(VSUPER10) (20,67)

false = Isomorph(OCVSP10,VSUPER10)

In fact, VSUPER10 and OCVSP10 are actually isomorphic, up to the recoding of state outputs doneby “outconsis”.

HCVSP10 = Hiconsis(VSUPER10) (21,72)

X = Hiconsis(OCVSP10) (21,72)

true = Isomorph(X,HCVSP10;identity)

HCVS10HI = Higen(HCVSP10) (6,18)

X = Minstate(HCVS10HI) (6,18)

true = Isomorph(X,HCVS10HI;identity)

The high-level model HCVS10HI, of size 6, does not represent a large reduction over the low-levelcontrolled model SUPER10 of size 13, but is some improvement.

PHCVS10H = Project(HCVS10HI,Null[820,821,831,841,851]) (3,8)

Notice that the manager may only be interested in the original events that he declared to be significant,of course after any splitting that is required to resolve their control status. Here we have projectedout the additional events introduced by “hiconsis”. This small model incorporates only the originalevents selected by the manager, and in terms of which he would be most likely to express his high-level specification. This can be thought of as the third (and highest) hierarchical level, the level ofHCVS10HI being a middle level that the high-level manager need not see (because the additional eventsdue to “hiconsis” may well be confusing and difficult to interpret). This middle level is, of course, theone used by TCT in computing the high- level control.

460

Page 478: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Now create a high-level specification to apply to HCVS10HI.

ALL10HI = Create(ALL10HI,[mark 0]) (1,0)

ALL10HI = Selfloop(ALL10HI,[320,340,411,431,811,820,821,831,841,851]) (1,10)

Check that ALL10HI includes all the events that occur in HCVS10HI.

X = Meet(HCVS10HI,ALL10HI) (6,18)

true = Isomorph(X,HCVS10HI;identity)

For the high-level specification we decide to force an initial switch to manual (ev431). When thisis followed by 3 consecutive readings of methane-high (ev340), there is a forced return to automatic(ev411) followed by shutdown (ev811).

SPEC10HI = Create(SPEC10HI,[mark 0,5],[tran [0,320,0],[0,340,1],[0,431,0],[1,320,0],[1,340,2],[2,320,0],[2,340,3],[3,411,4],[4,811,5]]) (6,9)

This specification must be augmented by selflooping the auxiliary high-level events that are of no directinterest to the manager.

SPEC10HI = Sync(SPEC10HI,ALL10HI) (6,39)

SUP10HI = Supcon(HCVS10HI,SPEC10HI) (13,33)

X = Minstate(SUP10HI) (13,33)

true = Isomorph(X,SUP10HI;identity)

Now project from this “middle-level” behavior the undesired auxiliary events.

PSUP10HI = Project(SUP10HI,Null[820,821,831,841,851]) (7,9)

This is reasonably small, and easy to comprehend. This is an important theme: how we achievea comprehensible state model at any particular stage of (human) design. Indeed this is the basicrationale for the entire approach.

SPC10LO = Create(SPC10LO,[mark 0,5],[tran [0,32,0],[0,34,1],[0,43,0],[1,32,0],[1,34,2],[2,32,0],[2,34,3],[3,32,0],[3,41,4],[4,81,5]]) (6,10)

SPC10LO = Sync(SPC10LO,ALL9) (6,46)

SPEC10LO = Meet(SPEC10,SPC10LO) (40,78)

SUP10LO = Supcon(PLANT10,SPEC10LO) (17,70)

X = Minstate(SUP10LO) (17,70)

461

Page 479: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

true = Isomorph(X,SUP10LO;identity)

This displays a conceptual advantage in hierarchical control. The low-level controlled behavior has size(17,70) compared with the high-level controlled behavior of (7,9). The latter is far more comprehensible.

PSUP10LO = Project(SUP10LO,Null[11,13,21,22,24,31]) (7,9)

However, when we project out the events not of direct relevance to the high-level specification, we endup with a result of exactly the same size as PSUP10HI.

For interest, change the high-level specification by requiring an initial forcing to automatic, and a finalforcing to manual.

ASPC10HI = Edit(SPC10HI,[trans +[0,411,0],+[3,431,4],-[0,431,0],-[3,411,4]]) (6,33)

ASUP10HI = Supcon(HCVS10HI,ASPC10HI) (9,14)

X = Minstate(ASUP10HI) (9,14)

true = Isomorph(X,ASUP10HI;identity)

A significant reduction in state size, from (13,33) for SUP10HI, to (9,14) for ASUP10HI.

ASUP10HI = Condat(HCVS10HI,ASUP10HI) Controllable.

PASP10HI = Project(ASUP10HI,Null[831,841]) (6,8)

Compare with the size (7,9) of PSUP10HI.

STAGE 11: Bring in WFSENSOR and repeat the previous exercise with the enlarged plant.

ALL11 = Selfloop(ALL9,[51,52,53,54]) (1,15)

Modify WFSPEC by marking state 1, after pump has been turned on (ev13) but before WFSENSORis initialized (ev51).

WFSPEC = Edit(WFSPEC,[mark +[1]]) (4,38)

WFSPEC11 = Sync(WFSPEC,ALL11) (4,42)

PLANT11 = Sync(PLANT10,WFSENSOR) (8,80)

SP1011 = Sync(SPEC10,ALL11) (10,63)

SPEC11 = Meet(SP1011,WFSPEC11) (40,120)

SUPER11 = Supcon(PLANT11,SPEC11) (52,162)

462

Page 480: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

MSUPER11 = Minstate(SUPER11) (52,162)

true = Isomorph(MSUPER11,SUPER11;identity)

For comparison, try using the previous supervisor SUPER10, synched with WFSENSOR, as the newplant, and the augmented version of WFSPEC, viz. WFSPEC11, as the specification.

BSPEC11 = Edit(WFSPEC11) (4,42)

BPLANT11 = Sync(SUPER10,WFSENSOR) (26,122)

BSUP11 = Supcon(BPLANT11,BSPEC11) (52,162)

true = Isomorph(BSUP11,SUPER11;identity)

This shows consistency of the two ways of incrementally enlarging the system at this stage. Next wecreate the high-level model, again regarding only the events 32,34,41,43,81 as significant. The wild-cardfeature in TCT “Vocalize” is almost essential to ensure complete data entry.

VSUPER11 = Vocalize(SUPER11,[[0,43,43],[2,81,81],[0,81,81],[2,41,41],[6,41,41],[6,81,81],[8,32,32],[9,34,34],[8,34,34],[10,34,34],[9,32,32],[10,32,32],[12,32,32],[14,41,41],[12,34,34],[13,43,43],[13,81,81],[14,81,81],[16,34,34],[16,32,32],[19,32,32],[19,34,34],[23,81,81],[21,34,34],[23,43,43],[24,81,81],[21,32,32],[24,41,41],[26,32,32],[26,34,34],[28,34,34],[32,81,81],[32,43,43],[28,32,32],[34,32,32],[35,34,34],[34,34,34],[35,32,32],[37,34,34],[37,32,32],[41,32,32],[44,34,34],[41,34,34],[44,32,32],[47,32,32],[49,34,34],[47,34,34],[52,81,81],[49,32,32],[52,43,43],[53,81,81],[54,81,81],[57,81,81],[55,81,81],[58,81,81],[57,41,41],[59,81,81],[58,41,41],[59,41,41],[65,81,81],[64,81,81],[66,81,81],[65,41,41],[66,41,41],[67,81,81],[67,41,41],[74,81,81],[75,81,81],[75,41,41],[76,81,81],[76,41,41],[77,81,81],[77,41,41],[81,81,81]]) (89,296)

X = Minstate(VSUPER11) (89,296)

true = Isomorph(X,VSUPER11;identity)

HCVSPR11 = Hiconsis(VSUPER11) (99,335)

X = Minstate(HCVSPR11) (99,335)

true = Isomorph(X,HCVSPR11;identity)

PLNT11HI = Higen(HCVSPR11) (20,84)

X = Minstate(PLNT11HI) (20,84)

true = Isomorph(X,PLNT11HI;identity)

OCVSPR11 = Outconsis(VSUPER11) (89,296)

463

Page 481: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

X = Hiconsis(OCVSPR11) (99,335)

true = Isomorph(HCVSPR11,X;[[69,70],[70,71],[71,72],[72,73],[73,74],[74,75],[75,78],[76,79],[77,80],[78,81],[79,82],[80,83],[81,84],[82,85],[83,86],[84,87],[85,88],[86,69],[87,76],[88,77],[92,93],[93,94],[94,95],[95,96],[96,97],[97,98],[98,92]])

T = Trim(PLNT11HI) (20,84)

true = Isomorph(T,PLNT11HI;identity)

ALL11HI = Allevents(PLNT11HI) (1,31)

SPC11HI = Sync(SPC10HI,ALL11HI) (6,165)

SUP11HI = Supcon(PLNT11HI,SPC11HI) (31,135)

X = Minstate(SUP11HI) (31,135)

true = Isomorph(X,SUP11HI;identity)

PSUP11H = Project(SUP11HI,Image[320,340,411,431,811]) (7,9)

true = Isomorph(PSUP11HI,PSUP10HI;identity)

We’ve done nothing new at the high level, and get the same final result as before. Of course the vocalizedstructure is now much larger (cf. VSUPER11 with size (89,296), VSUPER10 with size (20,67)).

Also the projection of PLNT11HI is as expected, with shutdown correctly handled.

PPLN11HI = Project(PLNT11HI,Image[320,340,411,431,811]) (3,8)

464

Page 482: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

TIMED MINE PROBLEM IN TTCT

We continue with the mine-pump model based on the book by Burns and Wellings.

Note: the earlier abbreviation “ME” for “methane” is here replaced by “CH4”.

First version of timed model: PLANT8 = WL ‖ CH4 ‖ SHUTDOWN.

Modelling follows the lines of Stages 0,1,8 of the untimed case, but with a subtlety brought out at theend.

STAGE 0: Create the five basic components, and combine to form plant1.

pump = ACreate(pump,[mark 0],[timebounds [11,0,1000],[13,0,1000]],[forcible 11,],[tran [0,11,0],[0,13,0]]) (1,2)

wlsensor = ACreate(wlsensor,[mark 0],[timebounds [21,0,1000],[22,0,2],[24,0,2]],[forcible 21],[tran [0,21,1],[1,22,0],[1,24,0]]) (2,3)

ch4sensor = ACreate(ch4sensor,[mark 0],[timebounds [31,0,1000],[32,0,1],[34,0,1]],[forcible 31],[tran [0,31,1],[1,32,0],[1,34,0]]) (2,3)

wfsensor = ACreate(wfsensor,[mark 0],[timebounds [51,0,1000],[52,0,3],[53,0,1000],[54,0,3]],[forcible 51,],[tran [0,51,1],[0,53,0],[1,52,0],[1,54,0]]) (2,4)

operator = ACreate(operator,[mark 0],[timebounds [41,0,1000],[43,0,1000]],[forcible 41,],[tran [0,41,0],[0,43,0]]) (1,2)

wlsensor = Timed Graph(wlsensor) (4,10)

ch4sensor = Timed Graph(ch4sensor) (3,7)

wfsensor = Timed Graph(wfsensor) (5,14)

operator = Timed Graph(operator) (1,3)

pump = Timed Graph(pump) (1,3)

plant1= Sync(pump,wlsensor) (4,18)

plant1= Sync(plant1,ch4sensor) (12,71)

mplant1 = Minstate(plant1) (12,71)

true = Isomorph(mplant1,plant1;identity)

465

Page 483: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

STAGE 1: Create the two basic specifications. Then compute centralized supervisor and developmodular supervisors.

cycspec1 = Create(cycspec1,[mark 0],[tran [0,21,1],[1,0,1],[1,22,2],[1,24,2],[2,31,3],[3,0,3],[3,32,4],[3,34,4],[4,0,5],[5,11,0],[5,13,0]],[forcible 11,13,21,31]) (6,11)

pmpspec1 = Create(pmpspec1,[mark 0],[tran [0,11,0],[0,22,0],[0,24,1],[0,32,0],[0,34,2],[1,13,1],[1,22,0],[1,24,1],[1,32,1],[1,34,3],[2,11,2],[2,22,2],[2,24,3],[2,32,0],[2,34,2],[3,11,3],[3,22,2],[3,24,3],[3,32,1],[3,34,3]],[forcible 11,13]) (4,20)

all1= Create(all1,[mark 0]) (1,0)

all1= Selfloop(all1,[0,11,13,21,22,24,31,32,34],[new forcible 11,13,21,31]) (1,9)

pmpspec1 = Sync(pmpspec1,all1) (4,32)

spec1 = Meet(cycspec1,pmpspec1) (24,40)

mspec1 = Minstate(spec1) (13,19)

false = Isomorph(mspec1,spec1)

super1= Supcon(plant1,mspec1) (17,28)

super1= Condat(plant1,super1)

msuper1= Minstate(super1) (17,28)

true = Isomorph(msuper1,super1;identity)

psuper1 = Project(super1,[0]) (10,13)

Develop modular control.

true = Nonconflict(plant1,cycspec1)

cycspec1 = Condat(plant1,cycspec1)

modsup1 = Meet(cycspec1,pmpspec1) (24,40)

true = Isomorph(modsup1,spec1;identity)

true = Nonconflict(modsup1,plant1)

modsup1 = Condat(plant1,modsup1)

466

Page 484: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

mmodsup1 = Minstate(modsup1) (13,19)

true = Isomorph(modsup1,spec1;identity)

x = Meet(plant1,modsup1) (36,68)

false = Isomorph(super1,x)

mx = Minstate(x) (17,28)

true = Isomorph(msuper1,mx;identity)

true = Isomorph(msuper1,super1;identity)

This verifies that modular supervision is optimal.

STAGE 2: Bring in new process shutdown with e81.

all8 = Selfloop(all1,[81],[new forcible 81]) (1,10)

super8 = Edit(msuper1) (17,28)

shutdown = ACreate(shutdown,[mark 0],[timebounds [81,0,1000]],[forcible 81],[tran [0,81,0]])(1,1)

shutdown = Timed Graph(shutdown) (1,2)

plant8= Sync(plant1,shutdown) (12,83)

sdnspec = Create(sdnspec,[mark 0,1],[tran [0,0,0],[0,11,0],[0,13,0],[0,21,0],[0,31,0],[0,81,1],[1,0,1]],[forcible 11,13,21,31,81]) (2,7)

sdnspec = Sync(sdnspec,all8) (2,15)

cycspec8 = Sync(cycspec1,all8) (6,17)

pmpspec8 = Edit(pmpspec1,[mark +[1],+[2],+[3]]) (4,32)

pmpspec8 = Sync(pmpspec8,all8) (4,36)

spec8 = Meet(cycspec8,pmpspec8) (24,64)

spec8 = Meet(spec8,sdnspec) (48,92)

mspec8 = Minstate(spec8) (15,33)

467

Page 485: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

false = Isomorph(mspec8,spec8)

super8 = Supcon(plant8,spec8) (36,68)

msuper8 = Minstate(super8) (14,25)

false = Isomorph(msuper8,super8)

pmsuper8 = Project(msuper8,Null[0]) (8,11)

This supervisor has eliminated e81 because it would lead to blocking. This of course was not theintention!

false = Nonconflict(plant8,spec8)

Revise SPEC8 so it releases CYCSPEC8 when e81 occurs, namely allows e0 (tick) to occur at everytarget state for e81. This will prevent the blocking that would have occurred before. Notice that addingone spec after another can have unintended side effects. Here CYCSPEC8 disabled tick (e0) by forcinginitialization of the sensor cycle (e21), so when in turn e21 was disabled after e81, the occurrence of e81would have brought the system to a halt. For this reason, “supcon” naturally disabled e81 everywhere,to prevent blocking. Thus “change of mode” must be treated with care: it cannot in general be createdjust by using “meet”.

spec8 = Edit(spec8,[trans +[2,0,2],+[7,0,7],+[9,0,9],+[24,0,24],+[26,0,26],+[28,0,28],+[30,0,30],+[32,0,32],+[34,0,34],+[36,0,36],+[43,0,43],+[45,0,45]]) (48,104)

super8 = Supcon(plant8,spec8) (40,76)

msuper8 = Minstate(super8) (15,27)

pmsuper8 = Project(msuper8,Null[0]) (9,12)

Now it looks fine. Shutdown (e81) can occur without stopping the clock.

468

Page 486: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

STAGE 3: Bring in the operator events e41, e43, and enhance SPEC8 to allow for switching fromautomatic mode to manual mode (e43) and back (e41). The shutdown event (e81)should work from manual mode as well.

all9 = Selfloop(all8,[41,43],[new forcible 41,43]) (1,12)

plant9 = Sync(plant8,operator) (12,107)

mspec8 = Minstate(spec8) (14,34)

spec9 = Edit(mspec8,[mark +[14]],[forcible +[41],+[43]],[trans +[0,43,14],+[14,0,14],+[14,11,14],+[14,13,14],+[14,21,14],+[14,22,14],+[14,24,14],+[14,31,14],+[14,32,14],+[14,34,14],+[14,41,0],[14,81,2]]) (15,46)

STAGE 4: Next we create a CH4 emergency specification, to result in a forced change to auto-matic mode (e41) followed by shutdown (e81), after 3 consecutive high CH4 readings(e34).

emerg = Create(emerg,[mark 0,5],[tran [0,0,0],[0,32,0],[0,34,1],[1,0,1],[1,32,0],[1,34,2],[2,0,2],[2,32,0],[2,34,3],[3,0,3],[3,41,4],[4,81,5],[5,0,5]],[forcible 41,81]) (6,13)

semerg = Sync(emerg,all9) (6,55)

spec10 = Meet(spec9,semerg) (49,118)

super10= Supcon(plant9,spec10) (85,320)

super10= Condat(plant9,super10)

psuper10 = Project(super10,Null[0,21,22,24,31]) (15,35)

PSUPER10 displays how manual mode overrides the previous specifications, which apply in automaticmode, allowing the pump to be turned on (e13) even after a CH4-high reading (e34).

msuper10 = Minstate(super10) (85,320)

p0super10 = Project(super10,Null[0]) (42,114)

469

Page 487: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

STAGE 5: Now we bring in WFSENSOR and a suitable specification. Developing a specifica-tion caused some difficulty with blocking: the design is very sensitive to the timingrequirements of WFSPEC.

all13 = Selfloop(all9,[51,52,53,54],[new forcible 51,53]) (1,16)

spec1013 = Sync(spec10,all13) (49,314)

wfsensor = Edit(wfsensor,[trans +[0,0,0]]) (5,14)

plant13 = Sync(plant10,wfsensor) (60,649)

wfspec1= Create(wfspec1,[mark 0,2],[tran [0,0,0],[0,11,0],[0,13,1],[1,51,2],[2,0,2],[2,11,0],[2,13,2],[2,51,2],[2,53,2]],[forcible 11,13,51,53]) (3,9)

Getting WFSPEC1 right was troublesome. Initially the attempt was made to force initialization ofWFSENSOR (e51) exactly 2 ticks after turning on the pump (e13), but this caused blocking. Whenseveral timed objects are synchronized, blocking due to clock-stopping can become a serious problem.It was found that e51 had to be forced immediately after e13.

wfspec1 = Sync(wfspec1,all13) (3,42)

wfspec = Meet(wfspec1,wfspec2) (6,75)

spec13 = Meet(spec1013,wfspec) (200,788)

super13 = Supcon(plant13,spec13) (425,2214)

msuper13 = Minstate(super13) (418,2204)

super13 = Edit(msuper13) (418,2204)

super13 = Condat(plant13,super13)

Because the specification constraints are removed in manual mode, it is important to examine theautomatic operation in isolation to make sure that there is no removal of function by the supconoperation, to prevent unintended blocking. To this end, form AALL13 (ALL13 reduced for automaticmode by eliminating e43), and “meet” with SUPER13 to form ASUPER13.

aall13 = Edit(all13,[trans -[0,43,0]]) (1,15)

asuper13 = Meet(super13,aall13) (73,137)

ASUPER13 is correct, inasmuch as none of the events e5? was eliminated in automatic mode by thesupcon operation.

470

Page 488: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

pasuper13 = Project(asuper13,Null[21,22,24,31,32,34,52,53,54]) (13,35)

masuper13 = Minstate(asuper13) (64,122)

471

Page 489: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

Index

I-fold Lm(G) - observer, 176I-fold nonconflicting, 176Li - observer, 253Lm(G) - observer, 174Lm - observer, 288Lvoc - observer, 217ρ-supported, 75

activitytransition, 389transition function, see transition, function, ac-

tivitytransition graph, see transition, graph, activity

admissible, 284agent, 232–235, 242

AGV, 112, 144, 172, 187alphabet, 37, 48–50, 63, 65, 79, 85, 92, 99, 113–

115, 141, 192–194, 244, 267, 287, 291, 292,326, 339, 354, 355, 389, 394, 396, 397, 400,401

event labelhigh-level, 195

input, 198, 200output, 48, 49, 192, 198

extended, 195sub-, 137, 141, 193transition label, of, 63

Arden’s rule, 60, 61, 63ATG, see transition, graph, activityautomaton, 40, 48–53, 55, 77, 86, 103, 130, 180,

200, 335, 336, 376, 406, 423canonical, 40

Moore, 231controllable, 104, 105, 108, 125, 130, 131, 133,

135, 141–143, 418coreachable, 55, 81, 105, 125Moore, 48, 49

non-coreachable, 81nonblocking, 55, 81, 94–97, 101, 104, 115, 130,

181, 264, 270, 287, 292product, 52, 130reachable, 50, 51, 55, 81, 86, 103, 105, 115,

125, 130timed, 423trim, see DES,trimuncontrollable, 409

behavioradmissible, 109closed, 55–57, 63, 80, 94, 97, 114, 115, 121,

141, 226, 230, 280, 291, 319, 326–328, 347,355, 367, 392, 394, 397, 398, 400, 403, 408,414

closed-loop, 103, 201controlled, 114, 123, 127, 182, 201, 270, 289,

324, 332, 379, 382, 384, 409marked, 55–57, 63, 70, 80, 94, 97, 109, 115,

141, 215, 226, 230, 264, 265, 291, 320, 392,394, 397, 400, 401, 403, 414

optimal controlled, 127, 377uncontrolled, 191, 399

behaviorally equivalent, 131Big Factory, 136bijective, 13, 17, 34, 46, 48blocking, 58, 84, 86, 88, 89, 132, 133, 142, 181, 184,

185, 232, 267, 288, 291, 292sequence, 377, 386, 387set, 232, 241, 242state, 379

canonicalrecognizer, 48automaton, see automaton, canonicalfactorization, 14, 32

472

Page 490: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

projection, see projection, canonicalrecognizer, 40–49, 51, 59, 193, 194

Cat and Mouse, 125catenation, see string, catenationcausal, 63causal output mapping, 63Chains of Regular Languages, 71chains of regular languages, 71channel, 274closed

behavior, see behavior, closedlanguage, 40, 43, 55, 94–101, 108, 192, 200–

204, 206, 222, 223, 234, 249–253, 258, 261,262, 264, 265, 279–283, 285, 296, 320, 322,326–328, 400, 402, 403, 405

sublanguage, 192, 214, 249, 250, 259, 261, 265,280

closure, 93, 141, 249, 250, 252, 280, 398algebraic property, 248Boolean, 342language, 40prefix, 40, 95, 192, 217, 221transitive, 12

codomain, 13congruence, 16, 20

coarse, 20congruences of a dynamic system, 16conjunction, 130consistency, 208

property, 215control pattern, 94control VDES, 366convergence, 71coreachable state subset, see state, coreachable,

subsetcoset, 7, 8, 11, 13, 43, 46, 48, 51, 65, 66cover, 32–34

Deadly Embrace, 132decentralized modular synthesis, 129DES, 79

controllable, see automaton, controllableisomorphic, 115, 134, 141, 143, 185timed, see TDES

trim, 55, 81, 86, 93, 104, 105, 108–111, 130–132, 134, 135, 141, 248, 418, 419

vocalized, 198descending chain, 71Dining Philosophers, 181, 188disabled-event map

high-level, 200low-level, 200

distributed control, 274domain, vii, viii, 13, 197downward continuous, 19DSFBC, 327, 328, 360

balanced, 327, 328optimal, 356, 367, 368optimal balanced, 357

dynamic state feedback control, see DSFBCdynamic system, 16

elementscomparable, 1indistinguishable, 12

Elevator modelling and simulation, viiiempty sequence, see string, emptyencoder, 277encoding, 277Endangered Pedestrian, 406ǫ, see string, emptyevent

blocking, see blockingcontrol-enabled, 115controllable, xi, 80, 94, 105, 110, 111, 113, 114,

116, 121–125, 180, 181, 191, 193–195, 197,199, 201, 203–205, 211, 212, 219, 226, 229,244, 262, 267, 280, 282, 286, 287, 295, 324,334, 358, 360, 362, 365, 380, 383, 399

high-level, 199low-level, 200

disable, 80, 105, 109–111, 115, 116, 119, 121–124, 133, 138, 140–142, 180, 194, 199, 200,203, 204, 207, 212, 232, 235, 244, 262, 263,267, 269, 286, 295, 296, 299, 300, 320, 330,333, 334, 345, 353, 354, 365, 383, 384, 391,396, 399–401, 423

mechanism, 105

473

Page 491: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

enable, 80, 87, 94, 116, 121, 122, 130, 199, 267,296, 319, 320, 324, 325, 332, 333, 338, 341,342, 345, 353, 354, 360, 388, 391, 393, 400

enablement, 354enablement condition, 338, 355, 375force, 123forced, 109, 121–124, 401, 409, 415, 417, 423forcible, 121, 122forcing, 121–124label, xi, 58, 79, 80, 84, 191, 193, 244, 266, 389,

398, 410observable, 85, 245, 259, 266, 282, 286, 290,

292, 294–296permanently enabled, 374preempt, 122, 123preemptable, 121–123state-enabled, 115uncontrollable, xi, 80, 94, 95, 99, 114, 115, 122,

124, 125, 180, 184, 191, 193–195, 197, 211,212, 214, 267, 280, 292, 320–322, 344, 345,354, 365, 367, 368, 379, 380, 385, 399–401

unobservable, 250, 251, 259, 262, 267–270, 289–291, 295, 296, 383, 384

event set, 295, 341, 357inactive, 257active, 257controllable, 399uncontrollable, 399

event, flag, 89Exponentiation, 22

factorizationcanonical, see canonical, factorization

feasiblesupervisory control, see supervisory, control,

feasiblefiber, 13fixpoint, 19flags, 89FPS

controllable, 267FTG, see transition, graphfunction

partial, 53

Gas Burner, 329generator, 53–59, 62, 63, 65, 66, 68, 77–79, 82, 87,

88, 93, 103, 105, 112, 130, 132, 184, 193,210, 230, 244, 294, 335, 380, 390

controlled, 78coreachable, 55deterministic, 58Mealy, 66, 67Moore, 192Nerode, see Nerode, generatornonblocking, 55, 109nondeterministic, 57, 58product, 105reachable, 55–57

generators, 56globally output controllable, 219Guideway, 293

Hasse diagram, 3, 12, 98hierarchical

aggregation, 70consistency, 189, 191, 204, 208, 209, 214, 215,

219, 222, 231, 232high-level, 236low-level, 203

control, viii, 70, 189, 193structure, 189, 191

loop, 190, 200supervisory control, see supervisory, control,

hierarchicalhierarchical aggregation, 63

image, 13, 15, 193, 208, 217, 218, 223inverse, function, 13, 245

implementation, 103inadmissible

agent, 232, 233, 235, 242induced, 17infimal closed observable sublanguages, 279–283interrupts, 117invariance, 35

join, 2, 3, 5, 6, 9, 10, 18, 39, 99

Kanban, 89

474

Page 492: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

kernelcoarse, 13equivalence, 13, 14, 32, 66fine, 13

Kleene’s Theorem, 59

language, 37–38closed-loop, 111, 115, 178, 200, 201controllable, 94–100, 104, 109, 115, 116, 130,

131, 192, 199–204, 206, 208, 219, 221, 223,234, 262–266, 280–283, 285–288, 295, 324,327, 373, 401–405, 418

closed, 99high-level, 203, 208, 214locally, 218, 221, 222low-level, 201, 202, 208, 218supremal, 102, 118, 120, 137, 184, 192, 224,

408, 409, 414, 415empty, 38, 59, 247legal, 112, 132marked, 320nonblocking, 115nonconflicting, see nonconflict, languagenormal, 247–252, 261–263, 284–286, 288, 289,

295, 296optimal, 248supremal, 248, 249, 251

not normal, 296observable, 244, 258, 259, 261–266, 279–283,

286, 295, 296paranormal, 250–252prefix, 95prefix-closed, 63, 64, 191, 350uncontrollable, 95, 115, 116, 199, 207, 408unobservable, 280

lattice, 1, 5–7, 10, 11, 19, 34, 39, 98, 99, 248, 318complete, 6–8, 10, 20, 318distributive, 5modular, 5product, 6semilattice, 18

upper, 99sublattice, 6, 7, 17, 39, 98, 99

complete, 248

Local observability, 274locally output controllable, 218loop-freeness, 345, 349

machine, 54Manufacturing Workcell, 376marked

L-, 100, 101, 108, 405Lm-, see marked, L-activity, 389string, see string, marked

marker state, see state, markermealy output map, 66meet, 2, 3, 5, 6, 8, 9, 39, 66memory, 355message passing, 116Mine Pump, supervisory control of, see Appendix,

361MNFSC, 265, 266MNSC, 97, 101, 103, 104, 108, 403, 404, 406monoid, 337

morphism, 337multiplicative, see multiplicative, monoid

monolithic, 129monotone, 19multiplicative

monoid, 37semigroup with identity, 37

mutual exclusion, 125

Nerodecell, 40, 49, 65equivalence, see relation, Nerode equivalencegenerator, 65–67

Neutralization System, 330NFSC, 264, 265, 285nonanticipative, 63nonblocking

control, 134DES, see automaton, nonblockingfeasible supervisory control, see NFSChierarchical supervision, 214–226, 242predicate, 328, 329property, 111, 129, 130, 178, 182, 191, 266, 267,

280, 328, 329

475

Page 493: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

SFBC, 328optimal, 328

supervisor, see nonblocking, supervisory con-trol

supervisory control, 96, 100, 103, 114, 135,178–180, 286, 365, 400, 401, 403–405, 418

nonconflictlanguage, 108, 130, 131, 178, 248, 287–289, 419predicate, 329property, 108

nondeterministic dynamic system, 18normality, see property, normalityNSC, see nonblocking, supervisory control

observable, 21, 257, 258observations, 21observer, 20, 187, 217, 223, 253OCC, see output control consistentoutput

controllable, 204, 218, 232globally, 219, 220locally, 218–220

map, 48, 66, 68, 195Mealy, 66

uncontrollable, 232output control consistency, 197–199, 208, 214, 220,

226, 237strict, 205, 206, 214, 222, 230, 231, 241

output control consistent, 199, 200, 202, 204, 205,208, 212, 215, 231, 232, 235

strict, 205, 206, 208, 212, 214, 223, 224, 226,231–233

output language, 64output map, 21

paranormal, 250partition, 8–13, 16, 17, 20, 38, 39, 48, 79, 88, 191,

193, 195, 231, 248, 250, 389, 390, 404binary, 48coarse, 8–11, 67fine, 8–11, 20, 38, 39, 48, 49, 70partition, 11refine, 8, 40, 51

path, 16, 18petri nets, 336, 376, 387, 423

Piston Rod Robotic Assembly Cell, 379poset, 1–3, 5, 6, 8, 9, 34, 66, 98

product, 2predicate, 317–320, 324, 327, 329, 330, 341–344,

352, 356–358, 364, 367controllable, 321–324, 327, 328, 343, 344disabling, 267family, 320, 328linear, 341, 342, 349, 350linear dynamic, 355strongest, 318, 321transformer, 319, 322true, see predicate, weakestuncontrollable, 322weakest, 318, 322

prefix, see string, prefix-preserving, 49, 192closure, see closure,prefix

preimage, 208prioritized synchronous product, 88production network, 360projection, 57, 129, 181, 184, 247, 253, 259, 262,

284, 288, 291, 295canonical, 13, 14, 16, 41, 51catenative, 82natural, 68, 82, 84, 85, 87, 245, 252, 253, 266,

394on TDES, 394

propertyadmissible, 266, 284–286composition, 42controllability, vii, 95, 96, 104, 116, 202, 207–

209, 220, 224, 250, 265, 282, 288, 319, 321,322, 336, 343, 345, 368, 372, 388

local controllability, 216–218, 220, 221, 224normality, 244, 250, 262, 283, 284, 286, 287,

295observability, vii, 244, 257, 259, 262, 265, 266,

282, 283, 286, 295, 319, 329, 336reachability, vii, 324, 343TDES controllability, 388, 401, 402, 404, 419,

423pyramidal hierarchy, 191

476

Page 494: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

quasi-congruence, 18

reachabilitypredicate, 318, 321set, 330tree, 63–65, 195–197, 204, 205, 216, 217, 224,

226, 230, 233, 318, 327, 400reachable state subset, see state, reachable, subsetrecognizer, 40, 49, 50, 53, 54, 57, 62, 97, 108, 403

canonical, see canonical, recgonizerdeterministic, 62minimal-state, 57nondeterministic, 62

reduction, 246regular expressions, 59relation, 32

antisymmetric, 1, 8binary, 1, 7, 12, 83, 257equivalence, 1, 7–13, 20, 38, 49, 50, 65, 66, 193,

194, 231, 329refine, 67, 70, 259

Nerode equivalence, 38–40, 48, 50, 51, 56, 65,69

coarse, 40fine, 39

reduced, 246reflexive, 1, 7, 8, 12, 34, 258right congruence, 38, 39, 42, 48, 65–67, 69, 70,

193, 197, 245coarse, 39, 48, 49reduced, 246refinement, 193, 197

symmetric, 7, 12, 258tolerance, 12, 258transitive, 1, 7, 8, 12, 34

relationshipabsorption, 5consistency, 5

reporter, 63represents, 81

SCOP, 289, 290SCOP Supervisory control and observation prob-

lem, 284

selfloop, 58, 62, 70, 89, 93, 113, 137, 141, 179, 203,267, 338, 354, 407, 416

semilattice, see lattice, semilatticeSFBC, 320–324, 327–329, 342, 343, 345, 349, 351,

360, 367balanced, 324, 327modular, 324, 325, 328nonblocking, see nonblocking, SFBCoptimal, 324, 350, 351, 356

shuffle product, 85Σ, see alphabetsilent

node, 195, 197, 204, 207, 226, 228–232output symbol, 64, 192, 226path, 195, 204, 226, 232, 233silent, 224silent path

uncontrollable, 231symbol, 49, 193transition, 92, see transition, silent

simultaneous events, 341Small Factory, 92, 134, 184, 289SOCC, see output control consistent, strictspecification

language, 78, 97, 108, 109, 137, 215, 284, 287,292, 294, 326, 328, 368

spray, 32–36state, 42, 46, 53

coreachable, 55, 81, 108subset, 81

description, 78dump, 40, 43, 46, 47, 53, 55, 92, 115entrance, xi, 36, 70, 79, 391exit, xi, 35, 57, 79initial, xi, 16, 18, 21, 22, 43, 48, 50, 54, 61, 63,

79, 80, 86, 91, 93, 118, 119, 126, 181, 191,195, 222, 226, 227, 266, 299, 300, 330, 334,339, 343, 365, 389

marker, xi, 43, 46, 50, 54, 55, 79, 80, 87, 91–93,108, 112, 113, 118, 119, 126, 133, 178, 180,181, 191, 213, 228, 299, 300, 326, 328, 365,390, 415

non-coreachable, 55, 58, 113nonreachable, 55

477

Page 495: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

nonvocalizable, 230, 231output, 198output map, 192reachability, 319reachable, 50, 51, 55, 58, 81, 108

subset, 81root, 63, 195, 197, 204, 207, 216, 230, 231, 233set, 79transition graph, see transition, graphvocal, 126vocalization, 217vocalize, 205, 230, 231

state feedback control, see SFBCstate, dump, 43string, 37, 38, 40, 43, 47–50, 53–55, 57, 62–66, 70,

79, 82, 85–87, 94, 95, 97, 100, 108, 113,142, 179, 180, 191, 193, 195, 197, 198, 200–202, 204, 205, 207, 216, 217, 220, 221, 223,225, 233, 245, 253, 257–259, 262, 263, 265,266, 281, 284, 288, 296, 320, 337, 343, 344,358, 374, 390, 392, 394, 398, 400, 403, 405,408, 409

catenation, 37, 38, 59, 68, 251empty, 37–40, 42, 43, 45, 48, 49, 53, 57, 59–61,

63–65, 67, 68, 81, 82, 84, 86, 94–96, 99,101, 108, 109, 180, 192, 193, 196, 202, 207,216, 221, 245, 251, 252, 258, 259, 279, 280,282, 283, 285, 288, 322, 400, 402

epsilon, 59, 60infinite, 391, 392length, 38, 42marked, 55, 87, 94, 179, 220, 223, 284, 415prefix, 40, 95, 108uncontrollable, 200, 231

strings, 55, 197strong observability, 260Strong quasi-congruence, 314strongly (G, P ) - observable, 260structural boundedness, 387structurally bounded, 338subalphabet, see alphabet, sub-sublattice, see lattice, sublatticesubpredicate, 318subset construction, 58

subsystemsuncontrollable, 117

successive approximation, 71supervisor, 104, 109, 111, 114, 116, 118, 120, 127,

129, 134, 138, 179, 244, 262, 263, 266, 268,292, 329, 383, 400, 418, 419

candidate, 111centralized, 129, 137, 140, 143component, 129, 140, 141conjunction, 130–132decentralized, 129, 142, 143design, 109feasible, 266–268, 270, 294, 384global, 181high-level, 209language, 105modular, 129, 135, 180, 181monolithic, see supervisor, centralizedoptimal, 110, 297, 376optimal global, 133optimal low-level, 210proper, 105, 108, 110, 111, 130–132, 135, 137,

138, 143, 179, 415, 419reduction, 127state, 119, 299, 300supremal, 382synthesis, 128

supervisoryaction, 96, 109, 129, 130, 138, 178, 265, 267,

295, 403control, 94–97, 100, 101, 103, 105, 113–115,

122, 125, 128, 187, 199, 218, 244, 248, 262,263, 280, 283, 284, 286, 296, 335, 376, 386,388, 399–403, 405, 406, 423

feasible, 264, 265, 267, 280hierarchical, 242

controller, 194modules, 129structure, 194

supervisory control of a mine pump, 449supported, 74surjective, 13, 14, 32, 34, 41, 68synchronous product, 82synchronously nonconflicting, 253

478

Page 496: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

systemuncontrollable, 349

tail map, 64TATG, see transition, graph, timed activityTCT

allevents, 181complement, 92, 115condat, 105, 110, 111, 114–116, 135, 140, 141,

267, 269, 289, 290, 295create, 198, 294hiconsis, 208, 212higen, 198, 208, 212isomorph, 112, 135, 290meet, 86, 87, 89, 93, 94, 108, 110–112, 115,

130–133, 135, 137, 140, 141, 143, 211, 289,290, 295, 376, 407, 408, 414, 415, 418

minstate, 52, 57, 91, 115, 290mutex, 125, 294nonconflict, 108, 111, 113, 115, 131–133, 135,

141, 143, 270, 289, 290, 295outconsis, 198project, 62, 87, 89, 91, 92, 114, 123, 184, 185,

245, 250, 289–291, 294, 394, 395relabel, 181selfloop, 85, 87, 89, 114, 120, 122, 123, 141,

184, 185, 214, 228, 245, 270, 289, 290, 295(s)observ, 263supcon, 105, 110, 112, 114, 115, 117, 122, 123,

125, 127, 132, 133, 137, 140, 141, 181, 184,185, 266, 289, 290, 294, 377, 414, 415, 417

supnorm, 250, 289, 290, 294supscop, 293sup(s)qc, 315sync, 82, 84–86, 88, 89, 92, 112–114, 116, 123,

125, 132, 136, 139, 141, 181, 184, 185, 210,290, 385, 397

trim, 81, 94, 111, 112, 135, 141vocalize, 211, 212, 230–232, 235, 242

TDES, 388, 390, 392–394, 398, 400, 404, 406, 407,413–415, 418, 421

composition, 397controllability, 399–404modular supervision, 418–422

transition, 399structure, 392

Three Cooks, 114tick, 388, 390–393, 395–403, 406–409, 415–419

preemptive, 401tickcount, 390timed

activitytransition graph, see transition, graph, timed

activitytransition graph, see transition, graph, timed

timed automata, 423timed manufacturing cell, 410Toolmaker, Parable of the, 16Toy, 91trajectory, 21Transfer Line, 139transfer line, 185, 209, 222, 225transition, 43, 52–54, 57, 61, 64, 65, 67, 70, 79, 80,

85, 89, 91, 92, 105, 112–114, 116, 118, 119,122, 125, 126, 137, 140, 142, 180, 181, 205,211, 228–230, 232, 233, 235, 240, 242, 266–268, 294, 295, 299, 300, 319, 329, 330, 333,339, 340, 344, 355, 361, 367, 381, 391–393,395–399, 401, 414, 415, 417

action, 64, 69, 358activity, 395, 406, 407arrow, 80constraint, 127diagram, 209function, 42, 48, 50, 53, 54, 57, 63, 64, 69, 70,

79, 86, 92, 103, 105, 108, 130, 191, 320,337, 361, 390

activity, 389graph, 43, 45–48, 54, 57, 59, 61, 79, 80, 110,

118, 203, 226, 232, 234, 259, 295, 390activity, 390, 393, 395, 398, 406, 407, 409,

410, 415timed, 390, 391, 393, 394, 397, 398, 406–409,

411, 412timed activity, 390, 394, 395

invariant, 341label, 80, 92, 195, 226, 389map, 191

479

Page 497: SUPERVISORY CONTROL OF DISCRETE-EVENT SYSTEMS ECE … · The control of discrete-event systems (DES) is a research area of current vitality, stimulated by the hope of discovering

matrix, 330model, 330rule, 333

timed, 396silent, 266structure, 42, 53, 60, 92, 109–111, 121, 137,

194, 197, 198, 204, 205, 226, 228, 235, 237,241, 266, 267, 269, 295, 317, 330, 331, 390,392, 395, 396

activity, 392, 397, 401refinement, 204timed, 392, 397

timed, 407tracking, 68

transition function, 21tree, 63–65, 195, 196, 230, 231, 233, 400

extended, 196new-, 230, 231sub-, 231

TTG, see transition, graph, timed

Unreliable Machine (Deadlock Avoidance), 385upward continuous, 20

VDES implementation (VDESI), 367vector discrete-event system (VDES), 337vocal

node, xi, 195–197, 204, 205, 207, 211, 216, 217,222, 224, 226–234, 239, 299, 300

weakly ρ-supported, 75weakly supported, 72witness, 275word, 40Workcell, 113

480