Printable versions of this document: gzip'd PostScript - pdf | Course Outline | HV Home

CS 308-767A: Multi-formalism Modelling and Simulation

CS 308-767A: Multi-formalism Modelling and Simulation

 

Hans Vangheluwe

Fall Term 2000

Lectures

Lecture 1 - Wednesday, September 6

What is Modelling and Simulation ?

Modelling and Simulation for Software Development for Modelling and Simulation for ...

  Course Intro (2up, 18p -  pdfgzip'd  PostScript

Lecture 2 - Monday, September 11

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 -  pdfgzip'd  PostScript

Lecture 3 - Wednesday, September 13

The use of scripting languages (Python) for:

UML and Scripting/Python links - Examples

Presentation (2up, 5p -  pdfgzip'd  PostScript

Assignment: Block diagram modelling and Time-slicing simulation

Lecture 4 - Monday, September 18

Classification of model types.

Multi-abstraction modelling: the behaviour morphism.

Hierarchy of System Specification.

The concept of state, state trajectories.

Lecture 5 - Wednesday, September 20

General systems theory for causal, deterministic models, with examples.

Classification re-visited. Multi-formalism modelling.

Presentation for lectures 4 and 5 (2up, 44p -  pdfgzip'd  PostScript

Lecture 6 - Monday, October 2

(Finite) State Automata (Moore, Mealy).

Reading material:

Lecture 7 - Wednesday, October 4

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

Lecture 8 - Wednesday, October 11

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 -  pdfgzip'd  PostScript

Reading material:

Implicit assignment: in all assignments, GUI behaviour must be described by means of State Chart models.

Lecture 9 - Monday, October 16

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 -  pdfgzip'd  PostScript

Reading material:

Lecture 10 - Wednesday, October 18

Process Interaction Modelling practice: GPSS, basic concepts and blocks.

Material (also for next class):

Mini assignments: all Gordon's assignments (Chapter 9).

Lecture 11 - Monday, October 23

Process Interaction Modelling practice: GPSS, advanced concepts.

Mini assignments: all Gordon's assignments (Chapter 10).

Lecture 12 - Wednesday, October 25

Process Interaction Modelling practice: queueing disciplines: user chains (the LINK and UNLINK blocks in detail).

Lecture 13 - Monday, October 30

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 -  pdfgzip'd  PostScript

Reading material:

Lecture 14 - Wednesday, November 1

DEVS, a foundation for Discrete Event Modelling and Simulation: atomic DEVS

Presentation (2up, 26p -  pdfgzip'd  PostScript)

Reading material (also for next class): HV's notes on DEVS (10p -  pdfgzip'd  PostScript

Mini assignment: DEVS model of a single server, single queue system with a priority queue and ``president'' interrupt.

Lecture 15 - Monday, November 6

DEVS, a foundation for Discrete Event Modelling and Simulation:

Lecture 16 - Wednesday, November 8

Jean-Sebastien Bolduc's presentation of his DEVS simulator in Python (simulator + examples).

Lecture 17 - Monday, November 13

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 -  pdfgzip'd  PostScript

Lecture 18 - Wednesday, November 15

Algebraic loop detection and sorting.

Continuous System Simulation Languages (CSSLs).

A neutral model-solver architecture (API), experimentation. Simulation Experiments:

Presentation (2up, 26p -  pdfgzip'd  PostScript

Lecture 19 - Monday, November 20

Hybrid modelling: combining continuous and discrete abstractions.

Introducing discontinuities: abstracting reality, approximation by fast dynamics, piecewise continuous mathematical representation, zero-crossing location in solvers.

Lecture 20 - Wednesday, November 22

Putting it all together: an Event Scheduling Hybrid Differential Algebraic simulation kernel.

Lecture 21 - Monday, November 27

Population Dynamics:

Presentation (2up, 17p -  pdfgzip'd  PostScript

Lecture 22 - Wednesday, November 29

The Forrester System Dynamics process, introducing inductive modelling (structure identification).

WEST++ for System Dynamics.

Presentation (2up, 20p -  pdfgzip'd  PostScript

Lecture 23 - Monday, December 4

Object-Oriented Modelling of Physical Systems.

Presentation (2up, 52p -  pdfgzip'd  PostScript

Lecture 24 - Wednesday, December 6

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 -  pdfgzip'd  PostScript

Putting it all together: multi-formalism modelling and simulation.

Present and discuss assignment/project results.

Project Suggestions

All are software projects, with the exception of mapping GPSS onto DEVS, which is pen-and-paper (well, LATEX) only.

  1. A hierarchical, multi-formalism, graphical model editor.
  2. A higraph graphical editor (for State Charts).
  3. Generating reactive code from State Charts.
  4. A GPSS (subset) modelling and simulation environment.
  5. Mapping Process Interaction Formalism constructs (i.e.,  a subset of GPSS) onto DEVS.
  6. A parallel DEVS simulator (based on Jean-Sébastien Bolduc's DEVS simulator in Python).
  7. A hybrid simulation kernel (based on Pai Hsueh-Ieng's prototype).
  8. A non-causal model transformer (using Dinic's network flow algorithm).
  9. A Bond Graph modelling tool.




Translated from TEX by TTH, version 2.77 (minor custumizations by HV). on 7 Jan 2001, 23:39.