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
    +关注

    关注

    27

    文章

    4417

    浏览量

    126685
  • 自动化
    +关注

    关注

    28

    文章

    5037

    浏览量

    77729
  • 模型设计
    +关注

    关注

    0

    文章

    10

    浏览量

    8108

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

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

收藏 人收藏

    评论

    相关推荐

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

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

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

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

    什么是MOS管的SOA区?SOA曲线的几条限制线的意思?

    SOA区指的是MOSFET的安全工作区,其英文单词是Safe Operating Area。也有一些厂家叫ASO区,其英文单词是Area of Safe Opration,总之,两者是一个意思,下面我们统一称为SOA
    的头像 发表于 03-11 09:16 1575次阅读
    什么是MOS管的<b class='flag-5'>SOA</b>区?<b class='flag-5'>SOA</b>曲线的几条限制线的意思?

    如何理解IGBT的四种SOA

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

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

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

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

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

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

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

    基于商用车的域控架构下SOA的实现方案

    车身域控制器提供的所有服务应按照SOME/IP协议将服务消息进行设定。完成后会进行服务接口的开发服务接口的
    发表于 09-19 12:01 154次阅读
    基于商用车的域控架构下<b class='flag-5'>SOA</b>的实现方案

    基于SOA架构的整车操作系统的变革

    SOA全称为Service Oriented Architecture,即面向服务的架构。1996年,SOA概念由Gartner提出,并率先在IT行业被应用推广。目前,
    发表于 08-11 11:31 362次阅读
    基于<b class='flag-5'>SOA</b>架构的整车操作系统的变革

    什么是SOA的蝶型封装

    介绍什么是SOA的蝶型封装
    的头像 发表于 07-09 23:11 558次阅读
    什么是<b class='flag-5'>SOA</b>的蝶型封装

    华为云盘古大模型3.0发布,一个完全面向行业的大模型

    华为云盘古大模型3.0正式发布引发全球AI产业震荡,张平安称,盘古大模型3.0是一个完全面向行业的大模型系列,包括5+N+X三层架构,盘古大模型
    的头像 发表于 07-07 16:30 1394次阅读

    自动驾驶领域的SOA软件架构设计应用分析

    面向服务的体系架构(Service-Oriented Architecture, SOA)因具有基于标准、松耦合性、互操作性等优势,更加贴近智能网联化时代车载系统对软件架构的要求,从而被汽车行业广泛采用。
    发表于 06-08 09:44 602次阅读
    自动驾驶领域的<b class='flag-5'>SOA</b>软件架构设计应用分析

    HarmonyOS/OpenHarmony应用开发- Stage模型概述

    UIAbility组件和ExtensionAbility组件 Stage模型提供UIAbility和ExtensionAbility两种类型的组件,这两种组件都有具体的类承载,支持面向对象
    发表于 05-25 17:44

    鸿蒙元服务万能卡片开发-stage模型和fa模型的卡片区别

    一、项目类型 Application: 应用开发 Atomic Service:原子化服务开发 这里选择Empty Ability模板创建项目。 二、Stage模型卡片
    发表于 05-22 14:20

    面向信号与面向服务SOA混合架构设计方法

    架构设计层面,在以前面向信号的设计方法基础上同步要进行面向服务SOA的设计,对于OEM功能工程师(Function Designer)和系统工程师(System Developer)提
    的头像 发表于 05-05 11:02 405次阅读
    <b class='flag-5'>面向</b>信号与<b class='flag-5'>面向</b><b class='flag-5'>服务</b><b class='flag-5'>SOA</b>混合架构设计方法