Title :
Proactive Self-Adaptation for Improving the Reliability of Mission-Critical, Embedded, and Mobile Software
Author :
Cooray, Deshan ; Kouroshfar, Ehsan ; Malek, Salim ; Roshandel, Roshanak
Abstract :
Embedded and mobile software systems are marked with a high degree of unpredictability and dynamism in the execution context. At the same time, such systems are often mission-critical, meaning that they need to satisfy strict reliability requirements. Most current software reliability analysis approaches are not suitable for these types of software systems, as they do not take the changes in the execution context of the system into account. We propose an approach geared to such systems which continuously furnishes refined reliability predictions at runtime by incorporating various sources of information, including the execution context of the system. The reliability predictions are leveraged to proactively place the software in the (near-)optimal configuration with respect to changing conditions. Our approach considers two representative architectural reconfiguration decisions that impact the system´s reliability: reallocation of components to processes and changing the number of component replicas. We have realized the approach as part of a framework intended for mission-critical settings, called REsilient SItuated SofTware system (RESIST), and evaluated it using a mobile emergency response system.
Keywords :
embedded systems; mobile computing; software architecture; software reliability; RESIST approach; architectural reconfiguration decisions; component reallocation; component replicas; dynamism degree; embedded software; execution context; mission-critical software; mobile emergency response system; mobile software; proactive self-adaptation; reliability requirements; resilient situated software system; software reliability analysis approach; unpredictability degree; Computer architecture; Context awareness; Mobile communication; Reliability engineering; Software architecture; Software reliability; Context awareness; mobility; reliability; self-adaptive systems; software architecture;
Journal_Title :
Software Engineering, IEEE Transactions on
DOI :
10.1109/TSE.2013.36