A Framework for the Transparent Replication of Real-Time Applications
Ref: HURRAY-TR-0135 Publication Date: 1, Sep, 2001
A Framework for the Transparent Replication of Real-Time ApplicationsRef: HURRAY-TR-0135 Publication Date: 1, Sep, 2001
Computer control systems are used in a wide range of application domains, such as factory automation, process control, robotics, automotive systems, etc. The development of such applications is a complex task, often requiring the integration of fault tolerance and real-time properties. The use of Commercial-Off-The-Shelf (COTS) components presents a significant new challenge, since these components do not usually support fault tolerance mechanisms. Moreover, the use of the pre-emptive fixed priority computational model in these applications presents significant problems, due to the increased difficulty in managing the determinism of replicated application components. Therefore, current computer control applications are becoming more complex to develop and maintain, since they are required to implement the mechanisms needed to support replication and distribution. The main research objective of this thesis is to develop a transparent and generic framework to support the replication of multitasking applications, considering the use of COTS components. The target of such framework is to allow the development of applications focusing on the requirements of the controlled system, and abstracting from the low-level details of replication and distribution mechanisms. In this thesis, a framework for the development of fault-tolerant real-time applications is proposed, based on the transparent replication of application components. The main focus is given to the support of Ada 95 applications conforming to the Ravenscar profile. The proposed framework provides a set of generic task interaction objects, which are used as the basic building blocks of the application. These objects provide the usual task interaction mechanisms used in hard real-time applications, and allow applications to be developed without considering replication and distribution issues. The communication support for the replication of software components is provided by a set of atomic multicast and consolidation protocols, guaranteeing fault-tolerant real-time communication in CAN networks. These protocols maintain the predictability of CAN message transfers in spite of the CAN inconsistent message transfer, considering the possible occurrence of either bus or nodes' network interface errors. A prototype was also developed to assess the expressiveness of the Ravenscar profile for the development of fault-tolerant real-time systems, considering the proposed generic and transparent approach.
PhD Thesis, Faculdade de Engenharia da Universidade do Porto.