The advent of digital computers during the late twentieth century has not only revolutionized the manner in which computations are carried out, but also the way in which computers can be used to control systems in real life and has given birth to a whole new paradigm termed as real-time (RT) systems. The inputs to such a system are usually from the real world and the system processes these inputs to generate outputs that affect the real world within a finite time irrespective of the computational load on the processing computer. Further, the massive advancements in the domain of communications have now made it possible to have RT systems performing an action in a coordinated manner over a communication interface, which has modified the RT paradigm further with the evolution of distributed RT systems or DRTS. As an example, one could consider a spacecraft headed toward the moon, the trajectory control for which involves the firing of thruster rockets with specific time deadlines. Missing a deadline in such a case might lead to the spacecraft being lost forever in deep space. Clearly, the requirements needed for the activation of thruster rockets on a spacecraft following a command from the mission control on Earth a hundred thousand kilometers away to meeting a deadline poses a many challenges on the computing resources and the communication channels to ensure timeliness. Necessity being the mother of invention, the requirements of the DRTS applications have paved the way for a whole gamut of techniques to represent, analyze, implement, and finally verify and validate such systems. This book introduces some of these aspects in six chapters that are found between its two covers.
The basis of a DRTS is an RT system. Thus, Chapter 1 begins with the basic concepts related to RT systems, namely, a task and its attributes, and the techniques to analyze the schedulability of a set of tasks for achieving a certain RT functionality; it then introduces the principles behind their synchronized functioning. The distributed processing attribute is then added to the RT functionality to cover a scenario where a set of RT systems delivers coordinated functionality through the scheduling of tasks and messages.
Chapter 2 extends the discussion of RT systems presented in Chapter 1 to DRTS by introducing the basic concepts starting with the topology of interconnection, architecture, and properties of a DRTS, and progressively introduces the concepts of time and time synchronization.
The second element in the constitution of a DRTS is an interconnecting network and the communication protocols that can be used to drive it. DRTS applications have led to the evolution of a large number of real-time communication protocols, and a few common protocols are presented and analyzed in detail in Chapter 3. Chapter 3 also presents advancements over the standard switched Ethernet like the multi-streamed TCP/IP, which delivers the reliable communication required, for example, for safety critical DRTS applications. The chapter ends with protocol analysis using a protocol analyzer.
Designing DRTS applications using standard techniques is the theme of Chapter 4. The methodology presented in this chapter is based on a finite state machine (FSM) representation of an RT system. The basic concepts of automata theory are introduced first and then extended to model RT systems using standard FSM representation like the Mealy and Moore machines with practical systems like the coke vending machine. The basic concepts are extended to timed and hybrid automata and finally MATLAB® Stateflow is introduced as a tool for easily reproducing the FSMs as SIMULINK® models.
Chapter 5 illustrates how MATLAB can be used to develop real-time applications and integrate them over a communication network to develop a DRTS. The use of MATLAB allows development of DRTS applications in an easily reproducible manner. The methodology is illustrated using a representative application involving communication between the Earth, a lunar orbiter, and a lander to develop a DRTS. This simulates communication in a deep-space environment with delays taking into consideration the distance and radiovisibility of the communicating components. The chapter ends with an introduction to TrueTime, a MATLAB add-on, which can be used for simulation of protocols and hence DRTS applications in a MATLAB environment.
Finally, Chapter 6 presents the classification of DRTS applications in terms of the criticality and severity of their failures, the metrics in terms of safety and integrity levels, the different stages in their development life cycle, and their verification and validation techniques.
The individual chapters are supplemented by numerical and analytical problems or simulation exercises, which allow better understanding of the concepts. This supports a course format in which lectures are supplemented with tutorials and practical assignments. Such a format is quite common in German and Indian universities. A semester long course may also include a mini project using one of the simulation exercises given in Chapter 5.
MATLAB® and Simulink® are registered trademarks of The MathWorks, Inc. For product information, please contact:
The MathWorks, Inc.