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

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

3天内不再提示

模板软件架构SOA详解

汽车电子设计 来源:汽车电子设计 作者:汽车电子设计 2021-01-04 11:28 次阅读

1

从SOA-RM到AP AUTOSAR

在《AP AUTOSAR基础简介》之《AP AUTOSAR & SOA》视频中,我们提到:AP AUTOSAR是一种面向服务的架构!在《SOA点映》中也提到:SOA不是具体的技术实现,而是一种模板软件架构! 那么,怎么来理解SOA是一种模板软件架构?又如何理解为什么AP AUTOSAR是SOA?以下是笔者的一些理解分享给大家,如有不对之处,还请指出。 SOA的全称是:面向服务的架构(Service Oriented Architecture),从SOA的概念中,我们比较容易产生一个问题:这个架构怎么来的?要想搞清楚这个点,我们需要先理解以下SOA参考模型(SOA-RM)

SOA-RM到SOA

SOA参考模型(SOA-RM)描述了SOA环境中的各个组件(或者实体)及其之间的关系。当前对SOA-RM的研究大致分为以下几类: 1. 以W3C的Web服务架构工作组为代表:

它是通过定义一些具体的功能组件和其他抽象实体来研究这些组件和实体之间的关系。但是,它定义于Web服务技术背景,故其架构分析具有局限性。

2. 以OASIS成立的SOA-RM技术委员会为代表:

它主张以SOA中相关的抽象概念和实体为出发点,来研究它们之间的关系。它认为SOA涉及的元素包括服务与服务的描述,服务的发布与发现机制,服务的相关规范,数据模型和服务协议等!

3.以软件组件为基础进行系统架构的研究

主要有IBM、微软等企业为代表,它们进行着自己的应用平台以及解决方案的SOA研究。但是这样的模型依赖于特定的技术平台,因此,不是理想的SOA通用模型。

笔者比较认可OASIS的观点,且与汽车行业相关度大,因此笔者将以OASIS为代表的SOA-RM出发进行分析。 PS:《搞一下汽车电子》也为各位解锁全系的朋友准备了中文版的OASIS《soa-rm-v1.0》,在公众号菜单栏联系我们进行获取 笔者基于OASIS的观点,整理了SOA-RM与SOA的关系如下:

SOA-RM是一种抽象框架

SOA-RM并不与任何标准、技术和其他的具体实现细节关联

与标准技术和其他具体实现细节相关联的是SOA

SOA是SOA参考模型的一种应用

e4d5492e-45a5-11eb-8b86-12bb97331649.png

图:OASIS SOA-RM 简单来说:SOA-RM只是一个框架,架构师可以使用现有的协议(如web服务协议)、标准以及规范等来构建具体的架构实现,那么根据SOA-RM,并结合一定协议、标准以及规范等构建出来的架构便是一种面向服务的架构SOA! 到此,我们知道了SOA的构建来自SOA-RM。那么,接着下一个问题,SOA到底是什么?上文笔者也说明了笔者眼中的SOA:SOA是一种模板软件架构,这怎么理解?AP AUTOSAR是SOA又如何理解呢?我们往下看:

SOA到AP AUTOSAR

在《AP AUTOSAR & SOA》中,我们主要介绍了SOA的通信机制,并简单介绍了SOA的概念。知道了它不是具体的技术实现,那么SOA是一种模板软件架构如何理解呢? 我们将模板软件架构拆开来理解:

模板:基于现有标准、技术等实现一套用于设计和开发应用程序的原则和方法

软件:这里的软件代表着一种软件设计模式,可以使用互操作服务的形式来开发软件

架构:这里的架构是指一种架构设计模式,按照服务所属所指定的约束和策略来执行

软件架构:是指由系统元素及其外部可见属性以及他们之间的关系组成。

所以,笔者认为SOA是一种模板软件架构,并不是具体的技术实现。因为SOA不涉及具体技术实现的内容!这也能对应了SOA是SOA-RM的一种应用! 这里对SOA中服务的概念进行一个简单说明:

服务是最基本的单元,一种能够访问一个或多个功能的机制

理解了SOA是一种模板软件架构,那么为什么AP AUTOSAR是一种SOA,笔者认为主要体现在以下方面: 从模板的角度出发来理解,AP AUTOSAR提供了一套开发应用程序的方法即AP AUTOSAR方法论,主要分为三部分:

架构与设计(下图蓝色框),包含:

开发一个服务接口描述

通过Machine Design开发通信结构

软件开发(下图绿色框),包含:

开发Application-Level类型的软件

开发Platform-Level类型的软件

集成与部署(下图黑色框),包含:

定义和配置Machine

创建Execution Manifest

定义和配置Service Instance

等等

e5137f46-45a5-11eb-8b86-12bb97331649.png

图:AP AUTOSAR方法论概览 从软件方面理解: AP AUTOSAR使用互操作服务的形式进行软件开发,机制如下: 主要包含两个角色:

服务提供者

服务消费者

两者之间是通过通信管理中间件(CMM)传输层进行通信。 通信管理中间件主要以下通信方式(协议约束):

SOME/IP

DDS

服务提供者和服务消费者之间的连接是CMM在运行时动态创建的!

e55d06d4-45a5-11eb-8b86-12bb97331649.png

图:Proxy Skeleton Pattern 需要提到的是,AP AUTOSAR中采用了服务骨架(Service Skeleton)与服务代理(Service Proxy)模式,服务骨架与服务代理是根据 ”服务接口定义 “ 生成的。 PS:那么SOME/IP如何设计,DDS又如何设计?我们将会在后期《搞一下SOA》系列与《搞一下整车以太网》系列中进行分享(需解锁全系哦!) 笔者认为,单一个软件通信还不足以成为软件架构,AP AUTOSAR除了通信之外,还有其他的系统元素,如:与存储相关的ara::per 功能集群。详细的架构图如下,我们也在《What AP AUTOSAR》中对上述每个功能集群进行了简单的描述。 因此,笔者认为,AP AUTOSAR是SOA(注意这里是SOA,不是SOA-RM),是一种模板软件架构!

e596e7be-45a5-11eb-8b86-12bb97331649.png

图:AP AUTOSAR架构概览 上图中需要提到的是,AP AUTOSAR规定,Application只能直接访问POSIX的PSE51接口,不能直接访问非PSE51接口。 PS:《搞一下汽车电子》也为各位解锁全系的朋友准备了原版的《IEEE1003.13》,在公众号菜单栏联系我们进行获取 解释了为什么AP AUTOSAR是SOA,我们再来总结一下what AP AUTOSAR?

SOA:动态创建连接

中间件:承上启下

标准:规范API及功能、规范交互方式、规范开发方法

详细内容,请查阅《What AP AUTOSAR中》

e5dd51cc-45a5-11eb-8b86-12bb97331649.png

图:What AP AUTOSAR 这里笔者也总结了一下AP AUTOSAR的特性:

灵活的软件配置

Security & Safety

并行处理

与现有标准及规范的兼容

基于POSIX标准

动态分配内存

SOA

我们从SOA-RM出发,分析了AP AUTOSAR。AP AUTOSAR也刚发布了R2011版本,本系列后期也会结合AP AUTOSAR R20-11的新特性来分享《搞一下AP AUTOSAR进阶应用》,因此,这里笔者为大家整理了一下AP AUTOSAR R20-11的一些更新!

2

AP AUTOSAR R20-11

我们将从文档、平台设计以及新增特性等方面进行分享。

文档变更

R2011文档方面的变更还是很大的,《搞一下汽车电子》按照之前的分类方式将R2011进行了整理,大家可以后台回复" AP点映"进行查看。 我们还是将其分为以下几个文件夹:

Adaptive Foundation:与基础功能集群相关的文档

Adaptive Service:与服务功能集群相关的文档

General:AP AUTOSAR General文档

Methodology And Manifest:与方法论、元模型以及Manifest等相关的文档

Release Documentation:Release相关文档

其中Adaptive Foundation增加了很多Foundation中功能集权的解释性说明文档,主要包括:

e6461888-45a5-11eb-8b86-12bb97331649.png

AdaptiveService部分,增加了以下内容:

e6ea2a72-45a5-11eb-8b86-12bb97331649.png

其中: 《AUTOSAR_RS_AutomatedDrivingInterfaces》规定了传感器接口上AP AUTOSAR的要求。 《AUTOSAR_SWS_SensorInterfaces》描述了传感器接口的功能说明与接口 Adaptive General部分进行了以下更改:

e7114792-45a5-11eb-8b86-12bb97331649.png

需要说明的是,R2011标准文档中,没有《AUTOSAR_SWS_General》等,笔者认为是缺少了,而不是被删除了。 Methodology And Manifest部分进行了以下更改:

e76e0c16-45a5-11eb-8b86-12bb97331649.png

其中《AUTOSAR_TPS_AdaptivePlatformTimingExtensions》是通过AUTOSAR元模型对时间扩展正式定义的补充。 这里需要特别说明的一个文档是《AUTOSAR_SWS_AdaptiveIntrusionDetectionSystemManager》。 笔者认为,上述文件入侵检测系统管理(Idsm)应该是一个属于Foundation部分的功能集群(FC),但是,其他文档中,都没有与Idsm相关的内容。即使是《平台设计》中也没有。属于标准的问题,可能会在下个版本中有所体现。

平台设计变更

《平台设计》是AP AUTOSAR中对AP AUTOSAR进行概述的文档,这里,对平台设计中主要的改动进行说明如下: 1. 在《持久性》章节进行了以下更改: 持久性主要的三种应用场景有:

在Adaptive Machine上安装新的应用程序软件

将现有应用程序软件更新到Adaptive Machine

从Adaptive Machine卸载现有的应用程序软件

e7c44874-45a5-11eb-8b86-12bb97331649.png

图:Persistency 在R1911中,对上述三种应用场景进行了以下说明: UCM都使用持久性来部署/删除/更新应用程序的持久性数据 在R2011中,对其进行说明如下: 在前两个场景中,持续性由UCM通过EM触发,以部署/更新应用程序的持久性数据 在第三个场景中,UCM可以使用uri从持久性配置中删除剩余的持久性数据 2. 在《UCM》章节,更改了UCM Master 的状态机: 我们也会在后期基于此分享" AP AUTOSAR & OTA"

e824db44-45a5-11eb-8b86-12bb97331649.png

图:UCM Master状态机 3. 在《Crypto》章节更改了密钥管理交互,如:增加独立且受信任的环境等:

e8862b9c-45a5-11eb-8b86-12bb97331649.png

图:密钥管理交互 当然,还有其他更多更改内容,可参考《AP AUTOSAR 平台设计》文档。 PS:《搞一下汽车电子》也为各位解锁全系的朋友准备了中文版的AP AUTOSAR R2011《平台设计》,在公众号菜单栏联系我们进行获取

新增特性

从Safety方面来说,新增了系统健康监控,主要用于系统协调健康状况/错误。主要包含以下内容:

SHM Client交流平台健康状况

SHM Master确定健康指标

根据健康指标进行的机器恢复(例如降级)

e8e77d02-45a5-11eb-8b86-12bb97331649.png

图:系统健康监控 从上图也可以看出,SHM Client是在AP AUTOSAR端,SHM Master是CP AUTOSAR端。这也是AUTOSAR官方在AP AUTOSAR 功能安全方面的又一考虑吧。有关AP AUTOSAR & Safety更多内容,可查看《AP AUTOSAR & Safety》 在Safety方面,也增加了确定性同步的内容,描述了同步行为和周期性激活的要求,包括时间同步和数据同步。

e91f3d46-45a5-11eb-8b86-12bb97331649.png

图:确定性同步 从Security方面来说,增加了入侵检测系统管理,有标准化的接口来报告安全事件,有标准化的过滤机制,来通过网络来传输合格的安全事件。 PS:还是如前所说,除了一份Idsm文档外,无更多描述

e9a9e144-45a5-11eb-8b86-12bb97331649.png

在Security方面,也增加了Crypto API的描述:

软件和硬件独立开来

支持分离式非耦合开发

应用程序独立于加密解决方案

上述,便是R2011主要的变更,当然还有很多变更,我们会在后期的系列分享中,与大家进行分享,那么为什么要分享《搞一下AP AUTOSAR进阶应用》

3

Why AP AUTOSAR应用

从流程来说:

需要一套标准化的开发流程,我们会分享" AP AUTOSAR 方法论"

从架构来说:

汽车EEA从分布式到域集中式再到车辆集中式发展过程中,需要新的技术、协议来作为支撑,我们会分享" AP AUTOSAR & EEA"。

当然我们也有《搞一下SOA》系列。

从功能需求来说:

为了避免召回,需要整车OTA功能,我们会分享"AP AUTOSAR & OTA "

汽车高度自动驾驶等需要基于POSIX OS运行具有ASIL 要求的实时Application,系统需要确定性行为,我们会分享 " AP AUTOSAR & 确定性执行"

AP标准中无XCP协议,那么如何基于AP来做标定,我们会分享" AP AUTOSAR & 标定 "

在AP AUTOSAR中能否使用基于视觉的算法?我们会分享" AP AUTOSAR & AI "

如何在AP AUTOSAR中使用DDS的网络绑定?我们会分享" AP AUTOSAR & DDS "

从应用来说:

自动驾驶平台涉及哪些软件技术?AP扮演什么角色?我们会分享 " AP AUTOSAR & 自动驾驶"

智能座舱涉及哪些技术?AP 扮演什么角色?我们会分享" AP AUTOSAR & 智能座舱 "

如何基于AP AUTOSAR开发中央计算单元?我们会分享" AP AUTOSAR & 中央计算单元"

如何基于现有物联网技术与AP解决昂贵的车辆更新缓慢问题?我们会分享" AP AUTOSAR & IoT "

从兼容适配来说:

系统应能够支撑应用程序分离,我们会分享" AP AUTOSAR & Hypervisor"

当然,上述内容会根据实际情况进行一定的调整。最后再回答一个大家比较关心的问题:如何学习AP AUTOSAR?

首先,请在公众号《搞一下汽车电子小助手》后台回复 " 系列 " 查看《搞一下 AP AUTOSAR基础简介》《搞一下 AP AUTOSAR平台设计》

接着,请具备cpp编程能力

然后,从《AUTOSAR方法论》进行突破

接着,研究标准文档,如果工具链,基于工具链进行研究最好。

原文标题:如何理解SOA是一种模板软件架构?

文章出处:【微信公众号:汽车电子设计】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

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

    关注

    18

    文章

    5703

    浏览量

    134373
  • SOA
    SOA
    +关注

    关注

    1

    文章

    270

    浏览量

    27219
  • 自动驾驶
    +关注

    关注

    773

    文章

    13027

    浏览量

    163200

原文标题:如何理解SOA是一种模板软件架构?

文章出处:【微信号:QCDZSJ,微信公众号:汽车电子设计】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

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

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

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

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

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

    SOA区指的是MOSFET的安全工作区,其英文单词是Safe Operating Area。也有一些厂家叫ASO区,其英文单词是Area of Safe Opration,总之,两者是一个意思,下面我们统一称为SOA
    的头像 发表于 03-11 09:16 1563次阅读
    什么是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 251次阅读

    智能网联汽车电子电气架构详解

    汽车电子电气架构正在由传统的分布式架构向域集中式和中央集中式演进, 并继续演进至车路云一体化协同。智能网联汽车整体软件架构需要采用 SOA
    的头像 发表于 01-17 09:24 890次阅读
    智能网联汽车电子电气<b class='flag-5'>架构</b><b class='flag-5'>详解</b>

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

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

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

    车身域控制器提供的所有服务应按照SOME/IP协议将服务消息进行设定。完成后会进行服务接口的开发,服务接口的开发和部署是SOA软件的第一步并且是关键的一步,主要包括:服务的类型定义、端口设置、进程绑定。接口开发完成就是逻辑开发、逻辑和服务集成、代码编译。
    发表于 09-19 12:01 154次阅读
    基于商用车的域控<b class='flag-5'>架构</b>下<b class='flag-5'>SOA</b>的实现方案

    热敏电阻在蝶形SOA中的应用

    SOA蝶型器件中,热敏电阻常被用于监测器件内部温度。通过测量热敏电阻的电阻值,可以体现出其所在环境温度的变化。这种监测方式对于SOA器件的温度控制非常重要,因为SOA器件中的放大器芯片对温度变化
    的头像 发表于 08-29 16:12 469次阅读
    热敏电阻在蝶形<b class='flag-5'>SOA</b>中的应用

    SWE.2软件架构设计

    过程ID : SWE.2 过程名称 : 软件架构设计 过程目的 : 软件架构设计过程目的是建立一个架构设计,识别哪些
    的头像 发表于 08-24 09:43 498次阅读

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

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

    什么是SOA的蝶型封装

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

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

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

    MOSFET安全工作区域SOA是啥?

    MOSFET安全工作区域SOA是啥?了解MOSFET安全工作区域SOA如果您想知道或担心您的MOSFET在极端条件下或极端耗散情况下究竟能承受多少功率,那么您应该查看器件的SOA数据。在这
    的头像 发表于 05-09 09:47 992次阅读
    MOSFET安全工作区域<b class='flag-5'>SOA</b>是啥?

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

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

    详解FreeRTOS:嵌入式软件系统架构

    目前常见的嵌入式软件系统架构有三种可以分为:轮询系统架构、前后台系统架构和多任务系统架构
    的头像 发表于 05-04 16:40 1587次阅读
    <b class='flag-5'>详解</b>FreeRTOS:嵌入式<b class='flag-5'>软件</b>系统<b class='flag-5'>架构</b>