May 29, 2007 - Construct your Markov chain â construct an infinitesimal generator matrix Q. ...... The Imperial PEPA Compiler translates PEPA models into the.
Introduction
Model Analysis
Tool Support
Stochastic Process Algebras Jane Hillston and Mirco Tribastone. LFCS, University of Edinburgh 29th May 2007
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Modelling with Markov chains
In his lecture on Monday Billy Stewart said that there are three steps to modelling with Markov chains:
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Modelling with Markov chains
In his lecture on Monday Billy Stewart said that there are three steps to modelling with Markov chains: 1. Conceptualise your system as a Markov chain;
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Modelling with Markov chains
In his lecture on Monday Billy Stewart said that there are three steps to modelling with Markov chains: 1. Conceptualise your system as a Markov chain; 2. Construct your Markov chain — construct an infinitesimal generator matrix Q.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Modelling with Markov chains
In his lecture on Monday Billy Stewart said that there are three steps to modelling with Markov chains: 1. Conceptualise your system as a Markov chain; 2. Construct your Markov chain — construct an infinitesimal generator matrix Q. 3. Solve your Markov chain to derive quantitative information about the system.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Modelling with Markov chains
In his lecture on Monday Billy Stewart said that there are three steps to modelling with Markov chains: 1. Conceptualise your system as a Markov chain; 2. Construct your Markov chain — construct an infinitesimal generator matrix Q. 3. Solve your Markov chain to derive quantitative information about the system.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Outline
Introduction Model Analysis Tool Support Conclusion
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Tool Support
Conclusion
Introduction
Model Analysis
Outline
Introduction Model Analysis Tool Support Conclusion
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Tool Support
Conclusion
Introduction
Model Analysis
Tool Support
Process Algebra I
Models consist of agents which engage in actions.
* action type or name
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
α.P H Y
HH
agent/ component
Conclusion
Introduction
Model Analysis
Tool Support
Process Algebra I
Models consist of agents which engage in actions.
* action type or name
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
α.P H Y
HH
agent/ component
Conclusion
Introduction
Model Analysis
Tool Support
Process Algebra I
Models consist of agents which engage in actions.
* action type or name
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
α.P H Y
HH
agent/ component
Conclusion
Introduction
Model Analysis
Tool Support
Process Algebra I
Models consist of agents which engage in actions.
* action type or name
I
α.P H Y
HH
agent/ component
The structured operational (interleaving) semantics of the language is used to generate a labelled transition system.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Process Algebra I
Models consist of agents which engage in actions.
* action type or name
I
α.P H Y
HH
agent/ component
The structured operational (interleaving) semantics of the language is used to generate a labelled transition system.
Process algebra model
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Process Algebra I
Models consist of agents which engage in actions.
* action type
α.P H Y
HH
or name
I
agent/ component
The structured operational (interleaving) semantics of the language is used to generate a labelled transition system.
Process algebra model
SOS rules -
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Process Algebra I
Models consist of agents which engage in actions.
* action type
α.P H Y
HH
or name
I
agent/ component
The structured operational (interleaving) semantics of the language is used to generate a labelled transition system.
Process algebra model
SOS rules -
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Labelled transition system
Conclusion
Introduction
Model Analysis
Tool Support
Example Consider a web server which offers html pages for download: def
Server = g et.download.r el.Server
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Conclusion
Example Consider a web server which offers html pages for download: def
Server = g et.download.r el.Server Its clients might be web browsers, in a domain with a local cache of frequently requested pages. Thus any display request might result in an access to the server or in a page being loaded from the cache. def
Browser = display .(cache.Browser + g et.download.r el.Browser )
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Example Consider a web server which offers html pages for download: def
Server = g et.download.r el.Server Its clients might be web browsers, in a domain with a local cache of frequently requested pages. Thus any display request might result in an access to the server or in a page being loaded from the cache. def
Browser = display .(cache.Browser + g et.download.r el.Browser ) A simple version of the Web can be considered to be the interaction of these components: def
W EB =
Browser k Browser | Server
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Dynamic behaviour I
The behaviour of a model is dictated by the semantic rules governing the combinators of the language.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Dynamic behaviour I
The behaviour of a model is dictated by the semantic rules governing the combinators of the language.
I
The possible evolutions of a model are captured by applying these rules exhaustively, generating a labelled transition system.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Conclusion
Dynamic behaviour I
The behaviour of a model is dictated by the semantic rules governing the combinators of the language.
I
The possible evolutions of a model are captured by applying these rules exhaustively, generating a labelled transition system.
I
This can be viewed as a graph in which each node is a state of the model (comprised of the local states of each of the components) and the arcs represent the actions which can cause the move from one state to another.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Dynamic behaviour I
The behaviour of a model is dictated by the semantic rules governing the combinators of the language.
I
The possible evolutions of a model are captured by applying these rules exhaustively, generating a labelled transition system.
I
This can be viewed as a graph in which each node is a state of the model (comprised of the local states of each of the components) and the arcs represent the actions which can cause the move from one state to another.
I
The language is also equipped with observational equivalence which can be used to compare models.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Dynamic behaviour def
Browser = display .(cache.Browser + g et.download.r el.Browser )
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Dynamic behaviour def
Browser = display .(cache.Browser + g et.download.r el.Browser )
α
α.P −→ P α
P −→ P 0 α
P + Q −→ P 0 α
Q −→ Q 0 α
P + Q −→ Q 0
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Dynamic behaviour def
Browser = display .(cache.Browser + g et.download.r el.Browser )
Browser cache
α
α.P −→ P
HH Y H
HH display ? H cache.Browser + g et.downloadr el.Browser HH
α
P −→ P 0 α
P + Q −→ P 0
H r el
g et ? download.r el.Browser
α
Q −→ Q 0 α
P + Q −→ Q 0
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
download ? r el.Browser
Introduction
Model Analysis
Tool Support
Conclusion
Dynamic behaviour def
Browser = display .(cache.Browser + g et.download.r el.Browser )
Browser cache
α
α.P −→ P
HH Y H
HH display ? H cache.Browser + g et.downloadr el.Browser HH
α
P −→ P 0 α
P + Q −→ P 0
H r el
g et ? download.r el.Browser
α
Q −→ Q 0 α
P + Q −→ Q 0
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
download ? r el.Browser
Introduction
Model Analysis
Tool Support
Conclusion
Dynamic behaviour def
Browser = display .(cache.Browser + g et.download.r el.Browser )
Browser cache
α
α.P −→ P
HH Y H
HH display ? H cache.Browser + g et.downloadr el.Browser HH
α
P −→ P 0 α
P + Q −→ P 0
H r el
g et ? download.r el.Browser
α
Q −→ Q 0 α
P + Q −→ Q 0
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
download ? r el.Browser
Introduction
Model Analysis
Tool Support
Conclusion
Dynamic behaviour def
Browser = display .(cache.Browser + g et.download.r el.Browser )
Browser cache
α
α.P −→ P
HH Y H
HH display ? H cache.Browser + g et.downloadr el.Browser HH
α
P −→ P 0 α
P + Q −→ P 0
H r el
g et ? download.r el.Browser
α
Q −→ Q 0 α
P + Q −→ Q 0
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
download ? r el.Browser
Introduction
Model Analysis
Tool Support
Conclusion
Dynamic behaviour def
Browser = display .(cache.Browser + g et.download.r el.Browser )
Browser cache
α
α.P −→ P
HH Y H
HH display ? H cache.Browser + g et.downloadr el.Browser HH
α
P −→ P 0 α
P + Q −→ P 0
H r el
g et ? download.r el.Browser
α
Q −→ Q 0 α
P + Q −→ Q 0
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
download ? r el.Browser
Introduction
Model Analysis
Tool Support
Conclusion
Dynamic behaviour def
Browser = display .(cache.Browser + g et.download.r el.Browser )
Browser cache
α
α.P −→ P
HH Y H
HH display ? H cache.Browser + g et.downloadr el.Browser HH
α
P −→ P 0 α
P + Q −→ P 0
H r el
g et ? download.r el.Browser
α
Q −→ Q 0 α
P + Q −→ Q 0
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
download ? r el.Browser
Introduction
Model Analysis
Tool Support
Conclusion
Qualitative Analysis I
The labelled transition system underlying a process algebra model can be used for functional verification e.g.: reachability analysis, specification matching and model checking.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Qualitative Analysis I
The labelled transition system underlying a process algebra model can be used for functional verification e.g.: reachability analysis, specification matching and model checking.
Will the system arrive in a particular state?
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
e - e e - ee - e e h ? e e
Introduction
Model Analysis
Tool Support
Conclusion
Qualitative Analysis I
The labelled transition system underlying a process algebra model can be used for functional verification e.g.: reachability analysis, specification matching and model checking.
Does system behaviour match its specification?
e e - e 6 ? e - e - e≡ e - ee - e e ? ? e e e
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Qualitative Analysis I
The labelled transition system underlying a process algebra model can be used for functional verification e.g.: reachability analysis, specification matching and model checking.
Does a given property φ hold within the system?
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
e e φ P e -e e - e PP PP e PP ? e eP
Introduction
Model Analysis
Tool Support
Performance Evaluation Process Algebra I
Models are constructed from components which engage in activities.
(α, r ).P H Y
action type or name
*
6
HH
activity rate (parameter of an exponential distribution)
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
component/ derivative
Conclusion
Introduction
Model Analysis
Tool Support
Performance Evaluation Process Algebra I
Models are constructed from components which engage in activities.
(α, r ).P H Y
action type or name
*
6
HH
activity rate (parameter of an exponential distribution)
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
component/ derivative
Conclusion
Introduction
Model Analysis
Tool Support
Performance Evaluation Process Algebra I
Models are constructed from components which engage in activities.
(α, r ).P H Y
action type or name
*
6
HH
activity rate (parameter of an exponential distribution)
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
component/ derivative
Conclusion
Introduction
Model Analysis
Tool Support
Performance Evaluation Process Algebra I
Models are constructed from components which engage in activities.
(α, r ).P H Y
action type or name
*
6
HH
activity rate (parameter of an exponential distribution)
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
component/ derivative
Conclusion
Introduction
Model Analysis
Tool Support
Performance Evaluation Process Algebra I
Models are constructed from components which engage in activities.
(α, r ).P H Y
action type or name
*
6
HH
component/ derivative
activity rate (parameter of an exponential distribution)
I
The language is used to generate a CTMC for performance modelling.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Performance Evaluation Process Algebra I
Models are constructed from components which engage in activities.
(α, r ).P H Y
action type or name
*
6
HH
component/ derivative
activity rate (parameter of an exponential distribution)
I
The language is used to generate a CTMC for performance modelling. PEPA MODEL
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Performance Evaluation Process Algebra I
Models are constructed from components which engage in activities.
(α, r ).P H Y
action type or name
*
6
HH
component/ derivative
activity rate (parameter of an exponential distribution)
I
The language is used to generate a CTMC for performance modelling. PEPA SOS rules MODEL
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Performance Evaluation Process Algebra I
Models are constructed from components which engage in activities.
(α, r ).P H Y
action type or name
*
6
HH
component/ derivative
activity rate (parameter of an exponential distribution)
I
The language is used to generate a CTMC for performance modelling. PEPA SOS rules - LABELLED TRANSITION MODEL SYSTEM
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Performance Evaluation Process Algebra I
Models are constructed from components which engage in activities.
(α, r ).P H Y
action type or name
*
6
HH
component/ derivative
activity rate (parameter of an exponential distribution)
I
The language is used to generate a CTMC for performance modelling. state transition PEPA SOS rules - LABELLED TRANSITION MODEL diagram SYSTEM
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Performance Evaluation Process Algebra I
Models are constructed from components which engage in activities.
(α, r ).P H Y
action type or name
*
6
HH
component/ derivative
activity rate (parameter of an exponential distribution)
I
The language is used to generate a CTMC for performance modelling. state transition PEPA SOS rules - LABELLED - CTMC Q TRANSITION MODEL diagram SYSTEM
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
PEPA S
::= (α, r ).S | S + S | A
C P | P/L P ::= S | P B L
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
PEPA S
::= (α, r ).S | S + S | A
C P | P/L P ::= S | P B L PREFIX:
(α, r ).S
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
designated first action
Conclusion
Introduction
Model Analysis
Tool Support
PEPA S
::= (α, r ).S | S + S | A
C P | P/L P ::= S | P B L PREFIX:
(α, r ).S
designated first action
CHOICE:
S +S
competing components (race policy)
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
PEPA S
::= (α, r ).S | S + S | A
C P | P/L P ::= S | P B L PREFIX:
(α, r ).S
designated first action
CHOICE:
S +S
competing components (race policy)
CONSTANT:
A=S
def
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
assigning names
Conclusion
Introduction
Model Analysis
Tool Support
PEPA S
::= (α, r ).S | S + S | A
C P | P/L P ::= S | P B L PREFIX:
(α, r ).S
designated first action
CHOICE:
S +S
competing components (race policy)
CONSTANT:
A=S
assigning names
COOPERATION:
CP PB L
α∈ / L concurrent activity (individual actions) α ∈ L cooperative activity (shared actions)
def
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
PEPA S
::= (α, r ).S | S + S | A
C P | P/L P ::= S | P B L PREFIX:
(α, r ).S
designated first action
CHOICE:
S +S
competing components (race policy)
CONSTANT:
A=S
assigning names
COOPERATION:
CP PB L
α∈ / L concurrent activity (individual actions) α ∈ L cooperative activity (shared actions)
def
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
PEPA S
::= (α, r ).S | S + S | A
C P | P/L P ::= S | P B L PREFIX:
(α, r ).S
designated first action
CHOICE:
S +S
competing components (race policy)
CONSTANT:
A=S
assigning names
COOPERATION:
CP PB L
α∈ / L concurrent activity (individual actions) α ∈ L cooperative activity (shared actions)
HIDING:
P/L
abstraction α ∈ L ⇒ α → τ
def
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Example revisited The behaviour of the server is the same but now quantitative information is recorded for each operation: def
Server = (g et, >).(download, µ).(r el, >).Server
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Conclusion
Example revisited The behaviour of the server is the same but now quantitative information is recorded for each operation: def
Server = (g et, >).(download, µ).(r el, >).Server In addition to duration we also incorporate information about the relative frequencies of the different actions which take place after a display request: Browser
def
=
(display , p1 λ).(cache, m).Browser + (display , p2 λ).(g et, g ).(download, >).(r el, r ).Browser
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Example revisited The behaviour of the server is the same but now quantitative information is recorded for each operation: def
Server = (g et, >).(download, µ).(r el, >).Server In addition to duration we also incorporate information about the relative frequencies of the different actions which take place after a display request: Browser
def
=
(display , p1 λ).(cache, m).Browser + (display , p2 λ).(g et, g ).(download, >).(r el, r ).Browser
The configuration is recorded as before; using the PEPA cooperation the actions which must be shared are explicitly named: def C Server W EB = Browser k Browser B L L = {g et, download, rel} Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Example revisited The behaviour of the server is the same but now quantitative information is recorded for each operation: def
Server = (g et, >).(download, µ).(r el, >).Server In addition to duration we also incorporate information about the relative frequencies of the different actions which take place after a display request: Browser
def
=
(display , p1 λ).(cache, m).Browser + (display , p2 λ).(g et, g ).(download, >).(r el, r ).Browser
The configuration is recorded as before; using the PEPA cooperation the actions which must be shared are explicitly named: def C Server W EB = Browser k Browser B L L = {g et, download, rel} Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Integrated analysis
I
Qualitative verification can now be complemented by quantitative verification:
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Integrated analysis
I
Qualitative verification can now be complemented by quantitative verification: Reachability analysis
How long will it take for the system to arrive in a particular state?
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
e - e e - ee - e e h ? e e
Conclusion
Introduction
Model Analysis
Tool Support
Conclusion
Integrated analysis
I
Qualitative verification can now be complemented by quantitative verification: Specification matching
With what probability does system behaviour match its specification?
e 6
e
? e
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
e - e
? e - e - e∼ ee - e = e -e
? e
Introduction
Model Analysis
Tool Support
Integrated analysis
I
Qualitative verification can now be complemented by quantitative verification: Specification matching
Does the “frequency profile” of the system match that of the specification?
e - e 0.5 0.6 e - e - e e - ee - e 0.4 e ? ? e 0.5 e e
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
e 6
Conclusion
Introduction
Model Analysis
Tool Support
Integrated analysis
I
Qualitative verification can now be complemented by quantitative verification: Model checking
Does a given property φ hold within the system with a given probability?
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
e - e φ ee - e PP e - PP PPe P? e eP
Conclusion
Introduction
Model Analysis
Tool Support
Integrated analysis
I
Qualitative verification can now be complemented by quantitative verification: Model checking
For a given starting state how long is it until a given property φ holds?
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
e - e φ ee - e PP e - PP PPe P? e eP
Conclusion
Introduction
Model Analysis
SPA Languages
SPA
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Tool Support
Conclusion
Introduction
Model Analysis
SPA Languages
integrated time
SPA @ @ @ @ @
orthogonal time
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Tool Support
Conclusion
Introduction
Model Analysis
Tool Support
Conclusion
SPA Languages exponential only
integrated time
exponential + instantaneous @ @ @ @ general distributions
SPA @ @ @ @ @
orthogonal time
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
SPA Languages exponential only
integrated time
exponential + instantaneous @ @ @ @ general distributions
SPA @
exponential only
@ @ @ @
orthogonal time Q
Q Q Q general distributions
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
SPA Languages exponential only PEPA, Stochastic π-calculus
integrated time
exponential + instantaneous @ @ @ @ general distributions
SPA @
exponential only
@ @ @ @
orthogonal time Q
Q Q Q general distributions
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
SPA Languages exponential only PEPA, Stochastic π-calculus
integrated time
exponential + instantaneous EMPA, Markovian TIPP @ @ @ general distributions
@
SPA @
exponential only
@ @ @ @
orthogonal time Q
Q Q Q general distributions
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
SPA Languages exponential only PEPA, Stochastic π-calculus
integrated time
exponential + instantaneous EMPA, Markovian TIPP @ @ @ general distributions TIPP, SPADES, GSMPA
@
SPA @
exponential only
@ @ @ @
orthogonal time Q
Q Q Q general distributions
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
SPA Languages exponential only PEPA, Stochastic π-calculus
integrated time
exponential + instantaneous EMPA, Markovian TIPP @ @ @ general distributions TIPP, SPADES, GSMPA
@
SPA @
exponential only IMC
@ @ @ @
orthogonal time Q
Q Q Q general distributions
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
SPA Languages exponential only PEPA, Stochastic π-calculus
integrated time
exponential + instantaneous EMPA, Markovian TIPP @ @ @ general distributions TIPP, SPADES, GSMPA
@
SPA @
exponential only IMC
@ @ @ @
orthogonal time Q
Q Q Q general distributions IGSMP, Modest
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
SPA Languages exponential only PEPA, Stochastic π-calculus
integrated time
exponential + instantaneous EMPA, Markovian TIPP @ @ @ general distributions TIPP, SPADES, GSMPA
@
SPA @
exponential only IMC
@ @ @ @
orthogonal time Q
Q Q Q general distributions IGSMP, Modest
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
The Importance of Being Exponential (α, r ).Stop k (β, s).Stop (α, r )
Stop k (β, s).Stop
@ (β, s) @ R @
(α, r ).Stop k Stop
@
(α, r )
(β, s)@ @ R Stop k Stop
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
The Importance of Being Exponential (α, r ).Stop k (β, s).Stop (α, r )
Stop k (β, s).Stop
@ (β, s) @ R @
(α, r ).Stop k Stop
@
(α, r )
(β, s)@ @ R Stop k Stop
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
The Importance of Being Exponential (α, r ).Stop k (β, s).Stop (α, r )
Stop k (β, s).Stop
@ (β, s) @ R @
(α, r ).Stop k Stop
@
(α, r )
(β, s)@ @ R Stop k Stop
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
The Importance of Being Exponential (α, r ).Stop k (β, s).Stop (α, r )
(α, r ) (β, s)
Stop k (β, s).Stop
@ (β, s) @ R @
(α, r ).Stop k Stop
@
(α, r )
(β, s)@
? @ R Stop k Stop
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
The Importance of Being Exponential (α, r ).Stop k (β, s).Stop (α, r )
Stop k (β, s).Stop
@ (β, s) @ R @
(α, r ).Stop k Stop
@
(α, r )
(β, s)@ @ R Stop k Stop
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
The Importance of Being Exponential (α, r ).Stop k (β, s).Stop (α, r )
Stop k (β, s).Stop
@ (β, s) @ R @
(α, r ).Stop k Stop
@
(α, r )
(β, s)@ @ R Stop k Stop
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
The Importance of Being Exponential (α, r ).Stop k (β, s).Stop (α, r )
Stop k (β, s).Stop
@ (β, s) @ R @
(α, r ).Stop k Stop
@
(α, r )
(β, s)@ @ R Stop k Stop
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Conclusion
The Importance of Being Exponential (α, r ).Stop k (β, s).Stop (α, r )
Stop k (β, s).Stop
@ (β, s) @ R @
(α, r ).Stop k Stop
@
(α, r )
(β, s)@ @ R Stop k Stop
The memoryless property of the negative exponential distribution means that residual times do not need to be recorded.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
The Importance of Being Exponential (α, r ).Stop k (β, s).Stop (α, r )
Stop k (β, s).Stop
@ (β, s) @ R @
(α, r ).Stop k Stop
@
(α, r )
(β, s)@ @ R Stop k Stop
We retain the expansion law of classical process algebra: (α, r ).Stop k (β, s).Stop = (α, r ).(β, s).(Stop k Stop) + (β, s).(α, r ).(Stop k Stop) only if the negative exponential distribution is assumed. Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Parallel Composition
I
Parellel composition is the basis of the compositionality in a process algebra
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Conclusion
Parallel Composition
I
Parellel composition is the basis of the compositionality in a process algebra — it defines which components interact and how.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Parallel Composition
I
Parellel composition is the basis of the compositionality in a process algebra — it defines which components interact and how.
I
In classical process algebra is it often associated with communication.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Parallel Composition
I
Parellel composition is the basis of the compositionality in a process algebra — it defines which components interact and how.
I
In classical process algebra is it often associated with communication.
I
When the activities of the process algebra have a duration the definition of parallel composition becomes more complex.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Who Synchronises...? Even within classical process algebras there is variation in the interpretation of parallel composition:
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Who Synchronises...? Even within classical process algebras there is variation in the interpretation of parallel composition: CCS-style I I
I
Actions are partitioned into input and output pairs. Communication or synchronisation takes places between conjugate pairs. The resulting action has silent type τ .
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Who Synchronises...? Even within classical process algebras there is variation in the interpretation of parallel composition: CCS-style I I
I
Actions are partitioned into input and output pairs. Communication or synchronisation takes places between conjugate pairs. The resulting action has silent type τ .
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Who Synchronises...? Even within classical process algebras there is variation in the interpretation of parallel composition: CCS-style I I
I
Actions are partitioned into input and output pairs. Communication or synchronisation takes places between conjugate pairs. The resulting action has silent type τ .
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Conclusion
Who Synchronises...? Even within classical process algebras there is variation in the interpretation of parallel composition: CCS-style I I
I
Actions are partitioned into input and output pairs. Communication or synchronisation takes places between conjugate pairs. The resulting action has silent type τ .
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
CSP-style I I
I
No distinction between input and output actions. Communication or synchronisation takes place on the basis of shared names. The resulting action has the same name.
Introduction
Model Analysis
Tool Support
Conclusion
Who Synchronises...? Even within classical process algebras there is variation in the interpretation of parallel composition: CCS-style I I
I
Actions are partitioned into input and output pairs. Communication or synchronisation takes places between conjugate pairs. The resulting action has silent type τ .
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
CSP-style I I
I
No distinction between input and output actions. Communication or synchronisation takes place on the basis of shared names. The resulting action has the same name.
Introduction
Model Analysis
Tool Support
Conclusion
Who Synchronises...? Even within classical process algebras there is variation in the interpretation of parallel composition: CCS-style I I
I
Actions are partitioned into input and output pairs. Communication or synchronisation takes places between conjugate pairs. The resulting action has silent type τ .
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
CSP-style I I
I
No distinction between input and output actions. Communication or synchronisation takes place on the basis of shared names. The resulting action has the same name.
Introduction
Model Analysis
Tool Support
Conclusion
Who Synchronises...? Even within classical process algebras there is variation in the interpretation of parallel composition: CCS-style I I
I
Actions are partitioned into input and output pairs. Communication or synchronisation takes places between conjugate pairs. The resulting action has silent type τ .
CSP-style I I
I
No distinction between input and output actions. Communication or synchronisation takes place on the basis of shared names. The resulting action has the same name.
Most stochastic process algebras adopt CSP-style synchronisation. Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Timed Synchronisation I
The issue of what it means for two timed activities to synchronise is a vexed one....
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Timed Synchronisation I
P1
P2
The issue of what it means for two timed activities to synchronise is a vexed one.... r1 s1
r2 s2
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
r? s?
Conclusion
Introduction
Model Analysis
Tool Support
Timed Synchronisation I
P1
P2
The issue of what it means for two timed activities to synchronise is a vexed one.... r1
r1
s1
s1 s = max(s 1, s 2)
r2
r2
s2
s2
Barrier Synchronisation
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Timed Synchronisation
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Tool Support
Conclusion
Introduction
Model Analysis
Tool Support
Timed Synchronisation I
P1
P2
The issue of what it means for two timed activities to synchronise is a vexed one.... r1
r1
s1
s1 s = max(s 1, s 2)
r2
r2
s2
s2
s is no longer exponentially distributed
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Timed Synchronisation I
P1
P2
The issue of what it means for two timed activities to synchronise is a vexed one.... r1 s1
r? s?
r2 s2
algebraic considerations limit choices
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Timed Synchronisation I
P1
P2
The issue of what it means for two timed activities to synchronise is a vexed one.... r1
r1
s1
s1 r = r1x r 2
r2
r2
s2
s2
TIPP: new rate is product of individual rates
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Timed Synchronisation
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Tool Support
Conclusion
Introduction
Model Analysis
Tool Support
Timed Synchronisation I
P1
The issue of what it means for two timed activities to synchronise is a vexed one.... r1 =?
r1 =? r = r2
P2
r2
r2
s2
s2
EMPA: one participant is passive
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Timed Synchronisation UNLEADED PETROL
UNF 738 S
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Conclusion
Timed Synchronisation I
P1
P2
The issue of what it means for two timed activities to synchronise is a vexed one.... r1
r1
s1
s1 r = min(r1 , r 2)
r2
r2
s2
s2
bounded capacity: new rate is the minimum of the rates
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Timed Synchronisation
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Tool Support
Conclusion
Introduction
Model Analysis
Tool Support
Conclusion
Cooperation in PEPA
I
In PEPA each component has a bounded capacity to carry out activities of any particular type, determined by the apparent rate for that type.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Cooperation in PEPA
I
In PEPA each component has a bounded capacity to carry out activities of any particular type, determined by the apparent rate for that type.
I
Synchronisation, or cooperation cannot make a component exceed its bounded capacity.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Cooperation in PEPA
I
In PEPA each component has a bounded capacity to carry out activities of any particular type, determined by the apparent rate for that type.
I
Synchronisation, or cooperation cannot make a component exceed its bounded capacity.
I
Thus the apparent rate of a cooperation is the minimum of the apparent rates of the co-operands.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Outline
Introduction Model Analysis Tool Support Conclusion
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Tool Support
Conclusion
Introduction
Model Analysis
Tool Support
Conclusion
PEPA Case Studies (1) I
Multiprocessor access-contention protocols (Gilmore, Hillston and Ribaudo, Edinburgh and Turin)
I
Protocols for fault-tolerant systems (Clark, Gilmore, Hillston and Ribaudo, Edinburgh and Turin)
I
Multimedia traffic characteristics (Bowman et al, Kent)
I
Database systems (The STEADY group, Heriot-Watt University)
I
Software Architectures (Pooley, Bradley and Thomas, Heriot-Watt and Durham)
I
Switch behaviour in active networks (Hillston, Kloul and Mokhtari, Edinburgh and Versailles)
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
PEPA Case Studies (2) I
Locks and movable bridges in inland shipping in Belgium (Knapen, Hasselt)
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Tool Support
Conclusion
Introduction
Model Analysis
PEPA Case Studies (2) I
Locks and movable bridges in inland shipping in Belgium (Knapen, Hasselt)
I
Robotic workcells (Holton, Gilmore and Hillston, Bradford and Edinburgh)
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Tool Support
Conclusion
Introduction
Model Analysis
Tool Support
Conclusion
PEPA Case Studies (2) I
Locks and movable bridges in inland shipping in Belgium (Knapen, Hasselt)
I
Robotic workcells (Holton, Gilmore and Hillston, Bradford and Edinburgh)
I
Cellular telephone networks (Kloul, Fourneau and Valois, Versailles)
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
... ... ... ... ... ... ... ...
... ... ... ...
... ... ... ... ... ... ... ...
Introduction
Model Analysis
PEPA Case Studies (2) I
Locks and movable bridges in inland shipping in Belgium (Knapen, Hasselt)
I
Robotic workcells (Holton, Gilmore and Hillston, Bradford and Edinburgh)
I
Cellular telephone networks (Kloul, Fourneau and Valois, Versailles)
I
Automotive diagnostic expert systems (Console, Picardi and Ribaudo, Turin)
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Tool Support
Conclusion
Introduction
Model Analysis
Tool Support
Tool Support Imperial PEPA Compiler/Dnamaca and Hydra
PEPA Workbench (Edinburgh University)
(Imperial College)
@ I @
M¨ obius modelling platform
@
PEPA
(University of Illinois)
-
PEPAroni simulation engine
(Edinburgh University) ?
PRISM model checker (Birmingham University)
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Tool Support Imperial PEPA Compiler/Dnamaca and Hydra
PEPA Workbench (Edinburgh University)
(Imperial College)
@ I @
M¨ obius modelling platform
@
PEPA
(University of Illinois)
-
PEPAroni simulation engine
(Edinburgh University) ?
PRISM model checker (Birmingham University)
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Tool Support Imperial PEPA Compiler/Dnamaca and Hydra
PEPA Workbench (Edinburgh University)
(Imperial College)
@ I @
M¨ obius modelling platform
@
PEPA
(University of Illinois)
-
PEPAroni simulation engine
(Edinburgh University) ?
PRISM model checker (Birmingham University)
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Tool Support Imperial PEPA Compiler/Dnamaca and Hydra
PEPA Workbench (Edinburgh University)
(Imperial College)
@ I @
M¨ obius modelling platform
@
PEPA
(University of Illinois)
-
PEPAroni simulation engine
(Edinburgh University) ?
PRISM model checker (Birmingham University)
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Tool Support Imperial PEPA Compiler/Dnamaca and Hydra
PEPA Workbench (Edinburgh University)
(Imperial College)
@ I @
M¨ obius modelling platform
@
PEPA
(University of Illinois)
-
PEPAroni simulation engine
(Edinburgh University) ?
PRISM model checker (Birmingham University)
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Tool Support Imperial PEPA Compiler/Dnamaca and Hydra
PEPA Workbench (Edinburgh University)
(Imperial College)
@ I @
M¨ obius modelling platform
@
PEPA
(University of Illinois)
-
PEPAroni simulation engine
(Edinburgh University) ?
PRISM model checker (Birmingham University)
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Tool Support Imperial PEPA Compiler/Dnamaca and Hydra
PEPA Workbench (Edinburgh University)
(Imperial College)
@ I @
M¨ obius modelling platform
@
PEPA
(University of Illinois)
-
PEPAroni simulation engine
(Edinburgh University) ?
PRISM model checker (Birmingham University)
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Conclusion
Roland the Gunslinger
I
This sequence of small examples are based around a character called Roland Deschain.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Roland the Gunslinger
I
This sequence of small examples are based around a character called Roland Deschain.
I
Roland is a gunslinger and his life consists of wandering around firing his gun.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Roland the Gunslinger
I
This sequence of small examples are based around a character called Roland Deschain.
I
Roland is a gunslinger and his life consists of wandering around firing his gun.
I
We will consider Roland in a number of different scenarios.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Roland the Gunslinger
I
This sequence of small examples are based around a character called Roland Deschain.
I
Roland is a gunslinger and his life consists of wandering around firing his gun.
I
We will consider Roland in a number of different scenarios. These are not intended to be serious but they serve to
I
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Roland the Gunslinger
I
This sequence of small examples are based around a character called Roland Deschain.
I
Roland is a gunslinger and his life consists of wandering around firing his gun.
I
We will consider Roland in a number of different scenarios. These are not intended to be serious but they serve to
I
I
illustrate the main features of the language,
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Roland the Gunslinger
I
This sequence of small examples are based around a character called Roland Deschain.
I
Roland is a gunslinger and his life consists of wandering around firing his gun.
I
We will consider Roland in a number of different scenarios. These are not intended to be serious but they serve to
I
I I
illustrate the main features of the language, give you some experience of how models are constructed, and
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Roland the Gunslinger
I
This sequence of small examples are based around a character called Roland Deschain.
I
Roland is a gunslinger and his life consists of wandering around firing his gun.
I
We will consider Roland in a number of different scenarios. These are not intended to be serious but they serve to
I
I I I
illustrate the main features of the language, give you some experience of how models are constructed, and demonstrate a variety of solution techniques.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Roland alone In the first scenario we consider Roland alone, with the single activity of firing his gun which is a six-shooter. When his gun is empty Roland will reload the gun and then continue shooting. def
Roland6 = (fire, rfire ).Roland5 def
Roland5 = (fire, rfire ).Roland4 def
Roland4 = (fire, rfire ).Roland3 def
Roland3 = (fire, rfire ).Roland2 def
Roland2 = (fire, rfire ).Roland1 def
Roland1 = (fire, rfire ).Rolandempty Rolandempty
def
= (reload, rreload ).Roland6
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Conclusion
Roland with two guns All self-respecting gun-slingers have one gun in each hand. A simplistic way to model this is two instances of Roland in parallel: Roland6 k Roland6
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Roland with two guns All self-respecting gun-slingers have one gun in each hand. A simplistic way to model this is two instances of Roland in parallel: Roland6 k Roland6 But this model does not capture the fact that Roland needs both hands in order to reload either gun. Thus we might assume that Roland only reloads both guns when both are empty.
BC Roland6 Roland6 {reload}
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Roland with two guns All self-respecting gun-slingers have one gun in each hand. A simplistic way to model this is two instances of Roland in parallel: Roland6 k Roland6 But this model does not capture the fact that Roland needs both hands in order to reload either gun. Thus we might assume that Roland only reloads both guns when both are empty.
BC Roland6 Roland6 {reload} From now on we restrict Roland to his shotgun, which has two bullets and requires both hands for firing.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Roland meets an Enemy I
Upon his travels Roland encounters some enemies and when he does so he must fight them.
I
Roland is the wildest gunslinger in the west so we assume that no enemy has the skill to seriously harm Roland.
I
Each time Roland fires he might miss or hit his target.
I
But with nothing to stop him he will keep firing until he successfully hits (and kills) the enemy.
I
We assume that some sense of cowboy honour prevents any enemy attacking Roland if he is already involved in a gun fight.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
The model
def
Rolandidle = (attack, rattack ).Roland2 def
Roland2 = (hit, rhit ).(reload, rreload ).Rolandidle + (miss, rmiss ).Roland1 def
Roland1 = (hit, rhit ).(reload, rreload ).Rolandidle + (miss, rmiss ).Rolandempty def
Rolandempty = (reload, rreload ).Roland2
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Parameter settings for the Roland2 model parameter rfire
value 1.0
phit-success rhit rmiss rreload
0.8 0.8 0.2 0.3
rattack
0.01
explanation Roland can fire the gun once per-second Roland has an 80% success rate rfire × phit-success rfire × (1 − phit-success ) It takes Roland about 3 seconds to reload Roland is attacked once every 100 seconds
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Steady state analysis We can calculate the probability that at arbitrary time Roland is involved in a battle based on the steady state probability that Roland is in any of the states in which a battle is on-going, i.e. Roland2 , Roland1 and Rolandempty .
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Steady state analysis We can calculate the probability that at arbitrary time Roland is involved in a battle based on the steady state probability that Roland is in any of the states in which a battle is on-going, i.e. Roland2 , Roland1 and Rolandempty . Or we can calculate the probability that Roland is in the state Rolandidle and subtract it from 1.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Steady state analysis We can calculate the probability that at arbitrary time Roland is involved in a battle based on the steady state probability that Roland is in any of the states in which a battle is on-going, i.e. Roland2 , Roland1 and Rolandempty . Or we can calculate the probability that Roland is in the state Rolandidle and subtract it from 1. State Measure ’roland peaceful’ mean 9.5490716180e-01 State Measure ’roland in battle’ mean 0.0450928382e-01
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Conclusion
Passage-Time Analysis
Passage-time analysis allows us to calculate measures such as the probability that Roland has killed his enemy at a given time after he is attacked.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Passage-Time Analysis
Passage-time analysis allows us to calculate measures such as the probability that Roland has killed his enemy at a given time after he is attacked. This would involve calculating the probability that the model performs a hit action within the given time after performing an attack action.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Passage-Time Analysis results Probability that Roland will have hit after an attack 1 0.9 0.8 0.7
Pr
0.6 0.5 0.4 0.3 0.2 0.1 0 0
1
2
3
4
5 time
6
7
8
9
10
The probability that Roland will successfully perform a hit action a given time after an attack.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Passage-Time Analysis results Probability that Roland will have missed after an attack 0.09 0.08 0.07 0.06 Pr
0.05 0.04 0.03 0.02 0.01 0 0
1
2
3
4
5 time
6
7
8
9
10
The probability that Roland has performed a miss action a given time after an attack action.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Cooperation
I
In the previous model Roland’s enemies were represented only implicitly.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Cooperation
I
In the previous model Roland’s enemies were represented only implicitly.
I
We now consider a model in which the enemies appear explicitly and allow them to fight back.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Cooperation
I
In the previous model Roland’s enemies were represented only implicitly.
I
We now consider a model in which the enemies appear explicitly and allow them to fight back.
I
However for now we still assume that there are rather ineffectual and so they never seriously injure Roland.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Cooperation
I
In the previous model Roland’s enemies were represented only implicitly.
I
We now consider a model in which the enemies appear explicitly and allow them to fight back.
I
However for now we still assume that there are rather ineffectual and so they never seriously injure Roland.
I
This model can be used to calculate properties such as the likelihood that an enemy will manage to fire one shot before they are killed by Roland.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Revised Model def
(attack, >).Roland2 (hit, rhit ).(reload, rreload ).Rolandidle + (miss, rmiss ).Roland1 (hit, rhit ).(reload, rreload ).Rolandidle + (miss, rmiss ).Rolandempty (reload, rreload ).Roland2
Rolandidle Roland2
= def =
Roland1
=
Rolandempty
=
Enemiesidle Enemiesattack
= def =
def
(attack, rattack ).Enemiesattack (fire, re-miss ).Enemiesattack + (hit, >).Enemiesidle
BC
Enemiesidle
Roland2
def
def
{hit}
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Additional parameters
parameter rattack re-miss
value 0.01 0.3
explanation Roland is attacked once every 100 seconds Enemies can fire only once every 3 seconds
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Levels of abstraction I
Notice that in this model the behaviour of the enemy has been simplified.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Levels of abstraction I
Notice that in this model the behaviour of the enemy has been simplified.
I
There is no running out of bullets or reloading.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Conclusion
Levels of abstraction I
Notice that in this model the behaviour of the enemy has been simplified.
I
There is no running out of bullets or reloading.
I
This model can be thought of as an approximation to a more complicated component similar to the one which models Roland.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Levels of abstraction I
Notice that in this model the behaviour of the enemy has been simplified.
I
There is no running out of bullets or reloading.
I
This model can be thought of as an approximation to a more complicated component similar to the one which models Roland.
I
Here the rate at which the enemy fires encompasses all of the actions, including the reloading of an empty gun.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Levels of abstraction I
Notice that in this model the behaviour of the enemy has been simplified.
I
There is no running out of bullets or reloading.
I
This model can be thought of as an approximation to a more complicated component similar to the one which models Roland.
I
Here the rate at which the enemy fires encompasses all of the actions, including the reloading of an empty gun.
I
We may choose to model a component in such an abstract way when the focus of our modelling is really elsewhere in the model.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Model Validation
It is also sometimes useful to carry out a validation of the model by calculating a metric which we believe we already know the value of.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Model Validation
It is also sometimes useful to carry out a validation of the model by calculating a metric which we believe we already know the value of. For example in this model we could make such a sanity check by calculating the probability that the model is in a state in which Roland is idle but the enemies are not, or vice versa.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Model Validation
It is also sometimes useful to carry out a validation of the model by calculating a metric which we believe we already know the value of. For example in this model we could make such a sanity check by calculating the probability that the model is in a state in which Roland is idle but the enemies are not, or vice versa. This should never occur and hence the probability should be zero.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Sensitivity Analysis I
Sensitivity analysis studies how much influence particular parameter values, such as activity rates, have on performance metrics calculated for the system as a whole.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Sensitivity Analysis I
Sensitivity analysis studies how much influence particular parameter values, such as activity rates, have on performance metrics calculated for the system as a whole.
I
A single activity in a PEPA model may have a significant impact on the dynamics of the model, or, conversely, may exert very little influence.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Sensitivity Analysis I
Sensitivity analysis studies how much influence particular parameter values, such as activity rates, have on performance metrics calculated for the system as a whole.
I
A single activity in a PEPA model may have a significant impact on the dynamics of the model, or, conversely, may exert very little influence.
I
Sensitivity analysis is performed by solving the model many times while varying the rates slightly.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Sensitivity Analysis I
Sensitivity analysis studies how much influence particular parameter values, such as activity rates, have on performance metrics calculated for the system as a whole.
I
A single activity in a PEPA model may have a significant impact on the dynamics of the model, or, conversely, may exert very little influence.
I
Sensitivity analysis is performed by solving the model many times while varying the rates slightly.
I
For this model we chose to vary three of the rates involved and measured the passage time between an attack and a hit activity, for each combination of rates.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Sensitivity Analysis: Results Sensitivity of cumulative distribution function to hitSuccess
Pr
1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0
1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0
0.2
0.3
0.4 0.5 hitSuccess
0.6
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
0.7
0.8 0
1
10 89 7 6 45 Time 3 2
Introduction
Model Analysis
Tool Support
Conclusion
Sensitivity Analysis: Results Sensitivity of cumulative distribution function to fireRate
Pr
0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0
0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0
0.4
0.5
0.6 0.7 fireRate
0.8
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
0.9
1 1 0
10 89 7 6 45 Time 3 2
Introduction
Model Analysis
Tool Support
Conclusion
Sensitivity Analysis: Results Sensitivity of cumulative distribution function to reloadRate
Pr
0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1
0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1
0.1
0.15
0.2 0.25 reloadRate
0.3
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
0.35
0.4 0
1
10 89 7 6 45 Time 3 2
Introduction
Model Analysis
Tool Support
Conclusion
Sensitivity Analysis: Results Sensitivity of the effect of reloadRate against hitSuccess
Pr
1 0.9 0.8 0.7 0.6 0.5 0.4
1 0.9 0.8 0.7 0.6 0.5 0.4
0.1
0.15
0.2 0.25 reloadRate
0.3
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
0.35
0.40.2
0.3
0.8 0.7 0.6 0.5 hitSuccess 0.4
Introduction
Model Analysis
Tool Support
Conclusion
Sensitivity Analysis: Results Sensitivity of the effect of reloadRate against fireRate
Pr
0.85 0.8 0.75 0.7 0.65 0.6 0.55
0.85 0.8 0.75 0.7 0.65 0.6 0.55
0.1
0.15
0.2 0.25 reloadRate
0.3
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
0.35
0.40.4
0.5
1 0.9 0.8 0.7 fireRate 0.6
Introduction
Model Analysis
Tool Support
Conclusion
Sensitivity Analysis: Results Sensitivity of the effect of hitSuccess against fireRate
Pr
1 0.9 0.8 0.7 0.6 0.5 0.4
1 0.9 0.8 0.7 0.6 0.5 0.4
0.4
0.5
0.6 0.7 fireRate
0.8
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
0.9
1 0.2
0.3
0.8 0.7 0.6 0.5 hitSuccess 0.4
Introduction
Model Analysis
Tool Support
Conclusion
Accurate Enemies I
We now allow the enemies of Roland to actually hit him. This means that Roland may die. It is important to note that this has the consequence that the model will always deadlock. The underlying Markov process is no longer ergodic.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Accurate Enemies I
We now allow the enemies of Roland to actually hit him. This means that Roland may die. It is important to note that this has the consequence that the model will always deadlock. The underlying Markov process is no longer ergodic.
I
We assume that the enemies can only hit Roland once every 50 seconds. This rate approximates the rate of a more detailed model in which we would assign a process to the enemies which is much like that of the process which describes Roland.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Accurate Enemies I
We now allow the enemies of Roland to actually hit him. This means that Roland may die. It is important to note that this has the consequence that the model will always deadlock. The underlying Markov process is no longer ergodic.
I
We assume that the enemies can only hit Roland once every 50 seconds. This rate approximates the rate of a more detailed model in which we would assign a process to the enemies which is much like that of the process which describes Roland.
I
The only new parameter is re-hit which is assigned a value 0.02 to reflect this assumption.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
New Roland def
Rolandidle = (attack, >).Roland2 def
Roland2 = (hit, rhit ).(reload, rreload ).Rolandidle + (miss, rmiss ).Roland1 + (e-hit, >).Rolanddead def
Roland1 = (hit, rhit ).(reload, rreload ).Rolandidle + (miss, rmiss ).Rolandempty + (e-hit, >).Rolanddead def
Rolandempty = (reload, rreload ).Roland2 + (e-hit, >).Rolanddead def
Rolanddead = Stop Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
New Enemy
Enemiesidle
=
def
(attack, rattack ).Enemiesattack
Enemiesattack
def
=
(e-hit, re-hit ).Enemiesidle
+
(hit, >).Enemiesidle
BC
Enemiesidle
Rolandidle
{hit,attack,e-hit}
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Conclusion
Model Analysis Steady-State Analysis Since there is an infinite supply of enemies eventually Roland will always die and the model will deadlock.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Model Analysis Steady-State Analysis Since there is an infinite supply of enemies eventually Roland will always die and the model will deadlock. Transient Analysis Transient analysis on this model can be used to calculate the probability that Roland is dead after a given amount of time. As time increases this should tend towards probability 1.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Model Analysis Steady-State Analysis Since there is an infinite supply of enemies eventually Roland will always die and the model will deadlock. Transient Analysis Transient analysis on this model can be used to calculate the probability that Roland is dead after a given amount of time. As time increases this should tend towards probability 1. Passage-Time Analysis Passage-time analysis could be used to calculate the probability of a given event happening at a given time after another given event, e.g. from an attack on Roland until he dies or wins the gun fight. Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Roland makes a friend In the next revision of the model we introduce an accomplice who is befriended by Roland and who, when Roland is attacked, fights alongside him.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Roland makes a friend In the next revision of the model we introduce an accomplice who is befriended by Roland and who, when Roland is attacked, fights alongside him. In this scenario cooperation is used to synchronise between components of the model such that they observe events which they neither directly cause nor are directly affected by.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Roland makes a friend In the next revision of the model we introduce an accomplice who is befriended by Roland and who, when Roland is attacked, fights alongside him. In this scenario cooperation is used to synchronise between components of the model such that they observe events which they neither directly cause nor are directly affected by. Whenever either Roland or the accomplice kills the enemy the other must witness this action, so as to stop firing at a dead opponent (it would be a waste of ammunition!).
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
A new component for Roland def
Rolandidle = (attack, >).Roland2 + (befriend, rbefriend ).Rolandidle def
Roland2 = (hit, rhit ).Rolandhit + (miss, rmiss ).Roland1 + (a-hit, >).Rolandidle def
Roland1 = (hit, rhit ).Rolandhit + (miss, rmiss ).Rolandempty + (a-hit, >).Rolandidle def
Rolandhit = (reload, rreload ).Rolandidle def
Rolandempty = (reload, rreload ).Roland2 + (a-hit, >).Rolandhit Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Synchronising Roland and the Accomplice I
When there is an accomplice, he and Roland fight together against the enemy — this involves some cooperation.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Synchronising Roland and the Accomplice I
I
I
When there is an accomplice, he and Roland fight together against the enemy — this involves some cooperation. This could leave Roland vulnerable when there is no accomplice present. To prevent this we introduce a dummy component representing the absence of an accomplice.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Synchronising Roland and the Accomplice I
I
I
When there is an accomplice, he and Roland fight together against the enemy — this involves some cooperation. This could leave Roland vulnerable when there is no accomplice present. To prevent this we introduce a dummy component representing the absence of an accomplice.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Synchronising Roland and the Accomplice I
I
I
I
When there is an accomplice, he and Roland fight together against the enemy — this involves some cooperation. This could leave Roland vulnerable when there is no accomplice present. To prevent this we introduce a dummy component representing the absence of an accomplice. In this state the accomplice component will passively participate in any attack which Roland makes.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Synchronising Roland and the Accomplice I
I
I
I
When there is an accomplice, he and Roland fight together against the enemy — this involves some cooperation. This could leave Roland vulnerable when there is no accomplice present. To prevent this we introduce a dummy component representing the absence of an accomplice. In this state the accomplice component will passively participate in any attack which Roland makes. def
Acmplabs = (befriend, rbefriend ).Acmplidle + (hit, >).Acmplabs + (attack, >).Acmplabs
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Conclusion
Component for the Accomplice
def
Acmplidle = (attack, >).Acmpl2 def
Acmpl2 = (a-hit, ra-hit ).Acmplhit + (hit, >).Acmplidle + (miss, rmiss ).Acmpl1 + (enemy-hit, >).Acmplabs def
Acmpl1 = (a-hit, ra-hit ).Acmplhit + (hit, >).Acmplhit + (miss, rmiss ).Acmplempty + (enemy-hit, >).Acmplabs def
Acmplhit = (reload, ra-reload ).Acmplidle def
Acmplempty = (reload, ra-reload ).Acmpl2 + (hit, >).Acmplhit
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Parameter Settings for the Accomplice parameter rbefriend
value 0.001
ra-fire
1.0
pa-hit-success
0.6
ra-hit ra-miss ra-reload
0.6 0.4 0.25
explanation Roland befriends a stranger once every 1000 seconds the accomplice can also fire once per second the accomplice has a 60 percent accuracy rfire × phit-success rfire × (1.0 − phit-success ) it takes the accomplice 4 seconds to reload
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Conclusion
Component for the Enemy The component representing the enemy is similar to before. def
Enemiesidle = (attack, rattack ).Enemiesattack def
Enemiesattack = (enemy-hit, re-hit ).Enemiesattack + (hit, >).(enemy-die, re-die ).Enemiesidle + (a-hit, >).(enemy-die, re-die ).Enemiesidle
The system equation is as follows: (Rolandidle
B C
{attack,hit,a-hit,befriend}
BC Acmplabs ) {attack,hit,a-hit,enemy-hit} Enemiesidle
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Model Analysis Steady-State Analysis I
As before we can determine the probability that Roland is involved in a gun battle at an arbitrary time.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Model Analysis Steady-State Analysis I
As before we can determine the probability that Roland is involved in a gun battle at an arbitrary time.
I
We could also determine the likelihood that Roland has an accomplice at an arbitrary time.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Conclusion
Model Analysis Steady-State Analysis I
As before we can determine the probability that Roland is involved in a gun battle at an arbitrary time.
I
We could also determine the likelihood that Roland has an accomplice at an arbitrary time.
I
Since Roland cannot perform a befriending action while currently involved in a battle, the probabilty that Roland is in such a battle clearly affects the probability that he is alone in his quest.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Model Analysis Steady-State Analysis I
As before we can determine the probability that Roland is involved in a gun battle at an arbitrary time.
I
We could also determine the likelihood that Roland has an accomplice at an arbitrary time.
I
Since Roland cannot perform a befriending action while currently involved in a battle, the probabilty that Roland is in such a battle clearly affects the probability that he is alone in his quest.
I
For example, if Roland’s success rate is reduced, gun battles will take longer to resolve and Roland will be involved in a gun battle more often. Consequently he will befriend fewer accomplices.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Model Analysis Transient Analysis An example transient analysis would be to determine the expected time after Roland has set off before he meets his first accomplice.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Model Analysis
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Tool Support
Conclusion
Introduction
Model Analysis
Tool Support
Conclusion
Model Analysis Passage-Time Analysis I
An example analysis would be to calculate the passage-time from an attack action until the death of the enemy or of the accomplice.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Model Analysis Passage-Time Analysis I
An example analysis would be to calculate the passage-time from an attack action until the death of the enemy or of the accomplice.
I
Since all gun battles now end in the enemy being killed stopping the analysis there would give us the expected duration of any one gun battle.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Model Analysis Passage-Time Analysis I
An example analysis would be to calculate the passage-time from an attack action until the death of the enemy or of the accomplice.
I
Since all gun battles now end in the enemy being killed stopping the analysis there would give us the expected duration of any one gun battle.
I
There is also the possibility to start the analysis from the befriend action and stop it with the death of the accomplice.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Hiding I
Currently there is nothing in the model to stop an enemy from disrupting the interaction between Roland and his accomplice, e.g. by performing a befriend action.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Hiding I
Currently there is nothing in the model to stop an enemy from disrupting the interaction between Roland and his accomplice, e.g. by performing a befriend action.
I
One way to avoid this is to ‘hide’ those actions only Roland and the accomplice should cooperate on.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Hiding I
Currently there is nothing in the model to stop an enemy from disrupting the interaction between Roland and his accomplice, e.g. by performing a befriend action.
I
One way to avoid this is to ‘hide’ those actions only Roland and the accomplice should cooperate on.
I
To do this for our model we can simply change the system equation:
C Acmpl)/{befriend}) BC Enemiesidle ((Rolandidle B L L 1
where L1 = {attackhit, a-hit, befriend} and L2 = {attack, hit, a-hit, enemy-hit}. Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
2
Introduction
Model Analysis
Outline
Introduction Model Analysis Tool Support Conclusion
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Tool Support
Conclusion
Introduction
Model Analysis
SPA Tool Support
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Tool Support
Conclusion
Introduction
Model Analysis
Tool Support
Conclusion
SPA Tool Support
Several software tools supporting Stochastic Process Algebras have been developed over the years:
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
SPA Tool Support
Several software tools supporting Stochastic Process Algebras have been developed over the years: I
MoDeST
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
SPA Tool Support
Several software tools supporting Stochastic Process Algebras have been developed over the years: I
MoDeST
I
TIPP-Tool
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
SPA Tool Support
Several software tools supporting Stochastic Process Algebras have been developed over the years: I
MoDeST
I
TIPP-Tool
I
TwoTowers
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
PEPA Tool Support
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Tool Support
Conclusion
Introduction
Model Analysis
Tool Support
Conclusion
PEPA Tool Support PEPA is amenable to several analysis techniques through a number of supporting tools.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
PEPA Tool Support PEPA is amenable to several analysis techniques through a number of supporting tools. I The PEPA Workbench offers support for Markovian steady-state analysis, allowing computation of performance measures such as throughput and utilisation.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
PEPA Tool Support PEPA is amenable to several analysis techniques through a number of supporting tools. I The PEPA Workbench offers support for Markovian steady-state analysis, allowing computation of performance measures such as throughput and utilisation. I The Imperial PEPA Compiler translates PEPA models into the input format for Dnamaca, providing both steady-state and passage time analysis.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
PEPA Tool Support PEPA is amenable to several analysis techniques through a number of supporting tools. I The PEPA Workbench offers support for Markovian steady-state analysis, allowing computation of performance measures such as throughput and utilisation. I The Imperial PEPA Compiler translates PEPA models into the input format for Dnamaca, providing both steady-state and passage time analysis. I Model checking via Continuous Stochastic Logic is available in PRISM which has built-in support for PEPA.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
PEPA Tool Support PEPA is amenable to several analysis techniques through a number of supporting tools. I The PEPA Workbench offers support for Markovian steady-state analysis, allowing computation of performance measures such as throughput and utilisation. I The Imperial PEPA Compiler translates PEPA models into the input format for Dnamaca, providing both steady-state and passage time analysis. I Model checking via Continuous Stochastic Logic is available in PRISM which has built-in support for PEPA. I PEPA has been integrated into the M¨ obius multi-paradigm modelling tool.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
PEPA Tool Support PEPA is amenable to several analysis techniques through a number of supporting tools. I The PEPA Workbench offers support for Markovian steady-state analysis, allowing computation of performance measures such as throughput and utilisation. I The Imperial PEPA Compiler translates PEPA models into the input format for Dnamaca, providing both steady-state and passage time analysis. I Model checking via Continuous Stochastic Logic is available in PRISM which has built-in support for PEPA. I PEPA has been integrated into the M¨ obius multi-paradigm modelling tool. I The PEPA Plug-in Project permits Markovian steady-state analysis and stochastic simulation. Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
The PEPA Plug-in Project
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Tool Support
Conclusion
Introduction
Model Analysis
Tool Support
Conclusion
The PEPA Plug-in Project I
The PEPA Plug-in Project is built on top of the Eclipse technology and it is deployed as a collection of plug-ins for the Eclipse IDE released under GPL.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
The PEPA Plug-in Project I
The PEPA Plug-in Project is built on top of the Eclipse technology and it is deployed as a collection of plug-ins for the Eclipse IDE released under GPL.
I
It has been successfully tested on Eclipse 3.2 running on various Linux distributions, Mac OS X, and Windows XP
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
The PEPA Plug-in Project I
The PEPA Plug-in Project is built on top of the Eclipse technology and it is deployed as a collection of plug-ins for the Eclipse IDE released under GPL.
I
It has been successfully tested on Eclipse 3.2 running on various Linux distributions, Mac OS X, and Windows XP
I
The tool is available for download at: http://homepages.inf.ed.ac.uk/mtribast/
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
The PEPA Plug-in Project I
The PEPA Plug-in Project is built on top of the Eclipse technology and it is deployed as a collection of plug-ins for the Eclipse IDE released under GPL.
I
It has been successfully tested on Eclipse 3.2 running on various Linux distributions, Mac OS X, and Windows XP
I
The tool is available for download at: http://homepages.inf.ed.ac.uk/mtribast/
I
The examples discussed throughout this presentation are available at the PEPA Home Page: http://www.dcs.ed.ac.uk/pepa/
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Key Plug-ins
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Tool Support
Conclusion
Introduction
Model Analysis
Tool Support
Conclusion
Key Plug-ins
I
PEPAto provides core services for PEPA. It can be used as a library by third-party applications.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Key Plug-ins
I
PEPAto provides core services for PEPA. It can be used as a library by third-party applications.
I
Eclipse Core makes PEPA tools available within the Eclipse framework.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Key Plug-ins
I
PEPAto provides core services for PEPA. It can be used as a library by third-party applications.
I
Eclipse Core makes PEPA tools available within the Eclipse framework.
I
Eclipse UI implements a rich graphical user interface including an editor for PEPA descriptions and views for performance evaluation.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Services Available in PEPAto
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Tool Support
Conclusion
Introduction
Model Analysis
Tool Support
Services Available in PEPAto
I
In-memory model representation either programmatically or through parsing.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Services Available in PEPAto
I
In-memory model representation either programmatically or through parsing.
I
Static analysis.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Services Available in PEPAto
I
In-memory model representation either programmatically or through parsing.
I
Static analysis.
I
State space derivation.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Services Available in PEPAto
I
In-memory model representation either programmatically or through parsing.
I
Static analysis.
I
State space derivation.
I
Calculation of steady-state probability distribution.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Services Available in PEPAto
I
In-memory model representation either programmatically or through parsing.
I
Static analysis.
I
State space derivation.
I
Calculation of steady-state probability distribution.
I
Throughput and utilisation analysis.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Services Available in PEPAto
I
In-memory model representation either programmatically or through parsing.
I
Static analysis.
I
State space derivation.
I
Calculation of steady-state probability distribution.
I
Throughput and utilisation analysis.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Static Analysis
Static analysis checks the well-formedness of a model prior to inferring the derivation graph of the system.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Static Analysis
Static analysis checks the well-formedness of a model prior to inferring the derivation graph of the system. The output of this tool is a list of messages grouped into two categories:
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Static Analysis
Static analysis checks the well-formedness of a model prior to inferring the derivation graph of the system. The output of this tool is a list of messages grouped into two categories: I
Error messages prevent further model analysis (e.g. state space derivation)
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Conclusion
Static Analysis
Static analysis checks the well-formedness of a model prior to inferring the derivation graph of the system. The output of this tool is a list of messages grouped into two categories: I
Error messages prevent further model analysis (e.g. state space derivation)
I
Warning messages are less severe and allow further processing
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Basic Analysis An Error message is reported for:
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Tool Support
Conclusion
Introduction
Model Analysis
Basic Analysis An Error message is reported for: I
Rate not declared
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Tool Support
Conclusion
Introduction
Model Analysis
Basic Analysis An Error message is reported for: I
Rate not declared
I
Process not defined
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Tool Support
Conclusion
Introduction
Model Analysis
Basic Analysis An Error message is reported for: I
Rate not declared
I
Process not defined
I
Multiple rate definitions
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Tool Support
Conclusion
Introduction
Model Analysis
Basic Analysis An Error message is reported for: I
Rate not declared
I
Process not defined
I
Multiple rate definitions
I
Multiple process definitions
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Tool Support
Conclusion
Introduction
Model Analysis
Basic Analysis An Error message is reported for: I
Rate not declared
I
Process not defined
I
Multiple rate definitions
I
Multiple process definitions
A Warning message is reported for:
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Tool Support
Conclusion
Introduction
Model Analysis
Basic Analysis An Error message is reported for: I
Rate not declared
I
Process not defined
I
Multiple rate definitions
I
Multiple process definitions
A Warning message is reported for: I
Rate not used
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Tool Support
Conclusion
Introduction
Model Analysis
Basic Analysis An Error message is reported for: I
Rate not declared
I
Process not defined
I
Multiple rate definitions
I
Multiple process definitions
A Warning message is reported for: I
Rate not used
I
Process definition not used
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Tool Support
Conclusion
Introduction
Model Analysis
Tool Support
Conclusion
Local Deadlock A local deadlock is a condition that may occur in a synchronisation when a shared action can never be performed by one of the involved components.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Local Deadlock A local deadlock is a condition that may occur in a synchronisation when a shared action can never be performed by one of the involved components. P1 P2 Q1 Q2 P1
def
= def = def = def =
BC {α}
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
(α, r ).P2 (γ, t).P1 (β, s).Q2 (, v ).Q1 Q1
Introduction
Model Analysis
Tool Support
Conclusion
Complete Action Type Set The complete action type set A(P) of a component P is the set of all the action types which may be performed by the component during its evolution.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Complete Action Type Set The complete action type set A(P) of a component P is the set of all the action types which may be performed by the component during its evolution. I
def
Constant A = P: A(A) = A(P)
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Complete Action Type Set The complete action type set A(P) of a component P is the set of all the action types which may be performed by the component during its evolution. I
I
def
Constant A = P: A(A) = A(P) Choice P + Q: A(P + Q) = A(P) ∪ A(Q)
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Complete Action Type Set The complete action type set A(P) of a component P is the set of all the action types which may be performed by the component during its evolution. I
I
I
def
Constant A = P: A(A) = A(P) Choice P + Q: A(P + Q) = A(P) ∪ A(Q) C Q: Cooperation P B L C Q) = A(P) ∪ A(Q) A(P B L
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Complete Action Type Set The complete action type set A(P) of a component P is the set of all the action types which may be performed by the component during its evolution. I
I
I
I
def
Constant A = P: A(A) = A(P) Choice P + Q: A(P + Q) = A(P) ∪ A(Q) C Q: Cooperation P B L C Q) = A(P) ∪ A(Q) A(P B L Prefix (α, r).P: A (α, r ).P = {α} ∪ A(P)
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Complete Action Type Set The complete action type set A(P) of a component P is the set of all the action types which may be performed by the component during its evolution. I
I
I
I
I
def
Constant A = P: A(A) = A(P) Choice P + Q: A(P + Q) = A(P) ∪ A(Q) C Q: Cooperation P B L C Q) = A(P) ∪ A(Q) A(P B L Prefix (α, r).P: A (α, r ).P = {α} ∪ A(P) Hiding P\{L}: A P\{L} = A(P) − L
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Example P1 P2 Q1 Q2 P1
def
= def = def = def =
B C {α}
(α, r ).P2 (γ, t).P1 (β, s).Q2 (, v ).Q1 Q1
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Tool Support
Conclusion
Introduction
Model Analysis
Tool Support
Example P1 P2 Q1 Q2 P1
def
= def = def = def =
B C {α}
(α, r ).P2 (γ, t).P1 (β, s).Q2 (, v ).Q1 Q1
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
A(P1 ) = {α, γ}
Conclusion
Introduction
Model Analysis
Tool Support
Example P1 P2 Q1 Q2 P1
def
= def = def = def =
B C {α}
(α, r ).P2 (γ, t).P1 (β, s).Q2 (, v ).Q1 Q1
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
A(P1 ) = {α, γ} A(P2 ) = {α, γ}
Conclusion
Introduction
Model Analysis
Tool Support
Example P1 P2 Q1 Q2 P1
def
= def = def = def =
B C {α}
(α, r ).P2 (γ, t).P1 (β, s).Q2 (, v ).Q1 Q1
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
A(P1 ) = {α, γ} A(P2 ) = {α, γ} A(Q1 ) = {β, }
Conclusion
Introduction
Model Analysis
Tool Support
Example P1 P2 Q1 Q2 P1
def
= def = def = def =
B C {α}
(α, r ).P2 (γ, t).P1 (β, s).Q2 (, v ).Q1 Q1
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
A(P1 ) = {α, γ} A(P2 ) = {α, γ} A(Q1 ) = {β, } A(Q2 ) = {β, }
Conclusion
Introduction
Model Analysis
Tool Support
Example P1 P2 Q1 Q2 P1
def
= def = def = def =
B C {α}
(α, r ).P2 (γ, t).P1 (β, s).Q2 (, v ).Q1 Q1
A(P1 ) = {α, γ} A(P2 ) = {α, γ} A(Q1 ) = {β, } A(Q2 ) = {β, }
Local Deadlock Detection
C Q gives rise to a local deadlock if A cooperation P B L ∃ α ∈ L : α 6∈ A(P) ∩ A(Q), α ∈ A(P) ∪ A(Q)
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Conclusion
Redundant Action A redundant action is an action type specified in a cooperation set which cannot be carried out by either of the components involved.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Redundant Action A redundant action is an action type specified in a cooperation set which cannot be carried out by either of the components involved. P1 P2 Q1 Q2 P1
def
= def = def = def =
BC
{α,δ}
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
(α, r ).P2 (γ, t).P1 (β, s).Q2 (, v ).Q1 Q1
Introduction
Model Analysis
Tool Support
Conclusion
Redundant Action A redundant action is an action type specified in a cooperation set which cannot be carried out by either of the components involved. P1 P2 Q1 Q2 P1
def
= def = def = def =
BC
{α,δ}
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
(α, r ).P2 (γ, t).P1 (β, s).Q2 (, v ).Q1 Q1
Introduction
Model Analysis
Tool Support
Conclusion
Redundant Action A redundant action is an action type specified in a cooperation set which cannot be carried out by either of the components involved. P1 P2 Q1 Q2 P1
def
= def = def = def =
BC
{α,δ}
(α, r ).P2 (γ, t).P1 (β, s).Q2 (, v ).Q1 Q1
Redundant Action Detection
C Q has a redundant action type α if A cooperation P B L ∃ α ∈ L : α 6∈ A(P) ∪ A(Q) Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Non-guarded Recursive Definition Consider the following model snippet: ... def P1 = P2 k P3 def P2 = (γ, t).P1 ...
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Conclusion
Non-guarded Recursive Definition Consider the following model snippet: ... def P1 = P2 k P3 def P2 = (γ, t).P1 ... The derivation graph of component P1 gives rise to infinite-depth left recursion: P1
(γ,t)
→
(γ,t)
→
(γ,t)
→
(γ,t)
→
P2 k P3 k P3 P2 k P3 k P3 k P3 P2 k P3 k P3 k P3 k P3 ···
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Used Definition Set The used definition set U(P) of a component P is the set of all the constants used by P during its evolution. It is computed as follows:
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Used Definition Set The used definition set U(P) of a component P is the set of all the constants used by P during its evolution. It is computed as follows: I
def
Constant A = P: U(A) = {A} ∪ U(P)
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Used Definition Set The used definition set U(P) of a component P is the set of all the constants used by P during its evolution. It is computed as follows: I
I
def
Constant A = P: U(A) = {A} ∪ U(P) Choice P + Q: U(P + Q) = U(P) ∪ U(Q)
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Used Definition Set The used definition set U(P) of a component P is the set of all the constants used by P during its evolution. It is computed as follows: I
I
I
def
Constant A = P: U(A) = {A} ∪ U(P) Choice P + Q: U(P + Q) = U(P) ∪ U(Q) C Q: Cooperation P B L C Q) = U(P) ∪ U(Q) U(P B L
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Used Definition Set The used definition set U(P) of a component P is the set of all the constants used by P during its evolution. It is computed as follows: I
I
I
I
def
Constant A = P: U(A) = {A} ∪ U(P) Choice P + Q: U(P + Q) = U(P) ∪ U(Q) C Q: Cooperation P B L C Q) = U(P) ∪ U(Q) U(P B L Prefix (α, r).P: U (α, r ).P = U(P)
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Used Definition Set The used definition set U(P) of a component P is the set of all the constants used by P during its evolution. It is computed as follows: I
I
I
I
I
def
Constant A = P: U(A) = {A} ∪ U(P) Choice P + Q: U(P + Q) = U(P) ∪ U(Q) C Q: Cooperation P B L C Q) = U(P) ∪ U(Q) U(P B L Prefix (α, r).P: U (α, r ).P = U(P) Hiding P\{L}: U P\{L} = U(P)
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Example
... def P1 = P2 k P3 def P2 = (γ, t).P1 ...
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Tool Support
Conclusion
Introduction
Model Analysis
Tool Support
Conclusion
Example
Non-guarded Definition Detection ... def P1 = P2 k P3 def P2 = (γ, t).P1 ...
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
def
For each process definition A = P compute U(P). A has infinite recursion if it defines a cooperation and A ∈ U(P)
Introduction
Model Analysis
Tool Support
Conclusion
Example
Non-guarded Definition Detection ... def P1 = P2 k P3 def P2 = (γ, t).P1 ...
U P2 k P3 = {P1 , P2 , P3 , . . .}
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
def
For each process definition A = P compute U(P). A has infinite recursion if it defines a cooperation and A ∈ U(P)
Introduction
Model Analysis
Tool Support
Conclusion
Example
Non-guarded Definition Detection ... def P1 = P2 k P3 def P2 = (γ, t).P1 ...
U P2 k P3 = {P1 , P2 , P3 , . . .} U (γ, t).P1 = {P1 , P2 , P3 , . . .}
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
def
For each process definition A = P compute U(P). A has infinite recursion if it defines a cooperation and A ∈ U(P)
Introduction
Model Analysis
Tool Support
Conclusion
Example
Non-guarded Definition Detection ... def P1 = P2 k P3 def P2 = (γ, t).P1 ...
U P2 k P3 = {P1 , P2 , P3 , . . .} U (γ, t).P1 = {P1 , P2 , P3 , . . .}
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
def
For each process definition A = P compute U(P). A has infinite recursion if it defines a cooperation and A ∈ U(P)
Introduction
Model Analysis
Tool Support
Web Service Composition: Introduction We consider an example of a business application which is composed from a number of offered web services.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Conclusion
Web Service Composition: Introduction We consider an example of a business application which is composed from a number of offered web services. A user accesses the application via an SMS message requesting directions to the nearest facility (post-office, restaurant, bank etc.) and receives a response as an MMS message containing a map.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Web Service Composition: Introduction We consider an example of a business application which is composed from a number of offered web services. A user accesses the application via an SMS message requesting directions to the nearest facility (post-office, restaurant, bank etc.) and receives a response as an MMS message containing a map. Since the application involves a users’ current location there is an access control issue since it must be ensured that the web service consumer has the requisite authority to execute the web service it requests.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Web Service Composition: Introduction We consider an example of a business application which is composed from a number of offered web services. A user accesses the application via an SMS message requesting directions to the nearest facility (post-office, restaurant, bank etc.) and receives a response as an MMS message containing a map. Since the application involves a users’ current location there is an access control issue since it must be ensured that the web service consumer has the requisite authority to execute the web service it requests. Moreover the service provider imposes a restriction that only one request may be handled for each SMS message received. Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Schematic view Web Service Consumer Application Logic WS SMS notification
Policy Access Provider
Location request Location result
MMS delivery
Session Manager Start Session
WS component for SMS WS component for MMS WS component for location
Web Service Provider
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
SMS
End Session
Check request validity
Introduction
Model Analysis
Tool Support
Conclusion
Schematic view Web Service Consumer Application Logic WS SMS notification
Policy Access Provider
Location request Location result
MMS delivery
Session Manager Start Session
WS component for SMS WS component for MMS WS component for location
Web Service Provider
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
SMS
1
End Session
Check request validity
Introduction
Model Analysis
Tool Support
Conclusion
Schematic view Web Service Consumer Application Logic WS SMS notification
Policy Access Provider
Location request Location result
MMS delivery
2 Start Session
WS component for SMS WS component for MMS WS component for location
Web Service Provider
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
SMS
End Session
Check request validity
Session Manager
Introduction
Model Analysis
Tool Support
Conclusion
Schematic view Web Service Consumer Application Logic
3 WS SMS notification
Policy Access Provider
Location request Location result
MMS delivery
Session Manager Start Session
WS component for SMS WS component for MMS WS component for location
Web Service Provider
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
SMS
End Session
Check request validity
Introduction
Model Analysis
Tool Support
Conclusion
Schematic view Web Service Consumer Application Logic WS SMS notification
Policy Access Provider
4 Location request Location result
MMS delivery
Session Manager Start Session
WS component for SMS WS component for MMS WS component for location
Web Service Provider
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
SMS
End Session
Check request validity
Introduction
Model Analysis
Tool Support
Conclusion
Schematic view Web Service Consumer Application Logic WS SMS notification
Policy Access Provider
Location request Location result
MMS delivery
Session Manager Start Session
WS component for SMS WS component for MMS WS component for location
Web Service Provider
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
SMS
End Session
5 Check request validity
Introduction
Model Analysis
Tool Support
Conclusion
Schematic view Web Service Consumer Application Logic WS SMS notification
Policy Access Provider
Location request Location result
MMS delivery
6
WS component for SMS WS component for MMS WS component for location
Web Service Provider
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Session Manager Start Session SMS
End Session
Check request validity
Introduction
Model Analysis
Tool Support
Conclusion
Schematic view Web Service Consumer Application Logic WS SMS notification
Policy Access Provider
Location request
7 Location result
MMS delivery
Session Manager Start Session
WS component for SMS WS component for MMS WS component for location
Web Service Provider
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
SMS
End Session
Check request validity
Introduction
Model Analysis
Tool Support
Conclusion
Schematic view Web Service Consumer Application Logic WS SMS notification
Policy Access Provider
Location request Location result
MMS delivery
Session Manager Start Session
WS component for SMS WS component for MMS WS component for location
Web Service Provider
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
SMS
8 End Session
Check request validity
Introduction
Model Analysis
Tool Support
Conclusion
Schematic view Web Service Consumer Application Logic WS SMS notification
Policy Access Provider
Location request Location result
MMS delivery
Session Manager Start Session
WS component for SMS WS component for MMS WS component for location
Web Service Provider
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
SMS
End Session
Check request validity
Introduction
Model Analysis
Tool Support
The PEPA model The PEPA model of the system consists of four components:
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
The PEPA model The PEPA model of the system consists of four components: I
The user;
I
The web service provider;
I
The web service consumer, and
I
The policy access provider.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
The PEPA model The PEPA model of the system consists of four components: I
The user;
I
The web service provider;
I
The web service consumer, and
I
The policy access provider.
The Web Service Provider consists of three distinct elements but the web service consumer is associated with a session which accesses each element in sequence.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
The PEPA model The PEPA model of the system consists of four components: I
The user;
I
The web service provider;
I
The web service consumer, and
I
The policy access provider.
The Web Service Provider consists of three distinct elements but the web service consumer is associated with a session which accesses each element in sequence. Concurrency is introduced into the model by allowing multiple sessions rather than by representing the constituent web services separately. Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Conclusion
Component Customer The customer’s behaviour is simply modelled with two local states.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Component Customer The customer’s behaviour is simply modelled with two local states.
Customer
def
= (getSMS, r1 ).Customer 1 def
Customer 1 = (getMap, >).Customer + (get404 , >).Customer
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Component Customer The customer’s behaviour is simply modelled with two local states.
Customer
def
= (getSMS, r1 ).Customer 1 def
Customer 1 = (getMap, >).Customer + (get404 , >).Customer
We associate the user-perceived system performance with the throughput of the getMap action which can be calculated directly from the steady state probability distribution of the underlying Markov chain. Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Component WSConsumer Once a session has been started, it initiates a request for the user’s current location and waits for a response.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Component WSConsumer Once a session has been started, it initiates a request for the user’s current location and waits for a response. For valid requests, location is returned and used to compute the appropriate map, which is then sent via an MMS message, using the web service.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Component WSConsumer Once a session has been started, it initiates a request for the user’s current location and waits for a response. For valid requests, location is returned and used to compute the appropriate map, which is then sent via an MMS message, using the web service. WSConsumer
def
= (notify , >).WSConsumer 2 def
WSConsumer 2 = (locReq, r4 ).WSConsumer 3 def
WSConsumer 3 = (locRes, >).WSConsumer 4 + (locErr , >).WSConsumer def
WSConsumer 4 = (compute, r7 ).WSConsumer 5 def
WSConsumer 5 = (sendMMS, r9 ).WSConsumer
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Component WSProvider The use of sessions restricts a user’s access to the services of the Web Service Provider to be sequential.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Component WSProvider The use of sessions restricts a user’s access to the services of the Web Service Provider to be sequential. We assume that there is a distinct instance of the component WSProvider for each distinct session.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Component WSProvider The use of sessions restricts a user’s access to the services of the Web Service Provider to be sequential. We assume that there is a distinct instance of the component WSProvider for each distinct session. The checkValid action is represented twice, to capture the two possible distinct outcomes of the action.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Conclusion
Component WSProvider The use of sessions restricts a user’s access to the services of the Web Service Provider to be sequential. We assume that there is a distinct instance of the component WSProvider for each distinct session. The checkValid action is represented twice, to capture the two possible distinct outcomes of the action. I
If the check is successful the location must be returned to the Web Service Consumer in the form of a map (getMap).
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Component WSProvider The use of sessions restricts a user’s access to the services of the Web Service Provider to be sequential. We assume that there is a distinct instance of the component WSProvider for each distinct session. The checkValid action is represented twice, to capture the two possible distinct outcomes of the action. I
If the check is successful the location must be returned to the Web Service Consumer in the form of a map (getMap).
I
If the check revealed an invalid request (locErr ) then an error must be returned to the Web Service Consumer (get404 ) and the session terminated (stopSession).
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Component WSProvider
WSProvider
def
= (getSMS, >).WSProvider 2 def
WSProvider 2 = (startSession, r2 ).WSProvider 3 def
WSProvider 3 = (notify , r3 ).WSProvider 4 def
WSProvider 4 = (locReq, >).WSProvider 5 def
WSProvider 5 = (checkValid, 99 · >).WSProvider 6 + (checkValid, >).WSProvider 10
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Component WSProvider cont.
def
WSProvider 6 = (locRes, r6 ).WSProvider 7 def
WSProvider 7 = (sendMMS, >).WSProvider 8 def
WSProvider 8 = (getMap, r8 ).WSProvider 9 def
WSProvider 9 = (stopSession, r2 ).WSProvider def
WSProvider 10 = (locErr , r6 ).WSProvider 11 def
WSProvider 11 = (get404 , r8 ).WSProvider 9
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Component PAProvider
We consider a stateless implementation of the policy access provider. PAProvider
def
= (startSession, >).PAProvider + (checkValid, r5 ).PAProvider + (stopSession, >).PAProvider
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Conclusion
Model Component WSComp The complete system is composed of some number of instances of the components interacting on their shared activities: def
WSComp =
C WSProvider [NWSP ]) (Customer [NC ] B L1 BC WSConsumer [NWSC ] L2 BC PAProvider [NPAP ] L 3
where the cooperation sets are L1 = {getSMS, getMap, get404 } L2 = {notify , locReq, locRes, locErr , sendMMS} L3 = {startSession, checkValid, stopSession} Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Parameter Values param r1 r2 r3
value 0.0010 0.5 0.1
r4 r5
0.1 0.05
r6
0.1
r7 r8
0.05 0.02
r9
10.0 ∗ r8
explanation rate customers request maps rate session can be started notification exchange between consumer and provider rate requests for location can be satisfied rate the provider can check the validity of the request rate location information can be returned to consumer rate maps can be generated rate MMS messages can be sent from provider to customer rate MMS messages can be sent via the Web Service
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Steady State Analysis for System Tuning I
Suppose that we want to design the system in such a way that it can handle 30 independent customers.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Steady State Analysis for System Tuning I
Suppose that we want to design the system in such a way that it can handle 30 independent customers.
I
Some parameters such as the network delays may be constrained by the available technology.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Steady State Analysis for System Tuning I
Suppose that we want to design the system in such a way that it can handle 30 independent customers.
I
Some parameters such as the network delays may be constrained by the available technology.
I
However, there are a number of degrees of freedom which let her vary, for example, the number of threads of control of the components of the system.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Steady State Analysis for System Tuning I
Suppose that we want to design the system in such a way that it can handle 30 independent customers.
I
Some parameters such as the network delays may be constrained by the available technology.
I
However, there are a number of degrees of freedom which let her vary, for example, the number of threads of control of the components of the system.
I
The aim of the analysis is to deliver a satisfactory service in a cost-effective way.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Steady State Analysis for System Tuning I
Suppose that we want to design the system in such a way that it can handle 30 independent customers.
I
Some parameters such as the network delays may be constrained by the available technology.
I
However, there are a number of degrees of freedom which let her vary, for example, the number of threads of control of the components of the system.
I
The aim of the analysis is to deliver a satisfactory service in a cost-effective way.
I
The simplest example of a cost function may be a linearly dependency on the number of copies of a component or the rate at which an activity is performed.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Throughput of the getMap action 0.014
Throughput getMap
0.012 0.01 0.008 0.006 0.004 Number of WSProviders=1 Number of WSProviders=2 Number of WSProviders=3 Number of WSProviders=4
0.002 0 0
5
10
15
20
25
30
Number of Customers
as the number of customers varies between 1 and 30 for various numbers of copies of the WSProvider component. Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Throughput of the getMap action
I
Under heavy load increasing the number of providers initially leads to a sharp increase in the throughput. However the gain deteriorates so that the system with four copies is just 8.7% faster than the system with three.
I
In the following we settle on three copies of WSProvider .
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Throughput of getMap action 0.022 0.02
Throughput getMap
0.018 0.016 0.014 0.012 0.01 0.008 0.006 Number of WSConsumers=1 Number of WSConsumers=2 Number of WSConsumers=3
0.004 0.002 0
0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04 0.045 0.05 Rate r1
as the request arrival rate (r1 ) varies for differing numbers of WSConsumer . Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Throughput of getMap action
I
Every line starts to plateau at approximately r1 = 0.010 following an initial sharp increase. This suggests that the user is the bottle next in the system when the arrival rate is lower. Conversely, at high rates the system becomes congested.
I
Whilst having two copies of WSConsumer , corresponding to two operating threads of control, improves performance significantly, the subsequent increase with three copies is less pronounced.
I
So we set the number of copies of WSConsumer to 2.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Optimising the number of copies of PAProvider
I
Here we are particularly interested in the overall impact of the rate at which the validity check is performed.
I
Slower rates may mean more computationally expensive validation.
I
Faster rates may involve less accuracy and lower security of the system.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Throughput of getMap action 0.018 0.016
Throughput getMap
0.014 0.012 0.01 0.008 0.006 0.004 Number of PAProviders=1 Number of PAProviders=2 Number of PAProviders=3
0.002 0 0
0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 0.11 Rate r5
as the validity check rate (r5 ) varies for differing numbers of PAProvider . Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Throughput of getMap action
I
A sharp increase followed by a constant levelling off suggests that optimal rate values lie on the left of the plateau, as faster rates do not improve the system considerably.
I
As for the optimal number of copies of PAProvider , deploying two copies rather than one can increase the quality of service of the overall system.
I
With a similar approach as previously discussed, the modeller may want to consider the trade-off between the cost of adding a third copy and the throughput increase.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
An alternative design for PAProvider I
The original design of PAProvider is stateless.
I
Any of its services can be called at any point, the correctness of the system being guaranteed by implementation-specific constrainsts such as session identifiers being uniquely assigned to the clients and passed as parameters of the method calls.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
An alternative design for PAProvider I
The original design of PAProvider is stateless.
I
Any of its services can be called at any point, the correctness of the system being guaranteed by implementation-specific constrainsts such as session identifiers being uniquely assigned to the clients and passed as parameters of the method calls.
I
Alternatively we may consider a stateful implementation, modelled as a sequential component with three local states.
I
This implementation has the consequence that there can never be more than NPAP WSProvider which have started a session with a PAProvider
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Component PAProvider — Stateful Version
It maintains a thread for each session and carries out the validity check on behalf of the Web Service Provider. PAProvider
def
= (startSession, >).PAProvider 2 def
PAProvider 2 = (checkValid, r5 ).PAProvider 3 def
PAProvider 3 = (stopSession, >).PAProvider
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Conclusion
Throughput of getMap action 0.018 0.016
Throughput getMap
0.014 0.012 0.01 0.008 0.006 0.004 Number of PAProviders=1 Number of PAProviders=2 Number of PAProviders=3
0.002 0 0
0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 0.11 Rate r5
as the validity check rate (r5 ) varies for differing numbers of PAProvider (stateful version). Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Conclusion
Throughput of getMap action
I
In this case the incremental gain in adding more copies has become more marked.
I
However, the modeller may want to prefer the original version, as three copies of the stateful provider deliver about as much as the throughput of only one copy of the stateless implementation.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Outline
Introduction Model Analysis Tool Support Conclusion
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Tool Support
Conclusion
Introduction
Model Analysis
Tool Support
Some concluding remarks...
The incorporation of stochastic quantitative information into process algebras has been extremely fruitful:
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Tool Support
Conclusion
Some concluding remarks...
The incorporation of stochastic quantitative information into process algebras has been extremely fruitful: I
For performance modelling the rigour of the formal description technique has had benefits for both practice and theory, and lead to enhanced analysis capabilities.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Introduction
Model Analysis
Tool Support
Acknowledgements
The PEPA project has been funded by SERC, EPSRC and the CEC. In particular Jane Hillston and Mirco Tribastone are supported by the SENSORIA project We would like to thank our co-authors, Allan Clark and Stephen Gilmore for help with these slides.
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Conclusion
Introduction
Model Analysis
Thank you
Hillston and Tribastone. LFCS, University of Edinburgh. Stochastic Process Algebras
Tool Support
Conclusion