Module Title:   Real Time Systems

Module Credit:   20

Module Code:   CM-1009D

Academic Year:   2015/6

Teaching Period:   PG Computing Summer Semester

Module Occurrence:   A

Module Level:   FHEQ Level 7

Module Type:   Standard module

Provider:   Computer Science

Related Department/Subject Area:   SCIM (Dept of Computer Science)

Principal Co-ordinator:   Dr A. Hossain

Additional Tutor(s):   Mr K Hammoud Sadik

Prerequisite(s):   CM-1003D     CM-1035M

Corequisite(s):   None

This module aims to introduce the primary characteristics of real-time systems and hence to identify the features required in programming languages for engineering the software for such systems.

Learning Teaching & Assessment Strategy:
Theoretical aspects are presented and explored in formal lectures. Practical skills are developed and assessed in laboratory classes. Oral feedback is provided throughout, but especially in laboratory classes. Coursework exercises allow the students to apply theoretical knowledge to a practical problem. The formal examination will assess the wider learning outcomes.

Lectures:   24.00          Directed Study:   161.00           
Seminars/Tutorials:   0.00          Other:   0.00           
Laboratory/Practical:   12.00          Formal Exams:   3.00          Total:   200.00

On successful completion of this module you will be able to...

An advanced understanding of the implementation issues associated with developing real-time systems.

On successful completion of this module you will be able to...

The ability to analyse real-time systems and construct appropriate control software.

On successful completion of this module you will be able to...

The ability to identify and specify requirements from system descriptions.

  Coursework   20%
  A design exercise and an implementation of the design.
  Examination - closed book 3.00 80%
  Examination - closed book 3.00 100%
  Supplementary Exam

Outline Syllabus:
1) Characteristics of real-time systems and the demands they impose on a programming language.
2) Programming in the large: abstraction; data-hiding; abstract data types.
3) Handling time: representations of time in programming languages; temporal scopes; scheduling.
4) System reliability: fault prevention and fault tolerance; dynamic vs static redundancy for fault tolerance; exception handling.
5) Low level programming in a high level programming language.
6) Design of real-time systems.

Version No:  1