What is Modelling and Simulation ?
Modelling and Simulation for Software Development for Modelling and Simulation for ...
Course Intro (2up, 18p - pdf - gzip'd PostScript)
A simple mass-spring example demonstrating the full modelling
and simulation process.
This includes the design of a simple time-slicing simulator.
The Modelling and Simulation process.
Presentation (2up, 36p - pdf - gzip'd PostScript)
The use of scripting languages (Python) for:
UML and Scripting/Python links - Examples
Presentation (2up, 5p - pdf - gzip'd PostScript)
Assignment: Block diagram modelling and Time-slicing simulation
Classification of model types.
Multi-abstraction modelling: the behaviour morphism.
Hierarchy of System Specification.
The concept of state, state trajectories.
General systems theory for causal, deterministic models, with examples.
Classification re-visited. Multi-formalism modelling.
Presentation for lectures 4 and 5 (2up, 44p - pdf - gzip'd PostScript)
(Finite) State Automata (Moore, Mealy).
Reading material:
Adding synchronisation and concurrency to FSA:
Petri Nets. Symbolic analysis of Petri Nets.
The PNS simulator.
Presentation: Cassandras examples in PNS
Reading material:
Assignment: A Finite State Automata AND Petri Net Modelling, Simulation, and Visualization tool
Adding hierarchy and orthogonality to Finite State Automata: Higraphs, State Charts.
State Charts for the analysis and design of systems: Executable Object Modelling.
Presentation (2up, 33p - pdf - gzip'd PostScript)
Reading material:
Implicit assignment: in all assignments, GUI behaviour must be described by means of State Chart models.
Discrete Event simulation concepts.
World Views and their simulation kernels:
Deterministic simulation of stochastic processes.
Introduction to (pseudo) Random Number Generators.
Generating arbitrary distributions.
Testing of pseudo random number generators.
C code for a prime modulus multiplicative linear congruential generator.
Gathering statistics (performance metrics).
Presentation (2up, 40p - pdf - gzip'd PostScript)
Reading material:
Process Interaction Modelling practice: GPSS, basic concepts and blocks.
Material (also for next class):
Mini assignments: all Gordon's assignments (Chapter 9).
Process Interaction Modelling practice: GPSS, advanced concepts.
Mini assignments: all Gordon's assignments (Chapter 10).
Process Interaction Modelling practice: queueing disciplines: user chains (the LINK and UNLINK blocks in detail).
Process Interaction Modelling practice: GPSS, the simulator (semantics in terms of operations on CEC and FEC data structures).
Process Interaction Modelling in pDemos (formally described operational semantics).
Presentation (2up, 8p - pdf - gzip'd PostScript)
Reading material:
DEVS, a foundation for Discrete Event Modelling and Simulation: atomic DEVS
Presentation (2up, 26p - pdf - gzip'd PostScript)
Reading material (also for next class): HV's notes on DEVS (10p - pdf - gzip'd PostScript)
Mini assignment: DEVS model of a single server, single queue system with a priority queue and ``president'' interrupt.
DEVS, a foundation for Discrete Event Modelling and Simulation:
Jean-Sebastien Bolduc's presentation of his DEVS simulator in Python (simulator + examples).
Pseudorandom number generators (see presentation October 16).
Models vs. visualization vs. animation: models as the basis for the semantics of visual representation.
Real-time simulation and animation.
Causal continuous-time models: use, mathematical representation.
Continuous solvers: structure, error-control, stiff systems, algebraic loops, DASSL.
Presentation (2up, 21p - pdf - gzip'd PostScript)
Algebraic loop detection and sorting.
Continuous System Simulation Languages (CSSLs).
A neutral model-solver architecture (API), experimentation. Simulation Experiments:
Presentation (2up, 26p - pdf - gzip'd PostScript)
Hybrid modelling: combining continuous and discrete abstractions.
Introducing discontinuities: abstracting reality, approximation by fast dynamics, piecewise continuous mathematical representation, zero-crossing location in solvers.
Putting it all together: an Event Scheduling Hybrid Differential Algebraic simulation kernel.
Population Dynamics:
Presentation (2up, 17p - pdf - gzip'd PostScript)
The Forrester System Dynamics process, introducing inductive modelling (structure identification).
WEST++ for System Dynamics.
Presentation (2up, 20p - pdf - gzip'd PostScript)
Object-Oriented Modelling of Physical Systems.
Semantic checks in the modelling language (dynamics) versus at the graphical modelling level.
Presentation (2up, 52p - pdf - gzip'd PostScript)
Object-Oriented Modelling of Physical Systems: Bond Graphs.
``Bond Graphs'' is a non-causal, domain-independent
(unifying electrical, mechanical, hydraulical, ... systems)
formalism.
Presentation (2up, 40p - pdf - gzip'd PostScript)
Putting it all together: multi-formalism modelling and simulation.
Present and discuss assignment/project results.
All are software projects, with the exception of mapping GPSS onto DEVS, which is pen-and-paper (well, LATEX) only.