Abstract:
Situated software systems are an emerging class of systems that are
predominantly pervasive, embedded, and mobile. They are marked with a high degree of
unpredictability and dynamism in the execution context. At the same time, such systems
often need to satisfy strict reliability requirements. Most current software reliability
analysis approaches are not suitable for situated software systems. We propose an
approach geared to such systems, which continuously furnishes refined reliability
predictions at runtime by incorporating various sources of information. The reliability
predictions are leveraged to proactively place the software in the 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 architectural style. 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.