全部学习汇总: GitHub - GreyZhang/hack_autosar: learning autosar documents, aha, very hard!

       继续学习AUTOSAR,看一下官方地文档。

921_AUTOSAR_TPS_SoftwareComponentTemplate26_部分组网_sed

       4.8 部分组网

       支持部分组网

       在软件组件模板层面,通过“虚拟功能集群”(VFC)的概念支持部分联网或者组网。 后面的组将 VFB 上与给定功能相关的所有通信分组。 然而,虚拟功能集群的概念并没有在元模型中表示出来。 相反,端口组(参见第 4.6 章)用于将端口原型的分组指定为虚拟功能集群的更高概念级别。

       M1 上的端口组定义的结构没有限制。 一个 PortPrototype 可能成为多个 PortGroup 的成员,从而创建重叠的 PortGroup。

921_AUTOSAR_TPS_SoftwareComponentTemplate26_部分组网_autosar_02

       虚拟功能集群的用途

       软件组件模板中虚拟功能集群的目的主要有三个方面:

       1. 将发送方接收方或客户端服务器通信的端口原型(与服务无关)分配给虚拟功能集群。

       2. 根据在给定时间点是否需要相应函数的行为来控制它。 这方面是通过控制端口的概念来实现的。 实现虚拟功能集群控制端口的软件组件在概念上成为 VFC 控制器。

       3.允许应用软件检索给定虚拟功能集群的状态。 这方面是通过状态端口的概念实现的。

       用于部分网络目的的端口组的通用概念的使用应通过将端口组的属性类别的值设置为 PARTIAL_NETWORKING 来指示。

921_AUTOSAR_TPS_SoftwareComponentTemplate26_部分组网_autosar_03

       4.8.1 VFC 控制端口

       控制端口的用途

       控制端口的目的是请求或释放 VFC。 请求意味着 VFC 正在积极使用通信资源,而释放归结为 VFC 处于非活动状态,即可能会关闭相应的部分网络,直至另行通知。

       由于请求和释放语义是通过与 BSW 接口实现的,因此相应的控制端口需要由属性 isService 设置为 true 的 PortInterface 键入。

921_AUTOSAR_TPS_SoftwareComponentTemplate26_部分组网_组网_04

       请求和释放部分网络

       对于请求和释放部分网络,BSW 可以通过两种替代方式(即一种或另一种)连接:

       • ComM:使用标准化 ComM_UserRequest.RequestComMode [20] 的 ClientServerInterface

       • BswM:使用标准化 AppModeRequestInterface.requestedMode [15] 的 SenderReceiverInterface

921_AUTOSAR_TPS_SoftwareComponentTemplate26_部分组网_组网_05

       控制端口不得成为 PortGroup 的一部分

       请注意,控制端口不应成为定义控制端口将要服务的特定 VFC 的端口组的一部分。

       该关系是通过特定的 SwcServiceDependency 实现的,该 SwcServiceDependency 拥有到预期控制端口的 RoleBasedPortAssignment。

921_AUTOSAR_TPS_SoftwareComponentTemplate26_部分组网_autosar_06

921_AUTOSAR_TPS_SoftwareComponentTemplate26_部分组网_autosar_07

       4.8.2 VFC 状态端口

       主动查询局部网络状态

       与模式管理非常相似,部分网络的概念支持主动查询部分网络状态的能力。

       这可以通过以三种替代方式(如“其中之一”)连接 BSW 来完成:

       • ComM:使用标准化 ComM_UserRequest.GetCurrentComMode [20] 的 ClientServerInterface

       • ComM:使用标准化 ComM_CurrentMode 的 ModeSwitchInterface。

currentMode [20]

       • BswM:使用标准化 AppModeInterface.currentMode [15] 的 ModeSwitchInterface

       如上所述,ComM 的状态可以通过 ClientServerInterface 或 SenderReceiverInterface 检索。 两种替代方案中的哪一种适用于特定情况取决于软件组件的作者。

       当使用可能的 SenderReceiverInterfaces 之一时,状态端口概念与模式管理的对应关系扩展到部分网络的状态作为实际的 ModeDeclaration 返回。

       这意味着软件组件模板预见的对模式变化做出反应的所有机制都已就位,并且可以在应用软件中使用。

       为确保通过属于部分网络的 PortPrototypes 的通信有效,软件组件应在通信之前考虑部分网络的状态以断言其活动。

921_AUTOSAR_TPS_SoftwareComponentTemplate26_部分组网_组网_08

       状态端口不得成为 PortGroup 的成员

       状态端口不应成为与受该状态端口约束的部分网络相对应的端口组的成员。

       该关系是通过特定的 SwcServiceDependency 实现的,该 SwcServiceDependency 拥有到预期状态端口的 RoleBasedPortAssignment。

       这一部分梳理暂且到此,这里看了部分网络组网的一些描述。从这里面,也看到了部分网络管理的方法,这个在未来的项目实施中也是有一定的提示价值的。