Dynamic adaptation of real-time software

In large, dynamic, real-time computer systems, it is frequently most cost effective to employ different software performance and reliability techniques at different levels of granularity, at different times, or within different subsystems. These techniques may include regulation of redundancy and resource allocation, multiversion and multipath execution, adjustments of program attributes such as time-out periods and others. The management of software in such systems is a difficult task. Software that may be adapted to meet varying performance and reliability requirements offers a solution. A REal-time Software Adaptation System (RESAS) includes a uniform model of adaptable software and provides the tool necessary for programmers to implement algorithms that choose and enact adaptations in real time. RESAS has been implemented on a testbed consisting of a multiprocessor and an attached workstation, and adaptation algorithms have been developed that address the problem of adapting software to achieve two goals: software execution within specified time constraints and software resiliency with respect to computer hardware failures.

[1]  Karsten Schwan,et al.  CHAOS/sup art/: support for real-time atomic transactions , 1989, [1989] The Nineteenth International Symposium on Fault-Tolerant Computing. Digest of Papers.

[2]  Karsten Schwan,et al.  High-performance operating system primitives for robotics and real-time control systems , 1987, TOCS.

[3]  Krithi Ramamritham,et al.  The integration of deadline and criticalness in hard real-time scheduling , 1988, Proceedings. Real-Time Systems Symposium.

[4]  Lui Sha,et al.  Exploiting unused periodic time for aperiodic service using the extended priority exchange algorithm , 1988, Proceedings. Real-Time Systems Symposium.

[5]  Richard T. Snodgrass,et al.  A relational approach to monitoring complex systems , 1988, TOCS.

[6]  C. R. Spitzer All-digital jets are taking off: Aboard developmental commercial and military aircraft, digital electronics score high in compactness, control flexibility, and reliability , 1986, IEEE Spectrum.

[7]  James C. Browne,et al.  Experimental Evaluation of a Reusability-Oriented Parallel Programming Environment , 1990, IEEE Trans. Software Eng..

[8]  Stefano Ceri,et al.  Distributed Databases: Principles and Systems , 1984 .

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

[10]  Karsten Schwan,et al.  A comparison of four adaptation algorithms for increasing the reliability of real-time software , 1988, Proceedings. Real-Time Systems Symposium.

[11]  Richard W. Watson,et al.  Gaining efficiency in transport services by appropriate design and implementation choices , 1987, TOCS.

[12]  Karsten Schwan,et al.  Programming and execution of object-based, parallel, hard, real-time applications , 1988 .

[13]  Kang G. Shin,et al.  Optimal Dynamic Control of Resources in a Distributed System , 1989, IEEE Transactions on Software Engineering.

[14]  Karsten Schwan,et al.  A Language and System for the Construction and Tuning of Parallel Programs , 1988, IEEE Trans. Software Eng..

[15]  Robert M. Ayers,et al.  Experience with Traits in the Xerox Star Workstation , 1984, IEEE Transactions on Software Engineering.

[16]  Mark R. Patterson,et al.  Controlling the adaptive suspension vehicle , 1989, Computer.

[17]  Hideyuki Tokuda,et al.  A real-time tool set for the ARTS kernel , 1988, Proceedings. Real-Time Systems Symposium.

[18]  Nancy G. Leveson,et al.  Analysis of Faults in an N-Version Software Experiment , 1990, IEEE Trans. Software Eng..

[19]  Mark R. Blackburn Using expert systems to construct formal specifications , 1989, IEEE Expert.

[20]  Karsten Schwan,et al.  Ice--an integrated environment for constructing and tuning parallel programs , 1988 .

[21]  S. Spaccapietra,et al.  An Algebra for a General Entity-Relationship Model , 1985, IEEE Transactions on Software Engineering.

[22]  Willy Zwaenepoel,et al.  Distributed process groups in the V Kernel , 1985, TOCS.

[23]  Karsten Schwan,et al.  CHAOS: why one cannot have only an operating system for real-time applications , 1989, OPSR.

[24]  Amr Elabbadi Implementing Fault-Tolerant Distributed Objects , 1985 .

[25]  Karsten Schwan,et al.  A system for parallel programming , 1987, ICSE '87.

[26]  Gerald J. Popek,et al.  Transactions and synchronization in a distributed operating system , 1985, SOSP '85.

[27]  Torsten E. Bihari Adapting real-time software for reliable performance , 1987 .

[28]  Robert S. Swarz,et al.  The theory and practice of reliable system design , 1982 .

[29]  David M. Ogle,et al.  Minimizing monitoring costs: choosing between tracing and sampling , 1990, Twenty-Third Annual Hawaii International Conference on System Sciences.

[30]  Larry Rudolph,et al.  PIE: A Programming and Instrumentation Environment for Parallel Processing , 1985, IEEE Software.