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

semi markov pepa
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 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

slide-2
SLIDE 2

What have we done!

PEPA to Semi-Markov PEPA

JTB [07/2004] – p.2/19

slide-3
SLIDE 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

slide-4
SLIDE 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

slide-5
SLIDE 5

The story so far...

In the beginning there was PEPA...!

JTB [07/2004] – p.3/19

slide-6
SLIDE 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

slide-7
SLIDE 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

  • ther types of distribution...

JTB [07/2004] – p.3/19

slide-8
SLIDE 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

  • ther types of distribution...

...not just the exponential distribution

JTB [07/2004] – p.3/19

slide-9
SLIDE 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

  • ther 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

slide-10
SLIDE 10

An exponential distribution

0.2 0.4 0.6 0.8 1 1.2 1.4 0.5 1 1.5 2 2.5 3 X~exp(1.25)

JTB [07/2004] – p.4/19

slide-11
SLIDE 11

A non-exponential distribution

0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 2 4 6 8 10 12 14 Probability density Time, t Analytic solution for L_12(s)

JTB [07/2004] – p.5/19

slide-12
SLIDE 12

Markov property

0.2 0.4 0.6 0.8 1 1.2 1.4 0.5 1 1.5 2 2.5 3 X~exp(1.25)

JTB [07/2004] – p.6/19

slide-13
SLIDE 13

Markov property

0.2 0.4 0.6 0.8 1 1.2 1.4 0.5 1 1.5 2 2.5 3 X~exp(1.25)

JTB [07/2004] – p.6/19

slide-14
SLIDE 14

Markov property

0.2 0.4 0.6 0.8 1 1.2 1.4 0.5 1 1.5 2 2.5 3 X~exp(1.25)

JTB [07/2004] – p.6/19

slide-15
SLIDE 15

Markov property

0.2 0.4 0.6 0.8 1 1.2 1.4 0.5 1 1.5 2 2.5 3 X~exp(1.25)

JTB [07/2004] – p.6/19

slide-16
SLIDE 16

Markov property

0.2 0.4 0.6 0.8 1 1.2 1.4 0.5 1 1.5 2 2.5 3 X~exp(1.25)

JTB [07/2004] – p.6/19

slide-17
SLIDE 17

Markov property

0.2 0.4 0.6 0.8 1 1.2 1.4 0.5 1 1.5 2 2.5 3 X~exp(1.25)

JTB [07/2004] – p.6/19

slide-18
SLIDE 18

Markov property

0.2 0.4 0.6 0.8 1 1.2 1.4 0.5 1 1.5 2 2.5 3 X~exp(1.25)

JTB [07/2004] – p.6/19

slide-19
SLIDE 19

Markov property

0.2 0.4 0.6 0.8 1 1.2 1.4 0.5 1 1.5 2 2.5 3 X~exp(1.25)

JTB [07/2004] – p.6/19

slide-20
SLIDE 20

Markov property

0.2 0.4 0.6 0.8 1 1.2 1.4 0.5 1 1.5 2 2.5 3 X~exp(1.25)

JTB [07/2004] – p.6/19

slide-21
SLIDE 21

Results?

So what can we do with a PEPA model?

JTB [07/2004] – p.7/19

slide-22
SLIDE 22

Types of Analysis

Steady-state and transient analysis in PEPA:

A1

def

= (start, r1 ).A2 + (pause, r2 ).A3 A2

def

= (run, r3 ).A1 + (fail, r4 ).A3 A3

def

= (recover, r1 ).A1 AA

def

= (run, ⊤).(alert, r5 ).AA Sys

def

= AA ✄

{run} A1

0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04 0.045 0.05 5 10 15 20 25 30 Probability Time, t Steady state: X_1

JTB [07/2004] – p.8/19

slide-23
SLIDE 23

Types of Analysis

Steady-state and transient analysis in PEPA:

A1

def

= (start, r1 ).A2 + (pause, r2 ).A3 A2

def

= (run, r3 ).A1 + (fail, r4 ).A3 A3

def

= (recover, r1 ).A1 AA

def

= (run, ⊤).(alert, r5 ).AA Sys

def

= AA ✄

{run} A1

0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04 0.045 0.05 5 10 15 20 25 30 Probability Time, t PEPA model: transient X_1 -> X_1 Steady state: X_1

JTB [07/2004] – p.8/19

slide-24
SLIDE 24

Types of Analysis

Steady-state and transient analysis in PEPA:

A1

def

= (start, r1 ).A2 + (pause, r2 ).A3 A2

def

= (run, r3 ).A1 + (fail, r4 ).A3 A3

def

= (recover, r1 ).A1 AA

def

= (run, ⊤).(alert, r5 ).AA Sys

def

= AA ✄

{run} A1

0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04 0.045 0.05 5 10 15 20 25 30 Probability Time, t PEPA model: transient X_1 -> X_1 Steady state: X_1

JTB [07/2004] – p.8/19

slide-25
SLIDE 25

Types of Analysis

Steady-state and transient analysis in PEPA:

A1

def

= (start, r1 ).A2 + (pause, r2 ).A3 A2

def

= (run, r3 ).A1 + (fail, r4 ).A3 A3

def

= (recover, r1 ).A1 AA

def

= (run, ⊤).(alert, r5 ).AA Sys

def

= AA ✄

{run} A1

0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04 0.045 0.05 5 10 15 20 25 30 Probability Time, t PEPA model: transient X_1 -> X_1 Steady state: X_1

JTB [07/2004] – p.8/19

slide-26
SLIDE 26

Types of Analysis

Steady-state and transient analysis in PEPA:

A1

def

= (start, r1 ).A2 + (pause, r2 ).A3 A2

def

= (run, r3 ).A1 + (fail, r4 ).A3 A3

def

= (recover, r1 ).A1 AA

def

= (run, ⊤).(alert, r5 ).AA Sys

def

= AA ✄

{run} A1

0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04 0.045 0.05 5 10 15 20 25 30 Probability Time, t PEPA model: transient X_1 -> X_1 Steady state: X_1

JTB [07/2004] – p.8/19

slide-27
SLIDE 27

Passage-time Quantiles

Extract a passage-time density from a PEPA model:

A1

def

= (start, r1 ).A2 + (pause, r2 ).A3 A2

def

= (run, r3 ).A1 + (fail, r4 ).A3 A3

def

= (recover, r1 ).A1 AA

def

= (run, ⊤).(alert, r5 ).AA Sys

def

= AA ✄

{run} A1

JTB [07/2004] – p.9/19

slide-28
SLIDE 28

Brief PEPA Syntax

Syntax: P ::= (a, λ).P P + P P ✄

L P

P/L A

JTB [07/2004] – p.10/19

slide-29
SLIDE 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

slide-30
SLIDE 30

Brief PEPA Syntax

Syntax: P ::= (a, λ).P P + P P ✄

L P

P/L A Action prefix: (a, λ).P Competitive choice: P1 + P2

JTB [07/2004] – p.10/19

slide-31
SLIDE 31

Brief PEPA Syntax

Syntax: P ::= (a, λ).P P + P P ✄

L P

P/L A Action prefix: (a, λ).P Competitive choice: P1 + P2 Cooperation: P1 ✄

L P2

JTB [07/2004] – p.10/19

slide-32
SLIDE 32

Brief PEPA Syntax

Syntax: P ::= (a, λ).P P + P P ✄

L P

P/L A Action prefix: (a, λ).P Competitive choice: P1 + P2 Cooperation: P1 ✄

L P2

Action hiding: P/L

JTB [07/2004] – p.10/19

slide-33
SLIDE 33

Brief PEPA Syntax

Syntax: P ::= (a, λ).P P + P P ✄

L P

P/L A Action prefix: (a, λ).P Competitive choice: P1 + P2 Cooperation: P1 ✄

L P2

Action hiding: P/L Constant label: A

JTB [07/2004] – p.10/19

slide-34
SLIDE 34

Semi-Markov PEPA Syntax

Syntax: P ::= (a, D).P P + P P ✄

L P

P/L A

JTB [07/2004] – p.11/19

slide-35
SLIDE 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

slide-36
SLIDE 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

slide-37
SLIDE 37

Voting Example I

System

def

= (Voter || Voter || Voter)

✄ ✁

{vote} ((Poler ✄

L Poler) ✄

L′ Poler_group_0)

where

L = {recover_all∗} L′ = {recover, break, recover_all∗}

JTB [07/2004] – p.12/19

slide-38
SLIDE 38

Voting Example II

Voter

def

= (vote, λ).(pause, µ).Voter

JTB [07/2004] – p.13/19

slide-39
SLIDE 39

Voting Example II

Voter

def

= (vote, λ).(pause, µ).Voter Poler

def

= (vote, ⊤).(register, γ).Poler + (break, ν).Poler_broken

JTB [07/2004] – p.13/19

slide-40
SLIDE 40

Voting Example II

Voter

def

= (vote, λ).(pause, µ).Voter Poler

def

= (vote, ⊤).(register, γ).Poler + (break, ν).Poler_broken Poler_broken

def

= (recover, τ).Poler + (recover_all∗, ⊤).Poler

JTB [07/2004] – p.13/19

slide-41
SLIDE 41

Voting Example III

Poler_group_0

def

= (break, ⊤).Poler_group_1 Poler_group_1

def

= (break, ⊤).Poler_group_2 + (recover, ⊤).Poler_group_0 Poler_group_2

def

= (recover_all∗, 1 : gamma(δ, k, s)) .Poler_group_0

JTB [07/2004] – p.14/19

slide-42
SLIDE 42

Analysis Question

How long before the first full failure recovery? a passage time question...

JTB [07/2004] – p.15/19

slide-43
SLIDE 43

Passage-time density

0.005 0.01 0.015 0.02 0.025 0.03 0.035 5 10 15 20 25 30 Probability density Time, t Density function for semi-Markov voter model

JTB [07/2004] – p.16/19

slide-44
SLIDE 44

Passage-time cumulative distn.

0.1 0.2 0.3 0.4 0.5 0.6 0.7 5 10 15 20 25 30 Cumulative probability, p Time, t Cumulative distribution function for semi-Markov voter model

JTB [07/2004] – p.17/19

slide-45
SLIDE 45

Passage-time cumulative distn.

0.1 0.2 0.3 0.4 0.5 0.6 0.7 5 10 15 20 25 30 Cumulative probability, p Time, t Cumulative distribution function for semi-Markov voter model Quantile at t=27.5

JTB [07/2004] – p.17/19

slide-46
SLIDE 46

Conclusion

Added ability to handle general distributions to PEPA Uses probabilistic selection to choose between general distributions Preserve normal PEPA behaviour if only Markovian actions are active Can do both passage-time and transient analysis of semi-Markov models

JTB [07/2004] – p.18/19

slide-47
SLIDE 47

What are SMPs good for?

There is no concurrent activation of general distributions SMPs have two significant application areas: Mutually exlcusive operation e.g. failure, recovery Scheduling policy on a 1-processor system

JTB [07/2004] – p.19/19