[论文解读] Applying Model Checking to Highly-Configurable Safety Critical Software: The SPS-PPS PLC Program
本文将CERN开发的模型检测平台PLCverif应用于验证高度可配置的SPS人员保护系统(PPS)PLC程序,展示了其在系统投运前检测规范缺陷和PLC错误的能力。该方法通过自动模型生成和形式化验证,高效处理复杂的配置空间,揭示了安全关键联锁逻辑中的关键问题。
An important aspect of many particle accelerators is the constant evolution and frequent configuration changes that are needed to perform the experiments they are designed for. This often leads to the design of configurable software that can absorb these changes and perform the required control and protection actions. This design strategy minimizes the engineering and maintenance costs, but it makes the software verification activities more challenging since safety properties must be guaranteed for any of the possible configurations. Software model checking is a popular automated verification technique in many industries. This verification method explores all possible combinations of the system model to guarantee its compliance with certain properties or specification. This is a very appropriate technique for highly configurable software, since there is usually an enormous amount of combinations to be checked. This paper presents how PLCverif, a CERN model checking platform, has been applied to a highly configurable Programmable Logic Controller (PLC) program, the SPS Personnel Protection System (PPS). The benefits and challenges of this verification approach are also discussed.
研究动机与目标
- 为解决验证具有巨大配置空间的安全关键、高度可配置PLC程序的挑战。
- 评估通过PLCverif进行模型检查在检测实际工业控制系统中规范和实现缺陷方面的有效性。
- 通过识别传统测试难以发现的边界情况行为,提高SPS-PPS系统的可靠性。
提出的方法
- 采用PLCverif,一个开源平台,可从FBD或STL格式的PLC代码自动生成形式化模型。
- 集成三种先进的模型检查器:nuXmv、Theta和CBMC,实现全面验证。
- 应用抽象和约简技术,缓解大规模配置空间中的状态空间爆炸问题。
- 将功能需求形式化为PLCverif输入格式中的断言,其源自伪形式化规范。
- 使用形式化断言验证关键安全功能,如模式转换和钥匙释放逻辑。
- 分析模型检查器生成的反例,以诊断规范错误或PLC缺陷。
实验结果
研究问题
- RQ1模型检查能否有效验证具有指数级庞大配置空间的高度可配置PLC程序?
- RQ2PLCverif在检测安全关键联锁系统中的规范缺口和实现错误方面效果如何?
- RQ3形式化验证在多大程度上可作为传统测试在工业控制系统中的补充?
- RQ4在粒子加速器的真实PLC程序中应用模型检查面临哪些实际挑战?
- RQ5模型检查如何提升专家对所有配置下复杂系统行为的理解?
主要发现
- PLCverif通过形式化断言中遗漏的变量,检测到SIF-2功能中的规范错误,仅靠文档无法发现此问题。
- 通过反例分析,发现SIF-2功能中钥匙释放逻辑存在关键缺陷,导致在投运前修复。
- SIF-2功能的形式化验证耗时147秒,揭示了安全链15的钥匙释放条件存在逻辑不一致。
- 系统模式转换逻辑在93秒内完成形式化验证,发现规范不完整,遗漏了关键安全条件。
- 模型检查成功识别出专家难以手动推理的不良边界情况,提升了规范的清晰度。
- 该方法作为实验室测试的补充手段被证明非常有效,尤其在验证安全关键系统中所有可能配置的行为方面。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。