540 likes | 702 Views
Probabilistic Verification of Discrete Event Systems. Håkan L. S. Younes. Introduction. Verify properties of discrete event systems Probabilistic and real-time properties Properties expressed using CSL Acceptance sampling Guaranteed error bounds. “The Hungry Stork”. “The Hungry Stork”.
E N D
Probabilistic Verification of Discrete Event Systems Håkan L. S. Younes
Introduction • Verify properties of discrete event systems • Probabilistic and real-time properties • Properties expressed using CSL • Acceptance sampling • Guaranteed error bounds
“The Hungry Stork” System “The probability is at least 0.7 that the stork satisfies its hunger within 180 seconds”
Systems • A stork hunting for frogs • The CMU post office • The Swedish telephone system • The solar system
Discrete Event Systems • Discrete state changes at the occurrence of events • A stork hunting for frogs • The CMU post office • The Swedish telephone system • The solar system
“The Hungry Stork” as aDiscrete Event System stork sees frog hungry hungry,hunting 40 sec
“The Hungry Stork” as aDiscrete Event System stork sees frog frog sees stork hungry hungry,hunting hungry,hunting,seen 40 sec 19 sec
“The Hungry Stork” as aDiscrete Event System stork sees frog frog sees stork stork eats frog hungry hungry,hunting hungry,hunting,seen not hungry 40 sec 19 sec 1 sec
Sample Execution Paths stork sees frog frog sees stork stork eats frog hungry hungry,hunting hungry,hunting,seen not hungry 40 sec 19 sec 1 sec
Properties of Interest • Probabilistic real-time properties • “The probability is at least 0.7 that the stork satisfies its hunger within 180 seconds”
Properties of Interest • Probabilisticreal-time properties • “The probability is at least 0.7 that the stork satisfies its hunger within 180 seconds”
+ + ≤ 180 sec Verifying Real-time Properties • “The stork satisfies its hunger within 180 seconds” stork sees frog frog sees stork stork eats frog hungry hungry,hunting hungry,hunting,seen not hungry 40 sec 19 sec 1 sec True!
+ > 180 sec Verifying Real-time Properties • “The stork satisfies its hunger within 180 seconds” stork sees frog Stork eats frog hungry hungry,hunting not hungry 165 sec 30 sec False!
Verifying Probabilistic Properties • “The probability is at least 0.7 that X” • Symbolic Methods • Pro: Exact solution • Con: Works for a restricted class of systems • Sampling • Pro: Works for all systems that can be simulated • Con: Uncertainty in correctness of solution
Our Approach • Use simulation to generate sample execution paths • Use sequential acceptance sampling to verify probabilistic properties
Error Bounds • Probability of false negative: ≤ • We say that P is false when it is true • Probability of false positive: ≤ • We say that P is true when it is false
Acceptance Sampling • Hypothesis: “The probability is at least that X”
Acceptance Sampling • Hypothesis: Pr≥(X)
True, false,or anothersample? SequentialAcceptance Sampling • Hypothesis: Pr≥(X)
1 – Probability of acceptingPr≥(X) as true Actual probability of X holding Performance of Test
1 – False negatives Probability of acceptingPr≥(X) as true False positives Actual probability of X holding Ideal Performance
1 – False negatives Probability of acceptingPr≥(X) as true Indifference region – + False positives Actual probability of X holding Actual Performance
Number ofpositive samples Number of samples Graphical Representation of Sequential Test
Accept Number ofpositive samples Continue sampling Reject Number of samples Graphical Representation of Sequential Test • We can find an acceptance line and a rejection line given , , , and
Accept Number ofpositive samples Continue sampling Reject Number of samples Graphical Representation of Sequential Test • Reject hypothesis
Accept Number ofpositive samples Continue sampling Reject Number of samples Graphical Representation of Sequential Test • Accept hypothesis
Continuous Stochastic Logic (CSL) • State formulas • Truth value is determined in a single state • Path formulas • Truth value is determined over an execution path
State Formulas • Standard logic operators: ¬, 1 2 … • Probabilistic operator: Pr≥() • True iff probability is at least that holds • Pr≥0.7(“The stork satisfies its hunger within 180 seconds”)
Path Formulas • Until: 1 U≤t2 • Holds iff 2 becomes true in some state along the execution path before time t, and 1 is true in all prior states • “The stork satisfies its hunger within 180 seconds”: true U≤180 ¬hungry
Expressing Properties in CSL • “The probability is at least 0.7 that the stork satisfies its hunger within 180 seconds” • Pr≥0.7(true U≤180 ¬hungry) • “The probability is at least 0.9 that the customer is served within 60 seconds and remains happy while waiting” • Pr≥0.9(happy U≤60 served)
+ + ≤ 180 sec Semantics of Until • true U≤180 ¬hungry hungry hungry,hunting hungry,hunting,seen ¬hungry 40 sec 19 sec 1 sec True!
+ > 180 sec Semantics of Until • true U≤180 ¬hungry hungry hungry,hunting ¬hungry 165 sec 30 sec False!
+ + ≤ 60 sec Semantics of Until • happy U≤60 served happy,¬served ¬happy,¬served happy,¬served served 17 sec 13 sec 5 sec False!
Verifying Probabilistic Statements • 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≥()
Verification of Nested Probabilistic Statements • Suppose , in Pr≥(), contains probabilistic statements • Pr≥0.8(true U≤60 Pr≥0.9(true U≤30 ¬hungry)) • Error bounds ’ and ’ when verifying
True, false,or anothersample? Verification of Nested Probabilistic Statements • Suppose , in Pr≥(), contains probabilistic statements
Accept With ’ and ’ = 0 Number ofpositive samples Continue sampling Reject Number of samples Modified Test • Find an acceptance line and a rejection line given , , , , ’, and ’:
With ’ and ’ > 0 Number ofpositive samples Number of samples Modified Test • Find an acceptance line and a rejection line given , , , , ’, and ’: Accept Continue sampling Reject
Verification of Negation • To verify ¬ with error bounds and • Verify with error bounds and
Verification of Conjunction • Verify 12 … n with error bounds and • Accept if all conjuncts are true • Reject if some conjunct is false
Acceptance of Conjunction • Accept if all conjuncts are true • Accept all i with bounds i and i • Probability at most i that i is false • Therefore: Probability at most 1 + … + n that conjunction is false • For example, choose i = /n • Note:i unconstrained
Rejection of Conjunction • Reject if some conjunct is false • Reject some i with boundsi and i • Probability at most i that i is true • Therefore: Probability at most i that conjunction is true • Choose i = • Note:i unconstrained
Putting it Together • To verify 12 … n with error bounds and • Verify each i with error bounds and ’ • Return false as soon as any i is verified to be false • If all i are verified to be true, verify each i again with error bounds and /n • Return true iff all i are verified to be true “Fast reject”
Putting it Together • To verify 12 … n with error bounds and • Verify each i with error bounds and ’ • Return false as soon as any i is verified to be false • If all i are verified to be true, verify each i again with error bounds and /n • Return true iff all i are verified to be true “Rigorous accept”
Verification of Path Formulas • To verify 1 U≤t2 with error bounds and • Convert to disjunction • 1 U≤t2 holds if 2 holds in the first state, or if 2 holds in the second state and 1holds in all prior states, or …
More on Verifying Until • Given 1 U≤t2, 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
15 10 Positive samples 5 15 5 10 Number of samples Example hungry • Verify Pr≥0.7(true U≤180 ¬hungry) inwith = = 0.1 and = 0.1 Simulator
15 storksees frog 10 Positive samples frogsees stork 5 storkeats frog 15 5 10 Number of samples Example hungry • Verify Pr≥0.7(true U≤180 ¬hungry) inwith = = 0.1 and = 0.1 hungry 40 hungry, hunting 19 hungry, hunting, seen 1 ¬hungry Total time: 40 sec Total time: 0 sec Total time: 59 sec Total time: 60 sec