Real-time and Embedded Systems M (2004-2005)
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 real-time, reactive, embedded and networked systems.
By the end of this module, participants should be able to:
-
Clearly differentiate the different issues that arise in designing soft
and hard real-time, concurrent, reactive, safety-critical and embedded
systems.
-
Explain the various concepts of time that arise in real-time systems.
-
Analyse and apply a variety of static and dynamic scheduling mechanisms
suitable for soft and hard real-time systems. Conduct simple performance
and schedulability analysis to demonstrate that a system can successfully
meet real-time constraints.
-
Explain the additional problems that arise in developing distributed and
networked real-time systems.
-
Describe the design and implementation of systems that support real-time
applications. Justify and critique facilities provided by real-time
operating systems and networks.
-
Design, construct and analyse a small, concurrent, reactive, real-time
system. Select and use appropriate engineering techniques, and explain
the effect of your design decisions on the behaviour of the system.
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. This
corresponds to some of the material covered in the OS3, AP3, NSA3
and PSD3 modules of a Glasgow Computing Science degree.
Some basic familiarity with formal process modelling techniques for
concurrent systems would complement the engineering issues addressed in
this module. The MRS4 module covers that subject, but is not a formal
co-requisite
Timetable
This is a semester 2 course, comprising 19 lectures and 6 tutorials.
Recommended Reading
-
Jane W. S. Liu, Real-Time Systems, Prentice-Hall, 2000, ISBN
0130996513 — this book comprises the lecture notes for
the module and is required reading for all students
-
Bill Gallmeister, POSIX.4: Programming for the Real-World,
O'Reilly and Associates, 1995, ISBN 1565920740 —
optional, but provides further detail on the practical aspects of the module
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