ANU crest

Research School of
Computer Science

Real-Time &
Embedded Systems

(comp4330, comp6433)

Lectures
<empty space> Schedule
<empty space> Contents
(incl. slides
& soundtrack)
<empty space>
Laboratories
<empty space> Setup & manuals
<empty space> Assignments
<empty space>
Assessment
<empty space> Examination
<empty space>
Resources
<empty space> References
<empty space> Sources
<empty space> Description
<empty space> Forum

<empty space>

Contents
 
Full set of essential slides

Projection format
1:1

Printer friendly versions
1:4
1:9
1:16
Essential
slides

Soundtrack

1:1 1:4 1:9 1:16
1
2
3
4
5
6
0. Organization
& Table of contents

1. Introduction
& real-time languages
  • Features (and non-features) of a real-time system
  • Components of a real-time system
  • Real-time languages criteria
  • Examples of actual real-time languages:
    • Real-Time JAVA
    • Ada
    • Esterel
    • Pearl
    • POSIX

2. Physical coupling
  • Physical values
  • Introduction to sensors
  • Measuring temperature
    • thermoelements
    • thermocouples
    • thermoresistors
    • thermistors
    • noise temperature measurement) and others
  • Frequently employed sensors
  • Measuring range and relative speed
    • triangulation
    • time of flight
    • intensity
    • Doppler methods
    • interferometry
    • examples: time-of flight ultrasound, time-of-flight laser, Doppler current profiler

3. Interfaces
  • Analogue signal chain in a digital system
  • Sampling data > aliasing > Nyquist’s criterion > oversampling
  • Quantization (LSB, rms noise voltage, SNR, ENOB)
    • Missing codes, DNL, INL
  • A/D converters: flash, pipelined-flash, SAR, Sigma-Delta, n-th order Sigma-Delta
  • Converters & Interfaces: Examples
    • Fast and simple A/D converter example: National Semiconductor ADC08200
    • Multi-channel A/D data logging interface example: National Semiconductor LM12L458
    • Simple 8-bit µcontroller example: Motorola MC68HC05
    • Complex 32-bit µcontroller example: Motorola MPC565
      • TPU: µprogramming, atomic states, µengine scheduling, max. latency analysis
      • NEXUS debugging port
  • General device handling / sampling control / language requirements

4. Time & embodiment
  • What is time? / What is embodiment?
    • Approaches by different faculties to understand the basis for this course
  • Interfacing with time
    • Formulating local time-dependent constraints
    • Access time, delay processes, detect timeouts (in different languages)
  • Specifying timing requirements
    • Formulating global timing-constraints
    • Understanding time-scope parameters (and expressing them in different languages)
  • Satisfying timing requirements
    • Real-time logic and complex systems approach

5. Asynchronism
  • Interrupts & signals
    • Device / system / language / operating-system level interrupt control
    • Characteristics of interrupts and signals
  • Exceptions
    • Exception classes / granularity / parametrisation / propagation
    • Resumption and termination, specific language issues
  • Atomic Actions
    • Definition / requirements / failure cases / implementation / error recovery
  • Asynchronous transfer of control / Interrupts in context
    • Interrupts and ATC in real-time Java and Ada95

6. Synchronisation
  • Shared memory based synchronization
    • Flags, condition variables, semaphores, conditional critical regions, monitors, protected objects.
    • Guard evaluation times, nested monitor calls, deadlocks, simultaneous reading, queue management.
    • Synchronization and object orientation, blocking operations and re-queuing.
  • Message based synchronization
    • Synchronization models, addressing modes, message structures
    • Selective accepts, selective calls
    • Indeterminism in message based synchronization

7. Scheduling
  • Basic real-time scheduling
    • Fixed Priority Scheduling (FPS) with
      Rate Monotonic Priority Ordering (RMPO)
      Deadline Monotonic Priority Ordering (DMPO)
    • Earliest Deadline First (EDF)
  • Real-world extensions
    • Aperiodic, sporadic, soft real-time tasks
    • Deadlines shorter than period
    • Cooperative and deferred pre-emption scheduling
    • Fault tolerance in terms of exception handling considerations
    • Synchronized talks (priority inheritance, priority ceiling protocols)
  • Language support
    • Ada95, POSIX > static, off-line analysis mostly
    • RT-Java > on-line, dynamic scheduling

8. Resource control
  • Resource synchronization primitives
    • evaluation criteria for resource synchronisation methods
    • atomicity, liveliness, and double interaction
  • Resource reclaiming schemes
    • basic reclaiming, early start, and restriction vector algorithms
    • resource reclaiming with task migration
  • Real-time resource control
    • policy and run-time issues to be considered

9. Reliability & fault-tolerance
  • Terminology
    • Faults, Errors, Failures – Reliability
  • Faults
    • Fault avoidance, removal, prevention Ü« Fault tolerance
  • Redundancy
    • Static (TMR, NMR) and dynamic redundancy
    • N-version programming, and dynamic redundancy in software design
  • Reduce & Formalise
    • Ada95 Ravenscar profile
    • Real-time Logic

10. Summary


© The Australian National University
ANU CRICOS Provider Code - 00120C
Friday, 11 November 2011Uwe R. Zimmer

<empty space>