Process Algebra for Collective Dynamics Jane Hillston Laboratory - - PowerPoint PPT Presentation

process algebra for collective dynamics
SMART_READER_LITE
LIVE PREVIEW

Process Algebra for Collective Dynamics Jane Hillston Laboratory - - PowerPoint PPT Presentation

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions Process Algebra for Collective Dynamics Jane Hillston Laboratory for Foundations of Computer Science University of Edinburgh joint work with Stephen Gilmore and


slide-1
SLIDE 1

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Process Algebra for Collective Dynamics

Jane Hillston

Laboratory for Foundations of Computer Science University of Edinburgh

joint work with Stephen Gilmore and Mirco Tribastone

slide-2
SLIDE 2

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Outline

1 Introduction

Stochastic Process Algebra Collective Dynamics

2 Continuous Approximation

State variables Numerical illustration

3 Fluid-Flow Semantics

Fluid Structured Operational Semantics

4 Example

Scalable Web Services

5 Conclusions

Alternative Models

slide-3
SLIDE 3

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Outline

1 Introduction

Stochastic Process Algebra Collective Dynamics

2 Continuous Approximation

State variables Numerical illustration

3 Fluid-Flow Semantics

Fluid Structured Operational Semantics

4 Example

Scalable Web Services

5 Conclusions

Alternative Models

slide-4
SLIDE 4

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Process Algebra

Models consist of agents which engage in actions.

α.P

✟✟ ✟ ✯ ❍ ❍ ❍ ❨

action type

  • r name

agent/ component

slide-5
SLIDE 5

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Process Algebra

Models consist of agents which engage in actions.

α.P

✟✟ ✟ ✯ ❍ ❍ ❍ ❨

action type

  • r name

agent/ component

The structured operational (interleaving) semantics of the language is used to generate a labelled transition system.

slide-6
SLIDE 6

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Process Algebra

Models consist of agents which engage in actions.

α.P

✟✟ ✟ ✯ ❍ ❍ ❍ ❨

action type

  • r name

agent/ component

The structured operational (interleaving) semantics of the language is used to generate a labelled transition system.

Process algebra model

slide-7
SLIDE 7

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Process Algebra

Models consist of agents which engage in actions.

α.P

✟✟ ✟ ✯ ❍ ❍ ❍ ❨

action type

  • r name

agent/ component

The structured operational (interleaving) semantics of the language is used to generate a labelled transition system.

Process algebra model ✲ SOS rules

slide-8
SLIDE 8

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Process Algebra

Models consist of agents which engage in actions.

α.P

✟✟ ✟ ✯ ❍ ❍ ❍ ❨

action type

  • r name

agent/ component

The structured operational (interleaving) semantics of the language is used to generate a labelled transition system.

Process algebra model Labelled transition system ✲ SOS rules

slide-9
SLIDE 9

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

A simple example: processors and resources

Proc0

def

= task1.Proc1 Proc1

def

= task2.Proc0 Res0

def

= task1.Res1 Res1

def

= reset.Res0 Proc0 task1 Res0

slide-10
SLIDE 10

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

A simple example: processors and resources

Proc0

def

= task1.Proc1 Proc1

def

= task2.Proc0 Res0

def

= task1.Res1 Res1

def

= reset.Res0 Proc0 task1 Res0 Proc0 task1 Res0 ❄ task1 Proc1 task1 Res1

reset ❅ ❅ ❅ ❘ task2 Proc1 task1 Res0 ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✕ task2 Proc0 task1 Res1 ❆ ❆ ❆ ❆ ❆ ❆ ❆ ❑ reset

slide-11
SLIDE 11

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Stochastic process algebras

Process algebras where models are decorated with quantitative information used to generate a stochastic process are stochastic process algebras (SPA).

slide-12
SLIDE 12

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Stochastic Process Algebra

Models are constructed from components which engage in activities.

(α, r).P

✟✟ ✟ ✯ ✻ ❍ ❍ ❍ ❨

action type

  • r name

activity rate (parameter of an exponential distribution) component/ derivative

slide-13
SLIDE 13

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Stochastic Process Algebra

Models are constructed from components which engage in activities.

(α, r).P

✟✟ ✟ ✯ ✻ ❍ ❍ ❍ ❨

action type

  • r name

activity rate (parameter of an exponential distribution) component/ derivative

The language is used to generate a CTMC for performance modelling.

slide-14
SLIDE 14

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Stochastic Process Algebra

Models are constructed from components which engage in activities.

(α, r).P

✟✟ ✟ ✯ ✻ ❍ ❍ ❍ ❨

action type

  • r name

activity rate (parameter of an exponential distribution) component/ derivative

The language is used to generate a CTMC for performance modelling.

SPA MODEL

slide-15
SLIDE 15

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Stochastic Process Algebra

Models are constructed from components which engage in activities.

(α, r).P

✟✟ ✟ ✯ ✻ ❍ ❍ ❍ ❨

action type

  • r name

activity rate (parameter of an exponential distribution) component/ derivative

The language is used to generate a CTMC for performance modelling.

SPA MODEL ✲ SOS rules

slide-16
SLIDE 16

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Stochastic Process Algebra

Models are constructed from components which engage in activities.

(α, r).P

✟✟ ✟ ✯ ✻ ❍ ❍ ❍ ❨

action type

  • r name

activity rate (parameter of an exponential distribution) component/ derivative

The language is used to generate a CTMC for performance modelling.

SPA MODEL LABELLED TRANSITION SYSTEM ✲ SOS rules

slide-17
SLIDE 17

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Stochastic Process Algebra

Models are constructed from components which engage in activities.

(α, r).P

✟✟ ✟ ✯ ✻ ❍ ❍ ❍ ❨

action type

  • r name

activity rate (parameter of an exponential distribution) component/ derivative

The language is used to generate a CTMC for performance modelling.

SPA MODEL LABELLED TRANSITION SYSTEM ✲ ✲ SOS rules state transition diagram

slide-18
SLIDE 18

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Stochastic Process Algebra

Models are constructed from components which engage in activities.

(α, r).P

✟✟ ✟ ✯ ✻ ❍ ❍ ❍ ❨

action type

  • r name

activity rate (parameter of an exponential distribution) component/ derivative

The language is used to generate a CTMC for performance modelling.

SPA MODEL LABELLED TRANSITION SYSTEM CTMC Q ✲ ✲ SOS rules state transition diagram

slide-19
SLIDE 19

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Stochastic Process Algebra

Models are constructed from components which engage in activities.

(α, r).P

✟✟ ✟ ✯ ✻ ❍ ❍ ❍ ❨

action type

  • r name

activity rate (parameter of an exponential distribution) component/ derivative

The language is used to generate a CTMC for performance modelling.

SPA MODEL LABELLED MULTI- TRANSITION SYSTEM CTMC Q ✲ ✲ SOS rules state transition diagram

slide-20
SLIDE 20

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Integrated analysis

Qualitative verification can now be complemented by quantitative verification.

slide-21
SLIDE 21

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Integrated analysis

Qualitative verification can now be complemented by quantitative verification.

slide-22
SLIDE 22

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Integrated analysis

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? ❡ ❡ ❡ ❡ ❡ ❡ ❤ ❡ ❡ ❡ ✲ ✲ ✲ ❄ ✛

slide-23
SLIDE 23

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Integrated analysis

Qualitative verification can now be complemented by quantitative verification.

Model checking Does a given property φ hold within the system with a given probability?

φ ✏✏✏✏✏✏✏✏

PPPPPPPP ❡ ❡ ❡ ❡ ❡ ❡ ❡ ❡ ❡ ✲ ✲ ✲ ❄ ✛

slide-24
SLIDE 24

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Integrated analysis

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?

φ ✏✏✏✏✏✏✏✏

PPPPPPPP ❡ ❡ ❡ ❡ ❡ ❡ ❡ ❡ ❡ ✲ ✲ ✲ ❄ ✛

slide-25
SLIDE 25

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Performance Evaluation Process Algebra

PEPA components perform activities either independently or in co-operation with other components.

slide-26
SLIDE 26

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Performance Evaluation Process Algebra

PEPA components perform activities either independently or in co-operation with other components. (α, f ).P Prefix P1 + P2 Choice P1 ✄

L P2

Co-operation P/L Hiding X Variable

slide-27
SLIDE 27

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Performance Evaluation Process Algebra

PEPA components perform activities either independently or in co-operation with other components. (α, f ).P Prefix P1 + P2 Choice P1 ✄

L P2

Co-operation P/L Hiding X Variable

slide-28
SLIDE 28

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Performance Evaluation Process Algebra

PEPA components perform activities either independently or in co-operation with other components. (α, f ).P Prefix P1 + P2 Choice P1 ✄

L P2

Co-operation P/L Hiding X Variable

slide-29
SLIDE 29

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Performance Evaluation Process Algebra

PEPA components perform activities either independently or in co-operation with other components. (α, f ).P Prefix P1 + P2 Choice P1 ✄

L P2

Co-operation P/L Hiding X Variable

slide-30
SLIDE 30

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Performance Evaluation Process Algebra

PEPA components perform activities either independently or in co-operation with other components. (α, f ).P Prefix P1 + P2 Choice P1 ✄

L P2

Co-operation P/L Hiding X Variable

slide-31
SLIDE 31

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Performance Evaluation Process Algebra

PEPA components perform activities either independently or in co-operation with other components. (α, f ).P Prefix P1 + P2 Choice P1 ✄

L P2

Co-operation P/L Hiding X Variable

slide-32
SLIDE 32

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Performance Evaluation Process Algebra

PEPA components perform activities either independently or in co-operation with other components. (α, f ).P Prefix P1 + P2 Choice P1 ✄

L P2

Co-operation P/L Hiding X Variable P1 P2 is a derived form for P1 ✄

∅ P2.

slide-33
SLIDE 33

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Performance Evaluation Process Algebra

PEPA components perform activities either independently or in co-operation with other components. (α, f ).P Prefix P1 + P2 Choice P1 ✄

L P2

Co-operation P/L Hiding X Variable P1 P2 is a derived form for P1 ✄

∅ P2.

When working with large numbers of entities, we write P[n] to denote an array of n copies of P executing in parallel.

slide-34
SLIDE 34

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Performance Evaluation Process Algebra

PEPA components perform activities either independently or in co-operation with other components. (α, f ).P Prefix P1 + P2 Choice P1 ✄

L P2

Co-operation P/L Hiding X Variable P1 P2 is a derived form for P1 ✄

∅ P2.

When working with large numbers of entities, we write P[n] to denote an array of n copies of P executing in parallel. P[5] ≡ (P P P P P)

slide-35
SLIDE 35

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Rates of interaction: bounded capacity

Stochastic process algebras differ in how they define the rate of synchronised actions.

slide-36
SLIDE 36

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Rates of interaction: bounded capacity

Stochastic process algebras differ in how they define the rate of synchronised actions. In PEPA the cooperation of components is assumed to give rise to shared actions and the rates of these shared actions are governed by the assumption of bounded capacity.

slide-37
SLIDE 37

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Rates of interaction: bounded capacity

Stochastic process algebras differ in how they define the rate of synchronised actions. In PEPA the cooperation of components is assumed to give rise to shared actions and the rates of these shared actions are governed by the assumption of bounded capacity. The principle of bounded capacity means that a component cannot be made to carry out an action in cooperation faster than its own defined rate for the action. Thus shared actions proceed at the minimum of the rates in the participating components.

slide-38
SLIDE 38

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Rates of interaction: bounded capacity

Stochastic process algebras differ in how they define the rate of synchronised actions. In PEPA the cooperation of components is assumed to give rise to shared actions and the rates of these shared actions are governed by the assumption of bounded capacity. The principle of bounded capacity means that a component cannot be made to carry out an action in cooperation faster than its own defined rate for the action. Thus shared actions proceed at the minimum of the rates in the participating components. In contrast independent actions do not constrain each other and if there are multiple copies of a action enabled in independent concurrent components their rates are summed.

slide-39
SLIDE 39

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

A simple example: processors and resources

Proc0

def

= (task1, r1).Proc1 Proc1

def

= (task2, r2).Proc0 Res0

def

= (task1, r3).Res1 Res1

def

= (reset, r4).Res0 Proc0 ✄

{task1} Res0

slide-40
SLIDE 40

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

A simple example: processors and resources

Proc0

def

= (task1, r1).Proc1 Proc1

def

= (task2, r2).Proc0 Res0

def

= (task1, r3).Res1 Res1

def

= (reset, r4).Res0 Proc0 ✄

{task1} Res0

Proc0 ✄

{task1} Res0

(task1, R)

Proc1 ✄

{task1} Res1

(reset, r4)

❅ ❅ ❅ ❘

(task2, r2)

Proc1 ✄

{task1} Res0

✁ ✁ ✁ ✁ ✁ ✁ ✁ ✕

(task2, r2)

Proc0 ✄

{task1} Res1

❆ ❆ ❆ ❆ ❆ ❆ ❆ ❑

(reset, r4)

R = min(r1, r3)

slide-41
SLIDE 41

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

A simple example: processors and resources

Proc0

def

= (task1, r1).Proc1 Proc1

def

= (task2, r2).Proc0 Res0

def

= (task1, r3).Res1 Res1

def

= (reset, r4).Res0 Proc0 ✄

{task1} Res0

Proc0 ✄

{task1} Res0

(task1, R)

Proc1 ✄

{task1} Res1

(reset, r4)

❅ ❅ ❅ ❘

(task2, r2)

Proc1 ✄

{task1} Res0

✁ ✁ ✁ ✁ ✁ ✁ ✁ ✕

(task2, r2)

Proc0 ✄

{task1} Res1

❆ ❆ ❆ ❆ ❆ ❆ ❆ ❑

(reset, r4)

R = min(r1, r3)

slide-42
SLIDE 42

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

A simple example: processors and resources

Proc0

def

= (task1, r1).Proc1 Proc1

def

= (task2, r2).Proc0 Res0

def

= (task1, r3).Res1 Res1

def

= (reset, r4).Res0 Proc0 ✄

{task1} Res0

Proc0 ✄

{task1} Res0

(task1, R)

Proc1 ✄

{task1} Res1

(reset, r4)

❅ ❅ ❅ ❘

(task2, r2)

Proc1 ✄

{task1} Res0

✁ ✁ ✁ ✁ ✁ ✁ ✁ ✕

(task2, r2)

Proc0 ✄

{task1} Res1

❆ ❆ ❆ ❆ ❆ ❆ ❆ ❑

(reset, r4)

R = min(r1, r3) Q =     −R R −(r2 + r4) r4 r2 r2 −r2 r4 −r4    

slide-43
SLIDE 43

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Calculating the rate of actions carried out in cooperation

(P0 P0) ✄

{task1} (R0 R0 R0)

(P1 P0) ✄

{task1} (R1 R0 R0)

(P1 P0) ✄

{task1} (R0 R1 R0)

(P1 P0) ✄

{task1} (R0 R0 R1)

(P0 P1) ✄

{task1} (R1 R0 R0)

(P0 P1) ✄

{task1} (R0 R1 R0)

(P0 P1) ✄

{task1} (R0 R0 R1)

✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✼ r ✚✚✚✚✚ ✚ ❃ r ✘✘✘✘✘ ✘ ✿ r ❳❳❳❳❳ ❳ ③ r ❩❩❩❩❩ ❩ ⑦ r ❙ ❙ ❙ ❙ ❙ ❙ ❙ ❙ ✇ r

slide-44
SLIDE 44

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Calculating the rate of actions carried out in cooperation

(P0 P0) ✄

{task1} (R0 R0 R0)

(P1 P0) ✄

{task1} (R1 R0 R0)

(P1 P0) ✄

{task1} (R0 R1 R0)

(P1 P0) ✄

{task1} (R0 R0 R1)

(P0 P1) ✄

{task1} (R1 R0 R0)

(P0 P1) ✄

{task1} (R0 R1 R0)

(P0 P1) ✄

{task1} (R0 R0 R1)

✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✼ r ✚✚✚✚✚ ✚ ❃ r ✘✘✘✘✘ ✘ ✿ r ❳❳❳❳❳ ❳ ③ r ❩❩❩❩❩ ❩ ⑦ r ❙ ❙ ❙ ❙ ❙ ❙ ❙ ❙ ✇ r r =

r1 2r1 r3 3r3 min(2r1, 3r3) = 1 6 min(2r1, 3r3)

slide-45
SLIDE 45

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Collective Dynamics

The behaviour of many systems can be interpreted as the result of the collective behaviour of a large number of interacting entities.

slide-46
SLIDE 46

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Collective Dynamics

The behaviour of many systems can be interpreted as the result of the collective behaviour of a large number of interacting entities. For such systems we are often as interested in the population level behaviour as we are in the behaviour of the individual entities.

slide-47
SLIDE 47

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Collective Behaviour

In the natural world there are many instances of collective behaviour and its consequences:

slide-48
SLIDE 48

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Collective Behaviour

In the natural world there are many instances of collective behaviour and its consequences:

slide-49
SLIDE 49

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Process Algebra and Collective Dynamics

Process algebra are well-suited to modelling such systems

slide-50
SLIDE 50

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Process Algebra and Collective Dynamics

Process algebra are well-suited to modelling such systems Developed to represent concurrent behaviour compositionally;

slide-51
SLIDE 51

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Process Algebra and Collective Dynamics

Process algebra are well-suited to modelling such systems Developed to represent concurrent behaviour compositionally; Capture the interactions between individuals explicitly;

slide-52
SLIDE 52

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Process Algebra and Collective Dynamics

Process algebra are well-suited to modelling such systems Developed to represent concurrent behaviour compositionally; Capture the interactions between individuals explicitly; Incorporate formal apparatus for reasoning about the behaviour of systems;

slide-53
SLIDE 53

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Process Algebra and Collective Dynamics

Process algebra are well-suited to modelling such systems Developed to represent concurrent behaviour compositionally; Capture the interactions between individuals explicitly; Incorporate formal apparatus for reasoning about the behaviour of systems; Stochastic extensions, such as PEPA, enable quantified behaviour of the dynamics of systems.

slide-54
SLIDE 54

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Process Algebra and Collective Dynamics

Process algebra are well-suited to modelling such systems Developed to represent concurrent behaviour compositionally; Capture the interactions between individuals explicitly; Incorporate formal apparatus for reasoning about the behaviour of systems; Stochastic extensions, such as PEPA, enable quantified behaviour of the dynamics of systems. In the CODA project we are developing stochastic process algebras and associated theory, tailored to the construction and evaluation

  • f the collective dynamics of large systems of interacting entities.
slide-55
SLIDE 55

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Population statistics: emergent behaviour

A shift in perspective allows us to model the interactions between individual components but then only the consider the system as a whole as an interaction of populations.

slide-56
SLIDE 56

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Population statistics: emergent behaviour

A shift in perspective allows us to model the interactions between individual components but then only the consider the system as a whole as an interaction of populations. This allows us to model much larger systems than previously possible but in making the shift we are no longer able to collect any information about individuals in the system.

slide-57
SLIDE 57

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Performance as an emergent behaviour

We must instead think about the performance of the collective point of view. Service providers often want to do this in any case. For example making contracts in terms of service level agreements.

slide-58
SLIDE 58

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Performance as an emergent behaviour

We must instead think about the performance of the collective point of view. Service providers often want to do this in any case. For example making contracts in terms of service level agreements.

Example Service Level Agreement

90% of requests receive a response within 3 seconds.

slide-59
SLIDE 59

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Performance as an emergent behaviour

We must instead think about the performance of the collective point of view. Service providers often want to do this in any case. For example making contracts in terms of service level agreements.

Example Service Level Agreement

90% of requests receive a response within 3 seconds.

Qualitative Service Level Agreement

Less than 1% of the responses received within 3 seconds will read “System is overloaded, try again later”.

slide-60
SLIDE 60

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Novelty

The novelty in this approach is twofold:

slide-61
SLIDE 61

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Novelty

The novelty in this approach is twofold: Linking process algebra and continuous mathematical models for dynamic evaluation represents a paradigm shift in how such systems are studied.

slide-62
SLIDE 62

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Novelty

The novelty in this approach is twofold: Linking process algebra and continuous mathematical models for dynamic evaluation represents a paradigm shift in how such systems are studied. The prospect of formally-based quantified evaluation of dynamic behaviour could have significant impact in application domains such as:

slide-63
SLIDE 63

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Novelty

The novelty in this approach is twofold: Linking process algebra and continuous mathematical models for dynamic evaluation represents a paradigm shift in how such systems are studied. The prospect of formally-based quantified evaluation of dynamic behaviour could have significant impact in application domains such as: Large scale software systems Issues of scalability are important for user satisfaction and resource efficiency but such issues are difficult to investigate using discrete state models.

slide-64
SLIDE 64

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Novelty

The novelty in this approach is twofold: Linking process algebra and continuous mathematical models for dynamic evaluation represents a paradigm shift in how such systems are studied. The prospect of formally-based quantified evaluation of dynamic behaviour could have significant impact in application domains such as: Biochemical signalling pathways Understanding these pathways has the potential to improve the quality of life through enhanced drug treatment and better drug design.

slide-65
SLIDE 65

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Novelty

The novelty in this approach is twofold: Linking process algebra and continuous mathematical models for dynamic evaluation represents a paradigm shift in how such systems are studied. The prospect of formally-based quantified evaluation of dynamic behaviour could have significant impact in application domains such as: Epidemiological systems Improved modelling of these systems could lead to improved disease prevention and treatment in nature and better security in computer systems.

slide-66
SLIDE 66

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Novelty

The novelty in this approach is twofold: Linking process algebra and continuous mathematical models for dynamic evaluation represents a paradigm shift in how such systems are studied. The prospect of formally-based quantified evaluation of dynamic behaviour could have significant impact in application domains such as: Crowd dynamics Technology enhancement is creating new possibilities for directing crowd movements in buildings and urban spaces, for example for emergency egress, which are not yet well-understood.

slide-67
SLIDE 67

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Outline

1 Introduction

Stochastic Process Algebra Collective Dynamics

2 Continuous Approximation

State variables Numerical illustration

3 Fluid-Flow Semantics

Fluid Structured Operational Semantics

4 Example

Scalable Web Services

5 Conclusions

Alternative Models

slide-68
SLIDE 68

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Solving discrete state models

Under the SOS semantics a PEPA model is mapped to a Continuous Time Markov Chain (CTMC) with global states determined by the local states of all the participating components.

slide-69
SLIDE 69

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Solving discrete state models

Under the SOS semantics a PEPA model is mapped to a Continuous Time Markov Chain (CTMC) with global states determined by the local states of all the participating components. When the size of the state space is not too large they are amenable to numerical solution (linear algebra) to determine a steady state or transient probability distribution.

slide-70
SLIDE 70

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Solving discrete state models

Under the SOS semantics a PEPA model is mapped to a Continuous Time Markov Chain (CTMC) with global states determined by the local states of all the participating components. When the size of the state space is not too large they are amenable to numerical solution (linear algebra) to determine a steady state or transient probability distribution. Alternatively they may be studied using stochastic simulation. Each run generates a single trajectory through the state space. Many runs are needed in order to obtain average behaviours.

slide-71
SLIDE 71

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Solving discrete state models

Under the SOS semantics a PEPA model is mapped to a Continuous Time Markov Chain (CTMC) with global states determined by the local states of all the participating components. When the size of the state space is not too large they are amenable to numerical solution (linear algebra) to determine a steady state or transient probability distribution. Alternatively they may be studied using stochastic simulation. Each run generates a single trajectory through the state space. Many runs are needed in order to obtain average behaviours. As the size of the state space becomes large it becomes infeasible to carry out numerical solution and extremely time-consuming to conduct stochastic simulation.

slide-72
SLIDE 72

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Continuous Approximation

The major limitation of the CTMC approach is the state space explosion problem.

slide-73
SLIDE 73

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Continuous Approximation

The major limitation of the CTMC approach is the state space explosion problem. State space explosion becomes an ever more challenging problem as the scale and complexity of modern systems increase.

slide-74
SLIDE 74

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Continuous Approximation

The major limitation of the CTMC approach is the state space explosion problem. State space explosion becomes an ever more challenging problem as the scale and complexity of modern systems increase. Use continuous state variables to approximate the discrete state space.

slide-75
SLIDE 75

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Continuous Approximation

The major limitation of the CTMC approach is the state space explosion problem. State space explosion becomes an ever more challenging problem as the scale and complexity of modern systems increase. Use continuous state variables to approximate the discrete state space.

❞ ❞ ❞

slide-76
SLIDE 76

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Continuous Approximation

The major limitation of the CTMC approach is the state space explosion problem. State space explosion becomes an ever more challenging problem as the scale and complexity of modern systems increase. Use continuous state variables to approximate the discrete state space.

❞ ❞ ❞ ✲ ✛ ✛ ✲

slide-77
SLIDE 77

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Continuous Approximation

The major limitation of the CTMC approach is the state space explosion problem. State space explosion becomes an ever more challenging problem as the scale and complexity of modern systems increase. Use continuous state variables to approximate the discrete state space.

❞ ❞ ❞ ❞ ❞

slide-78
SLIDE 78

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Continuous Approximation

The major limitation of the CTMC approach is the state space explosion problem. State space explosion becomes an ever more challenging problem as the scale and complexity of modern systems increase. Use continuous state variables to approximate the discrete state space.

❞ ❞ ❞ ❞ ❞ ✲ ✛ ✲ ✛ ✲ ✛ ✲ ✛

slide-79
SLIDE 79

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Continuous Approximation

The major limitation of the CTMC approach is the state space explosion problem. State space explosion becomes an ever more challenging problem as the scale and complexity of modern systems increase. Use continuous state variables to approximate the discrete state space.

❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞

slide-80
SLIDE 80

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Continuous Approximation

The major limitation of the CTMC approach is the state space explosion problem. State space explosion becomes an ever more challenging problem as the scale and complexity of modern systems increase. Use continuous state variables to approximate the discrete state space.

❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ✲ ✛ ✲ ✛ ✲ ✛ ✲ ✛ ✲ ✛ ✲ ✛ ✲ ✛ ✲ ✛

slide-81
SLIDE 81

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Continuous Approximation

The major limitation of the CTMC approach is the state space explosion problem. State space explosion becomes an ever more challenging problem as the scale and complexity of modern systems increase. Use continuous state variables to approximate the discrete state space.

❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞

slide-82
SLIDE 82

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Continuous Approximation

The major limitation of the CTMC approach is the state space explosion problem. State space explosion becomes an ever more challenging problem as the scale and complexity of modern systems increase. Use continuous state variables to approximate the discrete state space.

❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ✲ ✛ ✲ ✛ ✲ ✛ ✲ ✛ ✲ ✛ ✲ ✛ ✲ ✛ ✲ ✛ ✲ ✛ ✲ ✛ ✲ ✛ ✲ ✛ ✲ ✛ ✲ ✛ ✲ ✛ ✲ ✛

slide-83
SLIDE 83

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Continuous Approximation

The major limitation of the CTMC approach is the state space explosion problem. State space explosion becomes an ever more challenging problem as the scale and complexity of modern systems increase. Use continuous state variables to approximate the discrete state space.

❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞

slide-84
SLIDE 84

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Continuous Approximation

The major limitation of the CTMC approach is the state space explosion problem. State space explosion becomes an ever more challenging problem as the scale and complexity of modern systems increase. Use continuous state variables to approximate the discrete state space.

❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞

slide-85
SLIDE 85

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Continuous Approximation

The major limitation of the CTMC approach is the state space explosion problem. State space explosion becomes an ever more challenging problem as the scale and complexity of modern systems increase. Use continuous state variables to approximate the discrete state space.

❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞

Use ordinary differential equations to represent the evolution of those variables over time.

slide-86
SLIDE 86

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

New mathematical structures: differential equations

Use a more abstract state representation rather than the CTMC complete state space. .

slide-87
SLIDE 87

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

New mathematical structures: differential equations

Use a more abstract state representation rather than the CTMC complete state space. Assume that these state variables are subject to continuous rather than discrete change. .

slide-88
SLIDE 88

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

New mathematical structures: differential equations

Use a more abstract state representation rather than the CTMC complete state space. Assume that these state variables are subject to continuous rather than discrete change. No longer aim to calculate the probability distribution over the entire state space of the model. .

slide-89
SLIDE 89

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

New mathematical structures: differential equations

Use a more abstract state representation rather than the CTMC complete state space. Assume that these state variables are subject to continuous rather than discrete change. No longer aim to calculate the probability distribution over the entire state space of the model. Instead the ODEs estimate the expected behaviour of the CTMC. .

slide-90
SLIDE 90

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

New mathematical structures: differential equations

Use a more abstract state representation rather than the CTMC complete state space. Assume that these state variables are subject to continuous rather than discrete change. No longer aim to calculate the probability distribution over the entire state space of the model. Instead the ODEs estimate the expected behaviour of the CTMC. Appropriate for models in which there are large numbers of components of the same type, i.e. models of populations and situations of collective dynamics.

slide-91
SLIDE 91

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Simple example revisited

Proc0

def

= (task1, r1).Proc1 Proc1

def

= (task2, r2).Proc0 Res0

def

= (task1, r3).Res1 Res1

def

= (reset, r4).Res0 Proc0[NP] ✄

{task1} Res0[NR]

slide-92
SLIDE 92

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Simple example revisited

Proc0

def

= (task1, r1).Proc1 Proc1

def

= (task2, r2).Proc0 Res0

def

= (task1, r3).Res1 Res1

def

= (reset, r4).Res0 Proc0[NP] ✄

{task1} Res0[NR]

CTMC interpretation

Processors (NP ) Resources (NR ) States (2NP +NR ) 1 1 4 2 1 8 2 2 16 3 2 32 3 3 64 4 3 128 4 4 256 5 4 512 5 5 1024 6 5 2048 6 6 4096 7 6 8192 7 7 16384 8 7 32768 8 8 65536 9 8 131072 9 9 262144 10 9 524288 10 10 1048576

slide-93
SLIDE 93

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Simple example revisited

Proc0

def

= (task1, r1).Proc1 Proc1

def

= (task2, r2).Proc0 Res0

def

= (task1, r3).Res1 Res1

def

= (reset, r4).Res0 Proc0[NP] ✄

{task1} Res0[NR]

ODE interpretation

dx1 dt = − min(r1x1, r3x3) + r2 x1 x1 = no. of Proc0 dx2 dt = r1 min(x1, x3) − r2 x1 x2 = no. of Proc1 dx3 dt = −r1 min(x1, x3) + r4 x4 x3 = no. of Res0 dx4 dt = r1 min(x1, x3) − r4 x4 x4 = no. of Res1

slide-94
SLIDE 94

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

100 processors and 80 resources (simulation run A)

slide-95
SLIDE 95

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

100 processors and 80 resources (simulation run B)

slide-96
SLIDE 96

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

100 processors and 80 resources (simulation run C)

slide-97
SLIDE 97

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

100 processors and 80 resources (simulation run D)

slide-98
SLIDE 98

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

100 processors and 80 resources (average of 10 runs)

slide-99
SLIDE 99

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

100 Processors and 80 resources (average of 100 runs)

slide-100
SLIDE 100

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

100 processors and 80 resources (average of 1000 runs)

slide-101
SLIDE 101

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

100 processors and 80 resources (average of 10000 runs)

slide-102
SLIDE 102

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

100 processors and 80 resources (ODE solution)

slide-103
SLIDE 103

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Outline

1 Introduction

Stochastic Process Algebra Collective Dynamics

2 Continuous Approximation

State variables Numerical illustration

3 Fluid-Flow Semantics

Fluid Structured Operational Semantics

4 Example

Scalable Web Services

5 Conclusions

Alternative Models

slide-104
SLIDE 104

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Deriving a Fluid Approximation of a PEPA model

The aim is to represent the CTMC implicitly (avoiding state space explosion), and to generate the set of ODEs which are the fluid limit of that CTMC.

slide-105
SLIDE 105

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Deriving a Fluid Approximation of a PEPA model

The aim is to represent the CTMC implicitly (avoiding state space explosion), and to generate the set of ODEs which are the fluid limit of that CTMC. The exisiting (CTMC) SOS semantics is not suitable for this purpose because it constructs the state space of the CTMC explicitly.

slide-106
SLIDE 106

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Deriving a Fluid Approximation of a PEPA model

The aim is to represent the CTMC implicitly (avoiding state space explosion), and to generate the set of ODEs which are the fluid limit of that CTMC. The exisiting (CTMC) SOS semantics is not suitable for this purpose because it constructs the state space of the CTMC explicitly.

SPA MODEL LABELLED TRANSITION SYSTEM CTMC Q ✲ ✲ SOS rules state transition diagram

slide-107
SLIDE 107

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Deriving a Fluid Approximation of a PEPA model

The aim is to represent the CTMC implicitly (avoiding state space explosion), and to generate the set of ODEs which are the fluid limit of that CTMC. The exisiting (CTMC) SOS semantics is not suitable for this purpose because it constructs the state space of the CTMC explicitly. Nevertheless we are able to define a structured operational semantics which defines the possible transitions of an abitrary abstract state and from this derive the ODEs.

slide-108
SLIDE 108

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Deriving a Fluid Approximation of a PEPA model

The aim is to represent the CTMC implicitly (avoiding state space explosion), and to generate the set of ODEs which are the fluid limit of that CTMC. The exisiting (CTMC) SOS semantics is not suitable for this purpose because it constructs the state space of the CTMC explicitly. Nevertheless we are able to define a structured operational semantics which defines the possible transitions of an abitrary abstract state and from this derive the ODEs.

SPA MODEL SYMBOLIC LABELLED TRANSITION SYSTEM ABSTRACT CTMC Q

  • r

ODEs FM(x) ✲ ✲ SOS rules generator functions

slide-109
SLIDE 109

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Fluid Structured Operational Semantics

In order to get to the implicit representation of the CTMC we need to:

slide-110
SLIDE 110

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Fluid Structured Operational Semantics

In order to get to the implicit representation of the CTMC we need to:

1 Remove excess components (Context Reduction)

slide-111
SLIDE 111

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Fluid Structured Operational Semantics

In order to get to the implicit representation of the CTMC we need to:

1 Remove excess components (Context Reduction) 2 Collect the transitions of the reduced context (Jump Multiset)

slide-112
SLIDE 112

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Fluid Structured Operational Semantics

In order to get to the implicit representation of the CTMC we need to:

1 Remove excess components (Context Reduction) 2 Collect the transitions of the reduced context (Jump Multiset) 3 Calculate the rate of the transitions in terms of an arbitrary

state of the CTMC.

slide-113
SLIDE 113

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Fluid Structured Operational Semantics

In order to get to the implicit representation of the CTMC we need to:

1 Remove excess components (Context Reduction) 2 Collect the transitions of the reduced context (Jump Multiset) 3 Calculate the rate of the transitions in terms of an arbitrary

state of the CTMC. Once this is done we can extract the vector field FM(x) from the jump multiset.

slide-114
SLIDE 114

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Context Reduction

Proc0

def

= (task1, r1).Proc1 Proc1

def

= (task2, r2).Proc0 Res0

def

= (task1, r3).Res1 Res1

def

= (reset, r4).Res0 System

def

= Proc0[NP]

✄ ✁

{transfer} Res0[NR]

⇓ R(System) = {Proc0, Proc1}

✄ ✁

{task1} {Res0, Res1}

slide-115
SLIDE 115

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Context Reduction

Proc0

def

= (task1, r1).Proc1 Proc1

def

= (task2, r2).Proc0 Res0

def

= (task1, r3).Res1 Res1

def

= (reset, r4).Res0 System

def

= Proc0[NP]

✄ ✁

{transfer} Res0[NR]

⇓ R(System) = {Proc0, Proc1}

✄ ✁

{task1} {Res0, Res1}

Population Vector

ξ = (ξ1, ξ2, ξ3, ξ4)

slide-116
SLIDE 116

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Location Dependency

System

def

= Proc0[N′

C] ✄

{task1} Res0[NS] Proc0[N′′

C]

slide-117
SLIDE 117

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Location Dependency

System

def

= Proc0[N′

C] ✄

{task1} Res0[NS] Proc0[N′′

C]

⇓ {Proc0, Proc1}

✄ ✁

{task1} {Res0, Res1} {Proc0, Proc1}

slide-118
SLIDE 118

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Location Dependency

System

def

= Proc0[N′

C] ✄

{task1} Res0[NS] Proc0[N′′

C]

⇓ {Proc0, Proc1}

✄ ✁

{task1} {Res0, Res1} {Proc0, Proc1}

Population Vector

ξ = (ξ1, ξ2, ξ3, ξ4, ξ5, ξ6)

slide-119
SLIDE 119

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Fluid Structured Operational Semantics by Example

Proc0

def

= (task1, r1).Proc1 Proc1

def

= (task2, r2).Proc0 Res0

def

= (task1, r3).Res1 Res1

def

= (reset, r4).Res0 System

def

= Proc0[NP]

✄ ✁

{transfer} Res0[NR]

ξ = (ξ1, ξ2, ξ3, ξ4)

slide-120
SLIDE 120

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Fluid Structured Operational Semantics by Example

Proc0

def

= (task1, r1).Proc1 Proc1

def

= (task2, r2).Proc0 Res0

def

= (task1, r3).Res1 Res1

def

= (reset, r4).Res0 System

def

= Proc0[NP]

✄ ✁

{transfer} Res0[NR]

ξ = (ξ1, ξ2, ξ3, ξ4) Proc0

task1,r1

− − − − − − → Proc1

Proc0

task1,r1ξ1

− − − − − − − →∗ Proc1

slide-121
SLIDE 121

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Fluid Structured Operational Semantics by Example

Proc0

def

= (task1, r1).Proc1 Proc1

def

= (task2, r2).Proc0 Res0

def

= (task1, r3).Res1 Res1

def

= (reset, r4).Res0 System

def

= Proc0[NP]

✄ ✁

{transfer} Res0[NR]

ξ = (ξ1, ξ2, ξ3, ξ4) Proc0

task1,r1

− − − − − − → Proc1

Proc0

task1,r1ξ1

− − − − − − − →∗ Proc1

Res0

task1,r3

− − − − − − → Res1

Res0

task1,r3ξ3

− − − − − − − →∗ Res1

slide-122
SLIDE 122

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Fluid Structured Operational Semantics by Example

Proc0

def

= (task1, r1).Proc1 Proc1

def

= (task2, r2).Proc0 Res0

def

= (task1, r3).Res1 Res1

def

= (reset, r4).Res0 System

def

= Proc0[NP]

✄ ✁

{transfer} Res0[NR]

ξ = (ξ1, ξ2, ξ3, ξ4) Proc0

task1,r1

− − − − − − → Proc1

Proc0

task1,r1ξ1

− − − − − − − →∗ Proc1

Res0

task1,r3

− − − − − − → Res1

Res0

task1,r3ξ3

− − − − − − − →∗ Res1

Proc0 ✄

{task1} Res0

task1,r(ξ)

− − − − − − − →∗ Proc1 ✄

{task1} Res1

slide-123
SLIDE 123

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Apparent Rate Calculation

Proc0

task1,r′

1

− − − − − − → Proc1

Proc0

task1,r′

1ξ1

− − − − − − − →∗ Proc1

Res0

task1,r3

− − − − − − → Res1

Res0

task1,r3ξ3

− − − − − − − →∗ Res1

Proc0 ✄

{task1} Res0

task1,r(ξ)

− − − − − − − →∗ Proc1 ✄

{task1} Res1

slide-124
SLIDE 124

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Apparent Rate Calculation

Proc0

task1,r′

1

− − − − − − → Proc1

Proc0

task1,r′

1ξ1

− − − − − − − →∗ Proc1

Res0

task1,r3

− − − − − − → Res1

Res0

task1,r3ξ3

− − − − − − − →∗ Res1

Proc0 ✄

{task1} Res0

task1,r(ξ)

− − − − − − − →∗ Proc1 ✄

{task1} Res1

r(ξ) = r1ξ1 r ∗

task1 (Proc0, ξ)

r3ξ4 r ∗

task1 (Res0, ξ) min

  • r ∗

task1 (Proc0, ξ) , r ∗ task1 (Res0, ξ)

  • = r1ξ1

r1ξ1 r3ξ4 r3ξ4 min

  • r1ξ1, r3ξ4
  • =min
  • r1ξ1, r3ξ4
slide-125
SLIDE 125

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

f (ξ, l, α) as the Generator Matrix of the Lumped CTMC

(P0 P0) ✄

{task1} (R0 R0 R0)

(P1 P0) ✄

{task1} R1 R0 R0)

(P1 P0) ✄

{task1} (R0 R1 R0)

(P1 P0) ✄

{task1} (R0 R0 R1)

(P0 P1) ✄

{task1} (R1 R0 R0)

(P0 P1) ✄

{task1} (R0 R1 R0)

(P0 P1) ✄

{task1} (R0 R0 R1)

✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✼ r ✚✚✚✚✚ ✚ ❃ r ✘✘✘✘✘ ✘ ✿ r ❳❳❳❳❳ ❳ ③ r ❩❩❩❩❩ ❩ ⑦ r ❙ ❙ ❙ ❙ ❙ ❙ ❙ ❙ ✇ r

slide-126
SLIDE 126

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

f (ξ, l, α) as the Generator Matrix of the Lumped CTMC

(P0 P0) ✄

{task1} (R0 R0 R0)

(P1 P0) ✄

{task1} R1 R0 R0)

(P1 P0) ✄

{task1} (R0 R1 R0)

(P1 P0) ✄

{task1} (R0 R0 R1)

(P0 P1) ✄

{task1} (R1 R0 R0)

(P0 P1) ✄

{task1} (R0 R1 R0)

(P0 P1) ✄

{task1} (R0 R0 R1)

✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✼ r ✚✚✚✚✚ ✚ ❃ r ✘✘✘✘✘ ✘ ✿ r ❳❳❳❳❳ ❳ ③ r ❩❩❩❩❩ ❩ ⑦ r ❙ ❙ ❙ ❙ ❙ ❙ ❙ ❙ ✇ r r =

r1 2r1 r3 3r3 min(2r1, 3r3) = 1 6 min(2r1, 3r3)

slide-127
SLIDE 127

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

f (ξ, l, α) as the Generator Matrix of the Lumped CTMC

(P0 P0) ✄

{task1} (R0 R0 R0)

(P1 P0) ✄

{task1} R1 R0 R0)

(P1 P0) ✄

{task1} (R0 R1 R0)

(P1 P0) ✄

{task1} (R0 R0 R1)

(P0 P1) ✄

{task1} (R1 R0 R0)

(P0 P1) ✄

{task1} (R0 R1 R0)

(P0 P1) ✄

{task1} (R0 R0 R1)

✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✼ r ✚✚✚✚✚ ✚ ❃ r ✘✘✘✘✘ ✘ ✿ r ❳❳❳❳❳ ❳ ③ r ❩❩❩❩❩ ❩ ⑦ r ❙ ❙ ❙ ❙ ❙ ❙ ❙ ❙ ✇ r r =

r1 2r1 r3 3r3 min(2r1, 3r3) = 1 6 min(2r1, 3r3)

slide-128
SLIDE 128

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

f (ξ, l, α) as the Generator Matrix of the Lumped CTMC

(P0 P0) ✄

{task1} (R0 R0 R0)

(P1 P0) ✄

{task1} (R1 R0 R0)

(P1 P0) ✄

{task1} (R0 R1 R0)

(P1 P0) ✄

{task1} (R0 R0 R1)

(P0 P1) ✄

{task1} (R1 R0 R0)

(P0 P1) ✄

{task1} (R0 R1 R0)

(P0 P1) ✄

{task1} (R0 R0 R1)

✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✼ ✚✚✚✚✚ ✚ ❃ ✘✘✘✘✘ ✘ ✿ ❳❳❳❳❳ ❳ ③ ❩❩❩❩❩ ❩ ⑦ ❙ ❙ ❙ ❙ ❙ ❙ ❙ ❙ ✇ r =

r1 2r1 r3 3r3 min(2r1, 3r3) = 1 6 min(2r1, 3r3)

(2, 0, 3, 0) ✲ min(2r1, 3r3) (1, 1, 2, 1) (2, 0, 3, 0) ✲ min(2r1, 3r3) (1, 1, 2, 1)

slide-129
SLIDE 129

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Jump Multiset

Proc0 ✄

{task1} Res0

task1,r(ξ)

− − − − − − − →∗ Proc1 ✄

{task1} Res1

r(ξ) = min

  • r1ξ1, r3ξ3
slide-130
SLIDE 130

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Jump Multiset

Proc0 ✄

{task1} Res0

task1,r(ξ)

− − − − − − − →∗ Proc1 ✄

{task1} Res1

r(ξ) = min

  • r1ξ1, r3ξ3
  • Proc1 ✄

{task1} Res0

task2,ξ2r2

− − − − − − − →∗ Proc0 ✄

{task1} Res0

slide-131
SLIDE 131

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Jump Multiset

Proc0 ✄

{task1} Res0

task1,r(ξ)

− − − − − − − →∗ Proc1 ✄

{task1} Res1

r(ξ) = min

  • r1ξ1, r3ξ3
  • Proc1 ✄

{task1} Res0

task2,ξ2r2

− − − − − − − →∗ Proc0 ✄

{task1} Res0

Proc0 ✄

{task1} Res1

reset,ξ4r4

− − − − − − − →∗ Proc0 ✄

{task1} Res0

slide-132
SLIDE 132

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Equivalent Transitions

Some transitions may give the same information: Proc0 ✄

{task1} Res1

reset,ξ4r4

− − − − − − − →∗ Proc0 ✄

{task1} Res0

Proc1 ✄

{task1} Res1

reset,ξ4r4

− − − − − − − →∗ Proc1 ✄

{task1} Res0

i.e., Res1 may perform an action independently from the rest of the system. This is captured by the procedure used for the construction of the generator function f (ξ, l, α)

slide-133
SLIDE 133

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Construction of f (ξ, l, α)

Proc0 ✄

{task1} Res1

reset,ξ4r4

− − − − − − − →∗ Proc0 ✄

{task1} Res0

slide-134
SLIDE 134

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Construction of f (ξ, l, α)

Proc0 ✄

{task1} Res1

reset,ξ4r4

− − − − − − − →∗ Proc0 ✄

{task1} Res0

Take l = (0, 0, 0, 0)

slide-135
SLIDE 135

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Construction of f (ξ, l, α)

Proc0 ✄

{task1} Res1

reset,ξ4r4

− − − − − − − →∗ Proc0 ✄

{task1} Res0

Take l = (0, 0, 0, 0) Add −1 to all elements of l corresponding to the indices of the components in the lhs of the transition l = (−1, 0, 0, −1) Add +1 to all elements of l corresponding to the indices of the components in the rhs of the transition l = (−1 + 1, 0, +1, −1) = (0, 0, +1, −1)

slide-136
SLIDE 136

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Construction of f (ξ, l, α)

Proc0 ✄

{task1} Res1

reset,ξ4r4

− − − − − − − →∗ Proc0 ✄

{task1} Res0

Take l = (0, 0, 0, 0) Add −1 to all elements of l corresponding to the indices of the components in the lhs of the transition l = (−1, 0, 0, −1) Add +1 to all elements of l corresponding to the indices of the components in the rhs of the transition l = (−1 + 1, 0, +1, −1) = (0, 0, +1, −1) f

  • ξ, (0, 0, +1, −1), reset
  • = ξ4r4
slide-137
SLIDE 137

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Construction of f (ξ, l, α)

slide-138
SLIDE 138

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Construction of f (ξ, l, α)

Proc0 ✄

{task1} Res0

task1,r(ξ)

− − − − − − − →∗ Proc1 ✄

{task1} Res1

f (ξ, (−1, +1, −1, +1), task1) = r(ξ)

slide-139
SLIDE 139

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Construction of f (ξ, l, α)

Proc0 ✄

{task1} Res0

task1,r(ξ)

− − − − − − − →∗ Proc1 ✄

{task1} Res1

Proc1 ✄

{task1} Res0

task2,ξ2r′

2

− − − − − − − →∗ Proc0 ✄

{task1} Res0

f (ξ, (−1, +1, −1, +1), task1) = r(ξ) f (ξ, (+1, −1, 0, 0), task2) = ξ2r2

slide-140
SLIDE 140

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Construction of f (ξ, l, α)

Proc0 ✄

{task1} Res0

task1,r(ξ)

− − − − − − − →∗ Proc1 ✄

{task1} Res1

Proc1 ✄

{task1} Res0

task2,ξ2r′

2

− − − − − − − →∗ Proc0 ✄

{task1} Res0

Proc0 ✄

{task1} Res1

reset,ξ4r4

− − − − − − − →∗ Proc0 ✄

{task1} Res0

f (ξ, (−1, +1, −1, +1), task1) = r(ξ) f (ξ, (+1, −1, 0, 0), task2) = ξ2r2 f (ξ, (0, 0, +1, −1), reset) = ξ4r4

slide-141
SLIDE 141

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Capturing behaviour in the Generator Function

Proc0

def

= (task1, r1).Proc1 Proc1

def

= (task2, r2).Proc0 Res0

def

= (task1, r3).Res1 Res1

def

= (reset, r4).Res0 System

def

= Proc0[NP] ✄

{transfer} Res0[NR]

slide-142
SLIDE 142

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Capturing behaviour in the Generator Function

Proc0

def

= (task1, r1).Proc1 Proc1

def

= (task2, r2).Proc0 Res0

def

= (task1, r3).Res1 Res1

def

= (reset, r4).Res0 System

def

= Proc0[NP] ✄

{transfer} Res0[NR]

Numerical Vector Form

ξ = (ξ1, ξ2, ξ3, ξ4) ∈ N4, ξ1 + ξ2 = NP and ξ3 + ξ4 = NR

slide-143
SLIDE 143

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Capturing behaviour in the Generator Function

Proc0

def

= (task1, r1).Proc1 Proc1

def

= (task2, r2).Proc0 Res0

def

= (task1, r3).Res1 Res1

def

= (reset, r4).Res0 System

def

= Proc0[NP] ✄

{transfer} Res0[NR]

Numerical Vector Form

ξ = (ξ1, ξ2, ξ3, ξ4) ∈ N4, ξ1 + ξ2 = NP and ξ3 + ξ4 = NR

Generator Function

f (ξ, l, α) : f (ξ, (−1, 1, −1, 1), task1) = min (r1ξ1, r3ξ3) f (ξ, (1, −1, 0, 0), task2) = r2ξ2 f (ξ, (0, 0, 1, −1), reset) = r4ξ4

slide-144
SLIDE 144

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Extraction of the ODE from f

Generator Function

f (ξ, (−1, 1, −1, 1), task1) = min (r1ξ1, r3ξ3) f (ξ, (1, −1, 0, 0), task2) = r2ξ2 f (ξ, (0, 0, 1, −1), reset) = r4ξ4

Differential Equation

dx dt = FM(x) =

  • l∈Zd

l

  • α∈A

f (x, l, α) = (−1, 1, −1, 1) min (r1x1, r3x3) + (1, −1, 0, 0)r2x2 + (0, 0, 1, −1)r4x4

slide-145
SLIDE 145

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Extraction of the ODE from f

Generator Function

f (ξ, (−1, 1, −1, 1), task1) = min (r1ξ1, r3ξ3) f (ξ, (1, −1, 0, 0), task2) = r2ξ2 f (ξ, (0, 0, 1, −1), reset) = r4ξ4

Differential Equation

dx1 dt = − min (r1x1, r3x3) + r2x2 dx2 dt = min (r1x1, r3x3) − r2x2 dx3 dt = − min (r1x1, r3x3) + r4x4 dx4 dt = min (r1x1, r3x3) − r4x4

slide-146
SLIDE 146

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Outline

1 Introduction

Stochastic Process Algebra Collective Dynamics

2 Continuous Approximation

State variables Numerical illustration

3 Fluid-Flow Semantics

Fluid Structured Operational Semantics

4 Example

Scalable Web Services

5 Conclusions

Alternative Models

slide-147
SLIDE 147

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Virtual University Scenario

A Virtual University is a federation of real universities, each contributing courses and degrees.

slide-148
SLIDE 148

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Virtual University Scenario

A Virtual University is a federation of real universities, each contributing courses and degrees. Sharing of knowledge is promoted by providing students with a wider selection of subjects.

slide-149
SLIDE 149

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Virtual University Scenario

A Virtual University is a federation of real universities, each contributing courses and degrees. Sharing of knowledge is promoted by providing students with a wider selection of subjects. Services are replicated across the physical sites.

slide-150
SLIDE 150

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Virtual University Scenario

A Virtual University is a federation of real universities, each contributing courses and degrees. Sharing of knowledge is promoted by providing students with a wider selection of subjects. Services are replicated across the physical sites. By agreement in the university, students may connect to any site to download content and use services, not just the one which is geographically closest.

slide-151
SLIDE 151

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Case Study: A Virtual University

slide-152
SLIDE 152

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Location, Time, and Size

slide-153
SLIDE 153

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Replicating Web Services

Two viable approaches to cope with increasing user demand:

slide-154
SLIDE 154

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Replicating Web Services

Two viable approaches to cope with increasing user demand: use a service broker for routing

slide-155
SLIDE 155

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Replicating Web Services

Two viable approaches to cope with increasing user demand: use a service broker for routing decentralised routing

slide-156
SLIDE 156

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Replicating Web Services

Two viable approaches to cope with increasing user demand: use a service broker for routing decentralised routing

slide-157
SLIDE 157

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Decentralised Routing

1 A client contacts a university site to download content.

slide-158
SLIDE 158

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Decentralised Routing

1 A client contacts a university site to download content. 2 The site either serves the request or forwards it to another site.

slide-159
SLIDE 159

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Decentralised Routing

1 A client contacts a university site to download content. 2 The site either serves the request or forwards it to another site. 3 The decision in made in accord with the local service policy.

slide-160
SLIDE 160

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Model in PEPA

Clients

Clienti

def

= (connect1, c1,i).(download1, d1,i).Idlei + (connect2, c2,i).(download2, d2,i).Idlei . . . + (connectm, cm,i).(downloadm, dm,i).Idlei + (overload, ⊤).Clienti Idlei

def

= (idle, ridle,i).Clienti (1 ≤ i ≤ k)

slide-161
SLIDE 161

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Model in PEPA

Clients

Clienti

def

= (connect1, c1,i).(download1, d1,i).Idlei + (connect2, c2,i).(download2, d2,i).Idlei . . . + (connectm, cm,i).(downloadm, dm,i).Idlei + (overload, ⊤).Clienti Idlei

def

= (idle, ridle,i).Clienti (1 ≤ i ≤ k)

slide-162
SLIDE 162

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Model in PEPA

Clients

Clienti

def

= (connect1, c1,i).(download1, d1,i).Idlei + (connect2, c2,i).(download2, d2,i).Idlei . . . + (connectm, cm,i).(downloadm, dm,i).Idlei + (overload, ⊤).Clienti Idlei

def

= (idle, ridle,i).Clienti (1 ≤ i ≤ k)

slide-163
SLIDE 163

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Model in PEPA

Content mirrors

Mirrorj

def

=

  • connectj, fj(s)
  • .MirrorUploadingj

MirrorUploadingj

def

=

  • downloadj, ⊤
  • .Mirrorj

(1 ≤ j ≤ m)

slide-164
SLIDE 164

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Model in PEPA

Content mirrors

Mirrorj

def

=

  • connectj, fj(s)
  • .MirrorUploadingj

MirrorUploadingj

def

=

  • downloadj, ⊤
  • .Mirrorj

(1 ≤ j ≤ m)

slide-165
SLIDE 165

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Service policies as functional rates in PEPA

The Bologna policy

Serve all requests while load is less than 75%. If more, and the loads at UNIFI, UPISA, LMU and UEDIN are at least 60%, 60%, 40% and 20% then serve the request if load is less than 95%.

slide-166
SLIDE 166

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Service policies as functional rates in PEPA

The Bologna policy

Serve all requests while load is less than 75%. If more, and the loads at UNIFI, UPISA, LMU and UEDIN are at least 60%, 60%, 40% and 20% then serve the request if load is less than 95%. fUNIBO =                    ⊤ if MirrorUploadingUNIBO < 75 ⊤ if MirrorUploadingUNIBO < 95, MirrorUploadingUNIFI ≥ 60, MirrorUploadingUPISA ≥ 60, MirrorUploadingLMU ≥ 40, MirrorUploadingUEDIN ≥ 20

  • therwise
slide-167
SLIDE 167

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Model in PEPA

Dealing with overload

Overload

def

=

  • verload, o(s)
  • .Overload
  • (s) =

⊤ fi(s) = 0, 1 ≤ i ≤ m

  • therwise
slide-168
SLIDE 168

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Model in PEPA

Dealing with overload

Overload

def

=

  • verload, o(s)
  • .Overload
  • (s) =

⊤ fi(s) = 0, 1 ≤ i ≤ m

  • therwise

The system as a whole with client and mirror site populations

  • Client1[p1] Client2[p2] . . . Clientk[pk]

L

  • Mirror1[q1] Mirror2[q2] . . . Mirrorm[qm]
slide-169
SLIDE 169

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Numerical Results

ridle = 0.001

slide-170
SLIDE 170

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Numerical Results

ridle = 0.01

slide-171
SLIDE 171

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Numerical Results

ridle = 0.02

slide-172
SLIDE 172

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Numerical Results

ridle = 0.03

slide-173
SLIDE 173

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Numerical Results

ridle = 0.04

slide-174
SLIDE 174

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Numerical Results

ridle = 0.05

slide-175
SLIDE 175

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Numerical Results

ridle = 0.06

slide-176
SLIDE 176

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Outline

1 Introduction

Stochastic Process Algebra Collective Dynamics

2 Continuous Approximation

State variables Numerical illustration

3 Fluid-Flow Semantics

Fluid Structured Operational Semantics

4 Example

Scalable Web Services

5 Conclusions

Alternative Models

slide-177
SLIDE 177

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Alternative Representations

ODEs Stochastic Simulation CTMC Large PEPA model

✟✟✟✟✟✟✟✟✟✟✟✟✟✟ ✟ ✯ ❍❍❍❍❍❍❍❍❍❍❍❍❍❍ ❍ ❥

slide-178
SLIDE 178

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Alternative Representations

ODEs population view Stochastic Simulation CTMC individual view Large PEPA model

✟✟✟✟✟✟✟✟✟✟✟✟✟✟ ✟ ✯ ❍❍❍❍❍❍❍❍❍❍❍❍❍❍ ❍ ❥

slide-179
SLIDE 179

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Consistency results

The vector field F(x) is Lipschitz continuous i.e. all the rate functions governing transitions in the process algebra satisfy local continuity conditions.

slide-180
SLIDE 180

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Consistency results

The vector field F(x) is Lipschitz continuous i.e. all the rate functions governing transitions in the process algebra satisfy local continuity conditions. The generated ODEs are the fluid limit of the family of CTMCs generated by f (ξ, l, α): this family forms a sequence as the initial populations are scaled by a variable n

slide-181
SLIDE 181

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Consistency results

The vector field F(x) is Lipschitz continuous i.e. all the rate functions governing transitions in the process algebra satisfy local continuity conditions. The generated ODEs are the fluid limit of the family of CTMCs generated by f (ξ, l, α): this family forms a sequence as the initial populations are scaled by a variable n We can prove this using Kurtz’s theorem: Solutions of Ordinary Differential Equations as Limits of Pure Jump Markov Processes, T.G. Kurtz, J. Appl. Prob. (1970).

slide-182
SLIDE 182

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Consistency results

The vector field F(x) is Lipschitz continuous i.e. all the rate functions governing transitions in the process algebra satisfy local continuity conditions. The generated ODEs are the fluid limit of the family of CTMCs generated by f (ξ, l, α): this family forms a sequence as the initial populations are scaled by a variable n We can prove this using Kurtz’s theorem: Solutions of Ordinary Differential Equations as Limits of Pure Jump Markov Processes, T.G. Kurtz, J. Appl. Prob. (1970). Moreover Lipschitz continuity of the vector field guarantees existence and uniqueness of the solution to the initial value problem.

slide-183
SLIDE 183

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Conclusions

Many interesting and important systems can be regarded as examples of collective dynamics and emergent behaviour.

slide-184
SLIDE 184

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Conclusions

Many interesting and important systems can be regarded as examples of collective dynamics and emergent behaviour. Process algebras, such as PEPA, are well-suited to modelling the behaviour of such systems in terms of the individuals and their interactions.

slide-185
SLIDE 185

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Conclusions

Many interesting and important systems can be regarded as examples of collective dynamics and emergent behaviour. Process algebras, such as PEPA, are well-suited to modelling the behaviour of such systems in terms of the individuals and their interactions. Continuous approximation allows a rigorous mathematical analysis of the average behaviour of such systems.

slide-186
SLIDE 186

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Conclusions

Many interesting and important systems can be regarded as examples of collective dynamics and emergent behaviour. Process algebras, such as PEPA, are well-suited to modelling the behaviour of such systems in terms of the individuals and their interactions. Continuous approximation allows a rigorous mathematical analysis of the average behaviour of such systems. This alternative view of systems has opened up many and exciting new research directions.

slide-187
SLIDE 187

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Thanks!

slide-188
SLIDE 188

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Thanks!

Acknowledgements: collaborators Thanks to many co-authors and collaborators: Jeremy Bradley, Luca Bortolussi, Allan Clark, Adam Duguid, Vashti Galpin, Nil Gesweiller, Stephen Gilmore, Marco Stenico, Mirco Tribastone, and others.

slide-189
SLIDE 189

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Thanks!

Acknowledgements: collaborators Thanks to many co-authors and collaborators: Jeremy Bradley, Luca Bortolussi, Allan Clark, Adam Duguid, Vashti Galpin, Nil Gesweiller, Stephen Gilmore, Marco Stenico, Mirco Tribastone, and others. Acknowledgements: funding Thanks to EPRSC for the Process Algebra for Collective Dynamics grant and the CEC IST-FET programme for the SENSORIA project which have supported this work.

slide-190
SLIDE 190

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Thanks!

Acknowledgements: collaborators Thanks to many co-authors and collaborators: Jeremy Bradley, Luca Bortolussi, Allan Clark, Adam Duguid, Vashti Galpin, Nil Gesweiller, Stephen Gilmore, Marco Stenico, Mirco Tribastone, and others. Acknowledgements: funding Thanks to EPRSC for the Process Algebra for Collective Dynamics grant and the CEC IST-FET programme for the SENSORIA project which have supported this work. More information: http://www.dcs.ed.ac.uk/pepa

slide-191
SLIDE 191

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Alternative Representations

ODEs population view Stochastic Simulation CTMC individual view Large PEPA model

✟✟✟✟✟✟✟✟✟✟✟✟✟✟ ✟ ✯ ❍❍❍❍❍❍❍❍❍❍❍❍❍❍ ❍ ❥

slide-192
SLIDE 192

Introduction Continuous Approximation Fluid-Flow Semantics Example Conclusions

Alternative Representations

ODEs population view TDSHA (hybrid automaton) hybrid view Stochastic Simulation CTMC individual view Large PEPA model

✲ ✟✟✟✟✟✟✟✟✟✟✟✟✟✟ ✟ ✯ ❍❍❍❍❍❍❍❍❍❍❍❍❍❍ ❍ ❥