SLIDE 1
Supervisor - Task Given Process model, P Specification, K K - - PDF document
Supervisor - Task Given Process model, P Specification, K K - - PDF document
Department of Signals and Systems Supervisor - Task Given Process model, P Specification, K K Calculate supervisor S Within the spec ( ) ( ) L P S L P K P || S = S Non-blocking ( ) ( ) L P S L
SLIDE 2
SLIDE 3
SLIDE 4
SLIDE 5
SLIDE 6
SLIDE 7
SLIDE 8
SLIDE 9
SLIDE 10
SLIDE 11
SLIDE 12
SLIDE 13
SLIDE 14
SLIDE 15
SLIDE 16
SLIDE 17
SLIDE 18
SLIDE 19
SLIDE 20
SLIDE 21
SLIDE 22
SLIDE 23
SLIDE 24
SLIDE 25
SLIDE 26
SLIDE 27
SLIDE 28
Department of Signals and Systems
Chalmers Automation Martin Fabian
32
Supervisor - Task
- Given
– Process model, P – Specification, K
- Calculate supervisor S
– Within the spec – Non-blocking – Controllable – Max permissive
- Problem
– Blocking – Un-controllable events
P K can want
P||S = S must
( ) ( )
m
L P S L P S
( ) ( ) ( )
u
L P S L P L P S
( ) ( ) L P S L P K P S P S
SLIDE 29
Department of Signals and Systems
Chalmers Automation Martin Fabian
33
Supervisor - Verification
- Given P, S and K, verify that
– S ”works” properly
- S ”works”
– Controllable – Nonblocking
- P||S fulfills the specification
– Undesired states are avoided – Undesired strings avoided – Language inclusion
P K can want
P||S ?
( ) ( ) ( )
u
L P S L P L P S ( ) ( ) L P S L P K ( ) ( )
m
L P S L P S
SLIDE 30
Department of Signals and Systems
Chalmers Automation Martin Fabian
34
Supervisor - Synthesis
P K can want
P||S = S must
- Iterative calculation, S0 = P||K
– Forbid undesired states
- If uncontrollable, make controllable, Si
- If blocking, make nonblocking, Si+1
- Etc...
– Terminates at fixpoint, Si = Si+1
- Optimality, P||S = S ≤ S0
– A unique largest supervisor always exists – Maximally permissive, minimally restrictive – Allows P maximal freedom within the spec
( ) ( ) ( )
u
L S L P L S ( ) ( ) L P S L P K ( ) ( )
m
L P S L P S
Synthesis can be viewed as a series of verification tasks
SLIDE 31
Department of Signals and Systems
Chalmers Automation Martin Fabian
35
Supervisor – Minimally Retrictive
- Calculates sub-automata
– Can be ordered in a structure – Lattice
- Unique element exist
– Unique largest element, S0 – Unique smallest element, 0- automaton
- Set of all controllable sub-automata
– Has unique largest element, S2
- Set of all non-blocking sub-
automata
– Has unique largest element, S1
- Intersection controllable and non-
blocking
– Unique largest solution, S4
S0 S1 S2 S3 S4 S5 S6 S7 =
Controllable Nonblocking
SLIDE 32
Department of Signals and Systems
Chalmers Automation Martin Fabian
36
Supervisor - Synthesis
- Algorithm
- 1. Calculate T0 = P||K
- 2. Find un-controllable
states S0 = f(P, T0)
- 3. Si+1 = SupNB(Si)
- 4. Si+2 = SupC(Si+1)
- 5. If Si+2 ≠ Si+1, go to 3
- 6. S := Si+1
P K can want
P||S = S must
SLIDE 33
Department of Signals and Systems
Chalmers Automation Martin Fabian
37
Supervisor – Finding Un-controllable States
- Synch P||K
– Compare P||K with P – If exists uc-event from state p – Not exist from state <p,q> – Then <p,q> un-controlable state
- Can be done while synching
– If uc-event disappears – Mark state as un-controllable – State is forbidden
( ) ( ( , )) ( ( , ))
u P P u P K P K
s L P K i s i s
p0 p1 a !u b p0.q0 p1.q1 a b
P P||K
SLIDE 34
Department of Signals and Systems
Chalmers Automation Martin Fabian
38
Supervisor - Synthesis
- Algorithm
- 1. Calculate T0 = P||K
- 2. Find un-controllable
states S0 = f(P, T0)
- 3. Si+1 = SupNB(Si)
- 4. Si+2 = SupC(Si+1)
- 5. If Si+2 ≠ Si+1, go to 3
- 6. S := Si+1
- Claim:
– Within spec – Non-blocking – Controllable – Maximally permissive
P K can want
P||S = S must
We want proof!
SLIDE 35
Department of Signals and Systems
Chalmers Automation Martin Fabian
39
Supervisor – Monolithic Synthesis
- Process typically described by
– Interacting sub-processes – P = P1||P2||…||Pn – Restrict each other
- Spec typically described by
– Interacting sub-specs – K = K1||K2||…||Km – Restrict each other
- Monolithic supervisor
– Single one for the entire P and entire K
- Guarantees
– No specs violated – But...
influence
- bserve
S1 S2 S3S P2 P1 P3