1 基于模型设计开发面向服务的应用(SOA)-德赢Vwin官网 网
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

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

    关注

    28

    文章

    4729

    浏览量

    128886
  • 自动化
    +关注

    关注

    29

    文章

    5562

    浏览量

    79239
  • 模型设计
    +关注

    关注

    0

    文章

    10

    浏览量

    8222

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

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

收藏 人收藏

    评论

    相关推荐

    基于遗传算法的QD-SOA设计新方法

    了QD-SOA的设计,提出了一种基于遗传算法的QD-SOA设计新方法。由于具有用于设计的模型是必不可少的,因此在第一步中获得数值模型。然后,利用从数值
    的头像 发表于 12-17 09:58 77次阅读
    基于遗传算法的QD-<b class='flag-5'>SOA</b>设计新方法

    面向服务的整车EE架构(SOA)设计开发咨询服务

    经纬恒润多年来一直致力于为客户提供先进电子电气架构解决方案,近年来,经纬恒润在国内率先开展整车SOA架构的技术研发和业务布局,参与多款SOA架构下量产车型的研发,积累了丰富的SOA架构设计经验。
    的头像 发表于 12-12 15:11 534次阅读
    <b class='flag-5'>面向</b><b class='flag-5'>服务</b>的整车EE架构(<b class='flag-5'>SOA</b>)设计<b class='flag-5'>开发</b>咨询<b class='flag-5'>服务</b>

    使用ROS机器人技术和SOA(面向服务架构)推进ADAS原型设计

      汽车设计的创新是一种持续的驱动力,每代汽车都会出现新的特性和性能。在不断发展的汽车技术环境中,雷诺率先采用面向服务架构 (SOA) 来满足现代车辆系统的需求。这种架构方法代表了从传统框架到模块化
    的头像 发表于 12-04 14:18 472次阅读
    使用ROS机器人技术和<b class='flag-5'>SOA</b>(<b class='flag-5'>面向</b><b class='flag-5'>服务</b>架构)推进ADAS原型设计

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

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

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

    前言 在面向服务的架构(SOA)系统中,容灾能力是保障系统稳定性的重要组成部分。通过引入 多数据中心部署、自动化故障转移、数据备份 等技术手段,可以有效提升系统在面对突发灾难事件时的恢复能力。例如
    的头像 发表于 08-15 14:24 302次阅读
    秒送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 537次阅读
    <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 334次阅读
    鸿蒙<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 384次阅读
    鸿蒙<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 910次阅读

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

    PAVELINK.SOA-Converter转换工具,用于衔接基于SOA的控制器设计、开发及测试过程中所常见的各类软件工具。PAVELINK.SOA-Converter能提供IDL及
    的头像 发表于 04-18 08:25 361次阅读
    <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 330次阅读
    汽车电子电气架构<b class='flag-5'>SOA</b>如何实现?

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

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

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

    服务卡片指导文档位于“**开发/应用模型/Stage模型开发指导/Stage模型应用组件**”路
    的头像 发表于 03-28 22:11 1189次阅读
    鸿蒙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 1058次阅读