”A real time system is a system where the time at which output is produced is significant. This is usually because the input corresponds to some movement in the physical world, and the output has to relate to the same movement. The lag from input time to output time must be significantly small for acceptable timeliness” [27].
Therefore, a real time system is one that relies heavily on the notion of re- sponse time. This response time can be broken up into two categories, hard real-time and soft real-time systems. Hard real-time systems are ones where the response time is critical to an application, i.e. a missile response system. Whereas, soft real time systems have response times that are important, but occasionally missed deadlines will not stop the system from functioning correctly. An example is a data sensor acquisition server, where computations can be rolled back to a previously established checkpoint in the event of a timing error.
As important as processing time is in real time systems, the output accuracy can not be overlooked. Correctness of a real time computation depends mainly on the time that the outputs are generated, but also the accuracy of the results. Pre- sented in [44] is a real time system based on a 3D echo-cardiograph reconstruction system.
The system is used to evaluate important cardiac performance parameters such as stroke volume and ventricular mass. The authors point out that for the system to function correctly that both accuracy and timing requirements must be met. Failure to derive the correct information even within the allocated time frame could lead to incorrect estimates and thus endanger lives.
An in depth review on real-time systems can be found in [86], and a tutorial can be found in [56].
2.3.1
Embedded real time systems
Embedded systems are becoming one of the most popular applications for real time environments. An embedded system is a microprocessor based system that is built to control a function or a range of functions that are generally dedicated to one application [80]. An example is a washing machine. There are many functions for a wash cycle, but the main application is to wash fabrics.
As embedded systems are dedicated to specific tasks, they need only to be designed to meet such requirements. As a general rule, micro processors designed for embedded systems have reduced capabilities compared to the multi purpose processors found in personal computers.
[122] presents a review on design constraints for embedded real time control systems. The author highlights a number of embedded system limitations which include size, weight, power, cooling, performance and cost. As embedded sys- tems are designed to be a component of a larger system or built into smaller mobile devices, they have their own operating requirements and manufacturing constraints.
Most devices, whether they are a mobile phone or one of the hundred dedi- cated micro processor units found in the latest cars, have strict size and weight limitations. Therefore, the internal electronics, including the processor and mem- ory must be reduced in physical size and capacity. Furthermore, there is little room for cooling devices and battery storage. As a result of these constraints, it is essential that the power consumption and calculations of the processor is reduced.
[102] introduces further constraints, specifying that the program code size must be reduced as room for both static and dynamic memory is limited. He points out that many embedded packages have a one chip solution, ”systems on a chip (SoCs)”, where all information processing circuits are included on this single chip. This further highlights the need for run time efficacy, showing that
energy consumption, clock frequencies and supply voltages should be kept as low as possible.
For an in depth review on embedded systems, refer to [102] and [109].
2.3.2
Real time classification for embedded systems
[109] shows that embedded systems can be broken up into two different sub classes. These include embedded data-processing systems and embedded controllers. Em- bedded data-processing systems are dedicated to data communication and are data flow dominated. Processing the data must be done within a predefined time window.
Embedded controllers on the other hand, are dedicated to control functions and are flow dominated where they react to external events. The events are handled in real time, and accomplished within the range of milliseconds. These systems interface directly to the physical equipment that they are embedded into, and through sensors collect information about that environment. These systems are generally dedicated to monitoring or controlling specific operations within equipment.
They are known as reactive systems as they typically respond to incoming stimuli from the external environment [80]. Any reactive system is one that is in continual interaction with its environment and executes at a pace determined by that environment [16]. They can be thought of as being in a certain state, waiting for an input. For each input, they change their internal state to generate an output and/or a new state.
Numerous examples of such reactive systems can be found. These include most automotive embedded systems [94]. For example systems that control brakes, door windows, steering and air bags. Many robotic applications that include quality control or industrial machine fabrication. Also, applications for the use in condition monitoring and fault diagnosis (CMFD) of computers or machinery
[95].
Given the description and examples of reactive systems, it can be seen, that a classification algorithm with low memory, processor and power requirements can be ideal for such applications. A classifier can be trained off line and then the classifier’s rule or module can be loaded into an embedded system. It would then wait for a set of inputs, compare the inputs against the model or rule and then provide the outputs based on the classification of the inputs.
A number of examples of classifiers being used for real time applications can be found in the literature. [93] presents work on monitoring power transformer faults using both support Vector machines [152] and artificial neural network classifiers [132]. [95] present case studies that look at monitoring different aspects of an internal combustion engine and a large class of static diagnosis problems. In this study both a multi layered perception and radial basis function neural network classifier were used to determine the faults in the system.
In another example, [68] develops a methodology for intelligent remote mon- itoring and diagnosis for manufacturing processes. In this work, a back propa- gation neural network classifier is used to monitor and identify faults in a real industrial case. The results showed that the back propagation neural network combined with the rough set approach [121] were promising. Furthermore, other work can seen in myoelectric control systems. Here an embedded device is im- planted into a prosthetic limb. The classifier reads the myoelectric nerve data and converts this information into a set of movements [113].