Real-time and Embedded Systems 4 (2003-2004)

Real-time, reactive and embedded systems are widely and increasingly used throughout society (e.g. flight control, railway signalling, medical devices). An understanding of the fundamentals of real-time & embedded systems is essential for the development of process control systems and should be a pre-requisite for anyone developing software for safety-critical applications. This module provides in-depth study of key techniques used in designing, programming and analysing concurrent reactive real-time and embedded systems.

This module contrasts with the Safety Critical Systems Development 4 module, which takes a much wider ranging view of safety-critical systems.

The emphasis in this module is on the technical foundations of reactive, real-time and embedded systems as used in safety-critical applications. Real-Time & Embedded Systems 4 was designed in conjunction with, and is usually intended to be taken alongside, the Modelling Reactive Systems 4 module. However, these two modules are not formally co-requisites as they develop different skills and knowledge and can stand freely of one another.

Aims and Objectives

To introduce and explore the programming language and operating systems facilities that are essential in implementing real-time, reactive, embedded and safety-critical systems. To present the practical engineering issues raised by the design and programming of reactive real-time embedded systems.

By the end of this module the student should be able to:

As part of the module coursework, the student will have: designed, constructed and analysed a tiny, concurrent, safety-critical, reactive, real-time system, using appropriate design techniques; and, if facilities permit, designed and implemented a small embedded system.


Advanced Programming 3, Professional Software Development 3 and Operating Systems 3.

Although not a formal co-requisite, students are strongly encouraged to also attend Modelling Reactive Systems 4, which presents the formal process modelling techniques which complement the engineering issues addressed in this module.


The module will consist of 20 lectures and associated tutorials and laboratory sessions. It runs in semester 2.

Recommended Reading


This is a 10-credit level 4 course.


Assessment is by assessed coursework (25%) and examination (75%). There will be two assessed problem sets in weeks 1-5, and a single assessed programming exercise in weeks 6-10.


  • Sample exam
  • Sample exam (with answers)
  • Lecture Handouts

    Tutorial Handouts