semi markov pepa
play

Semi-Markov PEPA: Compositional Modelling and Analysis with General - PowerPoint PPT Presentation

Semi-Markov PEPA: Compositional Modelling and Analysis with General Distributions Jeremy Bradley Email: jb@doc.ic.ac.uk Department of Computing, Imperial College London Produced with prosper and L A T EX JTB [07/2004] p.1/19 What have


  1. Semi-Markov PEPA: Compositional Modelling and Analysis with General Distributions Jeremy Bradley Email: jb@doc.ic.ac.uk Department of Computing, Imperial College London Produced with prosper and L A T EX JTB [07/2004] – p.1/19

  2. What have we done! PEPA to Semi-Markov PEPA JTB [07/2004] – p.2/19

  3. What have we done! PEPA to Semi-Markov PEPA i.e. allowing the use of general distributions in PEPA models JTB [07/2004] – p.2/19

  4. What have we done! PEPA to Semi-Markov PEPA i.e. allowing the limited use of general distributions in PEPA models JTB [07/2004] – p.2/19

  5. The story so far... In the beginning there was PEPA...! JTB [07/2004] – p.3/19

  6. The story so far... In the beginning there was PEPA...! PEPA is an entirely Markovian process modelling formalism JTB [07/2004] – p.3/19

  7. The story so far... In the beginning there was PEPA...! PEPA is an entirely Markovian process modelling formalism Users would like to use actions which take other types of distribution... JTB [07/2004] – p.3/19

  8. The story so far... In the beginning there was PEPA...! PEPA is an entirely Markovian process modelling formalism Users would like to use actions which take other types of distribution... ...not just the exponential distribution JTB [07/2004] – p.3/19

  9. The story so far... In the beginning there was PEPA...! PEPA is an entirely Markovian process modelling formalism Users would like to use actions which take other types of distribution... ...not just the exponential distribution We have some cool tools that can analyse semi-Markov Processes with ∼ 20 million states JTB [07/2004] – p.3/19

  10. An exponential distribution 1.4 X~exp(1.25) 1.2 1 0.8 0.6 0.4 0.2 0 0 0.5 1 1.5 2 2.5 3 JTB [07/2004] – p.4/19

  11. A non-exponential distribution Analytic solution for L_12(s) 0.16 0.14 0.12 Probability density 0.1 0.08 0.06 0.04 0.02 0 0 2 4 6 8 10 12 14 Time, t JTB [07/2004] – p.5/19

  12. Markov property 1.4 X~exp(1.25) 1.2 1 0.8 0.6 0.4 0.2 0 0 0.5 1 1.5 2 2.5 3 JTB [07/2004] – p.6/19

  13. Markov property 1.4 X~exp(1.25) 1.2 1 0.8 0.6 0.4 0.2 0 0 0.5 1 1.5 2 2.5 3 JTB [07/2004] – p.6/19

  14. Markov property 1.4 X~exp(1.25) 1.2 1 0.8 0.6 0.4 0.2 0 0 0.5 1 1.5 2 2.5 3 JTB [07/2004] – p.6/19

  15. Markov property 1.4 X~exp(1.25) 1.2 1 0.8 0.6 0.4 0.2 0 0 0.5 1 1.5 2 2.5 3 JTB [07/2004] – p.6/19

  16. Markov property 1.4 X~exp(1.25) 1.2 1 0.8 0.6 0.4 0.2 0 0 0.5 1 1.5 2 2.5 3 JTB [07/2004] – p.6/19

  17. Markov property 1.4 X~exp(1.25) 1.2 1 0.8 0.6 0.4 0.2 0 0 0.5 1 1.5 2 2.5 3 JTB [07/2004] – p.6/19

  18. Markov property 1.4 X~exp(1.25) 1.2 1 0.8 0.6 0.4 0.2 0 0 0.5 1 1.5 2 2.5 3 JTB [07/2004] – p.6/19

  19. Markov property 1.4 X~exp(1.25) 1.2 1 0.8 0.6 0.4 0.2 0 0 0.5 1 1.5 2 2.5 3 JTB [07/2004] – p.6/19

  20. Markov property 1.4 X~exp(1.25) 1.2 1 0.8 0.6 0.4 0.2 0 0 0.5 1 1.5 2 2.5 3 JTB [07/2004] – p.6/19

  21. Results? So what can we do with a PEPA model? JTB [07/2004] – p.7/19

  22. Types of Analysis Steady-state and transient analysis in PEPA: def 0.05 A1 = (start , r 1 ) . A2 + (pause , r 2 ) . A3 Steady state: X_1 0.045 def 0.04 A2 = (run , r 3 ) . A1 + (fail , r 4 ) . A3 0.035 def ⇒ 0.03 A3 = (recover , r 1 ) . A1 Probability 0.025 def 0.02 AA = (run , ⊤ ) . (alert , r 5 ) . AA 0.015 AA ✄ ✁ def 0.01 Sys = { run } A1 0.005 0 0 5 10 15 20 25 30 Time, t JTB [07/2004] – p.8/19

  23. Types of Analysis Steady-state and transient analysis in PEPA: def 0.05 A1 = (start , r 1 ) . A2 + (pause , r 2 ) . A3 PEPA model: transient X_1 -> X_1 Steady state: X_1 0.045 def 0.04 A2 = (run , r 3 ) . A1 + (fail , r 4 ) . A3 0.035 def ⇒ 0.03 A3 = (recover , r 1 ) . A1 Probability 0.025 def 0.02 AA = (run , ⊤ ) . (alert , r 5 ) . AA 0.015 AA ✄ ✁ def 0.01 Sys = { run } A1 0.005 0 0 5 10 15 20 25 30 Time, t JTB [07/2004] – p.8/19

  24. Types of Analysis Steady-state and transient analysis in PEPA: def 0.05 A1 = (start , r 1 ) . A2 + (pause , r 2 ) . A3 PEPA model: transient X_1 -> X_1 Steady state: X_1 0.045 def 0.04 A2 = (run , r 3 ) . A1 + (fail , r 4 ) . A3 0.035 def ⇒ 0.03 A3 = (recover , r 1 ) . A1 Probability 0.025 def 0.02 AA = (run , ⊤ ) . (alert , r 5 ) . AA 0.015 AA ✄ ✁ def 0.01 Sys = { run } A1 0.005 0 0 5 10 15 20 25 30 Time, t JTB [07/2004] – p.8/19

  25. Types of Analysis Steady-state and transient analysis in PEPA: def 0.05 A1 = (start , r 1 ) . A2 + (pause , r 2 ) . A3 PEPA model: transient X_1 -> X_1 Steady state: X_1 0.045 def 0.04 A2 = (run , r 3 ) . A1 + (fail , r 4 ) . A3 0.035 def ⇒ 0.03 A3 = (recover , r 1 ) . A1 Probability 0.025 def 0.02 AA = (run , ⊤ ) . (alert , r 5 ) . AA 0.015 AA ✄ ✁ def 0.01 Sys = { run } A1 0.005 0 0 5 10 15 20 25 30 Time, t JTB [07/2004] – p.8/19

  26. Types of Analysis Steady-state and transient analysis in PEPA: def 0.05 A1 = (start , r 1 ) . A2 + (pause , r 2 ) . A3 PEPA model: transient X_1 -> X_1 Steady state: X_1 0.045 def 0.04 A2 = (run , r 3 ) . A1 + (fail , r 4 ) . A3 0.035 def ⇒ 0.03 A3 = (recover , r 1 ) . A1 Probability 0.025 def 0.02 AA = (run , ⊤ ) . (alert , r 5 ) . AA 0.015 AA ✄ ✁ def 0.01 Sys = { run } A1 0.005 0 0 5 10 15 20 25 30 Time, t JTB [07/2004] – p.8/19

  27. Passage-time Quantiles Extract a passage-time density from a PEPA model: def A1 = (start , r 1 ) . A2 + (pause , r 2 ) . A3 def A2 = (run , r 3 ) . A1 + (fail , r 4 ) . A3 def ⇒ A3 = (recover , r 1 ) . A1 def AA = (run , ⊤ ) . (alert , r 5 ) . AA AA ✄ ✁ def Sys = { run } A1 JTB [07/2004] – p.9/19

  28. Brief PEPA Syntax Syntax: P ::= ( a, λ ) .P P + P P ✄ L P P/L A ✁ JTB [07/2004] – p.10/19

  29. Brief PEPA Syntax Syntax: P ::= ( a, λ ) .P P + P P ✄ L P P/L A ✁ Action prefix: ( a, λ ) .P JTB [07/2004] – p.10/19

  30. Brief PEPA Syntax Syntax: P ::= ( a, λ ) .P P + P P ✄ L P P/L A ✁ Action prefix: ( a, λ ) .P Competitive choice: P 1 + P 2 JTB [07/2004] – p.10/19

  31. Brief PEPA Syntax Syntax: P ::= ( a, λ ) .P P + P P ✄ L P P/L A ✁ Action prefix: ( a, λ ) .P Competitive choice: P 1 + P 2 Cooperation: P 1 ✄ L P 2 ✁ JTB [07/2004] – p.10/19

  32. Brief PEPA Syntax Syntax: P ::= ( a, λ ) .P P + P P ✄ L P P/L A ✁ Action prefix: ( a, λ ) .P Competitive choice: P 1 + P 2 Cooperation: P 1 ✄ L P 2 ✁ Action hiding: P/L JTB [07/2004] – p.10/19

  33. Brief PEPA Syntax Syntax: P ::= ( a, λ ) .P P + P P ✄ L P P/L A ✁ Action prefix: ( a, λ ) .P Competitive choice: P 1 + P 2 Cooperation: P 1 ✄ L P 2 ✁ Action hiding: P/L Constant label: A JTB [07/2004] – p.10/19

  34. Semi-Markov PEPA Syntax Syntax: P ::= ( a, D ) .P P + P P ✄ L P P/L A ✁ JTB [07/2004] – p.11/19

  35. Semi-Markov PEPA Syntax Syntax: P ::= ( a, D ) .P P + P P ✄ L P P/L A ✁ Generic delay parameter: D ::= λ S JTB [07/2004] – p.11/19

  36. Semi-Markov PEPA Syntax Syntax: P ::= ( a, D ) .P P + P P ✄ L P P/L A ✁ Generic delay parameter: D ::= λ S Semi-Markov parameter: S ::= ⊤ ω : L ( s ) JTB [07/2004] – p.11/19

  37. Voting Example I def System = (Voter || Voter || Voter) L Poler) ✄ ✁ ✄ ✁ { vote } ((Poler ✄ ✁ L ′ Poler _ group _ 0) where L = { recover _ all ∗ } L ′ = { recover , break , recover _ all ∗ } JTB [07/2004] – p.12/19

  38. Voting Example II def Voter = (vote , λ ) . (pause , µ ) . Voter JTB [07/2004] – p.13/19

  39. Voting Example II def Voter = (vote , λ ) . (pause , µ ) . Voter def Poler = (vote , ⊤ ) . (register , γ ) . Poler + (break , ν ) . Poler _ broken JTB [07/2004] – p.13/19

  40. Voting Example II def Voter = (vote , λ ) . (pause , µ ) . Voter def Poler = (vote , ⊤ ) . (register , γ ) . Poler + (break , ν ) . Poler _ broken def Poler _ broken = (recover , τ ) . Poler + (recover _ all ∗ , ⊤ ) . Poler JTB [07/2004] – p.13/19

  41. Voting Example III def Poler _ group _ 0 = (break , ⊤ ) . Poler _ group _ 1 def Poler _ group _ 1 = (break , ⊤ ) . Poler _ group _ 2 + (recover , ⊤ ) . Poler _ group _ 0 def (recover _ all ∗ , 1 : gamma ( δ, k , s )) Poler _ group _ 2 = . Poler _ group _ 0 JTB [07/2004] – p.14/19

  42. Analysis Question How long before the first full failure recovery? a passage time question... JTB [07/2004] – p.15/19

  43. Passage-time density 0.035 Density function for semi-Markov voter model 0.03 0.025 Probability density 0.02 0.015 0.01 0.005 0 0 5 10 15 20 25 30 Time, t JTB [07/2004] – p.16/19

  44. Passage-time cumulative distn. Cumulative distribution function for semi-Markov voter model 0.7 0.6 0.5 Cumulative probability, p 0.4 0.3 0.2 0.1 0 0 5 10 15 20 25 30 Time, t JTB [07/2004] – p.17/19

  45. Passage-time cumulative distn. Cumulative distribution function for semi-Markov voter model Quantile at t=27.5 0.7 0.6 0.5 Cumulative probability, p 0.4 0.3 0.2 0.1 0 0 5 10 15 20 25 30 Time, t JTB [07/2004] – p.17/19

Recommend


More recommend