Skip navigation

Contents

Acrobats

Spaghetti Code
by George W. Hart, 2004

All lectures notes are available here. It is expected that you do attend all lectures and make your own notes. An essential part of the learning process is the formation of your notes, and the comparison of your notes with the lecture slides. The provided sound track consists of trimmed takes of the lectures - they are meant as an additional option for repetition and do by no means replace the actual lectures. Also keep in mind that some parts of the lectures might not be recorded (interactive programming sessions, discussing student code, ...).

The material is constantly reviewed and refined - so it is best to download the version which you want to use for learning, after the corresponding lectures. Also: taking your own notes from scratch instead of annotating lecture notes is always the more effective learning method.

Any usage of the material supplied below (outside the scope of this course) requires explicit permission by the course organizers.

Disclaimer for any material appearing before the lecture: consider all material as a pre-view only - until a few hours after the lecture, when the exact material used in the actual lecture appears here. So check back frequently if you want to see the latest pre-views, and load after the lectures for the final versions.

 
Chapters
Lecture slides:
pdf document (pdf)
Lecture recordings:
 Movie  Video (mp4)  -  Audio  Soundtrack only (mp3)

 

 

Complete set of slides:

(will become available towards the end of the course)

 
      pdf document
1:1
     

 

               
 

 

Slides & recordings by chapter:

 
 

Organization & contents

 

 
      pdf document
1:1
pdf document
1:4
pdf document
1:9
pdf document
1:16
(25. 7.)
Movie
  Audio
30'
               
 

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
    • VHDL
    • Pearl
    • POSIX
 
      pdf document
1:1
pdf document
1:4
pdf document
1:9
pdf document
1:16
I (25. 7.)
Movie
  Audio
55'
II (28. 7.)
Movie
  Audio
1:26'
III (1. 8.)
Movie
  Audio
1:26'
IV (4. 8.)
Movie
  Audio
1:23'
V (8. 8.)
Movie
  Audio
47'
       
 

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
 
      pdf document
1:1
pdf document
1:4
pdf document
1:9
pdf document
1:16
I (8. 8.)
Movie
  Audio
43'
II (11. 8.)
Movie
  Audio
1:11'
             
 

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
 
      pdf document
1:1
pdf document
1:4
pdf document
1:9
pdf document
1:16
I (11. 8.)
Movie
  Audio
26'
II (15. 8.)
Movie
  Audio
1:27'
III (18. 8.)
Movie
  Audio
1:17'
IV (22. 8.)
Movie
  Audio
1:24'
V (25. 8.)
Movie
  Audio
31'
       
 

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
 
      pdf document
1:1
pdf document
1:4
pdf document
1:9
pdf document
1:16
I (25. 8.)
Movie
  Audio
57´
II (29. 8.)
Movie
  Audio
1:25´
III (1. 9.)
Movie
  Audio
52´
           
 

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 Ada
 
      pdf document
1:1
pdf document
1:4
pdf document
1:9
pdf document
1:16
I (19. 9.)
Movie
  Audio
1:25´
II (22. 9.)
Movie
  Audio
1:30´
III (26. 9.)
Movie
  Audio
1:09´
IV (29. 9.)
Movie
  Audio
29´
         
 

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
    • Non-determinism in message based synchronization
 
      pdf document
1:1
pdf document
1:4
pdf document
1:9
pdf document
1:16
I (29. 9.)
Movie
  Audio
55´
II (3. 10.)
Movie
  Audio
1:17´
             
 

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
 
      pdf document
1:1
pdf document
1:4
pdf document
1:9
pdf document
1:16
I (6. 10.)
Movie
  Audio
1:19´
II (10. 10.)
Movie
  Audio
1:05´
III (13. 10.)
Movie
  Audio
39´
           
 

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
 
      pdf document
1:1
pdf document
1:4
pdf document
1:9
pdf document
1:16
I (13. 10.)
Movie
  Audio
36´
II (17. 10.)
Movie  Audio
52´
             
     
 

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
    • Ada Ravenscar profile
    • Real-time Logic
 
      pdf document
1:1
pdf document
1:4
pdf document
1:9
pdf document
1:16
I (20. 10.)
Movie
  Audio
1:10´
II (24. 10.)
Movie
  Audio
1:18´
             
     
       
                               

 

Updated:   Tuesday 31 October, 2017 15:13 / Responsible Officer:   JavaScript must be enabled to display this email address. / Page Contact:   Course Webmaster