Lectures |
|
|
|
Laboratories |
|
Setup & manuals |
|
|
|
|
Assessment |
|
|
Resources |
|
|
|
Description |
|
|
|
|
- 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 > Nyquists criterion > oversampling
- Quantization (LSB, rms noise voltage, SNR, ENOB)
- 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 2011 Uwe R. Zimmer
|
|