Module Information

Module Identifier
Module Title
Small Real-Time Systems
Academic Year
Intended for use in future years
CS21100 Ideally, students should also have taken CS25410

Course Delivery

Delivery Type Delivery length / details
Lecture 20 lectures


Assessment Type Assessment length / details Proportion
Semester Exam 2 Hours   Written Exam  100%
Supplementary Exam 2 Hours   Will take the same form, under the terms of the Department's policy.  100%

Learning Outcomes

On successful completion of this module students should be able to:

A student who successfully completes the course will be able to:

  • identify the wide, and increasing, use of small embedded systems in domestic, office, transport and industrial process control applications;
  • specify the desired behaviour of an embedded system, including its real-time operation and quality requirements;
  • make a justified selection from appropriate interfaces, both analogue and digital, that are used for input and output in embedded systems;
  • select a hardware and software design taking account of their joint influence on system performance and dependability;
  • define required characteristics of multi-tasking software, for use with real-time executive or kernel;
  • evaluate the strengths and limitations of methods for the design of real-time systems;
  • design a small real-time system in MASCOT;
  • discuss the implications and risks of using an embedded system in a safety-related application.

Brief description

A real-time computer system operates on a timescale that is governed by the application for which it is designed; in other words the computer must not only perform the function for which it is designed but it must do so on a specified timescale. One manufacturer of real-time products uses the appropriate catchphrase "the right answer late is wrong". Examples of real-time systems include washing machine controllers, engine management systems, industrial controllers, avionic systems and many more. All of these are also examples of embedded systems, computer systems that are designed exclusively for a specific application and may not be immediately recognisable as a computer. In all of these cases the computer interacts with the equipment that it monitors and controls via sensors and actuators, in contrast with the I/O facilities typically associated with conventional computers. The course introduces the ideas of real-time embedded systems, the special requirements that they place on the design process and some of the methods used for their design and implementation.


1. Introduction to Real Time Computing: timing constraints, the role of concurrency.

Characteristics of embedded systems. Example applications. [3 lectures]

2. Hardware aspects of embedded systems: processors, microcontrollers, interfacing and interface configuration, analogue signal interfaces and the Nyquist theorem, transducers. [3 lectures]

3. Responding to real-world events: polling, interrupts and interrupt mechanisms, buffering. [2 lectures]

4. Implementation aspects of concurrency; real-time operating systems and kernels. [2 lectures]

5. Approaches to real-time system design. Design methods: MASCOT 3, HOOD and HRT HOOD, RT UML and associated design processes. Hardware/software tradeoff. [5 lectures]

6. Developing real-time systems: development systems, languages for real-time systems development. [3 lectures]

7. Safety and reliability: an introduction to the requirements and techniques for design and implementation of real-time embedded systems for safety critical applications. [2 lectures]

In addition, students are required to read and research the above topics independently of the lectures in order to develop a good understanding of the subject.

Reading List

Recommended Text
Jim Cooling (2003) Software Engineering for Real-Time Systems Addison Wesley Primo search
Consult For Futher Information
B.P. Douglass (1999) Real Time UML Addison Wesley Primo search Burns and Wellings (2001) Real Time Systems and Programming Languages Third Addison Wesley Primo search Peter C. Dibble (2002) Real time Java Platform Programming Sun Microsystems Primo search


This module is at CQFW Level 6