Implementation of Real-Time Systems

Real-Time Requirements

How do processors deal with such constraints?

How do processors deal with such constraints?

How do processors deal with such constraints?

Example: Interval Timers in Solaris

Example: Interval Timers in Solaris

Example: More Interval Timers in Solaris

Example: More Interval Timers in Solaris

Example microprocessor widely-used for real-time Intel 8051 (MCS-51 family)

Intel 8051

Intel 8051

Intel 8051 Interrupt Sequence

Intel 8051

Real-Time Operating Systems

Real-Time Operating Systems

Requirements for RTOS’s

Examples from VxWorks

Examples from VxWorks

Examples from VxWorks

Examples from VxWorks

A tale of Priority Inversion in VxWorks

RT case study Structure of DiCK (Didactic C Kernel) (from Buttazzo, Hard Real-Time Computing Systems, Kluwer, 1997)

DiCK Process State Transitions

Robot Control Example (from Buttazzo, Hard Real-Time Computing Systems, Kluwer, 1997)

Robot Arm with Deburring Tool

Robot Control

Process Structure

CAB = Cyclical Asynchronous Buffer

CAB (2)

Examples where CABs are Useful

CAB Primitives (1)

CAB Primitives (2)

CAB Primitives (3)

Robotic Application Processes

Robotic Application Processes

Robotic Application Processes

Program using the “DiCK” (Didactic C Kernel) primitives (from Buttazzo, Hard Real-Time Computing Systems, Kluwer, 1997)

Program (2)

Program (3)

Program (4)

Program (5)

Program (6)

Program (7)

Languages & Models for Real-Time Systems

Why look at Languages?

Why Models?

Ada 95 Language Features Pertinent to Real-Time and Parallelism (see http://www.adahome.com/rm95/rm9x-toc.html)

Ada speak

Diagrammatic Model of Typical Ada Processing by Loop

Non-determinism using Select

Semaphore in Ada

Non-determinism + Termination

“Unconditional” Alternative

“when” conditions

“when” conditions: readers/writers

Delay Alternative

Autonomous Periodic Tasks (one loop for each task)

Problem with Previous Approach

Dispatcher Model

Better Model: Use builtin delay_until

Priority Issues

Sources