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

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

3天内不再提示

基于模型设计开发面向服务的应用(SOA)

MATLAB 来源:MATLAB 作者:MATLAB 2021-05-18 15:15 次阅读

前言

软件定义汽车时代车载软件爆炸式增长,向控制器中加入更多功能,或者向现有的电子电气架构中增加更多的控制器的增量式扩展路径都已经无法应对越来越复杂的系统集成和越来越高的硬件成本,我们必须重新思考电子电气和软件架构的新模式。

随着电子电气架构从分布到集中再到高性能高连接的发展,软件架构也经历了软硬件高度耦合到基于组件再到面向服务的演变。

面向服务的架构(SOA)给汽车行业带来了新的挑战:

1)SOA 对于汽车行业还是个新事物,开发人员是否需要从头开始学习包括中间件在内的新架构和方法论?

2)传统的软件架构平台和 SOA在一定时期内还将长期共存,是否需要不同的开发方式甚至人员组织来对应?

3)原有相关测试验证的知识经验、工作流程和软件资产是否还能重用?

面对上述问题,汽车行业的相关从业人员都会想知道:当前广泛采用的基于模型设计是否还能用于面向服务的应用开发?

我们的回答是肯定的。

Simulink 陆续推出的一系列功能支持 SOA 开发,包括但不限于:

1)在建模仿真能力增加了软件架构设计和面向服务的语义建模;

2)在自动化代码生成能力上拓展了对新的中间件平台标准以及 GPUFPGA 等新的硬件架构的代码生成支持;

3)在系统化测试验证能力上覆盖了从模型到代码、从测试到分析的完整功能安全软件验证要求。

案例演示

SOA 最核心的机制是面向服务的通讯(SOC),本文通过一个案例来展示 SOC 建模、集成测试、代码生成和部署标定,希望给大家一点启示。

1) 面向服务的通讯建模

传统的嵌入式控制中基本数据流是通过信号传递的,而 SOA 的基本数据流是消息。

信号涉及 writer 和 reader,只有最后被 writer 写入的数据才对 reader 有效;而消息涉及 sender 和 receiver,receiver 可以处理 sender 发送过来的历史数据。

Simulink 提供了消息的发送、接收、队列和时序等基本模块用于消息和事件机制的建模。

4c64cf5e-b4f2-11eb-bf61-12bb97331649.png

我们采用消息的收发模块来建立基本的 SOC 通讯,exServer 模型通过封装了消息发送基本模块的 Event Send 发送数据,而 exClient 模型通过封装了消息接收基本模块的 Event Receive 接收数据。

Event Send 和 Event Receive 位于 AUTOSAR Blockset 的模块库中。

4c771be6-b4f2-11eb-bf61-12bb97331649.png

4c86868a-b4f2-11eb-bf61-12bb97331649.png

2) 集成测试

在简单架构的集成时,可以直接采用模型引用的形式;对于复杂软件架构设计,可以采用 System Composer 的软件架构设计功能。

4c985856-b4f2-11eb-bf61-12bb97331649.png

exServer 的输出信号、转换为消息收发的数据和 exClient 接收到的消息转换之后的信号之间的对比,可以看到与信号对比消息有显著的“事件”特性。

4cb0409c-b4f2-11eb-bf61-12bb97331649.png

此外还可以采用时序图模块观测消息的收发对象、时序和数据关系。

4cd7626c-b4f2-11eb-bf61-12bb97331649.png

3) 代码生成

要生成面向服务的 C++ 代码需要选定中间件平台进行配置,这里以 Adaptive AUTOSAR 标准为例,在数据词典中定义服务接口端口、配置端口实例的标识号和服务发现机制。

4ce8f0b8-b4f2-11eb-bf61-12bb97331649.png

在 Simulink 模型中完成 Adaptive 对象与模型输入输出的映射。

4d35a336-b4f2-11eb-bf61-12bb97331649.png

在代码生成配置中选择 autosar_adaptive.tlc 系统目标文件;考虑到后续部署需要工具链选择 AUTOSAR Adaptive Linux Executable, 这样在生成代码的同时会生成用于 Linux 平台可执行文件编译的 CMakeLists 文件。

4d45e098-b4f2-11eb-bf61-12bb97331649.png

在生成的符合 Adaptive 通讯接口标准的 C++ 代码同时生成相关的清单文件。

4d907c20-b4f2-11eb-bf61-12bb97331649.png

4) 部署和标定

在 Linux 平台下采用 CMAKE 编译生成可执行文件即可进行部署,如果有标定需求可以采用XCP 协议。

案例中的可标定参数 mode 和 gain 都在 exServer 模型中,因此 exServer 在生成代码前需要进行额外的标定配置,这里的 mode 参数可以选择产生三角波信号或者正弦信号,gain 参数用于对信号进行缩放。

4de7bf4e-b4f2-11eb-bf61-12bb97331649.png

在配置中设置 XCP slave 的配置,包括传输层协议、可执行文件所在机器的 IP 地址和端口号,这样会同时生成用于标定的 XCP 协议代码。

4df15b44-b4f2-11eb-bf61-12bb97331649.png

生成代码后得到的 a2l 文件中没有实际的参数地址,需要在编译后输入可执行文件进行地址替换。

4dff594c-b4f2-11eb-bf61-12bb97331649.png

替换地址后的参数 mode 和 gain 在 a2l 文件中的信息如下:

4e473280-b4f2-11eb-bf61-12bb97331649.png

我们用 INCA 导入 a2l 文件进行观测和标定,下如两处红框分别是 mode 从 0 到 1 和 gain 从 1 到 2 标定修改时的信号变换。

4e52e2ba-b4f2-11eb-bf61-12bb97331649.png

总结

以上我们展示了采用基于模型设计开发面向服务应用的过程,软件架构设计、面向服务的语义建模、中间件标准支持、异构平台代码生成和人工智能算法引入等一系列能力使 Simulink 正逐渐支撑软件定义汽车时代的面向服务的应用开发,从软硬件耦合架构到基于组件开发再到面向服务的应用,让用户以算法为核心最大程度地重用原有的模型资产和开发流程。

4e733bfa-b4f2-11eb-bf61-12bb97331649.png

而行业用户已经非常熟悉的基于模型的功能安全测试验证流程也将继续助力面向服务的应用开发。

4eb0367c-b4f2-11eb-bf61-12bb97331649.png

责任编辑:lq

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

    关注

    28

    文章

    4663

    浏览量

    128541
  • 自动化
    +关注

    关注

    29

    文章

    5465

    浏览量

    78971
  • 模型设计
    +关注

    关注

    0

    文章

    10

    浏览量

    8194

原文标题:软件定义汽车 | 基于模型设计开发面向服务的应用(SOA)

文章出处:【微信号:MATLAB,微信公众号:MATLAB】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    9月26日云技术研讨会 | SOA整车EE架构开发流程及工具实施方案

    本次研讨会经纬恒润将结合业务团队多年来在SOA架构开发和工具实施领域的项目实践经验,分享探讨SOA趋势下先进的整车EE架构开发模式,聚焦在SOA
    的头像 发表于 09-19 17:09 218次阅读
    9月26日云技术研讨会 | <b class='flag-5'>SOA</b>整车EE架构<b class='flag-5'>开发</b>流程及工具实施方案

    秒送LBS场景下的C端SOA服务容灾建设之-数据备份篇

    前言 在面向服务的架构(SOA)系统中,容灾能力是保障系统稳定性的重要组成部分。通过引入 多数据中心部署、自动化故障转移、数据备份 等技术手段,可以有效提升系统在面对突发灾难事件时的恢复能力。例如
    的头像 发表于 08-15 14:24 252次阅读
    秒送LBS场景下的C端<b class='flag-5'>SOA</b><b class='flag-5'>服务</b>容灾建设之-数据备份篇

    SOA架构开发小助手PAVELINK.SOA-Converter V1.4.2新版本发布

    PAVELINK.SOA-Converter转换工具,用于衔接基于SOA的控制器设计、开发及测试过程中所常见的各类软件工具。PAVELINK.SOA-Converter能提供IDL及
    的头像 发表于 08-07 15:10 467次阅读
    <b class='flag-5'>SOA</b>架构<b class='flag-5'>开发</b>小助手PAVELINK.<b class='flag-5'>SOA</b>-Converter V1.4.2新版本发布

    鸿蒙开发Ability Kit程序框架服务:FA模型切换Stage模型概述

    本文介绍如何将一个FA模型开发的声明式范式应用切换到Stage模型
    的头像 发表于 06-26 14:40 299次阅读
    鸿蒙<b class='flag-5'>开发</b>Ability Kit程序框架<b class='flag-5'>服务</b>:FA<b class='flag-5'>模型</b>切换Stage<b class='flag-5'>模型</b>概述

    鸿蒙开发Ability Kit程序框架服务:FA模型访问Stage模型DataShareExtensionAbility

    无论FA模型还是Stage模型,数据读写功能都包含客户端和服务端两部分。
    的头像 发表于 06-25 14:30 347次阅读
    鸿蒙<b class='flag-5'>开发</b>Ability Kit程序框架<b class='flag-5'>服务</b>:FA<b class='flag-5'>模型</b>访问Stage<b class='flag-5'>模型</b>DataShareExtensionAbility

    PAVELINK.SOA-Converter-应用场景介绍#SOA #IDL转化 #汽车架构开发

    SOA
    北汇信息POLELINK
    发布于 :2024年04月29日 18:56:30

    中科创达全球首发面向中央计算的AI原生整车操作系统—滴水OS

    2024年4月26日,作为全球领先的智能操作系统及端侧智能产品和技术提供商,中科创达在北京国际车展上全球首发面向中央计算的AI原生整车操作系统——滴水OS,旨在赋能汽车产业拥抱AI大模型,加速推动汽车厂商的国际化战略落地。
    的头像 发表于 04-28 09:58 840次阅读

    SOA-Converter v1.3.2上线|新增Excel模板适配插件及ARXML合并功能

    PAVELINK.SOA-Converter转换工具,用于衔接基于SOA的控制器设计、开发及测试过程中所常见的各类软件工具。PAVELINK.SOA-Converter能提供IDL及
    的头像 发表于 04-18 08:25 288次阅读
    <b class='flag-5'>SOA</b>-Converter v1.3.2上线|新增Excel模板适配插件及ARXML合并功能

    汽车电子电气架构SOA如何实现?

    在车载环境中,SOME/IP基本解决了SOC,但SORS呢?SOS呢?仅有SOC的SOA是没有灵魂的,是不完整,也不可能实现SOA的目标,故而,若认为SOA=SOME/IP的话,你真的低估了S
    发表于 04-11 10:01 307次阅读
    汽车电子电气架构<b class='flag-5'>SOA</b>如何实现?

    汽车SOA功能模块与开发流程深度剖析

    SOA是从遵循服务导向原则的可重用服务中构建复杂软件系统的方法。SOA也是1个组件模型,它将应用程序的不同功能单元(称为
    发表于 04-07 10:13 757次阅读

    鸿蒙OS开发实例:【手撸服务卡片】

    服务卡片指导文档位于“**开发/应用模型/Stage模型开发指导/Stage模型应用组件**”路
    的头像 发表于 03-28 22:11 1096次阅读
    鸿蒙OS<b class='flag-5'>开发</b>实例:【手撸<b class='flag-5'>服务</b>卡片】

    如何理解IGBT的四种SOA

    如何理解IGBT的四种SOA? IGBT的四种SOA表示了IGBT器件在不同工作状态下的安全操作区域。这四种SOA是:Continuous SOA、Limited
    的头像 发表于 02-18 11:04 920次阅读

    将旧应用迁移到 SOA 面临的挑战

    基于信号和基于时间的通信:旧应用通常依赖组件之间基于信号或基于时间的通信。在 SOA 中,通信通常基于服务接口和交换消息。将旧应用的通信机制调整到面向服务的方法需要仔细考虑各个事项,甚
    的头像 发表于 12-18 10:26 376次阅读
    将旧应用迁移到 <b class='flag-5'>SOA</b> 面临的挑战

    将传统汽车应用迁移到面向软件定义汽车的SOA

    软件定义汽车 (SDV) 的特点是 AI、自主、连接和电气化。最近,汽车行业已开始采用“基于服务”的方法来设计 SDV 的现代应用。这种称为面向服务的架构 (SOA) 的方法为
    的头像 发表于 12-07 14:48 447次阅读
    将传统汽车应用迁移到<b class='flag-5'>面向</b>软件定义汽车的<b class='flag-5'>SOA</b>

    Blue Solutions和富士康共同开发面向电动两轮车市场的固态电池生态系统

    一份谅解备忘录 (MoU),共同开发面向电动两轮车市场的固态电池生态系统。 双方同意结合他们的专业知识、技术和资源,开发和生产两轮车电池。他们的目标是使用Blue Solutions独有的固态电池技术
    的头像 发表于 11-07 17:21 1028次阅读