In nature, we encounter a lot of things: some are single objects (such as rocks, water, and air) while others are systems (such as weather systems, cooling systems in cars, and electric power systems). In general, systems consist of many objects. Thus, systems are more complex than single objects. To understand how things work, we need to study not only the characteristics of single objects but also the collective behaviors of systems. This book focuses on the study of systems and their characteristics. Specifically, we discuss a subset of systems called “real-time systems” that meet certain time constraints.
The dividing line of single objects and systems also depends on the viewpoint. For example, when looking at a car as a single object (from a car user’s points of view), we only see its functionalities as a vehicle (its driving wheel to control direction, its brake pedal to control stop, etc.); on the other hand, when looking at a car’s break system (from a car mechanic’s point of view), we see the mechanical details of the brake system such as hydraulic ducts, boosters, and brake pads. Figure 1 shows the different points of views.
Figure 1(a) shows an object viewpoint; Figure 1(b) shows the car’s brake from a system point of view. Understanding these different views is very important in dealing with the complexity. In fact, these viewpoint shiftings mimic the human brain strategy (the strategy that is also adopted by software engineering and design) in dealing with complex tasks.
The strategy is to abstract away the details when they are not needed, and to microscope the details when they are needed. For example, to use a car, we do not need to know how the combustion engine works, neither do we need to know how the brake system works (all we need to know is that pressing the gas pedal to accelerate the car and pressing the brake pedal to stop the car). As a car user, we simplify the car by abstracting away the details of mechanical details. Here the mechanical details are irrelevant to operate a car. On the other hand, to repair a car, we have to know different systems in a car. As a mechanic, the knowledge of how each system works is vital to perform his job. At system level, we have to go extra mile to understand different parts and the interaction among these parts (as mentioned before, systems consist of parts). This viewpoint shifting is necessary for a mechanic. By microscoping into the details, a mechanic is able to isolate and fix a problem occurred in a car system.
2. Systems are more than simple addition of parts
Often, we assume that systems are made of parts and collective behavior of a system is the addition of its parts. This assumption stems from our intuition and experiences. For example, if one chopstick can sustain 1 lb, then a bundle of ten can sustain 10 lbs.
But that assumption does not tell the whole story. We claim that a system is more than the addition of its parts. In other words, the whole is greater than the sum of its parts. “The whole is more than the sum of its parts. It is more correct to say that the whole is something else than the sum of its parts, because summing up is a meaningless procedure, whereas the whole-part relationship is meaningful” .
The importance of studying systems instead of individual parts is the implication of our claim: the synergy. Let us take an example to illustrate how this is the case. Human body can be viewed differently. If our focus is on the parts, we will see organs such as heart, liver, kidney, and head; if our focus is on the whole (holistic/system view) body, we actually see a complex organism that is made of many systems (digestive system, cardiovascular system, nerve system, etc.). Figure 2 shows the structure parts of a human body.
One of the most amazing synergistic effects of a human body is the soul (or abstract thinking). Human soul is the thing that is above and beyond any body parts. In fact, it belongs to a different domain (body parts belong to a concrete physical domain, while soul belongs to a cognitive/spiritual domain). I want to point out that only from a holistic/system point of view, we are able to see the effect of synergy (the spiritual side of our body).
Another example of our claim is the neural networks. When focusing on an individual neural node, we see only simple behavior of conducting information from point A to point B; but when focusing on the whole system, we are able to see the synergy of intelligence.
Synergy gives us the reason to study systems.
3. Real-time systems
In this book, we focus on the discussion of a subset of systems: real-time systems. Real-time systems are those systems that have certain requirements on the timing. In this type of systems, responses to environment’s stimuli must be done before certain deadlines. The characteristics of real-time systems are:
The usefulness of a system is judged not only by the correctness of the system behaviors but also by the time these behaviors are initiated.
Different parts of a system will communicate and the communication among the parts also satisfies certain time requirements. The typical communication timing requirements are:
Synchronous--- the communication must be done at the real-time (no delay or the delay can be ignored in a practical sense). This is the most stringent time requirement. One of the examples is the video conferencing (in this situation, real-time data must be delivered without delay).
Isochronous--- real-time data must be delivered in a fixed period of time. This is a quasi real-time requirement. Isochronous is the requirement that is not as rigid as synchronous but not as lenient as asynchronous (kind of in the middle). This mode of communication meets the need of those applications that a steady data stream is more important than completeness and accuracy. One of the examples is the digitized voice communication (in this case, dropping of packets is acceptable).
Asynchronous--- the communication can be done later. This is the most flexible time requirement. One of the examples is the email (no guarantee how fast the message will be delivered to the recipient).
Failure to take a required action is as bad as the wrong action. For instance, the consequence of a delayed car brake action may cause an accident (in this case, it is almost as bad as the wrong action).
To make the concept of real-time system more concrete, let us look at some examples of real-time systems:
3.1. Air traffic control system
Air traffic control system contains multiple function units. The main objective is to regulate the airplane traffic so that the operation is safe and efficient. To achieve that, multiple functional units (parts) of the system must communicate and cooperate among themselves. For example, the radar tower will send information of airplane positions to the air traffic controllers and the air controller will tell airplanes to maintain certain speed, altitude, and direction. Figure 3 shows the parts involved in this system.
As shown in Figure 3, the air controller needs to monitor and control airplanes (such as knowing the stages of takeoff, departure, en route, approaching, and landing). Since the speed of a typical commercial airplane is in the range of 600–700 miles per hour, the system works in strict time constraint. Thus, it is a real-time system.
3.2. Energy demand management system
As shown in Figure 4, the electric power distributing system has many parts and is a complex system. To optimize the power efficiency, modern power systems use both fossil energy and reusable energy such as hydraulic power, photovoltaic energy, and wind energy. The main functionality of the system is to regulate the power source by using energy storage and by switching on and off power generators. Since we are not able to store large portion of electricity, the system must monitor the supply and demand data in real-time. Sometimes, the configuration of the power grid needs to be changed to accommodate the power demand surge (all these need to be done with a time limit).
4. Overview of the chapters
In this book, we carefully selected a set of manual scripts that are written by authors with different backgrounds. The selected articles have a broad spectrum of topics ranging from theory to application. At the mean time, all the topics are centered on the main theme of real-time systems. In this way, readers get the benefit of wide exposure to the issues and information related to the subject. In the following, I give you a brief introduction to each of the remaining chapters.
Chapter 2 “Real-Time Reconfiguration of Distribution Network with Distributed Generation” wrote by Daniel Bernardon, Ana Paula Carboni de Mello, and Luciano Pfitscher. The main contribution of the chapter is the presentation of “a new methodology to perform the real-time reconfiguration of distribution networks incorporating distributed generation in normal operation”. The research method used belongs to empirical and scientific (according to , research methods can be put into a set of predefined categories).
Chapter 3 “Uniform Interfaces for Resource-Sharing Components in Hierarchically Scheduled Real-Time Systems” wrote by Martijn M. H. P. Van Den Heuvel, Reinder J. Bril, Johan J. Lukkien, Moris Behnam, and Thomas Nolte. The main contribution of the chapter is the proposing of “uniform interfaces to integrate resource-sharing components into Hierarchical Scheduling Frameworks (HSFs) on a uni-processor platform”. The contribution is significant to the field of real-time operating systems. The research method used belongs to experimental research [I].
Chapter 4 “Thermal and Energy Analysis for Periodic Scheduling on Multi-Core Real-Time Systems” wrote by Ming Fan. The main contribution of the chapter is the analysis of the thermal behavior on multi-core real-time systems and the energy consumption for a given speed scheduling on multi-core systems.
Chapter 5 “Multi-objective Real-time Dispatching Problem in Electric Utilities: an Application to Emergency Service Routing” wrote by Vinicius Jacques Garcia, Daniel Bernardon, Iochane Guimaraes, and Julilo Fonini. The main contribution of the chapter is the presentation of a novel application of real-time dispatching problem to electric utilities when multi-objectives are involved. It presents a heuristic approach to solve the emergency dispatching and routing problem.
Chapter 6 “Kalman Filtering and Its Real-Time Applications” wrote by Lim Chot Hun, Ong Lee Yeng, Lim Tien Sze, and Koo Voon Chet. The main contribution of the chapter is the demonstration of different use of Kalman filtering. The authors outlined and explained the fundamental Kalman filtering model in real-time discrete form, and devised two real-time applications that implemented Kalman filtering.
Chapter 7 “A Real-Time Bilateral Teleoperation Control System over Imperfect Network” wrote by Truong Quang Dinh, Yong II Yoon, Cheolkeun Ha, and James Marco. The main contribution of the chapter is the introduction of an advanced bilateral teleoperation networked control system; the introduction of an approach to develop a force-sensorless feedback control (FSFC) that is able to simplify the sensor requirement in designing the Bilateral Teleoperation Networked Control System (BTNCS).
Chapter 8 “Wireless Real Time Monitoring System for the Implementation of Intelligent Control in Subways” wrote by Alessandro Carbonari, Massimo Vaccarini, Mikko Valta, and Maddalena Nurchis. The main contribution of the chapter is the presentation of the technical features of state-of-the-art Wireless Sensors Networks (WSN) for environmental monitoring. Specifically, this article presents the application of WSN to the Passeig de Gracia (PdG) subway station in Barcelona using a Model-based Predictive Control system (MPC).