Verifying a synchronization protocol with clock drifts

Sidestepping verification
complexity with supervisory
control
Ugo Buy
Department of Computer Science
Houshang Darabi
Department of Mechanical and Industrial Engineering
University of Illinois at Chicago
26 September 2003
U. Buy -- SEES 2003
Outline
•
Background
•
P-invariant-based mutex enforcement
•
Net unfolding
•
Assessment
26 September 2003
U. Buy -- SEES 2003
2
Acknowledgements
•
Panos Antsaklis, Michael Lemmon, Univ. of Notre Dame
•
Starthis Corporation, Rosemont, Illinois
•
NIST/ATP program
•
Graduate students Bharat Sundararaman and Vikram
Venepally
26 September 2003
U. Buy -- SEES 2003
3
Background
• Supervisory control methods for discrete event
systems (DES)
— Enforcing concurrency and real-time properties of
embedded systems
— Model DES with Finite Automata (FA) or Petri nets
— Add controller that enforces desired properties to
system model
• Supervisory control vs. verification
— Potential benefits of supervisory control
— Likely obstacles to widespread applicability
26 September 2003
U. Buy -- SEES 2003
4
Definitions
•
Discrete Event System (DES) is characterized by:
1. Discrete state set
2. Event-driven state transitions
•
Supervisory controller of a DES:
— Given controlled system (a DES) and correctness
property,
— supervisor restricts DES behaviors in such a way
that combined system will satisfy the property
•
Observable and controllable events
26 September 2003
U. Buy -- SEES 2003
5
Why Supervisory Control?
• Some SC methods for DES are much more tractable
than verification algorithms
• Promising methods:
1. P-invariant-based supervisors (mutex properties)
2. Unfolding of Petri nets (deadlock, RT deadlines)
• Caveat:
— System must be sufficiently observable, controllable
to permit supervisor definition
26 September 2003
U. Buy -- SEES 2003
6
Why Petri nets?
1. Support tractable supervisory control algorithms
• P-invariants and net unfoldings
• Automata-based supervisors usually intractable
2. Widely used in some embedded applications
• Sequential Function Charts (SFCs) widely used in
manufacturing applications
— Part of IEC 61131 standard
— Supported by Matlab, RSLogix 5000
26 September 2003
U. Buy -- SEES 2003
7
Petri nets
• Ordinary Petri net: Bipartite, directed graph
N=(P,T,F,m0)
With:
node sets P and T,
arc set F, and
initial marking m0
• Supervisory control problem: Given controlled net N
and property P, generate subnet S (supervisor) that
restricts N behaviors to satisfy P
26 September 2003
U. Buy -- SEES 2003
8
Enforcing Mutex Constraints
•
Exploit property of Petri net P-invariants
— Place subset such that weighted sum of tokens in
subset is constant in all reachable net markings
— Computed by finding integer solutions x to invariant
equation involving incidence matrix D of Petri net:
x·D = 0
26 September 2003
U. Buy -- SEES 2003
9
Examples of P-invariants
p2
p3
p1
t1
{ p1, p4 }
t2
{ p2, p5, p7}
p5
p4
t3
p6
26 September 2003
{ p1, p2, p4, p5, p7 }
…
(unit coefficients)
p7
t4
P-invariants:
t5
U. Buy -- SEES 2003
10
P-invariant based supervisors
Method (Yamalidou et al. 96)
1. Specify mutex properties as linear inequalities on
reachable markings of controlled net
l1,1·m1 + l1,2·m2 + l1,3·m3 + … <= b1
l2,1·m1 + l2,2·m2 + l2,3·m3 + … <= b2
…
lk,1·m1 + lk,2·m2 + lk,3·m3 + … <= bk
2. Treat constraints matrix as invariant equation, find
Petri net (controller) satisfying P-invariant
26 September 2003
U. Buy -- SEES 2003
11
Supervisor synthesis
• Supervisor net defined by simple matrix multiplication
DC = – L ·D
— L is matrix of mutex constraints
— D is incidence matrix of controlled net
• Supervisor net will have k places, zero transitions
— k is number of mutex constraints
• Supervisor will be maximally permissive
26 September 2003
U. Buy -- SEES 2003
12
Example of supervisor generation
•
The readers and writers example without mutex:
•
Mutex constraints:
p6 + p9 + p10 <≤ 1
p7 + p9 + p10 <≤ 1
p8 + p9 + p10 <≤ 1
26 September 2003
U. Buy -- SEES 2003
13
Example
•
(cont’d)
The readers and writers example with supervisor:
26 September 2003
U. Buy -- SEES 2003
14
Advantages of Mutex Supervisors
•
Complexity proportional to D (aka controlled system)
and L (constraints)
— Overall complexity polynomial for broad class of
mutex constraints
•
Supervisors generated are small (no transitions)
•
Maximally permissive supervisors
26 September 2003
U. Buy -- SEES 2003
15
Limitations of Mutex Supervisors
•
Cannot guarantee net liveness (e.g., freedom from
deadlock)
•
Open issues:
— Integration with other supervisors
— Priorities on mutex enforcement policy
— Empirical evaluation of constraint size
26 September 2003
U. Buy -- SEES 2003
16
Unfolding Petri nets
•
Transform net into acyclic net capturing repetitive
bevahiors of original net
•
Unfolding appeal:
— Capture causal relationship on transition firing
— Identify choice points
— Identify fundamental execution paths
•
History of net unfolding
— McMillan 92, Esparza et al. 02, He and Lemmon 02,
Semenov and Yakovlev 96 (time Petri nets)
26 September 2003
U. Buy -- SEES 2003
17
Net unfolding: Definitions
• Node x in net N precedes node y if there is path from x
to y in N
— Write x<y
• Node x in conflict with y if N contains paths diverging
immediately after a place p and leading to x and y
— Write x#y
• Node x in self-conflict if N contains paths diverging
immediately after a place p and leading to x
— Write x#x
26 September 2003
U. Buy -- SEES 2003
18
Unfolding untimed nets
Given net N, unfolding of N is a net U subject such that:
1. Nodes in U are mapped to nodes in N
2. Each place in U has at most one input transition
3. Net U is acyclic
4. No U node is in self conflict
5. Completeness property: Every reachable marking of N
is in U
26 September 2003
U. Buy -- SEES 2003
19
Example of unfolding
p2
p3
p1
t1
The original net:
t2
p5
p4
t3
t4
p6
p7
t5
t7
26 September 2003
U. Buy -- SEES 2003
p8
t6
p9
t8
20
Example of unfolding
p1
p2
p3
t2
t1
p4
p5
t3
The unfolded net:
p7
t4
t3’
p8
t5
t6
t5’
p9’
p9”
26 September 2003
p8’
t6’
p9’”
t8
t7
p1’
t4’
p7’
p9
p6
p5’
p2’
U. Buy -- SEES 2003
p2’’
p3’
21
Applications of unfolding
• Enforcing freedom from deadlock (He and Lemmon 02)
— Deadlocks detected directly in unfolding
— Eliminate deadlocks by dynamically disabling
transition that causes deadlock
• Enforcing compliance with real-time deadlines (Buy and
Darabi 03)
— Latency of transition t: upper bound on the delay
between the firing of t and the time when a target
transition can be fired
26 September 2003
U. Buy -- SEES 2003
22
A New Programming Paradigm?
1. Design/Code concurrent system without paying
attention to correctness properties
2. Submit system description and property specification
to supervisor generator
3. Generator adds supervisor to original system
4. Allegedly, a very long shot…
26 September 2003
U. Buy -- SEES 2003
23
Future work
1. Integration of supervisors for different properties
2. Refine properties enforced
3. System, property specifications
26 September 2003
U. Buy -- SEES 2003
24