Skip to main content
Log in

A Model for Updating Real-Time Applications

  • Published:
Real-Time Systems Aims and scope Submit manuscript

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Agnew, B., Hofmeister, C., and Purtilo, J. 1994. Planning for change: a reconfiguration language for distributed systems. The 2nd International Workshop on Configurable Distributed Systems, pp. 15-22.

  • Davis, T. J., Krzeczowski, K. J., and Bergh, C. 1994. The final approach spacing tool. 13th IFAC Symposium on Automatic Control in Aerospace, CA, pp. 70-76.

  • Egan, A., Kutz, D., Mikulin, D., Melhem, R., and Mossé, D. 1999. Fault-tolerant RT-mach and an application to real-time train control. Software Practice and Experience 29(4): 379-395.

    Google Scholar 

  • Frieder, O., and Segal, M. 1991. On dynamically updating a program: from concept to prototype. Journal of Systems and Software 14: 111-128.

    Google Scholar 

  • Ghosh, S., Melhem, R., Mossé, D., and Sarma, J. 1998. Fault-tolerant rate-monotonic scheduling. Journal of Real-Time Systems 15(2): 149-181.

    Google Scholar 

  • Goyeneche, J.-M., de, Sousa, E. A. F. de. 1999. Loadable kernel modules. IEEE Software 16(1): 65-71.

    Google Scholar 

  • Hecht, H. 1976. Fault-tolerant software for real-time applications. ACM Computing Surveys 8(4): 391-407.

    Google Scholar 

  • Hofmeister, C. R. 1994. Dynamic reconfiguration of distributed applications. Ph.D. Thesis, University of Maryland, College Park, MD.

    Google Scholar 

  • Hofmeister, C.R., and Purtilo, J. 1991. Dynamic reconfiguration of distributed programs. 11th International Conference on Distributed Computing Systems, pp. 560-571.

  • Hofmeister, C., White, E., and Purtilo, J. 1993. Surgeon: a packager for dynamically reconfigurable distributed applications. Software Engineering Journal 8(2): 95-101.

    Google Scholar 

  • Kairouz, J., Lam, A., Malowany, A. S., Carnevale, F. A., and Gottesman, R. D. 1994. A vital sign monitoring system for a pediatric intensive care unit. IEEE 17th Symposium on Computer-Based Medical Systems, pp. 217-222.

  • Kramer, J., and Magee, J. 1985. Dynamic configuration for distributed systems. IEEE Transactions on Software Engineering SE-11(4): 424-436.

    Google Scholar 

  • Liu, C. L., and Layland, J. 1973. Scheduling algorithm for multiprogramming in a hard real-time environment. Journal of the ACM 20(1): 46-61.

    Google Scholar 

  • Montgomery, J. 2001. Available at http://www.iit.edu/ ~ montgom/DURTS.

  • Montgomery, J., Kenevan, J., and Evens, M. 2001. Dynamically updating an application in a multithreaded environment. International Symposium on Information Systems and Engineering, pp. 224-228.

  • Nakaijima, T., Tokuda, H., and Rao, P. 1990. Real-time mach: toward a predictable real-time system. Proceedings of USENIX Mach Workshop, pp. 73-82.

  • Nichols, B., Buttlar, D., and Farrell, J. P. 1996. Pthreads Programming. Sebastopol, CA: O'Reilly and Associates.

    Google Scholar 

  • Purtilo, J. 1985. Polylith: an environment to support management of tool interfaces. ACM SIGPLAN 85 Symposium on Languages Issues in Programming, pp. 12-18.

  • Purtilo, J. 1994. The polylith software bus. ACM Transaction on Programming Languages and Systems 16(1): 151-174.

    Google Scholar 

  • Segal, M., and Frieder, O. 1993. On-the-fly program modification: systems for dynamic updating. IEEE Software Journal of Systems and Software 10(2): 53-65.

    Google Scholar 

  • Seto, D., Krogh, B. H., Sha, L., and Chutinan, A. 1998. Dynamic control system upgrade using the simplex architecture. IEEE Control Systems Magazine 18(4): 72-80.

    Google Scholar 

  • Ssu, K.-F., and Jiau, H. C. 2000. Online non-stop software update using replicated execution blocks. Proceedings of the 24th Annual International Computer Software and Applications Conference, COMPSAC 2000, pp. 319-324.

  • Stewart, D. B., Schmitz, D.E., and Khosla, P. K. 1992a. The Chimera II real-time operating system for advanced sensor-based control applications. IEEE Transactions on Systems, Man and Cybernetics 22(6): 1282-1295.

    Google Scholar 

  • Stewart, D. B., Volpe, R. A., D. E., and Khosla, P. K. 1992b. Integration of real-time software modules for reconfigurable sensor-based control systems. Proceedings of the 1992 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS '92), pp. 325-333.

  • Vahalia, U. 1996. UNIX Internals: The New Frontiers. Upper Saddle River, NJ: Prentice Hall.

    Google Scholar 

  • Weinstock, C. B., and Green, M. W. 1978. Reconfiguration strategies for the SIFT fault-tolerant computer. Computer Software and Applications Conference, COMPSAC '78, The IEEE, pp. 645-650.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Montgomery, J. A Model for Updating Real-Time Applications. Real-Time Systems 27, 169–189 (2004). https://doi.org/10.1023/B:TIME.0000027932.11280.3c

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/B:TIME.0000027932.11280.3c

Navigation