Transcript Document

CS 367: Model-Based Reasoning
Lecture 10 (02/14/2002)
Gautam Biswas
Today’s Lecture
Last Lecture:


Notion of Controllability
Examples of Supervisory Controllers




No event uncontrollable or unobservable
Uncontrollable events
Unobserved Events
Review of HW problem solutions
Today’s Lecture:

Controllability Theorem
Supervisory Controller: Examples
Admissible strings: a1 precedes a2 iff b1 precedes b2
Build trim automata Ha such that Lm(Ha) contains only
those strings that contain the above ordering constraints
Is Ha blocking?
In general, how do we build supervisors? If all events
controllable and observable: L(S1 / G)  L(H a ) and Lm (S1 / G)  Lm (Ha )
Supervisory Controller: Example 2
Let’s say there are uncontrollable events, i.e., Euc = {a2,b2}
What does the supervisor do in this case?
Example, it must disable event b2 in state 9, but b2 is uncontrollable
 Note state 1 transitions to state 9 with uncontrollable event a2
therefore, disallow supervisor automata from reaching state 1 , which means
disable event a1 when Ha is in state 0. After observing a2, supervisor can enable
a1 .
What about the case of disabling b1 when Ha enters state 4?

In general, uncontrollable events force restriction of behavior to proper
subset of L(Ha)
Supervisory Controller: Example 3
Let’s say there are unobservable events, i.e., Euo = {a2}
If the supervisor enables both a1 and a2 in state 0, it will run into trouble: cause
blocking and allow illegal strings



If not disabled, after supervisor observes a1, will not know if system is in states 1, 4, or 9
until the next observable event occurs
States 4 and 9 have conflicting requirements
Say we disable b1 : creates deadlock at state 9
To ensure legality but avoid blocking supervisor can only enable a1 or a2 at the
beginning, but not both
Controllability
Nonblocking Controllability Theorem (NCT)
Consider a DES G where Euc  E is the set of uncontrollable events. Consider
also the language K  Lm(G), where K  
There exits a nonblocking supervisor S for G such that
Lm(S/G) = K ( L(S/G) = K)
iff the following two conditions hold:
1. [controllability]
2. [Lm(G)-closure]
KE  L(G)  K
uc
K is Lm (G)  closed, i.e., K  K  Lm (G)
Controllability
L( S / G )  K iff K Euc  L(G )  K
S ( s )  [ Euc  ( f ( x0 , s ))] {  Ec : s  K }
Part 1: Supervisor enables after string s:
(i) all uncontrollable events that are feasible in G after s
(ii) all controllable events that extend s inside K
Part 2: There exists an admissible S such that
L( S / G )  K .
Let s  K and   Euc and s  L(G )
Then  S ( s )
K and M  M are languagesover eventset E
Euc  E. K is controllable wrt M if
K Euc  M  K
Controllability of Languages
Take Ha x G. Automata identical to Ha except for renaming of
states
States 0 through 8 are renamed (0,0) to (8,8). State 9 is
renamed (9,4)
Ha x G and G differ in only two states of Ha x G : (9,4) and
(4,4)


In (9,4) b2 is feasible in G, not in Ha x G
In (4,4) b1 is feasible in G, not in Ha x G
Any Euc that contains b1 and b2 – K is not controllable
Realizing Supervisors
How to build an automaton that realizes S?
Build an automaton that marks K, i.e.,
R  (Y , E , g , R , y0 , Y ), where R is trim
Lm ( R)  L( R)  K
L( R  G )  L( R)  L(G )  K  L(G )  K  L( S / G )
Lm ( R  G )  Lm ( R)  Lm (G )  Lm ( S / G )
Note that R has the same event set as G, therefore,
R G  RG
Control action S(s) is encoded into transition structure of R
S ( s )  [ Euc  ( f ( x0 , s ))] {  Ec : s  K }
 R ( g ( y0 , s ))
RG ( g  f (( y0 , x0 ), s ))
Standard Realization of S
Start with G in state x, R in state y, following the
execution of s  L(S / G)
G generates  that is currently enabled, i.e., this
event set is present in R’s active event set at y
R executes the event as a passive observer of G
and the system now moves into states x’ and y’
Set of enabled events of G given by active event
set of R at y’
Induced Supervisor
Reverse Question: Given C, can the product CG
imply that C is controlling G
Depends on the controllability of L(C)
The supervisor for G induced by C is SiC
L(SiC / G)  L(C  G) iff L(C) is controllable wrt L(G) and Euc
Reduced State Realization
L(S/G) = K may not be the most
economical way to represent S in
terms of an automata (memory
requirements)
Relax requirements L(R) = K, and
Come up with L( Rrs )  K
L( Rrs  G)  L(S / G)
Collapse 2,5,6,7, and 8 into one state
Controllable sub languages and super languages of
an uncontrollable language
K is not controllable wrt M and Euc
K Euc  M  K
KM
Two languages derived from K:


The supremal controllable sub language K: K C
The infimal prefix-closed and controllable super
language of K: K C
  K C  K  K  K C  M
Example: Supremally Controllable
Language
M  L(G ) k  Lm ( H a )
K  {a2b2 a1b1 , a2 a1b2b1 , a1a2b1b2 , a1b1a2b2 }
Euc  {a2 , b2 } m akesK uncontrollable
Re m ove from K all strings that containa1a2 as prefix
K1  {a2b2 a1b1 , a2 a1b2b1 , a1b1a2b2 }   K1 notcontrollable
Re m oveall strings that containa1 as prefix
K 2  {a2b2 a1b1 , a2 a1b2b1} this is controllable
K C  K 2
Infimal Prefix-closed controllable
language
M & K as before
Extend string a1a2 with string of uncontrollable events
of length1
K C  K  {a1a2b2 }