Modelling of Software-Intensive Systems 


The course will make extensive use of the object-oriented programming language Python. We will advise you to spend the first few weeks (while there are no MoSIS classes) learning the language.

A useful tutorial can be found at:

The course will be taught
  • 10:45 - 12:30 on Tuesday (lab, but theory during beginning of term) in M.G.04 and PC labs
  • 10:45 - 12:30 on Thursday (theory) in M.G.04


presentation [pdf]

Modelling and Simulation to Tackle Complexity
presentation [pdf] exploring the causes of complexity.

Modelling and Simulation Foundations: Systems Specification
presentation [pdf]
notes [pdf]

Formalisms: Causal Block Diagrams (CBDs)

Formalisms: Petri Nets
Christos G. Cassandras. Discrete Event Systems. Irwin, 1993. Chapters 4, 5. [pdf] (scanned for UA students without access to the book).
Tadao Murata. Petri nets: Properties, analysis and applications. Proceedings of the IEEE, 77(4):541-580, April 1989.
James L. Peterson. Petri Net Theory and the Modeling of Systems. Prentice Hall, 1981.

Formalisms: Statecharts
David Harel. Statecharts: A Visual Formalism for Complex Systems. Science of Computer Programming. Volume 8. 1987. pp. 231 - 274. [pdf].
David Harel. On Visual Formalisms. Communications of the ACM. Volume 31, No. 5. 1988. pp. 514 - 530. [pdf].
David Harel and Amnon Naamad, The STATEMATE semantics of statecharts. ACM Transactions on Software Engineering and Methodology (TOSEM) Volume 5 , Issue 4 (October 1996) pp.293 - 333. [pdf].
D. Harel and M. Politi. Modeling Reactive Systems with Statecharts: The STATEMATE Approach. McGraw-Hill, 1998. (available online).
Michael von der Beeck. A structured operational semantics for UML-statecharts. Software and Systems Modeling. Volume 1, No. 2 pp.130 - 141. December 2002. [pdf].

Guest Lecture by Gareth Thomas of The MathWorks on Modelling Complex Systems with MathLab/Simulink

Formalisms: Event-Scheduling Discrete-Event

Formalisms: Discrete-EVent System Specification (DEVS)


  1. Causal Block Diagrams (un-timed, discrete-time)
  2. Causal Block Diagrams (continuous-time)
  3. Checking requirements using Sequence Diagrams and Trace Matches
  4. Petri Nets
  5. Statecharts
  6. Event Scheduling
  7. DEVS
Maintained by Hans Vangheluwe. Last Modified: 2012/09/25 19:45:48.