The Evolving Philosophers Problem: Dynamic Change Management
IEEE Transactions on Software Engineering
Self-stabilization by local checking and correction
Self-stabilization by local checking and correction
On line software version change using state transfer between processes
Software—Practice & Experience
Closure and Convergence: A Foundation of Fault-Tolerant Computing
IEEE Transactions on Software Engineering - Special issue on software reliability
A Formal Framework for On-line Software Version Change
IEEE Transactions on Software Engineering
IEEE Transactions on Software Engineering - Special issue on formal methods in software practice
Self-stabilizing systems in spite of distributed control
Communications of the ACM
Type-based hot swapping of running modules (extended abstract)
Proceedings of the sixth ACM SIGPLAN international conference on Functional programming
A Discipline of Programming
Specification and Refinement of Dynamic Software Architectures
WICSA1 Proceedings of the TC2 First Working IFIP Conference on Software Architecture (WICSA1)
Constructing Adaptive Software in Distributed Systems
ICDCS '01 Proceedings of the The 21st International Conference on Distributed Computing Systems
Component based design of fault-tolerance
Component based design of fault-tolerance
An Overview of the Runtime Verification Tool Java PathExplorer
Formal Methods in System Design
Mutatis mutandis: safe and predictable dynamic software updating
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A Taxonomy and Catalog of Runtime Software-Fault Monitoring Tools
IEEE Transactions on Software Engineering
Automatic software upgrades for distributed systems
Automatic software upgrades for distributed systems
Complexity Issues in Automated Synthesis of Failsafe Fault-Tolerance
IEEE Transactions on Dependable and Secure Computing
Automatic synthesis of fault-tolerance
Automatic synthesis of fault-tolerance
Model-based development of dynamically adaptive software
Proceedings of the 28th international conference on Software engineering
Modular software upgrades for distributed systems
ECOOP'06 Proceedings of the 20th European conference on Object-Oriented Programming
Using feature locality: can we leverage history to avoid failures during reconfiguration?
Proceedings of the 8th workshop on Assurances for self-adaptive systems
Towards an integrated approach for validating qualities of self-adaptive systems
Proceedings of the 2012 Workshop on Dynamic Analysis
A survey of formal methods in self-adaptive systems
Proceedings of the Fifth International C* Conference on Computer Science and Software Engineering
Hi-index | 0.00 |
We present a framework for designing run-time faulttolerance using dynamic program updates triggered by faults. This is an important problem in the design of autonomous systems as it is often the case that a running program needs to be upgraded to its fault-tolerant version once faults occur. We formally state fault-triggered program updates as a design problem. We then present a sound and complete algorithm that automates the design of faulttriggered updates for replacing a program that does not tolerate faults with a fault-tolerant version thereof at run-time. We also define three classes of fault-triggered dynamic updates that tolerate faults during the update. We demonstrate our approach in the context of a fault-triggered update for the gate controller of a parking lot.