Performance modelling with PEPA nets and PRISM S. Gilmore, J. - - PowerPoint PPT Presentation

performance modelling with pepa nets and prism
SMART_READER_LITE
LIVE PREVIEW

Performance modelling with PEPA nets and PRISM S. Gilmore, J. - - PowerPoint PPT Presentation

Performance modelling with PEPA nets and PRISM S. Gilmore, J. Hillston, L. Kloul, M. Ribaudo PASTA workshop - 12th June 2003 - Edinburgh Outline PEPA nets: informal introduction PEPA nets: few formal definitions Simple example:


slide-1
SLIDE 1

PASTA workshop - 12th June 2003 - Edinburgh

Performance modelling with PEPA nets and PRISM

  • S. Gilmore, J. Hillston, L. Kloul, M. Ribaudo
slide-2
SLIDE 2

PASTA workshop - 12th June 2003 - Edinburgh

Outline PEPA nets: informal introduction PEPA nets: few formal definitions Simple example: mobile agent From PEPA nets to PRISM Complex example: mobile IP

slide-3
SLIDE 3

PASTA workshop - 12th June 2003 - Edinburgh

PEPA nets: informal introduction

Stochastic (coloured) Petri Nets PEPA

PEPA nets

slide-4
SLIDE 4

PASTA workshop - 12th June 2003 - Edinburgh

PEPA nets: informal introduction

P1 P2 T1, λ λ λ λ T2, µ µ µ µ The tokens are PEPA components that perform local activities and can move from one place to another … Transition names are labelled with activity names

slide-5
SLIDE 5

PASTA workshop - 12th June 2003 - Edinburgh

PEPA nets: informal introduction PEPA components perform activities to represent state changes … in PEPA nets we distinguish between two types of changes …

“local” changes (transitions of PEPA components)

“global” changes

(net firings)

slide-6
SLIDE 6

PASTA workshop - 12th June 2003 - Edinburgh

PEPA nets: informal introduction

P1 P2 (go,λ λ λ λ) (return,µ µ µ µ)

L

Q R Q’ R’

L

Q’ R’’

L

Firing? Who moves?

Local changes

slide-7
SLIDE 7

PASTA workshop - 12th June 2003 - Edinburgh

PEPA nets: informal introduction There is a PEPA context at each place

  • f the net

A PEPA context consists of static components cells [ ]

slide-8
SLIDE 8

PASTA workshop - 12th June 2003 - Edinburgh

L

PEPA nets: informal introduction

P1 P2 (go,λ λ λ λ) (return,µ µ µ µ)

L

Q[Q] R Q[Q’] R’

L

Local changes

Q[_] Q[Q’] R’’ Q[Q’’] Q[_] R’’

L

slide-9
SLIDE 9

PASTA workshop - 12th June 2003 - Edinburgh

PEPA nets: informal introduction Some assumptions Components can cooperate only when they are in the same place It is NOT possible for one component to cooperate with another component AND transfer to another place

slide-10
SLIDE 10

PASTA workshop - 12th June 2003 - Edinburgh

PEPA nets: syntax

slide-11
SLIDE 11

PASTA workshop - 12th June 2003 - Edinburgh

PEPA nets: markings and places

slide-12
SLIDE 12

PASTA workshop - 12th June 2003 - Edinburgh

Simple example: mobile agent A mobile software agent visits three sites, where it interacts with static software components In two sites the agent interrogates a network sensor for data (on recent patterns of network traffic) In the other site, the agent dumps the data to a master sensor

slide-13
SLIDE 13

PASTA workshop - 12th June 2003 - Edinburgh

Simple example: Mobile agent P1 P3

(go,T) (return,T) (return,T)

L1

Agent[_] Master

(go,T)

P2 Agent[_] Probe

L2

Agent[_] Probe

L2

slide-14
SLIDE 14

PASTA workshop - 12th June 2003 - Edinburgh

Simple example: Mobile agent Agent = (go,λ λ λ λ).Agent’ Agent’ = (interrogate,ri).Agent’’ Agent’’ = (return,µ µ µ µ).Agent’’’ Agent’’’ = (dump,rd).Agent Master = (dump,T).Master’ Master’ = (analyse,ra).Master Probe = (monitor,rm).Probe + (interrogate,T).Probe

def def def def def def def

slide-15
SLIDE 15

PASTA workshop - 12th June 2003 - Edinburgh

PRISM Probabilistic model checker

probabilistic temporal logic, PCTL and CSL

Supports three models

DTMC, MDP, CTMC

Compact state representation (BDD) Input to the PRISM tool

  • 1. description of the system
  • 2. set of properties to be checked
slide-16
SLIDE 16

PASTA workshop - 12th June 2003 - Edinburgh

From PEPA to PRISM A compiler exists for translating PEPA models (a subset of PEPA) into PRISM models

… then the models can be analysed

with the PRISM tool

The steady-state probability distribution for the underlying CTMC can be automatically derived Properties can be verified

slide-17
SLIDE 17

PASTA workshop - 12th June 2003 - Edinburgh

Q[Q] R Q[Q] R

From PEPA nets to PRISM

Q[_] Q[_]

L

PRISM

PEPA description PRISM input files PRISM

  • utput

PEPA net description

slide-18
SLIDE 18

PASTA workshop - 12th June 2003 - Edinburgh

From PEPA nets to PEPA We need to map the net structure into (standard) PEPA components Problems

What happens to different transitions with the same associated label? What happens to replica of the same static component, resident in different places What about cells?

slide-19
SLIDE 19

PASTA workshop - 12th June 2003 - Edinburgh

From PEPA nets to PEPA

  • Steps of the translation algorithm
  • 0. Preprocessing

Pk Pj Pi (a,r1) (a,r2)

(a1,r1) (a2,r2)

slide-20
SLIDE 20

PASTA workshop - 12th June 2003 - Edinburgh

From PEPA nets to PEPA

  • 1. Translation of static components

In order to avoid wrong synchronisations we need to distinguish replicas of the same static component. This is done by renaming action types and derivatives

slide-21
SLIDE 21

PASTA workshop - 12th June 2003 - Edinburgh

From PEPA nets to PEPA

  • 2. Translation of cells

A new PEPA component need to be defined for each cell i within each place P Celli0 = (a,r1).Celli1 Celli1 = (b,r2).Celli0

def def

(a,r1) (b,r2) [_] P

slide-22
SLIDE 22

PASTA workshop - 12th June 2003 - Edinburgh

From PEPA nets to PEPA

  • 3. Translation of tokens

The movement of a token in a new place and its interaction with static components are considered To allow correct synchronisations the new names introduced in the previous steps are are introduced in the token as well

slide-23
SLIDE 23

PASTA workshop - 12th June 2003 - Edinburgh

From PEPA nets to PEPA

  • 4. Building the system equation

All PEPA components built in the previous steps are put in parallel and forced to synchronise on common action types

slide-24
SLIDE 24

PASTA workshop - 12th June 2003 - Edinburgh

(go,T) (go,T)

(go1,T) (go2,T) A simple example: preprocessing P1 P3

(return,T) (return,T)

L1

Agent[Agent] Master

P2 Agent[_] Probe

L2

Agent[_] Probe

L2

slide-25
SLIDE 25

PASTA workshop - 12th June 2003 - Edinburgh

A simple example: static components Master = (dump,T).Master’ + Master’ = (analyse,ra).Master Probe1 = (monitor1,rm).Probe1 + (interrogate1,T).Probe1 Probe2 = (monitor2,rm).Probe2 + (interrogate2,T).Probe2

def def def def

slide-26
SLIDE 26

PASTA workshop - 12th June 2003 - Edinburgh

A simple example: cells Cell10 = (go1,T).Cell11 Cell11 = (return,T).Cell10 Cell20 = (return,T).Cell21 Cell21 = (go1,T).Cell20 + (go2,T).Cell20 Cell30 = (go2,T).Cell31 Cell31 = (return,T).Cell30

def def def def

P1 P3

(return,T) (go1,T) (go2,T)

P2

(return,T) def def

[_] [_] [_]

slide-27
SLIDE 27

PASTA workshop - 12th June 2003 - Edinburgh

A simple example: tokens Agent = (go1,λ λ λ λ).Agent1’ + (go2,λ λ λ λ).Agent2’ Agent1’ = (interrogate1,ri).Agent’’ Agent2’ = (interrogate2,ri).Agent’’ Agent’’ = (return,µ µ µ µ).Agent’’’ Agent’’’ = (dump,rd).Agent

def def def def def

slide-28
SLIDE 28

PASTA workshop - 12th June 2003 - Edinburgh

A simple example: model equation

System = (Cell10 (Probe1 (Agent (Cell21 (Master (Probe2 Cell30))))))

def K1 K2 K3 K4 K5 K6

K1 = {go1, return} K2 = {interrogate1} K3 = {go1, go2, return} K4 = {dump} K6 = {go2, return} K5 = {interrogate2}

slide-29
SLIDE 29

PASTA workshop - 12th June 2003 - Edinburgh

Complex example: mobile IP

  • 1. Correspondent sends IP packets to the

mobile node at his home address

slide-30
SLIDE 30

PASTA workshop - 12th June 2003 - Edinburgh

Complex example: mobile IP

  • 2. The Mobile Node sends its new IP

address to the Home Agent

slide-31
SLIDE 31

PASTA workshop - 12th June 2003 - Edinburgh

Complex example: mobile IP

  • 3. The Home Agent forwards packets

to the Mobile Node

slide-32
SLIDE 32

PASTA workshop - 12th June 2003 - Edinburgh

Complex example: mobile IP

  • 4. The Mobile Node sends its new IP

address to the Correspondent

slide-33
SLIDE 33

PASTA workshop - 12th June 2003 - Edinburgh

Complex example: mobile IP

  • 5. The Correspondent sends packets

directly to the Mobile Node

slide-34
SLIDE 34

PASTA workshop - 12th June 2003 - Edinburgh

slide-35
SLIDE 35

PASTA workshop - 12th June 2003 - Edinburgh

Complex example: mobile IP

1 Mobile Node, 1 Correspondent, 1 Domain

2.8 million of states 16 million of transitions in 13.2 seconds, 1.6GHz Pentium IV with 256 MB of RAM

slide-36
SLIDE 36

PASTA workshop - 12th June 2003 - Edinburgh

Conclusions PEPA nets is relatively new but we think that it can provide a framework for modelling systems characterised by some mobility

Future work Synchronisation over net transitions Movement of more than one token Graphical interface (done!)