ASCET-DEVELOPER – 基于模型的嵌入式系统设计和自动c代码生成

ASCET-DEVELOPER IDE(集成开发环境)可显示图形和文本模型、模型浏览器和表格编辑器,实现高效工作。

借助ASCET-DEVELOPER,软件工程师能够构建高性能、安全、可靠、低开销且易于维护的嵌入式软件。其高度自动化可实现高效安全的工作。ASCET-DEVELOPER专门设计用于大批量工程软件设计,符合工业和安全标准,并以低成本提供不同版本。

ASCET-DEVELOPER模型使用嵌入式软件开发语言(ESDL)和文本或图形编辑器。

经使用验证

ASCET-DEVELOPER的代码生成技术已经在大批量生产项目中使用了20多年,并且已经为4.5亿个ECU提供动力。生成的代码满足安全、安全性和便携性方面的最高标准。

ASCET-DEVELOPER中编程的控制应用实例包括底盘控制(如ABS/ESP)、经典和电动动力系统、高速列车的制动控制、变速箱控制和驾驶员辅助系统。

ASCET-DEVELOPER支持既定的行业标准,如MISRA、OSEK、ASAM、AUTOSAR和FMI。

适用于安全关键型软件开发

您可使用ASCET-DEVELOPER开发符合所有重要安全标准的软件。

  • ISO26262 ASIL-D和IEC61508-SIL3 TÜV认证代码生成
  • 符合MISRA-C:2012
  • 通过自动插入防御性代码消除数值问题

关键特性

建模

ASCET-DEVELOPER允许您轻松地结合使用文本和图形,以满足您的编程需求。有不同的可能性对您的逻辑进行建模,使您能够以您喜欢的方式高效地工作。因此,有四种规范供您选择:

  • 使用方框图的图形规范
  • 使用状态机编辑器的图形规范
  • 使用ESDL编辑器的文本规范
  • 使用C代码编辑器的文本规范

此外,ASCET-DEVELOPER还具有改进模型和代码质量并提高效率的其他特性:

  • 动态静态分析,即时反馈建模错误或违规行为
  • 通过综合质量指标创建可维护模型

ASCET-DEVELOPER语义模型被保存在ESDL中。这提供了以下优势:

  • 作为结构概念,类提供了基于对象的封装和系统重用。
  • 为了系统地捕获物理范围并对其进行量化和重用,你可以创建抽象类型。
  • 清楚地显示出功能关联性,因此易于审查。
  • 不同版本之间很容易相互比较
  • 类型安全性

方框图编辑器

  • 方框图编辑器使数据和控制流的建模和可视化变得容易

 

  • 通过明确的计算顺序完全确定执行顺序

状态机编辑器

  • 基于有限状态机符号编程和可视化决策逻辑

 

  • 动作和条件可以直接编写为ESDL或封装在方框图编辑器中编程的单独方法中

ESDL编辑器

  • ESDL编辑器可用于基于文本的规范,具有内容辅助和语法高亮功能。

 

  • 使用熟悉的面向对象的编程结构,简单易学,专为安全关键型嵌入式软件设计。

实时验证

  • 动态模型验证早期发现错误

 

  • 问题在编辑器中以覆盖形式报告,并在问题视图中进行分组

 

  • 智能快速修复帮助用户自动找到正确的解决方案

质量指标

  • 在内置质量指标的帮助下,减少技术债务并编写更好的可维护代码

 

  • 选择适合您过程的指标,并设置自定义阈值

验证

根据不同的开发周期阶段,ASCET-DEVELOPER为有效和全面地测试模型提供了不同的可能性:

  • 通过分离模型和表征属性,让测试变得更简单:首先关注物理行为,然后在以后的过程中对更多特定于目标的约束进行测试
  • 内置单元测试框架
  • 使用ETAS实验环境的开环PC模拟
  • 测试执行中的模型覆盖和分析,包括语句、分支、状态、转换和修改的条件决策(MC/DC)覆盖率
  • ASCET-DEVELOPER模型可以与支持FMI标准的外部工具中的模型一起模拟。通过FMU导出或在MATLAB/Simulink中通过函数传输进行连接。
  • 使用ETAS原型解决方案在实时硬件上进行功能原型设计,可在试验台或车辆上进行早期、真实的验证。
  • ASCET-DEVELOPER基于自己的平台可以采用第三方工具TPT进行模型系统测试。

单元测试

  • 使用ESDL单元测试框架对软件单元进行系统测试

 

  • 使用ESDL测试类来测试独立的软件单元,并在执行后可视化结果

 

PC模拟

  • 通过PC模拟以及实时测量和校准数据进行早期设计验证

 

  • 包含信号发生器、数据记录器和小部件的复杂实验环境

测试覆盖率

  • 运行PC模拟或单元测试执行的交互式测试覆盖率

 

  • 覆盖率视图总结了所有正在执行的软件单元的测试覆盖率

 

  • 在文本或图形编辑器中可视化覆盖范围,以查看模型的哪些部分已经过测试

自动代码生成

手动编写代码需要额外的工作来防止运行时错误,并使其符合标准和编码准则。有了ASCET-DEVELOPER,你只需要专注于解决问题,其余的都由代码生成器来完成。它具有以下特点:

  • 符合MISRA标准的高质量生产C代码。
  • 对用户来说,代码的可读性很强
  • 可追溯到您的ASCET-DEVELOPER模型
  • 自动插入防御性代码。例子包括:被零除保护、基于类型属性的饱和限制以及数组类型的索引溢出保护。
  • 定点代码生成
  • 通过将ASCET-DEVELOPER模型映射到AUTOSAR结构来生成AUTOSAR代码。
  • 快速重用现有的ASCET-DEVELOPER模型,并通过自定义选项为不同目标生成代码
    • 自定义回调到设备特定的算术、插值或服务库。
    • 编译器的内存指令
    • 可在编译或生成时解析的条件代码和数据结构。
    • 大量资源和运行时性能的优化策略。

 

工具链集成

ASCET-DEVELOPER提供了各种接口和标准化的文件交换格式,使您可以轻松地将工具集成到您的开发过程和工具链中。以下功能有助于集成:

  • ASCET-DEVELOPER构建在eclipse平台上。这允许在同一个IDE中无缝集成流程工具。
    • 通过本机eclipse插件连接到JIRA、Bitbucket、Git、SVN、ibmrtc
    • 安装在不同厂商如STM、ARM提供的现有eclipse嵌入式工作台内
    • 为多个目标建模和生成代码,在同一个IDE中构建并调试
  • 需求可追溯性和Yakindu可追溯性允许将过程工件链接到ASCET-DEVELOPER模型(例如需求管理的DOORS)。
  • 从ASCET模型中生成额外的过程工件,如A2L、ARXML、MDX。
  • 通过附带的ASCET SDK对您的过程进行扩展(例如,将您自己的过程编码插入ASCET静态分析引擎中)。
  • 工作台自动化实现持续集成