Albert Benveniste 等人在2002年叙述了同步语言自1991年提出后,到2002年12年间的发展。这里将描述Albert对同步语言在工业界在1991 - 2002期间的商业化历程。更多内容,可参考《The Synchronous Languages 12 Years Later》。
过去的12年见证了同步语言在工业上的多次成功应用。在这里,将描述其中的一些过程。
将工具推向市场
INRIA/CMA Gerard Berry 组所开发的 Esterel 编译器长期以来一直以二进制形式免费分发。Esterel 的商业版本最初是由 Simulog 公司于1998年开始进行市场化推广。1999年,该部门被分拆出来,成立了独立的公司 Esterel Technologies。Esterel Technologies 之后收购了Scade开发环境,以结合两种互补的同步方法。
在90年代初,Signal 被授权给了软件公司 TNI 。基于这个许可,TNI 于1993年开发并推出了 Sildex 工具。之后该工具发布了若干个版本,近期(2002)是Sildex-V6。Sildex支持层次化数据流图和状态图,并提供了集成的图形用户界面,允许从 Matlab 导入 Simulink 和 Stateflow 离散时间模型。此外,还支持全局异步局部同步(GALS)建模。该工具中,模型检查是一个内置服务。插件包RTBuilder专门用于实时性和时序性质评估。TNI 最近与 Valiosys 合并,后者是一家从事验证技术的公司,以及 Arexys,一家开发片上系统(SoC)设计工具的公司。他们共同提供嵌入式系统设计工具。
与空客和施耐德电气的合作
Lustre 的用户一直在推动该技术的商业化。在20世纪80年代,两项大型安全关键软件的工业项目各自独立地启动:
- N4系列核电站。
- 空客A320(第一架商用电传控制飞机)。
因此,两家公司,Aerospatiale(空客前身)和 Merlin-Gerin(施耐德电气前身)面临着设计高安全关键软件的挑战,在调研现有工具后,未发现合适的选择。两家各自都决定自行开发工具:Aerospatiale 研发了 SAO ,施耐德电气研发了 SAGA。这两个商用工具采用的技术都基于同步数据流形式。由于施耐德电气与 Lustre 研究组之间的持续合作,SAGA 使用了 Lustre。在成功使用这些工具几年后,两家公司面临着维护和改进工具的问题。之后,Verilog 公司承担了开发 SAGA 商业版本的任务,该版本还纳入了 SAO 的功能。这就是 Scade 开发环境。Scade 提供了: - 处理图形和文本描述的编辑器。
- 提供两项代码生成器,其中一项是已被认证机构认可,可用于需要经过验证的软件的研发。
- 仿真器。
- 与验证工具(如模型检查工具Prover插件)的接口。
2001年后,进行了进一步的融合:Esterel Technologies收购了Scade业务部门。
Scade已被应用于许多工业项目中,包括新的法国核电站的集成核保护系统(施耐德电气)、空客 A340-600 飞行控制软件组成部分,以及重新设计的香港地铁列车控制系统。
此外还有与 Dassault 航空及 TI 的合作。详细内容,可参考《The Synchronous Languages 12 Years Later》
。
关键字:SCADE Suite, ANSYS SCADE, MBSE, 同步语言,Lustre,高安全嵌入式软件