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:
Architecture composed of autonomous subsystems, whose properties can be checked independently of the others ( composability ).
Last updated