Glossary · Automation software engineering and architecture
Real-time software
Also known as: Real-time application
German: Echtzeitsoftware
In computing, real-time software is software whose correctness depends not only on its results but also on producing them within defined time limits.
- Software engineering
In one sentence
Real-time software is correct only if it delivers the right results within defined time limits.
Example
The PLC program of a packaging machine must compute the cam positions within each 2 ms cycle; a late result is as wrong as a wrong result.
How it applies
- Engineering: Timing requirements are specified like functional ones: period, deadline, maximum Latency and Jitter. Design avoids operations with unbounded duration, such as dynamic memory allocation in cyclic tasks.
- Verification: Tests measure execution times on the target hardware; analysis of the Worst-case execution time (WCET) supports the claim that deadlines are always met.
- Documentation: Technical data and system requirements should express real-time capabilities in measurable terms (cycle time, response time, conditions). Avoid the bare phrase real-time capable without figures.
Hard, firm and soft real time
In Hard real time, a missed deadline counts as a system failure. In firm real time, a late result is useless but occasional misses are tolerated. In Soft real time, late results lose value gradually.