ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

653_AUTOSAR_EXP_VFB文档阅读10

2021-07-04 15:59:41  阅读:170  来源: 互联网

标签:10 AUTOSAR 元素 通信 发送 EXP 接收 客户端


         全部学习汇总: https://github.com/GreyZhang/hack_autosar

         继续梳理《AUTOSAR_EXP_VFB》,又开始了一个新的章节。看起来,整个文档的页数不多,但是我觉得这样的文档能够精读一遍还是很有挑战的。很多人其实都没有读过就有了丰富的AUTOSAR经验,我觉得我非常羡慕他们,在这个技术领域的探索上,我觉得我的前行似乎困难重重。

         新的章节是关于VFB的通信的,首先梳理一下简介。

本节描述 VFB 的通信机制,原子软件组件可以使用这些机制相互通信。

第 4.2 节,错误类型,定义了可以出现在发送接收和客户端-服务器通信模型中的错误类型。

第 4.3 节,发送方-接收方通信,更详细地定义了发送方-接收方通信的功能语义。 本节还定义了定义 AUTOSAR 提供的通信模式的确切特征的通信属性。 与模式切换相关的一些细节在第 8 章,模式管理中进行了介绍。

第 4.4 节,客户端-服务器通信,对客户端-服务器执行相同的操作。

         错误类型,这个正好是承接上面的简介部分。

错误分为两个简单的类别:基础设施错误和应用程序错误。

当发送方和接收方之间(用于发送方-接收方通信)或客户端和服务器之间(用于客户端-服务器通信)的基础结构失败时,将返回基础结构错误。 基础架构错误的典型示例是超时(这个有点出乎意料,可能我翻译的这个词语意思不是很对,看上去有些文不达意)。 如果客户端在一定时间内未收到服务器的响应(因为客户端和服务器之间的通信通道不可用或消息丢失),则会向客户端返回“超时”基础结构错误。可能的基础设施错误由 AUTOSAR 标准化。

应用程序错误是特定于应用程序的,必须定义为发送方接收方接口的一部分,用于发送方 - 接收方通信,或客户端 - 服务器接口,用于客户端 - 服务器通信。

发送方-接收方模式支持信息分发,其中发送方将信息分发给一个或多个接收方,或者接收方从多个发送方接收信息。 图 4.1 给出了如何在 AUTOSAR VFB 视图中对发送方-接收方通信进行建模的示例。接下来看看这个图:

         这个图明显能够看出来的是可以发送给多方,没有看出来可以从多方接收。

在此示例中,有两个组件连接器将组件“Sender”的 PPort 与“Receiver 1”(分别为“Receiver 2”)的 RPort 连接起来。

与这些端口关联的发送方-接收方接口由数据元素组成,这些数据元素定义了由发送方发送并由接收方接收的数据。

数据元素的类型可以是非常简单的(例如“整数”),也可以是复杂的(可能很大)数据类型(例如数组或字符串)。 值的传输,即使是复杂数据类型,在逻辑上始终是原子的。

上面是对此图附加的一些解释,比较简单明确,肯定也不会涉及到我的疑问。

这是一条设计要求: 在配置时,发送者-接收者接口中每个数据元素的数据类型是已知的。

发送者可以为 SenderReceiver 接口中定义的每个数据元素提供一个新值。 精确的语义取决于数据元素是否被定义为“last-is-best”类型,或者数据元素是否被“排队”。

看起来,这种结构设计应该非常依赖于数据结构,如果考虑通用,可以直接全都是队列,这样,差异就只会表现在队列的大小以及是否支持复写等属性配置上。

         这个设计要求,其实就是对上面描述的总结,不翻译了。

每个具有“last-is-best”语义的数据元素都可以配置为支持失效。 如果“last-is-best”数据元素支持无效,则发送组件可以向接收者指示数据元素“无效”(参见表 4.1 和表 4.2 中的属性 RECEIVE_INVALID 和 CAN_INVALIDATE)。

疑问:无效可以出现在什么情况下呢?队列空了??

在配置时,必须知道发送方-接收方接口中的每个“last-is-best”数据元素以及该数据元素是否支持“无效”的能力。

看起来,这种设计的可能性还是有很多种的。

内容有些多,这一次的梳理到此总结为一个小结。涉及到的内容主要是错误处理以及发送方-接收方这种模型下的通信功能支持设计。针对第二个主题,这次只算是一个开篇,后面还有详细的小结留作下一次的内容。

标签:10,AUTOSAR,元素,通信,发送,EXP,接收,客户端
来源: https://blog.csdn.net/grey_csdn/article/details/118463209

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有