Compositional dynamic modelling: a Computer Science perspective - - PowerPoint PPT Presentation

compositional dynamic modelling a computer science
SMART_READER_LITE
LIVE PREVIEW

Compositional dynamic modelling: a Computer Science perspective - - PowerPoint PPT Presentation

Compositional dynamic modelling: a Computer Science perspective Jane Hillston The University of Edinburgh Models of Computer Systems Many disciplines recognise the benefits of modelling in the context of computer science models are


slide-1
SLIDE 1

Compositional dynamic modelling: a Computer Science perspective

Jane Hillston The University of Edinburgh

slide-2
SLIDE 2

Models of Computer Systems

Many disciplines recognise the benefits of modelling — in the context of computer science models are generally constructed during the design phase of systems.

slide-3
SLIDE 3

Models of Computer Systems

Many disciplines recognise the benefits of modelling — in the context of computer science models are generally constructed during the design phase of systems. Motivations include:

slide-4
SLIDE 4

Models of Computer Systems

Many disciplines recognise the benefits of modelling — in the context of computer science models are generally constructed during the design phase of systems. Motivations include:

◮ Checking the system will behave correctly.

slide-5
SLIDE 5

Models of Computer Systems

Many disciplines recognise the benefits of modelling — in the context of computer science models are generally constructed during the design phase of systems. Motivations include:

◮ Checking the system will behave correctly. ◮ Analysing the capacity of the system.

slide-6
SLIDE 6

Models of Computer Systems

Many disciplines recognise the benefits of modelling — in the context of computer science models are generally constructed during the design phase of systems. Motivations include:

◮ Checking the system will behave correctly. ◮ Analysing the capacity of the system. ◮ Predicting the performance of the system.

slide-7
SLIDE 7

Models of Computer Systems

Many disciplines recognise the benefits of modelling — in the context of computer science models are generally constructed during the design phase of systems. Motivations include:

◮ Checking the system will behave correctly. ◮ Analysing the capacity of the system. ◮ Predicting the performance of the system.

slide-8
SLIDE 8

Simple model of Disk Behaviour

W F read write fail correct

slide-9
SLIDE 9

Simple model of Disk Behaviour

W F read write fail correct

slide-10
SLIDE 10

Simple model of Disk Behaviour

W F read write fail correct

slide-11
SLIDE 11

Detailed view of Behaviour — State Machine

slide-12
SLIDE 12

Advancing Computer Technology

ENIAC c. 1946

slide-13
SLIDE 13

Advancing Computer Technology

standard laptop c. 2006

slide-14
SLIDE 14

Advancing Computer Technology

Intel dual core

slide-15
SLIDE 15

Disks revisited

W F read write fail correct W F read write fail correct

slide-16
SLIDE 16

Disks revisited

W F read write fail correct W F read write fail correct

slide-17
SLIDE 17

Disks revisited

W F read write fail correct W F read write fail correct

slide-18
SLIDE 18

Disks revisited

W F read write fail correct W F read write fail correct

slide-19
SLIDE 19

Disks revisited

W F read write fail correct W F read write fail correct Constructing a model directly in terms of the possible states rapidly becomes a daunting prospect

slide-20
SLIDE 20

Advancing Modelling Technology

The complexity and concurrency of a modern computer system would make it infeasible to construct the state machine to model its possible behaviours.

slide-21
SLIDE 21

Advancing Modelling Technology

The complexity and concurrency of a modern computer system would make it infeasible to construct the state machine to model its possible behaviours. Instead language-based modelling techniques which focus on the compositionality and interaction within a system were developed.

slide-22
SLIDE 22

Advancing Modelling Technology

The complexity and concurrency of a modern computer system would make it infeasible to construct the state machine to model its possible behaviours. Instead language-based modelling techniques which focus on the compositionality and interaction within a system were developed. These are called process algebras and were first developed in the 1980s by Robin Milner and Tony Hoare.

slide-23
SLIDE 23

Advancing Modelling Technology

The complexity and concurrency of a modern computer system would make it infeasible to construct the state machine to model its possible behaviours. Instead language-based modelling techniques which focus on the compositionality and interaction within a system were developed. These are called process algebras and were first developed in the 1980s by Robin Milner and Tony Hoare. Later version of the formalisms included information about the timing and resource use associated with the represented processes: these are stochastic process algebras.

slide-24
SLIDE 24

Disks revisited

Disk Working

def

= (read, r).Working + (write, w).Working + (fail, f ).Failed Failed

def

= (correct, c).Working W F read write fail correct W F read write fail correct

slide-25
SLIDE 25

Compositional View of Behaviour

slide-26
SLIDE 26

Compositional View of Behaviour

slide-27
SLIDE 27

Compositional View of Behaviour

slide-28
SLIDE 28

Constructing models from simple components

Client Clientidle

def

= (request, λ).Clientwaiting Clientwaiting

def

= (response, ⊤).Clientidle Server Serveridle

def

= (request, ⊤).Servercomputing Servercomputing

def

= (compute, π).Serverresponding Serverresponding

def

= (response, ρ).Serveridle System System

def

= Clientidle[3] ⊲

L Serveridle[2]

where L = {request, response}

slide-29
SLIDE 29

Other applications

The compositional modelling style of process algebras has also been applied to modelling other things as well as computers, most notably biochemical pathways in systems biology.

slide-30
SLIDE 30

Other applications

The compositional modelling style of process algebras has also been applied to modelling other things as well as computers, most notably biochemical pathways in systems biology. There has been substantial work recognising that within a cell there are many molecules interacting through reactions which may be occurring simultaneously.

slide-31
SLIDE 31

Other applications

The compositional modelling style of process algebras has also been applied to modelling other things as well as computers, most notably biochemical pathways in systems biology. There has been substantial work recognising that within a cell there are many molecules interacting through reactions which may be occurring simultaneously. In general stochastic process algebras provide a good framework for modelling systems in which the collective behaviour emerges as the result of a large number of individuals, acting and interacting in a predefined, but stochastic, manner.

slide-32
SLIDE 32

Internet scale

slide-33
SLIDE 33

Mote scale

Smaller and smaller devices create the possibily of a network around each person.

slide-34
SLIDE 34

Challenges of modelling ubiquitous systems

Populations of computing entities will be a significant part of our environment, performing tasks that support us, and we shall be largely unaware of them. Mark Weiser 1994

slide-35
SLIDE 35

Challenges of modelling ubiquitous systems

Populations of computing entities will be a significant part of our environment, performing tasks that support us, and we shall be largely unaware of them. Mark Weiser 1994 The technology is now available to make this vision a reality but as we enter this new informatic era there is a greater need to model computer systems to understand and predict their behaviour.

slide-36
SLIDE 36

Challenges of modelling ubiquitous systems

Populations of computing entities will be a significant part of our environment, performing tasks that support us, and we shall be largely unaware of them. Mark Weiser 1994 The technology is now available to make this vision a reality but as we enter this new informatic era there is a greater need to model computer systems to understand and predict their behaviour. Unfortunately the scale of the systems is such that our existing modelling techniques are severely challenged by ubiquitous systems.

slide-37
SLIDE 37

State-space explosion

Disks States 1 2

slide-38
SLIDE 38

State-space explosion

Disks States 1 2 2 4

slide-39
SLIDE 39

State-space explosion

Disks States 1 2 2 4 6 64

slide-40
SLIDE 40

State-space explosion

Disks States 1 2 2 4 6 64 10 1024

slide-41
SLIDE 41

State-space explosion

Disks States 1 2 2 4 6 64 10 1024 20 1048576

slide-42
SLIDE 42

State-space explosion

Disks States 1 2 2 4 6 64 10 1024 20 1048576 50 1125899906842624

slide-43
SLIDE 43

State-space explosion

Disks States 1 2 2 4 6 64 10 1024 20 1048576 50 1125899906842624 100 1267650600228229401496703205376

slide-44
SLIDE 44

State-space explosion

Disks States 1 2 2 4 6 64 10 1024 20 1048576 50 1125899906842624 100 1267650600228229401496703205376 150 1427247692705959881058285969449495136382746624

slide-45
SLIDE 45

State-space explosion

Disks States 1 2 2 4 6 64 10 1024 20 1048576 50 1125899906842624 100 1267650600228229401496703205376 150 1427247692705959881058285969449495136382746624 2150 states

slide-46
SLIDE 46

State-space explosion

Disks States 1 2 2 4 6 64 10 1024 20 1048576 50 1125899906842624 100 1267650600228229401496703205376 150 1427247692705959881058285969449495136382746624 2150 states = 2152 bytes

slide-47
SLIDE 47

State-space explosion

Disks States 1 2 2 4 6 64 10 1024 20 1048576 50 1125899906842624 100 1267650600228229401496703205376 150 1427247692705959881058285969449495136382746624 2150 states = 2152 bytes = 282 × 270 bytes

slide-48
SLIDE 48

State-space explosion

Disks States 1 2 2 4 6 64 10 1024 20 1048576 50 1125899906842624 100 1267650600228229401496703205376 150 1427247692705959881058285969449495136382746624 2150 states = 2152 bytes = 282 × 270 bytes = 282 zettabytes

slide-49
SLIDE 49

Compositionality and Abstraction

One approach is to make use of the compositional structure and abstract away detail of the internal behaviour of components.

slide-50
SLIDE 50

Compositionality and Abstraction

One approach is to make use of the compositional structure and abstract away detail of the internal behaviour of components.

slide-51
SLIDE 51

Compositionality and Abstraction

One approach is to make use of the compositional structure and abstract away detail of the internal behaviour of components.

slide-52
SLIDE 52

Compositionality and Abstraction

One approach is to make use of the compositional structure and abstract away detail of the internal behaviour of components.

slide-53
SLIDE 53

Identity and Individuality

Many of the systems we consider are constructed from many instances of the a set of components.

slide-54
SLIDE 54

Identity and Individuality

Many of the systems we consider are constructed from many instances of the a set of components. If we cease to distinguish between instances of components we can form an aggregation which can reduce the state space.

slide-55
SLIDE 55

Identity and Individuality

Many of the systems we consider are constructed from many instances of the a set of components. If we cease to distinguish between instances of components we can form an aggregation which can reduce the state space. W F read write fail correct W F read write fail correct

slide-56
SLIDE 56

Identity and Individuality

Many of the systems we consider are constructed from many instances of the a set of components. If we cease to distinguish between instances of components we can form an aggregation which can reduce the state space. W F read write fail correct W F read write fail correct

slide-57
SLIDE 57

Identity and Individuality

Many of the systems we consider are constructed from many instances of the a set of components. If we cease to distinguish between instances of components we can form an aggregation which can reduce the state space. 2W 1W 0W read write fail correct read write fail correct We may choose to disregard the identity of components.

slide-58
SLIDE 58

Identity and Individuality

Many of the systems we consider are constructed from many instances of the a set of components. If we cease to distinguish between instances of components we can form an aggregation which can reduce the state space. 2W 1W 0W read write fail correct read write fail correct We may choose to disregard the identity of components. Even better reductions can be achieved when we no longer regard the components as individuals.

slide-59
SLIDE 59

Collective Behaviour

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

slide-60
SLIDE 60

Collective Behaviour

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

slide-61
SLIDE 61

Collective Behaviour

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

slide-62
SLIDE 62

Performance as an 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-63
SLIDE 63

Performance as an 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-64
SLIDE 64

Performance as an 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. 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-65
SLIDE 65

Performance as an 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. 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-66
SLIDE 66

Disk model in PEPA

Disk Working

def

= (read, r).Working + (write, w).Working + (fail, f ).Failed Failed

def

= (correct, c).Working

◮ We have W working disks

and F failed (W + F = N).

slide-67
SLIDE 67

Disk model in PEPA

Disk Working

def

= (read, r).Working + (write, w).Working + (fail, f ).Failed Failed

def

= (correct, c).Working

◮ We have W working disks

and F failed (W + F = N).

◮ Working disks fail at rate

f × W .

slide-68
SLIDE 68

Disk model in PEPA

Disk Working

def

= (read, r).Working + (write, w).Working + (fail, f ).Failed Failed

def

= (correct, c).Working

◮ We have W working disks

and F failed (W + F = N).

◮ Working disks fail at rate

f × W .

◮ Failures are corrected at

rate c × F.

slide-69
SLIDE 69

Disk model in PEPA

Disk Working

def

= (read, r).Working + (write, w).Working + (fail, f ).Failed Failed

def

= (correct, c).Working

◮ We have W working disks

and F failed (W + F = N).

◮ Working disks fail at rate

f × W .

◮ Failures are corrected at

rate c × F.

slide-70
SLIDE 70

Disk model in PEPA

Disk Working

def

= (read, r).Working + (write, w).Working + (fail, f ).Failed Failed

def

= (correct, c).Working

◮ We have W working disks

and F failed (W + F = N).

◮ Working disks fail at rate

f × W .

◮ Failures are corrected at

rate c × F. W F f × W c × F dW /dt = −f × W + c × F dF/dt = f × W − c × F

slide-71
SLIDE 71

Conclusions

Over the last decade stochastic process algebra have been successful in modelling a wide range of computer systems and their performance.

slide-72
SLIDE 72

Conclusions

Over the last decade stochastic process algebra have been successful in modelling a wide range of computer systems and their performance. The compositional style supports representation of large systems.

slide-73
SLIDE 73

Conclusions

Over the last decade stochastic process algebra have been successful in modelling a wide range of computer systems and their performance. The compositional style supports representation of large systems. The shift to the collective dynamic view supports analysis of very large systems.

slide-74
SLIDE 74

Conclusions

Over the last decade stochastic process algebra have been successful in modelling a wide range of computer systems and their performance. The compositional style supports representation of large systems. The shift to the collective dynamic view supports analysis of very large systems. Nevertheless there are significant challenges ahead as ubiquitous systems become a reality.

slide-75
SLIDE 75

Acknowledgements

Stochastic process algebra group and collaborators at Edinburgh

Allan Clark, Jie Ding, Adam Duguid, Vashti Galpin, Stephen Gilmore, Maria Luisa Guerriero, Jane Hillston, Michael Smith, Mirco Tribastone.

Stochastic process algebra community and collaborators elsewhere

Soufiene Benkrine, Jeremy Bradley, Federica Ciocchetta, Nick Dingle, Peter Harrison, Richard Hayden, William Knottenbelt, Carron Shankland, Nigel Thomas, Yishi Zhao.