Highly reliable upgrading of components
Proceedings of the 21st international conference on Software engineering
Live Upgrades of CORBA Applications Using Object Replication
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
Supporting Rapid Prototyping through Frequent and Reliable Deployment of Evolving Components
RSP '01 Proceedings of the 12th International Workshop on Rapid System Prototyping
Automated Dynamic Reconfiguration using AI Planning
Proceedings of the 19th IEEE international conference on Automated software engineering
Towards a unified formal model for supporting mechanisms of dynamic component update
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Retrofitting networked applications to add autonomic reconfiguration
DEAS '05 Proceedings of the 2005 workshop on Design and evolution of autonomic application software
Improving dynamic update for operating systems
Proceedings of the twentieth ACM symposium on Operating systems principles
A component-based approach to online software evolution: Research Articles
Journal of Software Maintenance and Evolution: Research and Practice
Providing dynamic update in an operating system
ATEC '05 Proceedings of the annual conference on USENIX Annual Technical Conference
Supporting Run-Time Evolution In Seescoa
Journal of Integrated Design & Process Science
Hi-index | 0.00 |
At Philips Research Laboratories Aachen we have found a way to reconfigure software in embedded systems like, for example, switches or set top boxes. The goal of the reconfiguration is to repair software faults and to update software functionality. This should be done on-the-fly without decreasing the system's availability which means during the on-going operation of the system. The developed approach is based on available distributed operating system technology (Chorus) and on a widely used family of programming languages (C/C++). It does neither require changes in the operating system nor in the development system. All needed adaptations are done in the application. However, it was our goal to keep the development of the application functionality separated from the creation of the replaceability. An application is in large parts made replaceable through some systematic changes which can be done automatically. Some additional effort is still needed. This paper describes the mechanisms developed for that purpose. As a reconfiguration unit we have chosen a Chorus actor which is kind of a multi-threaded process. We describe how to make such a process replaceable. Finally, we give some performance figures to show the efficiency of the implemented algorithms.