Modelling of software-intensive systems
Course Code :
Study load (hours):
No contract restriction
Language of instruction:
exam in the 1st semester
1. Prerequisites *
At the start of this course the student should have acquired the following competences:
an active knowledge of
specific prerequisites for this course
Object-oriented programming. Both theory and assignment parts of the course use the object-oriented scripting language Python. If Python is not yet known, it is advisible to prepare for the course using a
Basics of object-oriented design (notions of design patterns).
Basics of the Unified Modelling Language (UML).
2. Learning outcomes *
of different formalisms: various UML diagrams, Causal Block Diagrams, Petri Nets, Statecharts, Event Scheduling, DEVS, System Dynamics.
the similarities and differences between different formalisms.
Be able to
choose between (and explain why) and use appropriate formalisms for modelling, analysis, simulation and synthesis of diverse (software-intensive) applications.
The above forms a starting point for more advanced topics. In particular, the combination of different formalisms.
3. Course contents *
Causes of Complexity
Unified Modelling Language (UML) notations
Requirements vs. Design
Causal Block Diagrams (CBDs): discrete-time en continuous-time
Discrete-EVent System Specification (DEVS)
(Forrester) System Dynamics
4. Teaching method and planned learning activities
Class contact teaching
Assignments In group
5. Assessment method and criteria
Written examination without oral presentation
6. Study material *
6.1 Required reading
The material (articles and notes) are available at the
. The ultimate reference are notes on the blackboard during the classes.
6.2 Optional reading
The following study material can be studied voluntarily :
7. Contact information *
Prof. Hans Vangheluwe