Requirements of Real-Time Systems

The requirements commonly imposed to real-time systems are of three types:

  • Functional;

  • Temporal;

  • Dependability.

Functional

Data gathering

Sampling of system variables (real-time entities), both analog and discrete.

The Real-Time computer operates on local images (internal variables) that represent the physical entities.

Each image of a real-time entity has a limited time validity, due to the temporal dynamics of the physical process.

The set of images of the real-time entities forms a Real-Time Database.

The real-time database must be updated to keep consistency between the physical world and its the internal representation.

Supervise and Control

Direct access to sensors and actuators.

Interaction with the operator

System status information, logs, support to correct system operation, warnings, ...

Illustration of a RTDB for Multi-Robot Systems

Temporal

Usually arise from the physical dynamics of the process to be managed or controlled.

Impose restrictions:

  • Delays the observation of the system state;

  • Delays computing the new control values (acting);

  • Variations of previous delays (jitter);

These must be followed in all instances (including the worst case) and not only on average.

Teminology

Initial offset (∅)

Time before the first release/activation (job) of a task.

Period (T)

Time between successive jobs of a task.

Can be a Minimum Inter-Arrival time (MIT) for sporadic tasks.

Start/activation (ri)

Time instant of the ith job of a task.

  • ri = ∅ + k * Ti for periodic tasks.

Finish/completion time (ti)

Time instant in which the ith job of a task terminates.

Execution/computation time (Ci)

Time necessary to the processor for executing the task instance without interruption.

Absolute deadline (di)

Time instant by which the ith execution of a task must complete.

Response time (Ri)

Time elapsed between the release of the ith job of a task and its completion

  • Ri = fi − ri

Slack/Laxity (Li)

Maximum time a task can be delayed on its activation to complete within its deadline.

  • Li = di - ri - Ci

Classification of the temporal constraints according with the usefulness of the result:

Soft

Temporal constraint in which the result retains some utility to the application, even after a temporal limit D, although affected by a degradation of quality of service.

Firm

Temporal constraint in which the result loses any usefulness to the application after a temporal limit D.

Hard

Temporal restriction that, when not met, can lead to a catastrophic failure.

Classification of the Real-Time Systems, according with the temporal constraints:

Soft Real-Time

The system only has firm or soft real-time constraints (e.g., simulators, multimedia systems).

Hard Real-Time

The system has at least one hard real-time constraint. These are the so-called safety-critical systems (e.g. airplane control, missile control, nuclear plants control, control of dangerous industrial processes).

Best Effort

The system is not subject to real-time constraints.

Dependability

Real-time systems are typically used in critical applications, in which failures may endanger human lives or result in high economic impact/losses.

This results in a requirement of High Reliability:

  • Hard real-time systems have typically ultra-high reliability requirements (< 10^−9 failures/hour ).

  • Cannot be verified experimentally!

  • Validation requires solid analytic support (among other aspects).

Important aspect to consider in safety-critical systems:

  • Stable interfaces

    Between the critical and the remaining subsystems, in order to avoid error propagation between each other.

  • Well defined worst case scenarios

    The system must have an adequate amount of resources to deal with worst case scenarios without resorting to probabilistic arguments, i.e. must provide service guarantees even in such scenarios.

  • Architecture composed of autonomous subsystems, whose properties can be checked independently of the others ( composability ).

Last updated