905_AUTOSAR_TPS_SoftwareComponentTemplate15_端口映射以及数据转换1
作者:互联网
全部学习汇总: https://github.com/GreyZhang/hack_autosar
继续学习AUTOSAR,看一下官方的文档。
4.3 端口接口映射和数据缩放
在本规范的前一版本中,对端口接口相互匹配的要求可能导致“实际上”兼容的端口接口由于正式原因(例如数据元素的短名称)不匹配。
为了还支持 CompositionSwComponentType 的开发人员需要连接彼此匹配但不满足正式要求的 PortPrototypes 的场景,引入了“端口接口映射”的概念。
PortInterfaceMapping的三种情况
通常有三种不同的情况,其中 PortInterfaceMapping 是合适的。
1. 两个 PortPrototypes 应该被连接并且除了不相等的 shortNames 之外 PortInterface 元素是兼容的。 这需要 PortInterface 元素的纯逻辑映射。
2. PortInterface 元素在逻辑上是等效的,但范围和分辨率不同。 这需要数据转换,分别将提供的数据和参数重新缩放到所需的数据和参数范围和分辨率。
3. PortInterface 元素的 invalidationPolicy 不同。 这可能需要对同一 ECU 上的同一数据元素并行实施不同的失效处理策略。
4. 应连接两个 PortPrototype,并使用 AUTOSAR 数据转换器方法转换 PortInterface 元素。
通常,在项目的早期阶段,不同组件供应商和系统设计人员之间就此类端口接口的映射达成一致。
[TPS_SWCT_01158] 中第 4 项的一个(突出)用例是 NvBlockSwComponentType 和 AUTOSAR Dcm 之间的交互。
具体而言,RTE 将调用数据转换器将可用的诊断数据的 uint8 数组表示从 Dcm ServiceSwComponentType 拥有的 PortPrototype 转换为 NvBlockSwComponentType 的 PortPrototype 拥有的 VariableDataPrototype。
出于此目的的配置,适用的 DataPrototypeMapping 是指角色 firstToSecondDataTransformation 中的 DataTransformation(参见图 4.9)。
请注意,对于 ApplicationSwComponentType 和 ServiceSwComponentType [TPS_SWCT_01579] 之间的这种特定交互,它定义了属性 isService 对于由 SenderReceiverInterface 键入的 PortPrototypes 中的数据元素应设置为 false。
映射与 SwConnector 分开描述为可重用的 ARElement
该映射与 SwConnector 分开描述为可重用的 ARElement。 一组 PortInterfaceMappings 被分组在 PortInterfaceMappingSet 中。
PortInterfaceMapping 覆盖所有其他兼容性规则
如果满足以下语句,PortInterfaceMapping 的存在会覆盖所有其他兼容性规则:
• [constr_1071] 也适用于 PortInterfaceMapping 的应用。
• [constr_1268] 也适用于 PortInterfaceMapping 的应用。
• [constr_1269] 也适用于 PortInterfaceMapping 的应用。
• [constr_1270] 也适用于 PortInterfaceMapping 的应用。
• 映射的DataPrototypes 之间的结构差异可以通过SubElementMapping 来缓解。 这包括“结构”数据类型映射到“数组”数据类型的情况,反之亦然。 [TPS_SWCT_01195] 也适用。
使用 PortInterfaceMapping 时,软件组件的开发人员需要正确理解模型语义方面的后果。
请注意,[TPS_SWCT_01543] 不需要工具实现来忽略和放弃所有其他兼容性规则在存在 PortInterfaceMapping 的情况下未报告的偏差。
如果认为这有帮助,该工具可能仍会针对第 6 节中定义的兼容性规则发出警告,但这不是 AUTOSAR 标准所强制要求的。 但是,在这种情况下,该工具不应报告错误。
指定一组(一个或多个)PortInterfaceMapping。
指定一个 PortInterfaceMapping 以支持由两个不同 PortInterface 键入的 Port 的连接,其中 PortInterface 元素具有不同的名称和/或不同的语义(分辨率或范围)。
4.3.1 PortInterface Mapping
默认情况下,PortInterface 元素的shortNames 用于标识连接的PortPrototypes 的匹配元素对。 如果短名称不匹配(这可能是由于分布式开发、现成开发或软件组件的重用导致),则需要明确指定 PortInterfaces 的哪些元素应相互关联。
此定义随 PortInterfaceMappings 一起提供。
PortInterfaceMapping
每个 PortInterfaceMapping 描述了恰好两个 PortInterface 的 PortInterface 元素的映射。
要应用 PortInterfaceMapping,SwConnector 必须引用 PortInterfaceMapping。
PortInterfaceMapping 的适用性
如果 SwConnector 引用的两个 PortPrototype 是由 PortInterfaceMapping 映射的相同的两个 PortInterface 键入的,则 PortInterfaceMapping 仅适用于 SwConnector 并有效。
PortInterfaceMapping 的处理顺序
通过 PortInterfaceMapping 的映射比第 6 章中定义的通过相等的 shortNames 的映射具有更高的优先级。如果连接器具有关联的 PortInterfaceMapping,则此映射应严格绑定映射数据元素的数量。
PortInterfaces 的未映射元素
未映射的 PortInterface 元素将不会被引用 SwConnector 连接。
图 4.10:PortInterface 元素映射的相关元类
4.3.1.1 发送接收接口、参数接口和非易失性数据接口元素的映射
VariableAndParameterInterfaceMapping
VariableAndParameterInterfaceMapping 定义了在 DataInterfaces 上下文中定义的 VariableDataPrototypes 和 ParameterDataPrototypes 的相关性,即 SenderReceiverInterface、NvDataInterface 或 ParameterInterface。
VariableAndParameterInterfaceMapping 与引用的 DataInterfaces 的一致性
在一个 VariableAndParameterInterfaceMapping 中,所有 firstDataPrototypes 应属于一个且仅一个 DataInterface,所有 secondDataPrototypes 应属于另一个且仅一个其他 DataInterface。
不同类型的端口接口之间的映射
从而可以描述不同类型的端口接口之间的映射,例如参数接口和 SenderReceiverInterface。
可能的映射受 swImplPolicy 限制
然而,VariableDataPrototypes 和 ParameterDataPrototypes 的可能映射受到 swImplPolicy 属性的限制。
swImplPolicy 的相关性
无法定义 swImplPolicy 设置为队列的元素与 swImplPolicy 设置不同的其他元素之间的映射。
这是满足表 6.1 中定义的兼容性规则所必需的。
图 4.11:发送者接收者接口、参数接口和非易失性数据接口元素的映射
SenderReceiverInterfaces 的转换
如果满足以下条件之一,则可以转换 SenderReceiverInterfaces 的元素:
• 如第 6.2 章所述,所引用的 DataPrototypes 的 AutosarDataTypes 是兼容的。
• 可以进行第 4.3.2 节中描述的数据转换。
• 定义了DataPrototypeMapping.firstToSecondDataTransformation。
在两个不同的 SenderReceiverInterfaces、NvDataInterfaces 或 ParameterInterfaces 的上下文中定义 VariableDataPrototypes 或 ParameterDataPrototypes 的映射。
在两个不同的 SenderReceiverInterface、NvDataInterface 或 ParameterInterface 或操作的上下文中,定义具有不相等名称和/或不相等语义(分辨率或范围)的两个特定 VariableDataPrototype、ParameterDataPrototype 或 ArgumentDataPrototype 的映射。
如果语义不相等,则适用以下规则: textTableMapping 仅适用于引用的 DataPrototypes 是由 AutosarDataType 键入的,引用类别 TEXTTABLE、SCALE_LINEAR_AND_TEXTTABLE 或 BITFIELD_TEXTTABLE 的 CompuMethods。
如果 DataPrototypes 是由 AutosarDataType 键入的,要么引用 LINEAR、IDENTICAL 类别的 CompuMethods,要么引用 no CompuMethod(类似于 IDENTICAL),则线性转换因子是从引用单元的 factorSiToUnit 和 offsetSiToUnit 属性计算出来的,以及 所引用 CompuMethods 的 compuInternalToPhys 的 CompuRationalCoeffs。
这部分主要是看了端口映射以及数据转换的一部分,主要是偏重于端口映射以及连接的处理。
标签:PortInterfaceMapping,AUTOSAR,PortInterface,定义,映射,905,元素,接口,TPS 来源: https://blog.csdn.net/grey_csdn/article/details/121502560