Course Description

Course Name

Modelling Reactive Systems

Session: VGSS3122

Hours & Credits

10 SCQF Credits

Prerequisites & Language Level

Taught In English

  • There is no language prerequisite for courses at this language level.

Overview

Short Description

Modelling concurrent, communicating systems using non-probabilistic and probabilistic techniques.

Timetable

Three hours per week.

Requirements of Entry

Advanced Programming 3 (or equivalent)
Algorithmic Foundations 2 (or equivalent).

Assessment

Examination (80%); practical exercise (20%)

The coursework cannot be redone because the feedback provided to the students after the original coursework would give any student redoing the coursework an unfair advantage.
Main Assessment In: April/May

Course Aims

Reactive systems are widely and increasingly used throughout society (e.g. telecommunications, flight control, railway signalling, medical devices). An understanding of the fundamentals of these systems, at an abstract level, is essential for the development of process control systems and should be a pre-requisite for anyone developing software for such applications. This course provides in-depth study of key formal techniques used in designing and analysing concurrent, reactive systems.

The emphasis in this course is on the abstract, technical foundations of reactive systems and it was designed in conjunction with Advanced Operating Systems (M), which presents the complementary implementation and engineering techniques. While students are strongly encouraged to also attend Advanced Operating Systems (M), these two courses are not formally co-requisites and can stand freely of one another.

This course aims to introduce and explore a variety of formal process description and analysis techniques used in the design of reactive systems; and to present the practical issues raised by using a number of such formalisms and associated software tools, particularly within the context of developing communications protocols and other telecommunications applications.

Intended Learning Outcomes of Course

By the end of the course students will be able to:

1: Clearly differentiate issues that arise in concurrent, reactive, and distributed systems;
2: Explain the various concepts of concurrency and communication that arise in such systems;
3: Demonstrate understanding of the concepts of signalling and control and associated modelling issues;
4: Develop message sequence charts for a reactive system;
5: Enumerate the differences between non-probabilistic and probabilistic formalisms;
6: Design and analyse a reactive system, including a communication protocol, using appropriate design techniques and mechanised analysis tools.

*Course content subject to change