compositional dynamic modelling a computer science
play

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


  1. Compositional dynamic modelling: a Computer Science perspective Jane Hillston The University of Edinburgh

  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.

  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:

  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.

  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.

  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.

  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.

  8. Simple model of Disk Behaviour read fail W F correct write

  9. Simple model of Disk Behaviour read fail W F correct write

  10. Simple model of Disk Behaviour read fail W F correct write

  11. Detailed view of Behaviour — State Machine

  12. Advancing Computer Technology ENIAC c. 1946

  13. Advancing Computer Technology standard laptop c. 2006

  14. Advancing Computer Technology Intel dual core

  15. Disks revisited read read fail fail W F W F correct correct write write

  16. Disks revisited read read fail fail W F W F correct correct write write

  17. Disks revisited read read fail fail W F W F correct correct write write

  18. Disks revisited read read fail fail W F W F correct correct write write

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

  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.

  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.

  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.

  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.

  24. Disks revisited Disk def Working = ( read , r ) . Working + ( write , w ) . Working + ( fail , f ) . Failed def Failed = ( correct , c ) . Working read read fail fail W F W F correct correct write write

  25. Compositional View of Behaviour

  26. Compositional View of Behaviour

  27. Compositional View of Behaviour

  28. Constructing models from simple components Client def = ( request , λ ) . Client waiting Client idle def Client waiting = ( response , ⊤ ) . Client idle Server def Server idle = ( request , ⊤ ) . Server computing def = ( compute , π ) . Server responding Server computing def Server responding = ( response , ρ ) . Server idle System def = Client idle [3] ⊲ L Server idle [2] ⊳ System where L = { request , response }

  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.

  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.

  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.

  32. Internet scale

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

  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

  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.

  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.

  37. State-space explosion Disks States 1 2

  38. State-space explosion Disks States 1 2 2 4

  39. State-space explosion Disks States 1 2 2 4 6 64

  40. State-space explosion Disks States 1 2 2 4 6 64 10 1024

  41. State-space explosion Disks States 1 2 2 4 6 64 10 1024 20 1048576

  42. State-space explosion Disks States 1 2 2 4 6 64 10 1024 20 1048576 50 1125899906842624

  43. State-space explosion Disks States 1 2 2 4 6 64 10 1024 20 1048576 50 1125899906842624 100 1267650600228229401496703205376

  44. State-space explosion Disks States 1 2 2 4 6 64 10 1024 20 1048576 50 1125899906842624 100 1267650600228229401496703205376 150 1427247692705959881058285969449495136382746624

  45. State-space explosion Disks States 1 2 2 4 6 64 10 1024 20 1048576 50 1125899906842624 100 1267650600228229401496703205376 150 1427247692705959881058285969449495136382746624 2 150 states

  46. State-space explosion Disks States 1 2 2 4 6 64 10 1024 20 1048576 50 1125899906842624 100 1267650600228229401496703205376 150 1427247692705959881058285969449495136382746624 2 150 states = 2 152 bytes

  47. State-space explosion Disks States 1 2 2 4 6 64 10 1024 20 1048576 50 1125899906842624 100 1267650600228229401496703205376 150 1427247692705959881058285969449495136382746624 2 150 states = 2 152 bytes = 2 82 × 2 70 bytes

  48. State-space explosion Disks States 1 2 2 4 6 64 10 1024 20 1048576 50 1125899906842624 100 1267650600228229401496703205376 150 1427247692705959881058285969449495136382746624 2 150 states = 2 152 bytes = 2 82 × 2 70 bytes = 2 82 zettabytes

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

Recommend


More recommend