Cyber-Physical Systems (CPS) are most of the time safety-critical and expected to perform in uncertain environments. Therefore the identification of scenarios that prevent a CPS from performing according to its requirements is of fundamental importance. However, the multidisciplinary nature of CPS can make it difficult to identify such scenarios. In this article, we investigate the testing of CPS developed using control theory. In such systems, the software is developed collaboratively by control engineers and software engineers. When testing, it is important to account for this multidisciplinary development context. In particular, control engineers make design assumptions when contributing to system development in order to leverage control-theory and obtain guarantees on the CPS behaviour. However, such assumptions are not always satisfied in the implemented system and their falsification can lead to the loss of the control-theoretical guarantees. We define the problem of generating and identifying test cases that falsify such design assumptions as the stress testing of control-based CPS. Among the types of assumptions listed in the article, we focus on the use of linearised models of the physics. To generate test cases that falsify such assumptions, we leverage control theory to develop a qualitative characterisation of the input space of the control layer in CPS. We then propose a novel test case parametrisation for control-based CPS and use it together with the proposed characterisation to develop a testing approach aiming at falsifying the targeted assumptions. We evaluate our testing approach on six case studies including drone position control and continuous current motor control. Our results show that the proposed testing approach is effective at falsifying the linearity design assumption and the stress test cases can be used to highlight the causes of assumption violations.
翻译:信息物理系统(CPS)大多属于安全关键系统,需要在不确定环境中运行。因此,识别阻碍CPS满足其需求的情景具有根本重要性。然而,CPS的多学科特性使得识别此类情景变得困难。本文研究了基于控制理论开发的CPS的测试问题。在这类系统中,软件由控制工程师和软件工程师协作开发。测试时需考虑这种多学科开发情境。特别地,控制工程师在参与系统开发时会做出设计假定,以利用控制理论获得对CPS行为的保证。然而,这些假定在实现系统中未必总能满足,其证伪可能导致控制理论保证的失效。我们将生成和识别可证伪此类设计假定的测试用例的问题定义为基于控制的CPS压力测试。在本文列出的假定类型中,我们重点关注物理过程线性化模型的应用。为生成可证伪此类假定的测试用例,我们利用控制理论对CPS控制层的输入空间进行定性特征刻画。进而提出一种新型的基于控制的CPS测试用例参数化方法,并将其与所提出的特征刻画结合,开发了旨在证伪目标假定的测试方法。我们在包括无人机位置控制和直流电机连续控制在内的六个案例研究中评估了所提方法。结果表明,该方法能有效证伪线性化设计假定,且压力测试用例可用于揭示假定违背的原因。