csperkins.org

Real-time and Embedded Systems M (2007-2008)

Real-time, reactive and embedded systems are widely and increasingly used throughout society (e.g. flight control, railway signalling, medical devices and telephony). 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 the key techniques used in designing, programming and analysing concurrent reactive real-time embedded and networked systems.

The emphasis in this module is on the technical foundations of reactive, real-time and embedded systems as used in safety-critical applications. This module 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. This module contrasts with the Safety Critical Systems Development 4 module, which takes a much wider ranging view of safety-critical systems.

Aims and Objectives

To introduce and explore the programming language and operating systems facilities essential to the implementation of real-time, reactive, embedded and networked systems. To provide the participants with an understanding of the practical engineering issues raised by the design and programming of reactive real-time embedded and networked systems.

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

Prerequisites

Students are expected to have done degree-level studies in, and be familiar with, operating systems design and implementation, concurrency and threaded programming, and software analysis and design. Some basic familiarity with formal process modelling techniques for concurrent systems would complement the engineering issues addressed in this module. This corresponds to some of the material covered in the OS3, AP3, NSA3 and PSD3 modules of a Glasgow Computing Science degree.

Timetable

The module will consist of 20 lectures and associated tutorials and laboratory sessions. The following subjects will be covered (this list is indicative of the likely course content rather than being an exact prescription):

As part of the module coursework, the participants will have designed, constructed and analysed a small, concurrent, reactive, real-time system, using appropriate design techniques. If facilities permit participants will also have designed and implemented a small embedded or networked real-time system.

Recommended Reading

Credits

This is a 10-credit, level M module, which is an elective component of the Advanced MSc in Computing Science and the MSci in Computing Science. It may also be taken as a fourth year elective by single, combined and joint honours students in Computing Science, Software Engineering, Electronics & Software Engineering and related degrees.

Assessment

The module will be assessed by a combination of examination (70%), coursework (15%) and a practical system design and development exercise (15%).

Lecture Slides

Coursework

Past exam papers