Trends in Real-Time Systems

Real-time systems are the element that helps various technologies avoid the "Error" screen the moment when the system fails and crashes. Real-time systems are included in computers, aircraft, smartphones and other technological systems. So what are the major trends in this field for the coming years?
Trends in Real-Time Systems

Photo: Bigstock

Among the various reports regarding the F-35 stealth fighter scheduled to be delivered to Israel soon, one notable report involved a particularly bizarre Internet incident that portrayed the aircraft with a Windows fatal error screen, the display known affectionately as the "Blue Screen of Death". Indeed, that is the message that informs you that everything you had written or entered has vanished, that your computer has crashed and will take a few minutes to recover if it ever becomes usable again. Without a doubt, this is extremely annoying for a home user, but that incident raised the question of what actually prevents the computer on board the aircraft, in the braking system of your car or the one controlling the resuscitation machine in the hospital from crashing.

The element that stands between us and that software failure is real-time systems. Quite simply, these systems are intended to provide products within a predetermined timeframe. Unlike standard computer systems that attempt to provide the product as quickly as possible, real-time systems must adhere to a specific timeframe. What does that mean? Take, for example, a passenger aircraft. While in the distant past the control surfaces of the aircraft were connected by cables to the controls in the cockpit, today we have an airborne computer required to transmit the pilot's commands at just the right time.

If the computer that adjusts the aircraft controls transmits commands that are not synchronized and occur one after the other instead of simultaneously or vice versa, the aircraft will behave differently from the pilot's original intention, so an intended turn might evolve into a climb or a spin, with disastrous results. So, in real-time computing the emphasis is placed on executing the operation within a predetermined time range.

Within the category of real-time systems, we distinguish between three system types. The first type is 'soft real-time' systems. With these real-time system, a digression from the predetermined timeframe will not cause any serious damage. For example, our home cable TV converters incorporate real-time systems that ensure that the rate at which we change channels is known and anticipated in advance. At the same time, a small digression from that rate will not lead to severe consequences. These are 'soft' systems that tolerate digressions.

The second type is 'firm real-time' systems. These systems can withstand a digression from the predetermined timeframe, but the quality of the output will be adversely affected up to the point of becoming unusable in this case. Imagine an MRI machine. This machine scans organs in the patient's body using magnetic resonance and depends on a transformer located nearby. If the computer digresses from the prescribed timeframe, the resulting image will become 'smeared' and would not be usable.

The third type is 'hard real-time' systems. This is the most rigid and unforgiving type. Any delay in the supply of the output will lead to a system failure and the operation may not continue following such a failure. These system type includes life-saving systems in hospitals, vehicle braking systems, et al.

Real-time systems are regarded as strategic systems and many governments demand end-user certificates for these software products. In other words, the government demands to know not only whom the software was sold to, but who is actually using it and for what purpose. The end-user certificate is subject to a range of political restrictions that change periodically, and often constitute a limitation regarding the sales of final products.

Open-source software products, unlike proprietary software products, are products developed by the community with the source code used to operate the software openly available on the Internet. For this reason, the Linux operating system is not subject to the restrictions of end-user certificates, as its source code is not owned by anyone and it is in the public domain. Admittedly, the use of open-source code does not exempt the client from the obligations associated with defense export permits, but it does enable, in the event that an end-user certificate problem is encountered, taking the code as is and continuing to use it even if restrictions had been imposed on the company that developed the operating system.

The system by the SuSe Company is not a standard Linux system. The people at SuSe adapted the operating system, using open-source Linux code, to real-time use. They changed the system core and adjusted the timing of the tasks so that they be compatible with real-time uses. These changes convinced several major organizations around the world, including Lockheed Martin and the NASA Jet Propulsion Laboratory (JPL), NASA's main development organ, to use these software products as real-time systems.

Open source systems offer yet another advantage. It is the option of looking into the code and changing it. What does that mean? In proprietary systems, the source code is not exposed. It is practically a 'black box' and changes are normally made through the company that maintains the system, as the code itself is the company's property and the company will not distribute it, fearing that it might be stolen and used elsewhere. With open-source code the approach is different. As anyone can see the source code, including the programmers of the end user, anyone can introduce changes and upgrades and eventually combine them into a version adapted specifically to the user's requirements. Additionally, the systems undergo more frequent upgrades and in most cases faults and bugs are identified and addressed more promptly.

One project based on an open source real-time system was recently publicized by the Lockheed Martin Company. The Company that manufactures the aforementioned F-35 stealth fighter faced a problem. They were required to erect a system of simulators for the aircraft from the single laptop computer level to various manned simulator stations, including stations that incorporate cockpits that fully simulate the flight conditions such as vertical take-off, changes of direction – up to a complete aircraft positioned on the roof of a building.

Additionally, the Lockheed Martin Company had to activate all of the aircraft's systems, including the environmental sensors, the systems that communicate with other aircraft, with the control center and with dozens of other systems. For this purpose, they required a flexible system that would provide real-time results at reasonable costs. In this case, a Linux system by the SuSe Company was used to enable coordination and synchronization for an extensive range of interfaces, while providing real-time results with no digressions. During the development process, numerous problems were encountered which affected the development time of the aircraft, in connection with its ability to work with substantial databases. These problems were addressed and taken care of, and the updates were released to the global Linux community. Today, they are used as part of the improved code of the core of Linux's real-time systems. 

***

Doron Ofek is the CEO of the SuSe Company of Israel and an expert on cyber technology and open-source code. He is one of the first members of the Israeli Linux community.