A Model for Updating Real-Time Applications

Updating application software is a common occurrence for modern computing systems. Software updates stem from the need to correct coding errors or to enhance the functionality of an application. Updating an application typically requires taking the current application offline and restarting a new application. This method of updating an application is perfectly acceptable for many general purpose-computing environments. However, in real-time environments that require high availability and have stringent timing constraints, taking a process offline for updates may be unacceptable or pose unnecessary risks. Some examples of these environments include telecommunications, air traffic control, railway control and medical patient monitoring. We present a new method to dynamically update a real-time application without having to take it offline. Our new method, which we call dynamic update for real-time systems, can be used to update real-time applications using rate-monotonic scheduling, while preserving the original deadline guarantees.

[1]  Juan-Mariano de Goyeneche,et al.  Loadable Kernel Modules , 1999, IEEE Softw..

[2]  Rami G. Melhem,et al.  Fault-Tolerant Rate-Monotonic Scheduling , 1998, Real-Time Systems.

[3]  Pradeep K. Khosla,et al.  The Chimera II real-time operating system for advanced sensor-based control applications , 1992, IEEE Trans. Syst. Man Cybern..

[4]  Jeff Magee,et al.  Dynamic Configuration for Distributed Systems , 1985, IEEE Transactions on Software Engineering.

[5]  H. Hecht,et al.  Fault-Tolerant Software for Real-Time Applications , 1976, CSUR.

[6]  Bradford Nichols,et al.  Pthreads programming , 1996 .

[7]  James M. Purtilo,et al.  Dynamic reconfiguration of distributed programs , 1991, [1991] Proceedings. 11th International Conference on Distributed Computing Systems.

[8]  Pradeep K. Khosla,et al.  Integration of real-time software modules for reconfigurable sensor-based control systems , 1992, Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems.

[9]  Thomas J. Davis,et al.  The Final Approach Spacing Tool , 1994 .

[10]  Ophir Frieder,et al.  On-the-fly program modification: systems for dynamic updating , 1993, IEEE Software.

[11]  Uresh K. Vahalia UNIX Internals: The New Frontiers , 1995 .

[12]  Christine Hofmeister Dynamic reconfiguration of distributed applications , 1993 .

[13]  Hewijin Christine Jiau,et al.  Online non-stop software update using replicated execution blocks , 2000, Proceedings 24th Annual International Computer Software and Applications Conference. COMPSAC2000.

[14]  James M. Purtilo Polylith: An environment to support management of tool interfaces , 1985, ACM SIGPLAN Notices.

[15]  Lui Sha,et al.  Dynamic control system upgrade using the Simplex architecture , 1998 .

[16]  James M. Purtilo,et al.  The POLYLITH software bus , 1994, TOPL.

[17]  Charles B. Weinstock,et al.  Reconfiguration stategies for the SIFT fault-tolerant computer , 1978, COMPSAC.

[18]  J. Kairouz,et al.  A vital sign monitoring system for a pediatric intensive care unit , 1994, Proceedings of IEEE Symposium on Computer-Based Medical Systems (CBMS).

[19]  James M. Purtilo,et al.  Surgeon: a packager for dynamically reconfigurable distributed applications , 1992, Softw. Eng. J..

[20]  Rami Melhem,et al.  Fault-tolerant RT-Mach (FT-RT-Mach) and an application to real-time train control , 1999 .

[21]  Chung Laung Liu,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[22]  Ophir Frieder,et al.  On dynamically updating a computer program: From concept to prototype , 1991, J. Syst. Softw..

[23]  James M. Purtilo,et al.  Planning for change: a reconfiguration language for distributed systems , 1994, Distributed Syst. Eng..