0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

XANDAR 旨在在安全关键型多核设计中生成代码

王彬 来源: zh咖啡不加糖 作者: zh咖啡不加糖 2022-07-20 10:33 次阅读

下一代联网嵌入式系统需要快速原型设计和高性能,同时保持可信赖性和安全性等关键品质。然而,安全关键嵌入式系统的部署受到复杂的软件工具链和工程流程的影响。此外,依赖机器学习 (ML) 和人工智能 (AI) 应用程序以及故障操作要求的自主系统的当前趋势使这些新系统的验证和验证成为一项具有挑战性的工作。

为了解决这个问题,一个名为 XANDAR 的为期三年的欧盟资助项目旨在提供一个成熟的软件工具链(从需求捕获到目标上的实际代码集成,包括验证和确认),以满足对可互操作和自主嵌入式系统的快速原型设计的需求.

从基于模型的系统架构开始,XANDAR 将利用新颖的自动模型合成和软件并行化技术来实现特定的非功能性需求,为新颖的实时、安全和安全构建(X-by -构造,或 XbC) 范式。

pYYBAGLO8d6AcKzkAAN5vpc-vQI767.png

从基于模型的系统架构开始,XANDAR 将利用新颖的自动模型合成和软件并行化技术来实现新颖的实时、安全和安全构建(X-by-Construction,或XbC)。(来源:卡尔斯鲁厄理工学院)

安全关键环境中的多核挑战

并行处理时代将多核架构推向主流,导致几乎所有应用领域都在使用多核架构。编程多核架构的最初挑战,主要与并行操作执行线程之间的同步和竞争条件有关,仍未完全解决。

尽管通过并行化编译器、并行语言、特殊语言结构以及软件开发人员习惯于新的编程范式的整体经验有所缓解,但在安全关键领域,多核尚未成功。在汽车或航空航天等环境中,验证和无错误操作证明是必不可少的,这与多核编程中增加的复杂性和新的错误来源相冲突。

在汽车或航空航天等环境中,验证和无错误操作证明是必不可少的,这与多核编程中增加的复杂性和新的错误来源相冲突。(来源:XANDAR 项目)

在这种情况下,基于模型的设计可能会提供答案并缩小当前多核架构编程与安全关键领域要求之间的差距。

在过去的几十年里,基于模型的控制功能设计受到了越来越多的关注,特别是在航空航天、汽车和加工行业,这些行业越来越多地利用嵌入式电子设备和软件。这种趋势的主要原因是可以从更高层次的角度管理开发过程,从而从系统的低层次设计中抽象出来,同时能够模拟系统行为和建模功能的代码生成。这会减少开发时间和成本。

虽然基于模型的设计越来越多地被用于早期系统规范、结构建模和设计空间探索,但关键嵌入式系统的最终软件实现通常仍然是手动开发的。

在最近的研究项目(如ARGO )中,已经开发了意识到隔离嵌入式系统的单一安全方面的端到端解决方案,该项目专注于 WCET(最坏情况执行时间)感知代码生成。近年来,还建立了针对电气/电子架构的基于模型的系统工程方法。他们将架构划分为多个抽象层和视点,以管理整个开发过程中的复杂性,从分析和设计到批量生产。其主要原因可以看作类似于基于模型的功能设计,但从架构和系统的角度来看。

每个领域的基于模型的开发通常是独立的运行过程,其中架构决策和信息需要在基于模型的功能设计工具中手动建模,反之亦然。尽管系统的各个方面(例如通信矩阵)存在交换格式,但导入/导出过程往往容易出错,从而导致架构和互补行为模型之间的不一致,特别是在考虑模型上的分布式和并发协作时。

现有方法和研究使用简单的有限状态机行为描述修改架构模型,并处理生成可执行架构规范以进行基于仿真的验证。然而,这需要进一步发展成一种整体方法,使用单一源元模型在集成开发环境中捕获所有设计和验证步骤。

这尤其包括分布式网络嵌入式系统的架构建模、其详细的集成行为建模、其合成为跨层仿真模型以及必要的验证步骤和后续代码生成。

XANDAR 着手实现这样一种整体方法,其中代码生成器提供所需的 X-by-construction (XbC) 保证并保留输入模型的相关非功能属性。XANDAR 将通过提供与平台无关的代码生成支持,包括为关键服务生成监控可运行文件以及用于 AI 和 ML 应用程序的非确定性加速器,从而在该领域引入新的创新。

解决这些挑战需要新概念、自动决策算法、正式检查和程序优化,不仅要提高性能和能源效率,还要确保非功能性保证。整个过程需要在实时性能、能源效率、非功能性保证和运行时的灵活性之间进行权衡。协同优化所有这些方面的高质量代码生成器和转换需要新的专业解决方案。

XANDAR 联盟合作伙伴

pYYBAGLO8fCAXLQDAAI2Sds5Py4972.png

XANDAR 是一个在 Horizon 2020 框架下由欧盟资助的项目,由卡尔斯鲁厄理工学院的 Jürgen Becker 教授领导的八个财团合作伙伴组成。(来源:fenISS)

XANDAR 项目是一项为期三年的计划,于 2023 年 12 月结束,由欧盟在 Horizon 2020 框架下提供 500 万欧元的资金。由卡尔斯鲁厄理工学院的 Jürgen Becker 教授领导的工业界和学术界联盟的合作伙伴是:

卡尔斯鲁厄理工学院(德国)

伯罗奔尼撒大学(希腊)

德国航空航天中心

AVN创新技术解决方案有限公司(塞浦路斯)

Vector Informatik GmbH(德国)

贝尔法斯特女王大学(北爱尔兰)

宝马集团(德国)

fenISS(西班牙)

Vector 是 XANDAR 联盟的八个合作伙伴之一。该公司基于其作为嵌入式软件专家的专业知识以及其高性能开发环境 PREEvision 和 TA 工具套件,正在为实现该项目的宏伟目标做出贡献


Vector 正在协助构建 XANDAR 框架,以利用其嵌入式软件能力和技术进行自主系统的 XbC 设计。(来源:矢量)。

在这里,PREEvision 可以协作指定连接的嵌入式系统,并且基于模型,并具有集成所有系统级别的明确语义。TA Tool Suite 可用于指定、模拟和验证复杂实时系统的时间行为。这两个环境为设置 X-by-Construction 设计框架提供了基础。

审核编辑 黄昊宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    5059

    文章

    18972

    浏览量

    301920
  • 代码
    +关注

    关注

    30

    文章

    4721

    浏览量

    68216
收藏 人收藏

    评论

    相关推荐

    如何自动生成verilog代码

    介绍几种自动生成verilog代码的方法。
    的头像 发表于 11-05 11:45 141次阅读
    如何自动<b class='flag-5'>生成</b>verilog<b class='flag-5'>代码</b>

    如何在TI-NA里的信号编辑器中生成自己的激励波形?

    大家好,请问如何在TI-NA里的信号编辑器中生成自己的激励波形,比如:产生上升沿5ns、下降沿5ns、脉冲宽度12ns的单脉冲激励信号!
    发表于 09-13 07:19

    更深入地了解汽车与航空电子等安全关键应用的IP核考量因素

    中国已经连续十多年成为全球第一大汽车生产国和消费市场,同时越来越多的制造商正在考虑进入无人机和飞行汽车等低空设备,而所有的这些产品都需要先进芯片的支撑,同时这些芯片又都是安全关键芯片
    的头像 发表于 07-09 16:22 257次阅读
    更深入地了解汽车与航空电子等<b class='flag-5'>安全</b><b class='flag-5'>关键</b><b class='flag-5'>型</b>应用的IP核考量因素

    黑芝麻智能代码生成工具荣获DEKRA德凯ISO 26262:2018 ASIL D功能安全认证

    DEKRA德凯近日在成都隆重授予黑芝麻智能代码生成工具ISO 26262:2018 ASIL D功能安全产品认证证书。
    的头像 发表于 05-30 14:17 303次阅读
    黑芝麻智能<b class='flag-5'>代码</b><b class='flag-5'>生成</b>工具荣获DEKRA德凯ISO 26262:2018 ASIL D功能<b class='flag-5'>安全</b>认证

    黑芝麻智能代码生成工具喜获DEKRA德凯ASIL D功能安全产品认证

    黑芝麻智能瀚海自动驾驶中间件中的代码生成工具荣获ASIL D功能安全产品认证。
    的头像 发表于 05-29 15:07 395次阅读
    黑芝麻智能<b class='flag-5'>代码</b><b class='flag-5'>生成</b>工具喜获DEKRA德凯ASIL D功能<b class='flag-5'>安全</b>产品认证

    在GHDS中生成Sprite顺序,程序无法正常运行是怎么回事?

    你好:我有一个关于在GHDS中生成Sprite顺序的问题,当我在GHDS中建立多个Sprite,其中包括单个符号片、通过刷新图片的几组数据,和背景图片,它们是否需要一次性的按照顺序建立好。 问题背景
    发表于 02-22 07:23

    求助,在TASKING软件里如何建立多核工程并能实现3个核运行?

    论坛里看到有基于BaseFramework框架的多核工程,但是怎么在TASKING里直接创建工程?我在TASKING里新建多核工程,并通过SoftwarePlatform插件代码生成
    发表于 02-05 09:09

    如何将共享代码映射到DSPR5以及将其映射到其他RAM区域?

    你好, 我正在开发一个 Erika 多核项目,该项目旨在在装有 TASKING v6.2r2 编译器的 TC397XE 处理器上执行。 目前,我专注于前 4 个内核,我的应用程序设计为在 RAM 中
    发表于 01-24 07:26

    求助!!!!LABVIEW2017 在win10系统中生成的exe 波形图控件属性为英文

    LABVIEW2017 在win10系统中生成的exe 运行时候界面上菜单栏以及波形图自带的修改属性为英文 大佬们 这种情况要怎么解决?
    发表于 01-22 13:57

    SCADE—产品级安全关键系统的MBD开发套件

    安全关键零部件的嵌入式产品级软件提供了SCADE开发套件,支持嵌入式软件详细设计和代码自动生成,有效缩短产品研制周期,提高产品研制效率,提高产品质量。
    的头像 发表于 01-05 14:12 542次阅读
    SCADE—产品级<b class='flag-5'>安全</b><b class='flag-5'>关键</b>系统的MBD开发套件

    keil如何生成bin文件

    Keil是一种集成开发环境(IDE),专为ARM架构的嵌入式系统开发而设计。在Keil中生成bin文件是将代码编译并转换为可执行文件的过程。本文将详细介绍Keil生成bin文件的步骤和相关内容,包括
    的头像 发表于 12-15 13:43 1.1w次阅读

    用EE-355的文档中的代码给连接在21489上的串行FLASH烧写程序,DSP没有BOOT起来是为什么?

    我现在在用EE-355的文档中的代码给连接在21489上的串行FLASH烧写程序,我可以判断,烧写是成功的,但是,DSP却没有BOOT起来,主要问题我觉得是这样的。 EE-355 文档程序中说明
    发表于 11-30 07:29

    代码生成:基于 AI 大模型的挑战与前景

    使用AI通用模型来完成代码生成这类非常具体的任务可能会带来问题。人工智能生成代码就像是陌生人的代码,它们可能并不符合你的
    的头像 发表于 11-26 08:05 707次阅读
    <b class='flag-5'>代码</b><b class='flag-5'>生成</b>:基于 AI 大模型的挑战与前景

    从HumanEval到CoderEval: 你的代码生成模型真的work吗?

    本文主要介绍了一个名为CoderEval的代码生成大模型评估基准,并对三个代码生成模型(CodeGen、PanGu-Coder和ChatGPT)在该基准上的表现进行了评估和比较。研究人
    的头像 发表于 11-25 15:55 1535次阅读
    从HumanEval到CoderEval: 你的<b class='flag-5'>代码</b><b class='flag-5'>生成</b>模型真的work吗?

    simulink自动生成ROS代码

    当我们用simulink完成控制程序的搭建后,我们期望下一次可以直接对ROS进行控制,而不是每次都需要启动matlab和simulink,因此我们可以使用simulink的代码生成器,生成ROS
    的头像 发表于 11-15 17:53 781次阅读
    simulink自动<b class='flag-5'>生成</b>ROS<b class='flag-5'>代码</b>