首页国防军工基于模型的软件设计和代码自动生成工具

方案概述

基于模型的软件设计和代码自动生成工具解决方案

基于模型的软件设计和代码自动生成工具支持对控制系统软件及显示系统软件的建模,支持高安全嵌入式软件的设计以及代码生成,主要功能包括:

1.控制系统软件详细设计:

支持数据流、控制流、状态机等建模能力,用于满足高安全软件设计要求。

2.显示系统软件详细设计:

支持通用显示画面设计,图符接口、逻辑与显示交互接口,用于设计传统显示系统架构下的显示软件。

3.支持控制软件模型和显示软件模型联合设计及联合仿真。

4.支持从控制系统软件模型和显示系统模型生成产品级代码。

方案特点

01

基于模型的软件设计和代码自动生成工具提供基于模型的控制软件及显示系统软件建模,提供图形化的建模方式。基于形式化同步语言,具备严谨的数学基础,可从根本上保证软件模型具备精确性、一致性、可验证性、无二义性,以及模型行为的确定性,非常适合高安全性关键领域的嵌入式系统软件研制开发。

 

基于模型可自动生成产品级C代码或Ada代码,并能保证代码和模型的一致性,生成的代码具有以下特点:

  • 与硬件平台无关,可移植性好,兼容 ISO-C 标准
  • 代码反映数据流模型架构,可追溯到对应的模型
  • 代码可读性好,生成的 C 代码符合 MISRA C 的规范
  • 内存分配完全静态,没有动态内存分配
  • 没有指针运算,没有递归
  • 所有变量都被初始化
  • 所有的循环边界都是确定的
  • 所有的数组边界都是确定的
  • 最长执行时间都是确定的

 

且代码生成器通过了 DO-178C/DO-330 TQL-1、IEC 61508 SIL3、EN 50128 SIL 3/4、ISO 26262 ASIL D 等标准相应安全等级的鉴定,代码生成器节省了编码阶段诸如代码审查和代码的低层验证的工作,缩短了认证和修改的时间和工作量。

 

行业应用

目前基于模型的软件设计和代码自动生成工具,已经广泛应用于航空、航天、汽车、轨道交通、核电等高安全性领域,为提高产品的研制效率、缩短研制周期,提高产品质量提供了有效的手段。

应用案例

案例概况

采用基于模型的软件设计和代码自动生成工具进行了雷达系统的数据处理逻辑建模、人机界面程序等开发,并利用相关测试工具和优化工具进行了基于模型的测试和优化,使开发更加直观,更加高效,大量的缺陷能在前期发现,更加容易模块化的设计,代码更加安全且风格统一。

项目挑战

当前在航空航天、轨道、汽车电子等领域,随着飞控、导航、通讯以及显式等系统所需要承载的任务日益强大,其所包含的子系统的功能以及各个子系统之间的交互关系势必越来越复杂,从而对系统及其所包含软硬件的要求也是越来越高,尤其是各个厂家在可获得同等硬件资源的条件下,软件通常起着决定性的角色,能够快速的开发出运行正确、安全可靠以及易于维护的软件是研制单位产品开发成败的关键。传统的基于文档的系统及其软件开发方法越来越暴露出弊端,诸如需求定义不清晰容易引起二义性、大量手写代码容易引入人为错误、设计错误往往在开发完成集成测试时才能发现,这些都会极大的影响产品的质量,提高产品的开发成本。

用户价值

通过使用基于模型的软件设计和代码自动生成工具提供图形化的建模方式,基于形式化同步语言,可从根本上保证软件模型具备精确性、一致性、可验证性、无二义性,以及模型行为的确定性,在设计阶段引入模型仿真能及时的发现需求及设计错误,自动生成符合ISO C标准的嵌入式源代码;生成的代码可以直接嵌入到产品中不需要做任何的修改,极大的减少软件工程师繁重的编码工作及人为引入的错误,提高研制效率以及软件的质量,减轻代码验证的工作量以及认证成本。