Title: Probabilistic%20Verification%20of%20Discrete%20Event%20Systems%20using%20Acceptance%20Sampling
1Probabilistic Verification of Discrete Event
Systems using Acceptance Sampling
Håkan L. S. Younes Reid G. Simmons
Carnegie Mellon University Carnegie Mellon University
2Introduction
- Verify properties of discrete event systems
- Model independent approach
- Probabilistic real-time properties expressed
using CSL - Acceptance sampling
- Guaranteed error bounds
3DES Example
- Triple modular redundant system
- Three processors
- Single majority voter
Voter
CPU 1
CPU 2
CPU 3
4DES Example
3 CPUs upvoter up
Voter
CPU 1
CPU 2
CPU 3
5DES Example
CPU fails
3 CPUs upvoter up
2 CPUs upvoter up
40
Voter
CPU 1
CPU 2
CPU 3
6DES Example
CPU fails
repair CPU
3 CPUs upvoter up
2 CPUs upvoter up
2 CPUs up repairing CPU voter up
40
19.2
Voter
CPU 1
CPU 2
CPU 3
7DES Example
CPU fails
repair CPU
CPU fails
3 CPUs upvoter up
2 CPUs upvoter up
2 CPUs up repairing CPU voter up
1 CPU uprepairing CPU voter up
40
19.2
11
Voter
CPU 1
CPU 2
CPU 3
8DES Example
CPU fails
repair CPU
CPU fails
CPU repaired
3 CPUs upvoter up
2 CPUs upvoter up
2 CPUs up repairing CPU voter up
1 CPU uprepairing CPU voter up
2 CPUs upvoter up
40
19.2
11
4
Voter
CPU 1
CPU 2
CPU 3
9Sample Execution Paths
10Properties of Interest
- Probabilistic real-time properties
- The probability is at least 0.1 that the voter
fails within 120 time units while at least 2 CPUs
have continuously remained up
11Properties of Interest
- Probabilistic real-time properties
- The probability is at least 0.1 that the voter
fails within 120 time units while at least 2 CPUs
have continuously remained up
CSL formula
Pr0.1(2 CPUs up ? 3 CPUs up U120 voter
down)
12Continuous Stochastic Logic (CSL)
- State formulas
- Truth value is determined in a single state
- Path formulas
- Truth value is determined over an execution path
13State Formulas
- Standard logic operators ?, ?1 ? ?2
- Probabilistic operator Pr?(?)
- True iff probability is at least ? that ? holds
14Path Formulas
- Until ?1 Ut ?2
- Holds iff ?2 becomes true in some state along the
execution path before time t, and ?1 is true in
all prior states
15Verifying Real-time Properties
- 2 CPUs up ? 3 CPUs up U120 voter down
CPU fails
repair CPU
CPU fails
CPU repaired
3 CPUs upvoter up
2 CPUs upvoter up
2 CPUs up repairing CPU voter up
1 CPU uprepairing CPU voter up
2 CPUs upvoter up
40
19.2
11
4
False!
16Verifying Real-time Properties
- 2 CPUs up ? 3 CPUs up U120 voter down
CPU fails
repair CPU
CPU repaired
voter fails
3 CPUs upvoter up
2 CPUs upvoter up
2 CPUs up repairing CPU voter up
3 CPUs up voter up
3 CPUs upvoter down
82
13
16
4
True!
17Verifying Probabilistic Properties
- The probability is at least 0.1 that ?
- Symbolic Methods
- Pro Exact solution
- Con Works only for restricted class of systems
- Sampling
- Pro Works for any system that can be simulated
- Con Uncertainty in correctness of solution
18Our Approach
- Use simulation to generate sample execution paths
- Use sequential acceptance sampling to verify
probabilistic properties
19Error Bounds
- Probability of false negative ?
- We say that ? is false when it is true
- Probability of false positive ?
- We say that ? is true when it is false
20Acceptance Sampling
21Performance of Test
22Ideal Performance
23Actual Performance
24SequentialAcceptance Sampling
25Graphical Representation of Sequential Test
26Graphical Representation of Sequential Test
- We can find an acceptance line and a rejection
line given ?, ?, ?, and ?
A?,?,?,?(n)
R?,?,?,?(n)
27Graphical Representation of Sequential Test
28Graphical Representation of Sequential Test
29Verifying Probabilistic Properties
- Verify Pr?(?) with error bounds ? and ?
- Generate sample execution paths using simulation
- Verify ? over each sample execution path
- If ? is true, then we have a positive sample
- If ? is false, then we have a negative sample
- Use sequential acceptance sampling to test the
hypothesis Pr?(?)
30Verification of Nested Probabilistic Statements
- Suppose ?, in Pr?(?), contains probabilistic
statements - Error bounds ? and ? when verifying ?
31Verification of Nested Probabilistic Statements
- Suppose ?, in Pr?(?), contains probabilistic
statements
32Modified Test
- Find an acceptance line and a rejection line
given ?, ?, ?, ?, ?, and ?
A?,?,?,?(n)
R?,?,?,?(n)
33Modified Test
- Find an acceptance line and a rejection line
given ?, ?, ?, ?, ?, and ?
Accept
Continue sampling
Reject
34Modified Test
- Find an acceptance line and a rejection line
given ?, ?, ?, ?, ?, and ?
A?,?,?,?(n)
Accept
? ? 1 (1 (? ?))(1 ?)
? ? (? ?)(1 ?)
Continue sampling
R?,?,?,?(n)
Reject
35Verification of Negation
- To verify ? with error bounds ? and ?
- Verify ? with error bounds ? and ?
36Verification of Conjunction
- Verify ?1 ? ?2 ? ? ?n with error bounds ? and ?
- Verify each ?i with error bounds ? and ?/n
37Verification of Path Formulas
- To verify ?1 Ut ?2 with error bounds ? and ?
- Convert to disjunction
- ?1 Ut ?2 holds if ?2 holds in the first state,
or if ?2 holds in the second state and ?1 holds
in all prior states, or
38More on Verifying Until
- Given ?1 Ut ?2, let n be the index of the first
state more than t time units away from the
current state - Disjunction of n conjunctions c1 through cn, each
of size i - Simplifies if ?1 or ?2, or both, do not contain
any probabilistic statements
39Performance
? 0.9
? 0.01
Average number of samples
? ? 10-10
? ? 10-1
Actual probability of ? holding
40Performance
? 0.9
? ? 10-2
?0.001
?0.002
Average number of samples
?0.005
?0.01
?0.02
?0.05
Actual probability of ? holding
41Summary
- Model independent probabilistic verification of
discrete event systems - Sample execution paths generated using simulation
- Probabilistic properties verified using
sequential acceptance sampling - Easy to trade accuracy for efficiency
42Future Work
- Develop heuristics for formula ordering and
parameter selection - Use in combination with symbolic methods
- Apply to hybrid dynamic systems
- Use verification to aid controller synthesis for
discrete event systems
43ProVer Probabilistic Verifier
http//www.cs.cmu.edu/lorens/prover.html