|Author : DAOUDI Samir | Context : MSc Software Engineering – Software Engineering|
The term ‘Real-time system’ is misused and often unclear, many definitions of this term exist. An interesting definition of the German Industry Standard is as follow:
Real-time operation is the operating mode of a computer system is which a program is always ready to get inputs from the external world and generate results in appropriate period of time. The arrivals times of data can be periodically or randomly defined (Halang & Sacha, 2001)
A real-time system can also be defined as a system that must satisfy explicit response-time constraints or risk serve consequences including failures (Laplante, 2004).
Real time systems are systems where correctness and efficiency depend on both the production of treatment results and the time at which the results have been generated (Sommerville, 2011).
In real-time systems some terms should be defined as:
Stimulus: Inputs of the system.
Response: Outputs generated by the system.
Response time: The time between the presentation of stimulus and the realization of the required behavior including the availability of all associated outputs. (Laplante, 2004)
The real-time systems are widely used in different areas; here is a list of some of the handful areas:
Industrial applications: which are the major uses of real-time systems. Industrial automation systems, SCADA applications, robotic equipment, test and measurement equipment…etc.
Medical applications: few examples of real-time systems in medical field exist as: robots, MRI scanners, radiation therapy equipment, bedside monitors …etc.
Automotive and transportation: Automotive engine control systems, road traffic signal control, air-traffic control, high-speed train control are examples of possible uses of real-time systems in this field (Mall, 2007).
Designing real-time systems is a challenging task, the complexity of such systems comes from the fact that these system deal with entities from real world. Telephony switching system for example handles calls from thousands of subscribers and it has to connect each call differently. Known as timing issues, the entire possible problem with real-time systems related to the management of time period and response-times that are the most critical parts of these systems. Hardware and software engineers have to work together to select the best architecture in order to meet the requirements by deciding inter connectivity of processor, link speed, processor performance…etc. The most important questions to address when discussing the real-time responses are:
– Is the architecture suitable?
– Are the links speeds adequate?
– Are the processors powerful enough?
– Is the OS suitable for the solution?
In addition to the response-times, considering the recovery from failures is also another important concern. The following questions should be deeply thought:
– Processor automatic restart.
– Link failure.
– Invalid behavior of entities.
– Internal connectivity failure (Nilsson.et.al, nd).
Real-time systems are widely used in different fields; the most important characteristic of such systems is the response-time in which the system generates the appropriate results or response for the stimulus. Hardware and software parts of the system have to be both considered in order to obtain the most suitable and secure system.
Rajib Mall (2007). Real-time systems theory and practice. ISBN: 978-81-317-0069-3.
Wolfgang A. Halang, Krzysztof M. Sacha (2001). Real-time systems, implementation of industrial computerized process automation. ISBN: 981-02-1064-7.
Ian Sommerville (2011). Software Engineering, 9th edition, and Pearson edition, ISBN: 978-0-13-703515-1.
Philip A. Laplante (2004). Real-time systems, design and analysis. IEEE Press, ISBN: 0-471-22855-9.
Johan Nilsson, Björn Wittenmark, Martin Törngren & Martin Sanfridson (n.d).Timing Problems in Real-Time Control Systems.