Modeling and Formal Analysis of the NAOMI... Four-Way Traffic Intersection System in Real-Time Maude

本文介绍了一种基于Real-Time Maude的高分散交通十字路口系统模型,通过异步信息通信实现自动化设备间的交互。文章详细阐述了模型的模块化、去中心化设计,以及如何通过抽象解决并发性和异步性带来的挑战。该模型成功形式化验证了NAOMI需求文档中的安全和活性需求,揭示并修正了文档中的不一致性。
论文: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 模型,解释了一些设计选择,并且总结了它在安全性以及活性方面的形式化验证,而这些性质在需求文档中是以非形式化被描述的。

  1. Modular, Decentralized, and Asynchronous Design

      这个十字路口交通灯系统被设计为一系列自动并行对象的集合,这些对象通过异步信息进行交互。这使得系统高模块化以及提高了模块的可重用性。特别地,这个系统没有中央控制器,不同的部分通过信息进行交互并且是自动行动的。
      这个系统也是高度可参数化的,通过规范十个不同的参数可获得不同特殊特征的不同系统版本。
      容错性以及恢复问题也被精确地解决。

  1. The Need for Abstraction

      众所周知,当模型验证其性质时,并发性和异步性很容易导致搜索空间的指数级 blowup 。由于交通灯设计的本质,交通灯设计模型也具有这个模型挑战,但是作者已经解决。对于系统模拟,搜索空间的指数级 blowup 不算问题,真正的问题是许多交错和中间状态。
      虽然解决了上述提出的问题,但是也意味着会牺牲一些好的设计方面,同时也会使得设计可重用性降低,增大模型与现实部署的 gap 。
      设计的关键技术就是抽象。这就意味着,这个模型是尽可能抽象的,但是所有相关的特征都是有的。
      作者建模了系统所有的相关属性。未建模的唯一属性是性能评估所涉及的属性,这些属性与安全性无关,并且不排除对活性更抽象的分析。
      在 Real-Time Maude 中为了模拟和评估 performance 建造更详细的模型是比较容易的,但是通过模型检测进行直接地形式化验证是 unfeasible 的。当然,通过非直接地证明也是可以证明所建模型的正确性。

  1. 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
  1. 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
  1. 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
  1. Defining Initial States
  2. Model Checking
Conclusions

      作者描述了一个高 decentralized 的 Real-Time Maude 和一个交通十字路口的模块参数化模型。在这个实例化的模型中,自动化设备是通过异步信息进行通信的。所有在 NAOMI 需求文档中出现的非形式化安全需求和活性需求也都被形式化地验证。 NAOMI 需求文档中一些重要的不一致也被当作建模和形式化验证的一种验证结果。
      该篇论文所做的工作展示了如何将形式化验证应用到实时嵌入式系统的多重建模环境软件中。在设计阶段也可以使用形式化验证,因为修复设计错误比修复编码错误所花费的成本更高。特别地,作者的建模和形式化分析也获得了一个完全符合需求安全性质的验证模型以及统一化了在需求文档中重要的不一致性。

总结:
  • 了解了如何针对实时嵌入式系统进行形式化地建模以及性质的验证
  • 学习了在 Maude 中如何对连续时间域进行形式化建模
根据原作 https://pan.quark.cn/s/459657bcfd45 的源码改编 Classic-ML-Methods-Algo 引言 建立这个项目,是为了梳理和总结传统机器学习(Machine Learning)方法(methods)或者算法(algo),和各位同仁相互学习交流. 现在的深度学习本质上来自于传统的神经网络模型,很大程度上是传统机器学习的延续,同时也在不少时候需要结合传统方法来实现. 任何机器学习方法基本的流程结构都是通用的;使用的评价方法也基本通用;使用的一些数学知识也是通用的. 本文在梳理传统机器学习方法算法的同时也会顺便补充这些流程,数学上的知识以供参考. 机器学习 机器学习是人工智能(Artificial Intelligence)的一个分支,也是实现人工智能最重要的手段.区别于传统的基于规则(rule-based)的算法,机器学习可以从数据中获取知识,从而实现规定的任务[Ian Goodfellow and Yoshua Bengio and Aaron Courville的Deep Learning].这些知识可以分为四种: 总结(summarization) 预测(prediction) 估计(estimation) 假想验证(hypothesis testing) 机器学习主要关心的是预测[Varian在Big Data : New Tricks for Econometrics],预测的可以是连续性的输出变量,分类,聚类或者物品之间的有趣关联. 机器学习分类 根据数据配置(setting,是否有标签,可以是连续的也可以是离散的)和任务目标,我们可以将机器学习方法分为四种: 无监督(unsupervised) 训练数据没有给定...
关于使用面向方面Petri网进行情感分析系统建模验证的中文资料,目前网络上可能并未广泛提供《Modeling and Verification of a Sentiment Analysis System Using Aspect-Oriented Petri Nets》的直接中文翻译版本[^1]。然而,可以尝试通过以下几种方式获取相关资源: 1. **学术数据库**:访问知名的学术数据库如CNKI(中国知网)、万方数据、维普等,搜索关键词“面向方面Petri网”和“情感分析系统建模”,可能会找到相关的研究论文或技术报告[^2]。 2. **Google Scholar**:利用Google Scholar搜索引擎,输入英文标题并结合关键词“Chinese translation”或“中文版”,有时能找到已被翻译的文献或相关研究[^3]。 3. **图书馆服务**:许多大学图书馆提供文献传递服务,可以申请获取特定文献的中文翻译版本。如果目标文献为外文,部分图书馆还支持委托翻译服务[^4]。 4. **在线论坛与社区**:一些专业论坛如ResearchGate或学术交流群组中,可能会有研究人员分享已翻译的文献或提供翻译帮助[^5]。 ### 示例代码:通过Python实现简单的PDF下载功能 以下是一个简单的Python脚本示例,用于从指定URL下载PDF文件: ```python import requests def download_pdf(url, filename): response = requests.get(url) if response.status_code == 200: with open(filename, 'wb') as f: f.write(response.content) print(f"PDF downloaded successfully as {filename}") else: print("Failed to download PDF") # 使用示例 url = "https://example.com/path/to/your/pdf" # 替换为目标PDF的实际链接 filename = "sentiment_analysis_paper.pdf" download_pdf(url, filename) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值