Module Identifier CS33110  
Academic Year 2006/2007  
Co-ordinator Mr Jem Rowland  
Semester Intended for use in future years  
Next year offered N/A  
Next semester offered N/A  
Other staff Dr David Barnes, Mr Jem Rowland  
Pre-Requisite CS21120 Ideally students should have CS25510 or equivalent.  
Course delivery Lecture   20 lectures  
Assessment TypeAssessment Length/DetailsProportion
Semester Exam2 Hours  100%
Supplementary Exam2 Hours Will take the same form, under the terms of the Department's policy.  100%
Further details  

Learning outcomes

On successful completion of this module students should be able to:
A student who successfully completes the course will be able to:

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 Lists

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


This module is at CQFW Level 6