Due to the diffusion of IoT, modern software systems are often thought to control and coordinate smart devices in order to manage assets and resources, and to guarantee efficient behaviours. For this class of systems, which interact extensively with humans and with their environment, it is thus crucial to guarantee their correct behaviour in order to avoid unexpected and possibly dangerous situations. In this paper we will present a framework that allows us to measure the robustness of systems. This is the ability of a program to tolerate changes in the environmental conditions and preserving the original behaviour. In the proposed framework, the interaction of a program with its environment is represented as a sequence of random variables describing how both evolve in time. For this reason, the considered measures will be defined among probability distributions of observed data. The proposed framework will be then used to define the notions of adaptability and reliability. The former indicates the ability of a program to absorb perturbation on environmental conditions after a given amount of time. The latter expresses the ability of a program to maintain its intended behaviour (up-to some reasonable tolerance) despite the presence of perturbations in the environment. Moreover, an algorithm, based on statistical inference, is proposed to evaluate the proposed metric and the aforementioned properties. We use two case studies to the describe and evaluate the proposed approach.
翻译:由于物联网的普及,现代软件系统通常被设计用于控制与协调智能设备,以管理资产和资源,并保障高效运行。对于这类与人类及其环境广泛交互的系统而言,确保其行为正确性至关重要,以避免意外乃至危险情况的发生。本文提出了一种衡量系统鲁棒性的框架。鲁棒性是指程序在环境条件变化时维持原有行为的能力。在该框架中,程序与环境的交互被建模为一系列描述两者随时间演变的随机变量。因此,所提出的度量方法将基于观测数据的概率分布进行定义。该框架将进一步用于定义适应性与可靠性:适应性表示程序在给定时间间隔后吸收环境条件扰动的能力;可靠性则指程序在存在环境干扰时,仍能(在合理容忍范围内)保持其预期行为的能力。此外,本文还提出了一种基于统计推断的算法,用于评估所提出的度量指标及其上述特性。我们通过两个案例研究对该方法的可行性和有效性进行了描述与评估。