Lustre v6 介绍 注意到,在 JL Colaco 介绍 Scade 6 时提到,Scade 6 相比 Lustre 的重要不同之一在于引入 merge 替代 lustre 中的 current[3]。Lustre v6 中对 merge 概念的支持,在时钟流的处理能力上接近了 Scade 6。Lustre v6 是 Lustre v4 的后继版本,最近的语言手册为 20年发布的 “The Lustre V6 Reference Manual”。
Velus: 使用定理证明技术实现的可信Lustre编译器 Velus[1] 是由 Inria PARKAS 于2020年发起,旨在使用 Coq 证明辅助技术对类似 Lustre 与 Scade 同步数据流语言(注1)的语义提供具备形式化证明的实现。近年该项目主要由 Basile Pesin 推动该项目[2]。注1: 虽然 Velus 项目没有注明提到的 Lustre 与 Scade 的实现版本,但由于 Lustre v6 于2020年发布、Scade 6 于2008年发布,因此认为 Velus 愿景中参考的语言为 Lustre v6 与 Scade 6。
ANTLR4 与 flex/bision、lex/yacc 的比较 ANTLR 是1992年起开始发布的lexer/parser 生成器,目前的新版本为 ANTLR4。ANTLR4 支持的目标语言有 Cpp, CSharp, Dart, Java, JavaScript, PHP, Python3, Swift, TypeScript, Go 等[4]。Bison 支持的输出语言除了 C 之外,还支持 C++、D、Java[3]。ANTLR4、flex/bison、lex/yacc 都是可根据形式化文法生成程序语言分词器(lexer)与解析器(parser)的工具。
图形化 Lustre 代码生成器 - 北京广利核 ACG 1]: Lustre 代码生成器 - 中国核动力研究设计院(核动力院)NASCG 实现, https://zhuanlan.zhihu.com/p/697149941。ACG 的输出为 Clight 代码。国内与 Lustre 编译器相关的工作,在核电行业,除了核动力院的 NASCG[1] 外,还有北京广利核的 ACG Lustre 代码生成器。的引用没有找到依据,可能是作者自己对图形化标记法表达的 Lustre 语法的命名。ACG 代码生成器的输入为图形化标记法表示的 Lustre 语言,其被命名为。
同步假设 - 同步方法对实时控制系统的抽象 信号 (Signal)- 用于通信完美采样 (Perfect sampling) - 信号元组逻辑时间 (Logical time) - 瞬时性零延迟 (Zero-delay) - 内部操作瞬时完成信息广播瞬时性 (Instantaneous broadcasting)在不同的同步假设叙述中,可能会使用不同的术语,但传达的概念是一致的。更多内容,可参考。关键字:同步假设,同步语言,Lustre,Scade,高安全嵌入式软件。
同步语言(如SCADE)在工业界的商业化过程 (1991 - 2002) Albert Benveniste 等人在2002年叙述了同步语言自1991年提出后,到2002年12年间的发展。这里将描述Albert对同步语言在工业界在1991 - 2002期间的商业化历程。更多内容,可参考《The Synchronous Languages 12 Years Later》。过去的12年见证了同步语言在工业上的多次成功应用。在这里,将描述其中的一些过程。
支撑 SCADE 同步方法论的四项核心技术 接下来将描述专用于航空电子、铁路、汽车、和工业应用的基于模型的嵌入式软件设计、验证和实现的 SCADE 同步方法和工具集。由于规约是可执行的,因此可以在将规约对应的实现嵌入具体实现之前,对规约进行透彻的模拟和验证。其中会进一步讨论同步方法对嵌入式控制系统中并发与确定性的计算模型抽象、Scade 图形化形式、形式化的同步语义(SCADE 5)、使用SCADE 进行软件研发过程中的设计与验证流程等讨论。功能验证只需要在块图级别进行,因为由经过认证的 KCG 编译器生成的可嵌入的 C 代码能被确保是正确的。
SCADE Suite 开发环境介绍 SCADE Suite 中的"SCADE"为"安全关键应用开发环境"的缩写。需说明的是,在时效性方面,下面的描述反映的是发展至2010年左右的情况。更详细的内容,可参考《Formal Methods - Industrial Use from Model to the Code》(ISBN 978-1-84821-362-3)。SCADE 开发环境提供了基于 SCADE 建模语言的工具集,覆盖了软件应用研发活动中的设计、编码与验证阶段工作。
Scade 6 - 面向高安全嵌入式软件研发的形式化语言 SCADE 提供了面向高安全嵌入式控制软件的高级语言和开发环境。在过去逾20年里,被应用于航空、核能、铁路、汽车等行业。SCADE 技术最初基于 Capsi 与 Halbwachs 所设计的同步数据流语言 Lustre。在 SCADE 发展初期,其主要被当作是 Lustre 的图形化标记法,并搭配了能应用于安全关键应用研发的代码生成器。在2008年,基于新语言Scade 6的 SCADE 主要改版发布。
SCADE Suite 开发环境的起源 SCADE Suite 中的"SCADE"为"安全关键应用开发环境"的缩写。需说明的是,在时效性方面,下面的描述反映的是发展至2010年左右的情况。更详细的内容,可参考《Formal Methods - Industrial Use from Model to the Code》(ISBN 978-1-84821-362-3)。
经验报告 - SCADE Suite 6 KCG 经历 DO-178B 认证过程中进行的活动 目前的经验显示出,OCaml可以显著缩小工程工具的规范和实现之间的距离,更好地追踪工具输入语言的形式化描述与其编译器实现之间的关系。该编译器基于当时用程序语言 Eiffel的变种(LOVE)编写的代码生成器(ECMA 2005)所开发,当时出于避免被认证机构拒绝的缘故,因此用 C 语言重新编实现了该编译器。已被纳入航空器的全周期认证流程中。目前在与关键软件有关的其他工业领域(医疗行业的 FDA Class III、铁路应用的 EN 50128、汽车行业的 IEC 61508 等)也有相应的认证程序。
Lustre 代码生成器 - 中国核动力研究设计院(核动力院)NASCG 实现 由于使同步语言在产业界取得最大成功的 SCADE Suite 产品中,同步语言编译器被命名为“代码生成器”(KCG, qualified code generator),因此,Lustre 编译器在命名上也被称为 Lustre 代码生成器。安全关键应用开发环境套件(SCADE Suite)背后的技术基础,在历史发展上,也受 Lustre 语言很深的影响。NASCG 在实现技术选择上,由于其特色为在语义分析中采用定理证明形式化技术(Coq),因此,采用了 OCaml 作为实现的编程语言。
Firefly RK3399 开发板烧录镜像时出现“Download Boot Failed“的解决方案 在使用FireflyRK3399开发板过程中,曾经出现过如下场景:1)使用rockchiplinuxuboot编译uboot.img,trust.img,并使用AndroidToolv2.65更新uboot.img,trust.img。替换后,系统正常启动。2)对uboot源代码进行修改,再次编译uboot,将生成的uboot.img,trust.img试图更新原来的uboot,结果更新失败。3)在系统进入"MaskROM"模式后,AndroidToolv2...
How I Became a Better Programmer URL: https://jlongster.com/How-I-Became-Better-ProgrammerMarch 20, 2017JAMES LONGSeveral people at React Conf asked me for advice on becoming a better programmer. For some reason, people see me a...
RS232, RS422, RS485 引脚布局区别 RS232, RS422, RS485在接线接口方面都使用DB9 9针接口,但各引脚的含义不同。各接口的引脚区别如下表描述。Pin Mode RS232 RS422 RS485 1 DCD DCD+ - 2 RXD RX+ - 3 TXD TX+ D+ 4 ...
windows命令行启动常用工具 在windows命令行(ctrl + r) 中输入关键字启动若干工具,能提升windows使用效率。不少工具其实是 C:\Windows\System32 下的工具。下面列出一些常用关键字taskmgr : 任务管理器eventvwr :事件查看器devmgmt.msc : 设备管理器SystemPropertiesAdvanced : 环境变量编辑界面control:控制面板界面...
构建嵌入式版本的 ACE TAO 6.5.3 introduction之前曾在ubuntu 18.04中构建嵌入式版本的ACE TAO 6.5.3. 在之后使用过程中发现, 当升级系统工具链后, ACE TAO 库不兼容本地环境的系统库.具体表现形式为ACE TAO中示例程序执行时将出现segment fault. 经过在本地重新构建ACE TAO 6.5.3得出新的ACE TAO动态链接库,才能使ACE TAO示例程序正常使用.本文描述...