Daniel St. George
Design of Embedded System for Self-Managing External Device Failures
Software application systems need to be more reliable against faults or unanticipated events so that the applications become more resilient to the system failures. Existing approaches have provided well-structured ways of handling faults or failures in software and computer hardware. However, relatively less attention has been given to self-management of faults or failures of external devices in software application systems. In particular, embedded software systems, such as elevator systems and robotic systems, interact with several external devices and in effect the software for embedded systems may not work correctly if these external devices have minor faults or malfunctions. This research addresses the design of self-managed embedded systems that detect and handle failures in their external devices. Each component constituting a self-managed embedded system is structured with an additional layer, a self-management layer, that consists of only new software components, increasing the scalability of the research. This research also analyzes the performance overhead of the additional layer to the application systems. The elevator system is used for a case study for this research.