application: discrete event systems (pre lecture) · discoveries & inventions of the nineteenth...

63
Application: Discrete Event Systems (Pre Lecture) Dr. Neil T. Dantam CSCI-561, Colorado School of Mines Fall 2019 Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 1 / 63

Upload: others

Post on 27-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Application: Discrete Event Systems (Pre Lecture)

Dr. Neil T. Dantam

CSCI-561, Colorado School of Mines

Fall 2019

Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 1 / 63

Page 2: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

On Specifications

Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 2 / 63

Page 3: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Introduction

Discrete Event Systems

I Discrete Event System (DES): asystem that exhibits discrete(non-continuous change)

I The control engineer’s view oflanguage and automata theory

I Applications:I Embedded SystemsI RoboticsI Verification

OutcomesI Broad introduction to DES

I Construct DES models of physicalprocesses / systems

I Construct specifications as formallanguages

I Control DES to achieve a desiredspecification

Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 3 / 63

Page 4: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Outline

Introduction to Control

Discrete Event SystemsDefinitionsDES Languages & Properties

Supervisory Control

Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 4 / 63

Page 5: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Introduction to Control

Outline

Introduction to Control

Discrete Event SystemsDefinitionsDES Languages & Properties

Supervisory Control

Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 5 / 63

Page 6: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Introduction to Control

Physical vs. Computational Laws

A Physical Law

dx

dt= g(x,u)

I x: current state

I u: current input

I dxdt : change in state

I g: process function

A Computational Law

qk+1 = δ(qk , σk)

I qk : current state

I σk : current input

I qk+1: successor state

I δ: transition function

Continuous Dynamics. Discrete Dynamics.

Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 6 / 63

Page 7: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Introduction to Control

Ye Olde Controller

Flyball Governer

Discoveries & Inventions of the Nineteenth Century.R. Routledge, 13th edition, published 1900.

Control: modify system’s input to achieve desired property

Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 7 / 63

Page 8: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Introduction to Control

The World According to Controls Engineers

x = F (x , u)u = G (r)

Controller Plant

uxr

Symbol Description

x ∈ X stateu ∈ U input

r referenceX state spaceF PlantG Control Law

Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 8 / 63

Page 9: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Introduction to Control

Feedforward and Feedback Control

Feedforward / Open-Loop Control

x = F (x , u)u = G (r)

Controller Plant

uxr

Feedback / Closed-Loop Control

x = F (u)u = G (r , x)

Controller Plant

uxr

Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 9 / 63

Page 10: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Introduction to Control

Example: The Classic Inverted Pendulum

mcy

x

m`

`

θ

f

(mc + m`) x −m``θ cos θ + m`θ2 sin θ = f`θ − g sin θ = x cos θ

Gf x , x

θ, θx = 0, x = 0θ = 0, θ = 0

Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 10 / 63

Page 11: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Discrete Event Systems

Outline

Introduction to Control

Discrete Event SystemsDefinitionsDES Languages & Properties

Supervisory Control

Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 11 / 63

Page 12: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Discrete Event Systems

Supervisory Control Theory

Peter Ramadge

I Princeton

Walter Wonham

I Toronto (emeritus)

P. J. Ramadge and W. M. Wonham. Supervisory control of a class ofdiscrete event processes. SIAM J. Control and Optimization, Vol. 25,No. 1, pp. 206-230, 1987.

Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 12 / 63

Page 13: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Discrete Event Systems Definitions

Events

Switch On/Off

+5V

0

Clock edge

Contact

|x | ≥ k

Threshold

A discrete item of a finite set.Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 13 / 63

Page 14: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Discrete Event Systems Definitions

Physical Interpretation of Events

Quantum Mechanics

Maxwell’s Equations ∇× B = µ0

(J + ε0

δEδt

)Linear Circuits V = IR

Switch

Event {on,off}

Events are a convenient abstractionDantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 14 / 63

Page 15: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Discrete Event Systems Definitions

The Discrete Event System

Definition (Discrete Event System)

A discrete-state, event-drive system. That is, its state evolutiondepends entirely on the occurrence of asynchronous discrete eventsover time.D = (X ,E , f , Γ, x0,Xm):

I X is the set of states

I E is the finite set of events

I f : X × E 7→ X is the transition function

I Γ : X 7→ P (E ) is the active event function.Γ(x) = {e ∈ E | f (x , e) is defined}

I x0 is the initial state

I Xm is the set of marked states

Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 15 / 63

Page 16: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Discrete Event Systems Definitions

DES vs. DFA

DES

D = (X ,E , f , Γ, x0,Xm):

I X is the set of states

I E is the finite set of events

I f : X × E 7→ X is the transition function

I Γ : X 7→ P (E ) is the active eventfunction.Γ(x) = {e ∈ E | f (x , e) is defined}

I x0 is the initial state

I Xm is the set of marked states

DFA

M = (Q,Σ, δ, q0,F ), where

I Q is a finite set call the states

I Σ is a finite set call the alphabet

I δ : Q ×Σ 7→ Q is the transition function

I q0 ∈ Q is the start state

I F ⊆ Q is the set of accept states

Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 16 / 63

Page 17: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Discrete Event Systems Definitions

Example: Going for a walk

I Scenario:I You may go for a walk.I It could rain.I If it rains, you’ll get wet.

I Events:I go-outsideI sunI rainI get-wetI go-home

go-outside

sun

rain

get-wet

go-home

go-home

start

Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 17 / 63

Page 18: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Discrete Event Systems Definitions

Example: Carry an Umbrella

I Scenario:I You may go for a walk.I It could rain.I If it rains, you’ll get wet.I You can pack an umbrella.

I Events:I go-outsideI sunI rainI get-wetI go-homeI pack-umbrella

startgo-outside

sun

rain get-wet

go-home

go-home

go-outside sun

rain

packumbrella

go-home

Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 18 / 63

Page 19: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Discrete Event Systems Definitions

Exercise: Robot Vacuum

I Drive till bump sensor

I Then turnI Events:

I startI stopI driveI bumpI turn

startstart drive bump

turn

stop

Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 19 / 63

Page 20: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Discrete Event Systems Definitions

Exercise: Robot Vacuum, Redux

I Add IR proximitysensor

I Events:

I startI stopI driveI bumpI turnI Proximity

startstart drive proximity

driveturn

stop

bump

turn

Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 20 / 63

Page 21: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Discrete Event Systems DES Languages & Properties

Extended Transition Function

Transition Function f : X × E 7→ X

Extended Transition Function f : X × E ∗ 7→ X

base: f (x , ε) = xinductive: f (x , αe) = f (f (x , α), e)

where α ∈ E ∗ and e ∈ E

Define transitions recursively over strings

Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 21 / 63

Page 22: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Discrete Event Systems DES Languages & Properties

Language Marked

Definition (Language Marked)

The language marked by D = (X ,E , f , Γ, x0,Xm) is the set of stringsthat take D to a final marked state:

Lm (D) ={s ∈ E ∗ | f (x0, s) ∈ Xm

}

Different word for acceptance

Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 22 / 63

Page 23: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Discrete Event Systems DES Languages & Properties

Language Generated for DES

Definition (Language Generated)

The language generated by D = (X ,E , f , Γ, x0,Xm) is the set ofstrings that have defined transitions in D:

Lg (D) ={s ∈ E ∗ | f (x0, s) is defined

}

Behavior that is possible, but not necessarily “acceptable.”

Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 23 / 63

Page 24: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Discrete Event Systems DES Languages & Properties

Example: Marking and Generation 0

0 1 2 3

start

a b c Lm (D) = {ab}

Lg (D) = {ε, a, ab, abc}

Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 24 / 63

Page 25: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Discrete Event Systems DES Languages & Properties

Example: Marking and Generation 1

0 1

startb a

a

b

D I Lm (D) :I Strings ending in aI (a|b)∗a

I Lg (D) :I All strings in EI (a|b)∗

Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 25 / 63

Page 26: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Discrete Event Systems DES Languages & Properties

Exercise: Marking and Generation

0 1

starta

a

b

D

I Lm (D) :

I Sequences of a’s with isolated b’s,starting and ending with a

I a (a| (ba))∗

I Lg (D) :

I Sequences a’s and b’s with at most oneconsecutive b

I (a|ab)∗

Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 26 / 63

Page 27: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Discrete Event Systems DES Languages & Properties

Prefix-Closure

Definition

The prefix closure of language L is the set of all prefixes of strings in L:

L = {α ∈ E ∗ | ∃β ∈ E ∗, αβ ∈ L},

where E is the event set (alphabet) for L.

Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 27 / 63

Page 28: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Discrete Event Systems DES Languages & Properties

Example: Prefix Closure 0

0 1 2 3

start

a b c

Lm (D) = {ab}

Lg (D) = {ε, a, ab, abc}

Lm (D) = {ε, a, ab}

Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 28 / 63

Page 29: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Discrete Event Systems DES Languages & Properties

Example: Prefix Closure 1

0 1

b aa

b

D

start

0 1

b aa

b

start

L (D)

Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 29 / 63

Page 30: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Discrete Event Systems DES Languages & Properties

Prefix Closure Algorithm

Algorithm 1: prefix-closure

Input: M = (Q,Σ, δ, q0,F ) ; // states,alphabet,transition,start,accept

Output: M ′ = (Q ′,Σ, δ′, q′0,F′) ; // states,alphabet,transition,start,accept

1 (Q ′, δ′, q′0,F′)← (Q, δ, q0,F );

2 function visit(q,p) is // new-state× visited-states

3 if q 6∈ p then

4 p′ ← p ∪ {q};5 if q ∈ F then F ′ ← F ′ ∪ p′;6 forall σ ∈ Σ do // Visit all neighbors of q

7 visit(δ(q, σ), p′);

8 visit(q0, ∅);

Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 30 / 63

Page 31: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Discrete Event Systems DES Languages & Properties

Exercise: Prefix Closure

0 1

2

aa

bb

a,b

start

D

0 1

2

aa

bb

a,b

start

L (D)

Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 31 / 63

Page 32: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Discrete Event Systems DES Languages & Properties

Deadlock

Generally: Lm (D) ⊆ Lm (D) ⊆ Lg (D)

Definition

Automaton reaches a state from which no further execution is possible:

∃x ∈ X , σ ∈ Lg (D),

(x = f (x0, σ))

︸ ︷︷ ︸Reach x on σ

∧ (Γ(x) 6= ∅)︸ ︷︷ ︸Some active event at x

Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 32 / 63

Page 33: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Discrete Event Systems DES Languages & Properties

Example: Deadlock

0 1

2 3

aa

b

b

a

start

Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 33 / 63

Page 34: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Discrete Event Systems DES Languages & Properties

Livelock

Definition

Automaton reaches a cycle from which a marked (accept) state is notreachable.

∃(x ∈ X ,σ ∈ Lg (D), α ∈ E+),

∀β ∈ E ∗,(x = f (x0, σ)

)︸ ︷︷ ︸

Reach x on σ

∧(x = f (x , α)

)︸ ︷︷ ︸

Cycle

∧(f (x , β) 6∈ Xm

)︸ ︷︷ ︸No path to accept

Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 34 / 63

Page 35: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Discrete Event Systems DES Languages & Properties

Example: Livelock

0 1

2 3

aa

b

b a

b

start

Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 35 / 63

Page 36: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Discrete Event Systems DES Languages & Properties

Blocking

Generally: Lm (D) ⊆ Lm (D) ⊆ Lg (D)

Definition

An automaton D is blocking if it can deadlock or livelock. Anautomaton D is nonblocking if neither deadlock nor livelock arepossible.

Blocking: Lm (D) ⊂ Lg (D)

I We can generate a string that is not a prefix to amarked state.

Nonblocking: Lm (D) = Lg (D)

I Every string we can generate is a prefix to a markedstate.

Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 36 / 63

Page 37: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Supervisory Control

Outline

Introduction to Control

Discrete Event SystemsDefinitionsDES Languages & Properties

Supervisory Control

Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 37 / 63

Page 38: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Supervisory Control

Supervisor Function

I Dynamically enable/disable events in E

I S : Lg (D) 7→ P (E )

DSS(σ)

σ

SupervisorUncontrolled

System

AllowedEvents Generated

String

Restricts the DES to desirable behavior.

Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 38 / 63

Page 39: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Supervisory Control

Supervised Generation: Lg (S/D)

Formal Description

Base: Contains the empty string:ε ∈ Lg (S/D)

Inductive: Next event e in recursively-allowed string σ is allowed by the supervisor:

(σe ∈ Lg (S/D)) ⇐⇒

(σ ∈ Lg (S/D))︸ ︷︷ ︸recurse

∧ (σe ∈ Lg (D))︸ ︷︷ ︸uncontrolled

∧ (e ∈ S(σ))︸ ︷︷ ︸allowed

,

where e ∈ E and σ ∈ E ∗

Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 39 / 63

Page 40: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Supervisory Control

Supervised Marking: Lm (S/D)

Lm (S/D)︸ ︷︷ ︸supervised marked

= Lm (D)︸ ︷︷ ︸system marked

∩ Lg (S/D)︸ ︷︷ ︸supervised generated

Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 40 / 63

Page 41: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Supervisory Control

Supervised Blocking

∅ ⊆ Lm (S/D) ⊆ ˜Lm (S/D) ⊆ Lg (S/D) ⊆ Lg (D)

Blocking Lg (S/D) 6= ˜Lm (S/D)

I Generated strings not prefixes of marked stringsI Can generate unmarked strings

Nonblocking Lg (S/D) = ˜Lm (S/D)

I All generated strings are prefixes of marked strings

Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 41 / 63

Page 42: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Supervisory Control

Example: Supervision

0 1 2 3

start

a b cD

Lm (D) = {ab}

Lm (D) = {ε, a, ab}

Lg (D) = {ε, a, ab, abc}

I S(ε) = a

I S(a) = b

I S(ab) = ∅

0 1 2 3

start

a bS/D

Lm (D) = {ab}

Lm (D) = {ε, a, ab}

Lg (D) = {ε, a, ab}

Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 42 / 63

Page 43: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Supervisory Control

Supervisor Functions are Languages

Language of Supervisor

Supervisor functions define languages:

L (S) =

σe | (σ ∈ L (S))︸ ︷︷ ︸recurse

∧ (e ∈ S(σ))︸ ︷︷ ︸allowed

Supervisor of Language

Languages define supervisor functions:

SL(σ) = {e | σe ∈ L}

Lg (S/D) ⊆ L (S)

Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 43 / 63

Page 44: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Supervisory Control

Example: Supervisor

Function

I S(ε) = a

I S(a) = b

I S(ab) = ∅

Language

L (S) = {ε, a, ab}

Automaton

s0 s1 s2

start

a b

Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 44 / 63

Page 45: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Supervisory Control

Exercise: Supervision

D

x0

x1

x2

start a

b

S

I S(ε) = {a}I S(a) = ∅

L (S)

L (S) = {ε, a}

s0

s1

start

a

S / D

x0

x1

x2

start a

Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 45 / 63

Page 46: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Supervisory Control

Specifications

I Express desired behavior:I “Don’t do x”I “Don’t do x after you do y”I “Do x , then do y”

I Represent (specify) language of acceptable/admissible behavior:La

I System should only generate admissible behaviors:Lg (La/D) ⊆ La

Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 46 / 63

Page 47: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Supervisory Control

Example: Specifications

For E = {x , y , z}, write the following as regular expressions:I “Don’t do x”

I (y |z)∗

I “Don’t do x after you do y”I (x |z)∗

(y (y |z)∗

)?

I (x |z)∗(ε|y (y |z)∗

)I “Do x , then do y”

I xy(x |y |z)∗

Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 47 / 63

Page 48: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Supervisory Control

Exercise: Specifications

For E = {a, b, c}, write the following as regular expressions:I “Repeat a until b”

I a∗b(a|b|c)∗

I “Avoid a until b”

I c∗b(a|b|c)∗

I “Do a at most once”

I (b|c)∗a?(b|c)∗

I (b|c)∗(a|ε)(b|c)∗

Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 48 / 63

Page 49: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Supervisory Control

Controllable and Uncontrollable Events

E =

controllable︷︸︸︷Ec ∪

uncontrollable︷︸︸︷Euc

Controllable Events: events we can prevent from happening.Conversely, an action we may choose to take.

I Honk hornI Turn left

Uncontrollable Events: events we cannot prevent from happening

Other agent: Stoplight turns redSensed condition: Icy roads

Fault: Brakes fail

Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 49 / 63

Page 50: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Supervisory Control

Fully Controllable Case

I All events are controllable:I Ec = EI Euc = ∅

I Supervision is a direct intersection operate:I Lg (S/D) = Lg (D) ∩ L (S)

Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 50 / 63

Page 51: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Supervisory Control

Example: Weather

0 1

2

3 4

out

sun

rain

wet

home

home

start

D

s

S = (E \ wet)∗

= (home|out|sun|rain)∗

home,out,sun,rain

start dwet

home,out,sun,rain,wet

Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 51 / 63

Page 52: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Supervisory Control

Example: Weather (continued)

0,s 1,s

2,s

3,s 4,s

out

sun

rain

home

home

start 0,d 1,d

2,d

3,d 4,d

out

sun

rain

wet

home

homewet

What’s wrong?

Modeling: can’t control the rain

Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 52 / 63

Page 53: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Supervisory Control

Partially Controllable Case

I Some events are uncontrollable:I Ec ⊂ EI Euc 6= ∅

I A Simple Controller Synthesis Algorithm:1. Find “bad” states:

I base: Disallowed and blocking states in SI recursive: states with uncontrollable transitions to “bad” states

2. Avoid “bad” states

Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 53 / 63

Page 54: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Supervisory Control

Example: Weather (continued)

Euc = {sun, rain,wet}

0,s 1,s

2,s

3,s 4,s

out

sun

rain

home

home

start 0,d 1,d

2,d

3,d 4,d

out

sun

rain

wet

home

homewet

0,d 1,d

2,d

3,d 4,d3,s

1,s 0,d 1,d

2,d

3,d 4,d3,s

1,s

Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 54 / 63

Page 55: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Supervisory Control

Example: Umbrella

0start 1

2

3 4out

sun

rainget-wet

home

home

5 6 7out sun

rain

packumbrella

home

0start 1

2

3out

sun

rain

get-wet

home

5 6out

packumbrella

sun,rain

simplify

Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 55 / 63

Page 56: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Supervisory Control

Example: Umbrella(continued)

0,s 1,s

2,s

3,s

5,s 6,s

start 0,d 1,d

2,d

3,d

5,d 6,d

out

sun

rain

home

out

packumbrella

sun,rain

out

sun

rain

wet

home

out

packumbrella

sun,rain

wet

0,d 1,d

2,d

3,d

5,d 6,d

3,s1,s

Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 56 / 63

Page 57: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Supervisory Control

Fixed PointReview

Definition: Fixed Point

The fixed point of function is avalue where the function’s inputand output are equal.

For f : X 7→ X , the fixpoint issome value x ∈ X where f (x) = x .

Examples

I f : Z 7→ ZI f (x) = x2

I 0 is a fixpoint: f (0) = 0I 1 is a fixpoint: f (1) = 1I 2 is NOT a fixpoint: f (2) = 3

I g : R 7→ RI g(σ) = σR

I aa is a fixpoint: g(aa) = aaI ab is NOT fixpoint: g(ab) = ba

Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 57 / 63

Page 58: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Supervisory Control

Partition Bad States

Algorithm 2: partition-bad-states(D,S)

Input: D = (XD ,E , fD , ΓD , x0,D ,Xm,D); // DES

Input: S = (XS ,E , fS , ΓS , x0,S ,Xm,S); // Specification

Input: Xbad; // Bad states

1 B ← blocking states in S ;2 X ′ ← XD × XS ;

3 Xbad ←

(xD , xS) ∈ X ′ |uncontrollable︷ ︸︸ ︷∃e ∈ Euc , e ∈ ΓD(xD)︸ ︷︷ ︸

allowed in D

fS(xS , e) = ∅︸ ︷︷ ︸not in S

∨ fS(xS , e) ∈ B︸ ︷︷ ︸blocking in S

;

4 XOK ← X ′ \ Xbad;

5 f ′((xD , xS), e) , (fD(xD , e), fS(xS , e));6 Xbad ← partition-fixpoint(XOK,Xbad, f

′);

Initial Xbad: defined transitions to blocking states

Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 58 / 63

Page 59: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Supervisory Control

Partition Fixpoint

Function partition-fixpoint(XOK,Xbad,E , f )

/* Uncontrollable transitions to bad states */

1 X ′ = {x ∈ XOK | ∃e ∈ Euc , f (x , e) ∈ Xbad};2 if X ′ = ∅ then // base: fixpoint

3 return Xbad;4 else // Recurse

5 return partition-fixpoint(XOK \ X ′,Xbad ∪ X ′, f );

Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 59 / 63

Page 60: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Supervisory Control

Exercise: Robot Vacuum Supervision

0

start

1 2 3

45

start

stop drive proximitydrive

turn

bumpturn

I Don’t bump

s

start

d

E \ bump

bump

E

Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 60 / 63

Page 61: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Supervisory Control

Exercise: Robot Vacuum Supervisioncontinued

0,s

start

1,s 2,s 3,s

4,s5,s

0,d 1,d 2,d 3,d

4,d5,dstart

stop drive proximity

drive

turn

turn

start

stop drive proximity

drive

turn

bumpturn

bump

0,d 1,d 2,d 3,d

4,d5,d

4,s

Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 61 / 63

Page 62: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Supervisory Control

Why don’t I just write the code?

I Can you prove the code does what you want?

I How do you say (specify) what you want?

“Program testing can be usedto show the presence of bugs,but never to show their absence!”–Edsger W. Dijkstra (EWD249)

“A design without specificationscannot be right or wrong,it can only be surprising!”–William D. Young (paraphrased)Young, Boebert, and Kain.Proving a computer system secure.

Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 62 / 63

Page 63: Application: Discrete Event Systems (Pre Lecture) · Discoveries & Inventions of the Nineteenth Century. R. Routledge, 13th edition, published 1900. Control: modify system’s input

Supervisory Control

References and Further Reading

Discrete Event Systems: Christos Cassandras and Stephane Lafortune.Introduction to Discrete Event Systems.

Verification: Christel Baier and Joost-Pieter Katoen. Principles of Model Checking.

Switching and Hybrid Systems: Daniel Liberzon. Switching in Systems and Control.

Principles of Model CheckingChristel Baier and Joost-Pieter Katoen

Dantam (Mines CSCI-561) Application: Discrete Event Systems (Pre Lecture) Fall 2019 63 / 63