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