论文:Modeling and Formal Analysis of the NAOMI EDeTCMS-4 Four-Way Traffic Intersection System in Real-Time Maude 原文
作者:Peter Csaba Olveczky (Department of Informatics, University of Oslo),Jos´e Meseguer (Department of Computer Science, University of Illinois at Urbana-Champaign)
Abstract:
作者描述了一个高 decentralized 的 Real-Time Maude 和一个交通十字路口的模块参数化模型。在这个实例化的模型中,自动化设备是通过异步信息进行通信的。所有在 NAOMI 需求文档中出现的非形式化安全需求和活性需求也都被形式化地验证。 NAOMI 需求文档中一些重要的不一致也被当作建模和形式化验证的一种验证结果。
Introduction
本篇 report 总结了设计十字路口的主要思路,十字路口中的汽车以及行人根据 NAOMI 需求规范文档在 Real-Time Maude 中已经被定义。在本部分,作者高概括了 Real-Time Maude 模型,解释了一些设计选择,并且总结了它在安全性以及活性方面的形式化验证,而这些性质在需求文档中是以非形式化被描述的。
- Modular, Decentralized, and Asynchronous Design
这个十字路口交通灯系统被设计为一系列自动并行对象的集合,这些对象通过异步信息进行交互。这使得系统高模块化以及提高了模块的可重用性。特别地,这个系统没有中央控制器,不同的部分通过信息进行交互并且是自动行动的。
这个系统也是高度可参数化的,通过规范十个不同的参数可获得不同特殊特征的不同系统版本。
容错性以及恢复问题也被精确地解决。
- The Need for Abstraction
众所周知,当模型验证其性质时,并发性和异步性很容易导致搜索空间的指数级 blowup 。由于交通灯设计的本质,交通灯设计模型也具有这个模型挑战,但是作者已经解决。对于系统模拟,搜索空间的指数级 blowup 不算问题,真正的问题是许多交错和中间状态。
虽然解决了上述提出的问题,但是也意味着会牺牲一些好的设计方面,同时也会使得设计可重用性降低,增大模型与现实部署的 gap 。
设计的关键技术就是抽象。这就意味着,这个模型是尽可能抽象的,但是所有相关的特征都是有的。
作者建模了系统所有的相关属性。未建模的唯一属性是性能评估所涉及的属性,这些属性与安全性无关,并且不排除对活性更抽象的分析。
在 Real-Time Maude 中为了模拟和评估 performance 建造更详细的模型是比较容易的,但是通过模型检测进行直接地形式化验证是 unfeasible 的。当然,通过非直接地证明也是可以证明所建模型的正确性。
- Formal Verification of Safety and Liveness Properties
在 NAOMI 文档中出现的非形式化需求,作者使用精确的形式化规范-线性逻辑公式-将其描述,并且在所建模型中也已被验证。这就意味着,在模型设计与形式化验证中,非形式化需求的不一致性也是可以被解决的。
Real-Time Maude
一个 Real-Time Maude time module 定义了形式为 ( ∑ \sum ∑, E E E, I R IR IR, T R TR TR)的重写理论,
- ( ∑ \sum ∑, E E E): ∑ \sum ∑为一系列声明的集合,这些声明包括 sorts, subsorts, function, symbols( or operators). E E E 为一系列条件等式的集合。( ∑ \sum ∑, E E E)指定系统的状态空间为代数数据类型,并且必须包含建模时间域的时间 sort (可能是连续时间也可能是离散时间。)
- I R IR IR 是符号条件即刻重写规则集合。这些规则指定了系统的瞬时局部迁移,其语法为
crl [l] : t => t' if cond
,其中l
为标记。一条规则指定了从实例 t 到相应实例 t’ 的一步转移(在条件成立的情况下)。- T R TR TR 是 tick 重写规则集合,语法为
crl [l] : {t} => {t'} in time
τ \tau τif cond .
其语义为建模时间的流逝。{_}
是 sort GlobalSystem 的一个内置构造器。 τ \tau τ 是 sort Time 的一个术语,Time 描述了重写的 duration。初始状态必须是 sort GlobalSystem 的基础术语,并且可以使用规范中的等式简化为形式 {t} 的术语。
在面向对象的 Real-Time Maude 模型中引进了类的描述。
时间模型在合理的假设下是可执行的,而且 Real-Time Maude 提供了一些分析命令,例如:
- timed “fair” rewrite command
(tfrew t in time <= limit .)
- search command
(utsearch [1] t =>* pattern such that cond .)
- LTL model checker
(mc t |=u formula .)
The Real-Time Maude Model of the EDeTCMS-4
- Overview and Assumptions
- 定义模型方法的基本假设条件
- 交通灯模型的四个对象
- 环境对象
- Parametricity and Reusability
- Requirements Change w.r.t. the Statement of Work
- Overview of Car Lights in Normal Operation
- Pedestrian Lights During Normal Operation
- Emergency Clearance
- Failures
- Communication
- The Real-Time Maude Model
- Tunable Parameters
- Object Identifiers
- Messages
- Car Lights in Normal Operation
- Pedestrian Lights During Normal Operations
- Cars
- Emergency Handing
- Handing Device Failures
- Modeling Environments
Analyzing the Model
- Defining Initial States
- Model Checking
Conclusions
作者描述了一个高 decentralized 的 Real-Time Maude 和一个交通十字路口的模块参数化模型。在这个实例化的模型中,自动化设备是通过异步信息进行通信的。所有在 NAOMI 需求文档中出现的非形式化安全需求和活性需求也都被形式化地验证。 NAOMI 需求文档中一些重要的不一致也被当作建模和形式化验证的一种验证结果。
该篇论文所做的工作展示了如何将形式化验证应用到实时嵌入式系统的多重建模环境软件中。在设计阶段也可以使用形式化验证,因为修复设计错误比修复编码错误所花费的成本更高。特别地,作者的建模和形式化分析也获得了一个完全符合需求安全性质的验证模型以及统一化了在需求文档中重要的不一致性。
总结:
- 了解了如何针对实时嵌入式系统进行形式化地建模以及性质的验证
- 学习了在 Maude 中如何对连续时间域进行形式化建模