Document 7335235

Download Report

Transcript Document 7335235

Questions to Answers via Models:
Answers to Questions?
Professor Rob Pooley
Heriot-Watt University
We all agree….
• Systems are becoming far too complex to
understand easily in their entirety.
• Abstraction is the key to managing
complexity.
• Modelling provides abstractions which
answer questions.
So what are the questions that are left?
SPECTS 2008
SummerSim 2008
More questions than answers?
• Modelling has been an important tool in many
areas for four decades or more.
• Today sees renewed interest in the application
of modelling to the understanding of enormously
complex systems.
• Yet, there remain many challenges in making
modelling accessible to non-specialists.
• Here I pose the questions which seem
meaningful to me and attempt to answer some
of them.
SPECTS 2008
SummerSim 2008
Key questions
• How can modelling be more accessible?
• How can modelling be more efficient?
• How can we model more complex
systems?
Clearly these are inter-related to some
extent.
SPECTS 2008
SummerSim 2008
How can modelling be more
accessible?
• From its earliest uses, modelling has
sought to make itself understandable.
• From its earliest uses modelling has
sought to make itself precise.
• This has created a major tension in the
definition of modelling techniques and in
their automation.
SPECTS 2008
SummerSim 2008
How can modelling be more
accessible?
•
Broadly speaking there are three aspects
to this problem:
1. How can we make it easier to create
models?
2. How can we make the results from models
more understandable?
3. How can we make it possible to ask our
questions?
SPECTS 2008
SummerSim 2008
How can we make it easier to
create models?
•
Here the key questions are:
1. How can we describe models more
effectively?
2. How can we make it easier to implement the
models we have described?
3. How can we aid validation of our models?
SPECTS 2008
SummerSim 2008
Describing models
• Tocher began the
move to intuitive ways
of expressing models
with his activity cycle
Idle arrivals
diagrams.
Awaiting
arrivals
Arrival cycle
Unloading
Jetty cycle
Docking
Tocher K.D. 1963. The Art of
Simulation, The English
Universities Press, London
Tug cycle 1
Idle tug
SPECTS 2008
SummerSim 2008
Idle jetty
Tug cycle 2
Leaving
Progress since Tocher
• We can see many developments in making
diagrams a key for describing models
• Hills P.R. 1968. "Hocus a simple approach to simulation",
Data Processing, May 1968
• Pegden C.D. 1985 Introduction to SIMAN, Systems
Modeling Corp., State College, Penn.
• Kurose J.F., J.G. Kurtiss, R.F. Gordon, E.A. McNair and P.D.
Welch March 1986. A graphics-oriented modeller's
workstation environment for the RESearch Queueing
Package (RESQ), IBM Research Report RC11803, IBM
Hawthorne Laboratories, Yorktown Heights, NY10596
• Pritsker A.A.B. 1984. Introduction to simulation and SLAM II,
John Wiley and Sons, New York
• etc.
SPECTS 2008
SummerSim 2008
Implementing models
• With graphical workstations came
graphical input.
• Kurose J.F., J.G. Kurtiss, R.F. Gordon, E.A. McNair and P.D. Welch
March 1986. A graphics-oriented modeller's workstation
environment for the RESearch Queueing Package (RESQ), IBM
Research Report RC11803, IBM Hawthorne Laboratories, Yorktown
Heights, NY10596
• Pritsker A.A.B. 1979. Modelling and analysis using Q-GERT
Networks, Systems Publishing Corporation, Lafayette, Indiana
• Barber E.O. and P.H. Hughes August 1990, “Evolution of the
Process Interaction Tool, A Graphical Editor for DEMOS”, in
Proceedings of the Seventeenth SIMULA Users Conference, Pilsen,
pp 171-180, Association of SIMULA Users
SPECTS 2008
SummerSim 2008
Solution method focused
• Many attempts focused on paradigms which could be readily solved,
like Petri nets and queueing networks
– Melamed B. and R.J.T. Morris 1985. “Visual Simulation: the
Performance Analysis Workstation”, IEEE Computer, Vol 18 No 8, pp
87-94, August 1985
– Molloy M.K. and P. Riddle April 1986. The stochastic Petri net analyser
system design tool for bit-mapped workstations, Technical Report,
Department of Computer Science, University of Texas at Austin
– Lindemann C. September 1992. “DSPNExpress: a Software Package
for the Efficient Solution of Deterministic and Stochastic Petri Nets”, in
R. Pooley and J. Hillston Eds. Computer Performance Evaluation Modelling Techniques and Tools, 6th International Conference on
Modelling Techniques and Tools for Computer Performance Evaluation,
Edinburgh, Edits 10, Edinburgh University Press
SPECTS 2008
SummerSim 2008
Queueing networks –
intuitive?
Database
•
•
CPU
SCSI
Disc
SPECTS 2008
SummerSim 2008
Petri nets –
easy to query?
Place
Normal
Arc
SPECTS 2008
Token
Immediate
Transition
Inhibiting
Arc
SummerSim 2008
Timed
Transition
Validation
• Mostly focuses on animation (was tracing) of simulations
• Some work on proving behaviour
– Stochastic Petri nets (GSPNs) have behavioural checking of untimed
nets
– Stochastic process algebras such as PEPA also have some behavioural
checking
• Limited work on proving simulations correct
– Yücesan E. and L. Schruben 1992 “Structural an Behavioural
Equivalence of Simulation Models”, ACM Transactions on Modelling and
Computer Simulation, Vol 2 No 1, January 1992, pp 82-103
– Birtwistle G.M., C. Tofts and R.J. Pooley October 1993, “Characterising
the Structure of Simulation Models in CCS”, Transactions of the SCS
Vol 10 No 3, pp 205-237
– Zeigler B.P. 1976 Theory of Modeling and Simulation, Wiley, New York
SPECTS 2008
SummerSim 2008
How can modelling be more
efficient?
•
Here we can perhaps identify two
aspects:
1. Are there more efficient techniques for
model solution?
2. Can models be simplified prior to solution?
SPECTS 2008
SummerSim 2008
Are there more efficient
techniques for model solution?
• Model level techniques
– Decomposition and aggregation
• Norton’s Theorem applied to queues
• Beilner H. June 1989. “Structured Modelling Hierarchical Modelling”, in Proceedings of the
European Simulation Multiconference, Rome
• Solution techniques
– See elsewhere in this conference
SPECTS 2008
SummerSim 2008
Queueing networks –
efficient and intuitive?
Database
Database
•
•
•
•
Decompose and
short circuit
CPU
SCSI
SCSI
Disc
Compose
Disc
CPU
SPECTS 2008
SummerSim 2008
FESC
HIT – a basis for decomposition
read
write
execute
task
write_io
read_io
ACTIVITIES
compute
compute
io_comp
access1
read_io
access2
access1
write_io
access2
read
write
read
write
ACTIVITIES
disk_1
SPECTS 2008
SummerSim 2008
disk_2
Can models be simplified prior
to solution?
• This depends on proving equivalence of a complex and
a simpler model
• Schruben tackled simple cases of equivalence in
simulation
• PEPA uses it extensively for stochastic process algebra
– Hillston J.E. April 1994. A Compositional Approach to
Performance Modelling, PhD Dissertation CST-107-94,
University of Edinburgh, Department of Computer Science
• Some progress has been made for wider classes of
simulation model
– Rob Pooley, "Behavioural Equivalence in Simulation Modelling",
Simulation Modelling, Practice and Theory, to appear 2007
SPECTS 2008
SummerSim 2008
How can we model more
complex systems?
•
Crucially this combines much from
before, resulting in three key questions:
1. Can we find meaningful, but solvable
abstractions of complex systems?
2. Can we relate detailed results to high level
structure?
3. Have we ignored significant details?
SPECTS 2008
SummerSim 2008
Meaningful, but solvable
abstractions?
• There have been several domain specific
modelling systems
– Software – HIT
– Networking – OPNET
• Can we find a general abstraction?
– Petri nets – too technical?
– Queues – too abstract?
– Unified Modelling Language???
SPECTS 2008
SummerSim 2008
UML
• The Unified Modelling Language comes
from the software domain
• It is used for other kinds of models
– Business processes
– Biological systems
• Performance models can be derived
using annotation
Is this the way of the future?
SPECTS 2008
SummerSim 2008
xPlayer:Player
b:Board
u:Umpire
Collaborating objects
yPlayer:Player
SPECTS 2008
SummerSim 2008
States describe internal behaviour of objects
move(r,c)/^umpire.validate(‘X’,r,c)
XtoMove
XhasMoved
invalid()/^xPlayer.makeAMove()
valid()/^xPlayer.makeAMove()
valid()/^yPlayer.makeAMove()
move(r,c)/^umpire.validate(‘Y’,r,c)
YhasMoved
YtoMove
invalid()/^yPlayer.makeAMove
()
SPECTS 2008
SummerSim 2008
Combine the two
SPECTS 2008
SummerSim 2008
States reachable
in model
SPECTS 2008
SummerSim 2008
Relate detailed results to high
level structure?
• If our input is high level
• If our solvers are low level
– (Except simulation?)
• How do we return the results in a
meaningful way?
Still an issue!
SPECTS 2008
SummerSim 2008
Have we ignored significant
details?
• How do we know about rare events?
• Have we designed for the average?
• Have we answered the real question?
SPECTS 2008
SummerSim 2008
Issues and ideas
• Look to other paradigms
– Biologically inspired approaches
• Membrane computing
• “System heart rate” – diagnostic analogues
• Dialogues and wizards
• High Level Architecture (HLA) style
heterogeneity
SPECTS 2008
SummerSim 2008
To borrow a phrase
“No silver bullet”
Yet!
SPECTS 2008
SummerSim 2008