Module Identifier CS23110  
Academic Year 2000/2001  
Co-ordinator Dr Mark Ratcliffe  
Semester Semester 2  
Pre-Requisite CS22210  
Co-Requisite CS21120  
Course delivery Lecture   20 lectures  
Assessment Exam   2 Hours   100%  
  Supplementary examination   Will take the same form, under the terms of the Department's policy    

General 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.

To introduce students to the ideas of embedded systems (through studying a wide range of application areas), and to the techniques used for developing them (including such systems for safety-related applications).

Learning outcomes
A student who successfully completes the course should be able to:

1. Introduction - 2 Lectures
Scope and definitions. Examples.

2. Responding to the real world - 4 Lectures
Hardware and software interaction. Input/output devices and interfaces. Interrupts and polling; control strategies. Hardware-software tradeoffs; architectures for real-time.

3. Software structure - 1 Lecture
Application tasks and real-time kernels. Scheduling; resource allocation.

4. Design principles and practice - 6 Lectures
What a design method can and cannot give. MASCOT (Modular Approach to System Construction, Operation and Testing). Example and use of MASCOT, HOOD (Hierarchical Object Oriented Design) and UML. Impact of performance issues on design.

5. Implementation principles and practice - 4 Lectures
Tools to assist development. Host-target development, simulation, emulation. Debugging aids, performance monitors.

6. Checking principles and practice - 2 Lectures
Validation and Quality Assurance. Safety related systems and related standards.

7. Revision and conclusion - 1 Lecture

Reading Lists
** Recommended Text
J. E. Cooling. (1991) Software Design for Real-time Systems. Chapman and Hall
** Reference Text
David Budgen. (1996) Software Design. Addison Wesley ISBN 0-201-54403-2
Alan Burns and Andy Wellings. (1990) Real-Time Systems and their Programming Languages. 1st. Addison Wesley ISBN 0-201-17529-0
Alan Burns and Andy Wellings. (1996) Real-Time Systems and their Programming Languages. 2nd. Addison Wesley ISBN 0-201-40365-X
(1987) The official handbook of MASCOT : Version 3.1. Royal Signals and Radar Establishment