| Lectures |
|
|
|
|
 |
| Laboratories |
 |
Setup & manuals |
|
|
|
|
 |
| Assessment |
|
|
 |
| Resources |
|
|
|
|
 |
Description |
|
|
|
|
|

|
|
(6 units) Group C
Second Semester
Three hours per week lectures / two hours per week laboratories
Lecturer: Dr. Uwe R. Zimmer
Prerequisites
COMP2300 and COMP2310; or
ENGN2211 and ENGN2223
Syllabus
Real-time and embedded systems are all around us. Controlling cars, trains, or aeroplanes, as well as mobile phones,
cameras, or A/V equipment, embedded systems are a challenging and demanding part of computer science and engineering.
This course delivers foundations of real-time analysis and implementation of systems which are interconnected with the
physical world (embedded systems). It also delivers the principles of fault tolerant systems and highly reliable systems.
Techniques which are introduced include real-time calculus, real-time scheduling, elementary sensor data filtering and
fusion methods, error recovery strategies, and graceful degradation methods.
Description
This course is an introduction to the multi-disciplinary field of embedded real-time systems, where issues from physical
sensors up to system integration are addressed. The method of teaching consists of two parallel streams. One following the
theoretical foundations of the field, such us temporal logic or real-time scheduling, where the second one is relating the
introduced foundations to applications. An important challenge for the course is to tie together diverging fields which are
essential for an integrated real-time system.
Rationale
Real-time and embedded systems are vital components for many current and future applications and open at the same time a
field of computer science, logic, and engineering which is not addressed in classical efficient algorithms courses. A
central issue in most fields of computer science and engineering is to reach a high level of efficiency in terms of highest
throughputs, shortest response times, or alike. This course addresses another important issue which adds a new dimension to
these general criteria, which is: ``keeping in synchronization with a physical system''. Working academically or industrially
in the wide area of systems with a physical integration in its operational environment, it is essential to know about the
foundations of hard real-time and safety critical systems.
Ideas
This unit will carry the main responsibility for:
- Presenting the main ideas associated with real-time constraints and the integration of computer systems into a
physical environment.
- Delivering the understanding of the balance between theoretical foundations and system integration approaches
in real-time environments.
- introducing hard realtime development suits including Ada and RT-Java
The unit shares responsibility for teaching software design by providing an introduction to the techniques and tools in
this area. It will also widen the view for different programming languages and theoretical approaches, since the field
demands powerful and expressive tools beyond classical imperative programming.
Topics
The following topics will be covered:
- real-time notions
- real-time analysis
- reliablity, safety, redundancy, and fault tolerance issues
- language support for real-time applications
- synchronization and global time issues
- basic sensor techniques
- real-time scheduling
- real-time calculus (temporal logic)
- system integration with asynchronous hard real-time components
- common micro-controllers for embedded systems
- many application example cases
Objectives
Upon completion of this unit, the student will be able to:
- formulate real-time constraints.
- employ standard real-time programming constructs.
- develop a concept to handle the requests level of reliability.
- construct and implement an architecture for an asynchronous, distributed real-time system.
- understand and consider constraints from physical dynamical systems.
- participate significantly in the enhancement of the reliability (or analysis) of safety critical systems.
Assessment
The following assessment modes are used.
- final examination
- testing all objectives.
- laboratory exercises
- the programming exercise will test the capabilities of employing standard real-time
constructs and of designing and implementing asynchronous real-time systems. The handling of simple closed control loops
with basic physical devices is also tested.
Laboratory assessments: 30%, Final examination: 70%
Technical Skills
Upon completion of this unit, the student will be able to:
- write programs dealing with time constraints.
- handle distributed micro-controller systems.
Recommended Reading
- M. Ben-Ari.
Principles of Concurrent and Distributed Programming.
Prentice Hall, 1990.
- Andrew S. Tanenbaum.
Distributed Operating Systems.
Prentice Hall, Upper Saddle River, New Jersey, 1st edition, 1995.
Chris Johnson
2002-05-28
|
© The Australian National University
ANU CRICOS Provider Code - 00120C
Thursday, 30 May 2002 Uwe R. Zimmer

|
|