Autosar4.4:软件组件模板 - PortInterface映射和数据缩放(1/3)

在本规范的早期版本中,对PortInterfaces相互匹配的要求可能会导致以下情况:出于正式原因(例如dataElements的shortName不匹配),“实际”兼容的PortInterfaces将被拒绝。
为了也支持CompositionSwComponentType的开发人员需要连接彼此匹配但不满足正式要求的PortPrototype的情况,引入了“端口接口映射”的概念。

本章公10小节:

1、综述

2、端口接口映射

3、S/R接口、参数接口、和存储接口元素的映射

4、C/S接口元素的映射

5、触发器接口元素的映射

6、组合数据类型元素的映射

7、数据变换

8、线性数据缩放

9、表转换

10、数据转换的相关性

本节分为三部分:

1、综述

2、端口接口映射

3、S/R接口、参数接口、和存储接口元素的映射

4、C/S接口元素的映射

 

 

1、综述

PortInterfaceMapping的概要通常,在以下情况下适合使用PortInterfaceMapping:

1.除不相等的shortName外,应连接两个PortPrototype,并且PortInterface元素兼容。 这需要PortInterface元素的纯逻辑映射。

2. PortInterface元素在逻辑上是等效的,但范围和分辨率不同。 这需要分别进行数据转换,将提供的数据和参数重新缩放为所需的数据和参数范围和分辨率。

3. PortInterface元素的invalidationPolicy不同。 这可能需要在同一ECU上并行执行针对同一dataElement的不同失效处理策略。

4.应连接两个PortPrototype,并且应使用AUTOSAR数据转换器方法转换PortInterface元素。

通常,在项目的早期阶段,此类PortInterface的映射是在不同的组件供应商和系统设计人员之间达成的一次协议。

映射与SwConnector分开描述为可重用ARElement

一组PortInterfaceMappings分组在一个PortInterfaceMappingSet中。

可以通过SubElementMapping缓解映射的DataPrototype之间的结构差异。这包括“结构”数据类型映射到“数组”数据类型的情况,反之亦然。 

使用PortInterfaceMapping时,软件组件的开发人员需要正确地理解模型语义方面的后果。

请注意,上述不需要工具实现就可以忽略并释放存在PortInterfaceMapping时所有其他兼容性规则的未报告偏差。

如果认为这样做有帮助,则该工具可能仍会发出有关第6节中定义的兼容性规则的警告,但这不是AUTOSAR标准强制要求的。 但是,在这种情况下,该工具不得报告错误。

2、PortInterface映射

默认情况下,PortInterface元素的shortName用于标识已连接PortPrototypes的匹配元素对。 如果短名称不匹配(这可能是由于分布式开发,现成的开发或软件组件的重用),则需要明确指定PortInterfaces的哪些元素应相互关联。
PortInterfaceMappings提供了此定义。

PortInterfaceMapping

每个PortInterfaceMapping描述了恰好两个PortInterface的PortInterface元素的映射。 

要应用PortInterfaceMapping,SwConnector必须引用PortInterfaceMapping。

PortInterfaceMapping的适用性如果SwConnector引用的两个PortProto-type由由PortInterfaceMapping映射的相同的两个Port-Interface键入,则PortInterfaceMapping仅适用于SwConnector。

PortInterfaceMapping的优先级

通过PortInterfaceMapping的映射比通过兼容性规则中定义的相等shortName的映射具有更高的优先级。

如果连接器具有关联的PortInterfaceMapping,则此映射应严格按照已映射数据元素的数量进行绑定。 

未映射的PortInterfaces

未的PortInterface元素将不会通过引用SwConnector连接。

通过复合原始数据类型键入的DataPrototype的PortInterfaceMapping有一个非常有限的用例,用于对通过复合原始数据类型键入的DataPrototype应用PortInterfaceMapping:调整DataPrototype的shortName。不支持其他所有内容。

PortInterface元素映射的相关元类

 

3、发送方接收器接口,参数接口和非易失性数据接口元素的映射

VariableAndParameterInterfaceMapping

VariableAndParameterInterfaceMapping定义在DataInterface上下文中定义的VariableDataPrototypes和ParameterDataPrototypes的相关性,即SenderReceiverInterface,NvDataInterface或ParameterInterface。

VariableAndParameterInterfaceMapping关于引用的DataInterface的一致性

在一个VariableAndParameterInterfaceMapping内,所有firstDataPrototypes都应属于一个DataInterface,而所有secondDataPrototypes则应属于彼此,并且仅另一个DataInterface。

不同种类的PortInterface之间的映射

从而可以描述不同种类的PortInterface之间的映射,例如ParameterInterface和SenderReceiverInterface。

swImplPolicy限制了可能的映射

但是,variableDataPrototypes和ParameterDataPrototypes的可能映射受到swImplPolicy属性的限制。

swImplPolicy的相关性

无法定义将swImplPolicy设置为已排队的元素与另一个将swImplPolicy设置为不同的元素之间的映射。

属性的草稿相关性是可选的

如果为结构化数据类型的元素定义了SubElementMapping,则对firstElement和secondElement不存在isOptional属性,或者对firstElement和secondElement具有相同的值。

SenderReceiverInterfaces的转换如果满足以下条件之一,则可以转换SenderReceiverInterfaces的元素:

  • 引用的DataPrototypes的AutosarDataTypes是兼容的。
  • 可以进行数据转换。
  • 定义一个DataPrototypeMapping.firstToSecondDataTransformation。
发送方接收器接口,参数接口和非易失性数据接口元素的映射

 

4、客户端服务器接口元素的映射

ClientServerInterfaceMapping

ClientServerInterfaceMapping定义了在两个ClientServerInterfaces上下文中定义的ClientServerOperations的相关性。

在ClientServerOperationMapping上下文中映射的ClientServerOperations的范围

ClientServerOperationMapping在角色firstOperation中引用的所有ClientServerOperation都应完全属于一个ClientServerInterface。

ClientServerOperation- Maping角色为secondOperation引用的所有ClientServerOperation必须完全属于另一个ClientServerInterface。

在ClientServerOperationMapping上下文中映射的ApplicationError的范围

 ClientServerApplicationErrorMapping以firstApplication- Error角色引用的所有ApplicationError都应完全属于一个ClientServerInterface。

由clientServerApplicationErrorMapping角色(secondsecondApplicationError)引用的所有ApplicationError都应完全属于另一个ClientServerInterface。

ClientServerInterfaces的转换

所引用ArgumentDataPrototypes的AutosarDataType是兼容的,或者可以进行数据转换。

 

ClientServerOperationMapping上下文中ArgumentDataPrototypes的一致性

除非存在“ ClientServerOperationMapping.firstToSecondDataTransformation”,否则对于
 “ ClientServerOperationMapping.firstOperation”和
 “ ClientServerOperationMapping.secondOperation”在角色“ ClientServerOperationMapping.argumentMapping.firstDataPrototype”或“ ClientServerOperationMapping.argumentMapping.secondDataPrototype”中的引用应存在于由提及的“ ClientServerOperationMapping.argumentMappings”拥有的“ ClientServerOperationMapping.argumentMappings”之一。

ArgumentDataPrototype.direction必须保留在ClientServerOperationMapping中

在ClientServerOperationMapping的上下文中,两个映射的ArgumentDataPrototype的参数ArgumentDataPrototype.direction的值应相同。

参数数量应保留在ClientServerOperationMapping中

在ClientServerOperationMapping的上下文中,firstOperation和secondOperation的参数数量应相同。

ArgumentDataPrototype在ClientServerOperationMapping中仅应映射一次

在ClientServerOperationMapping的上下文中,每个参数仅在firstDataPrototype或secondDataPrototype角色中被引用一次。

约束的适用性取决于数据转换的存在

上述四条在以下情况下不适用:

  • 存在从各个ClientServerOperationMapping到firstToSecondDataTransformation角色的DataTransformation的引用。
  • 引用的DataTransformation的属性dataTransformationKind的值设置为DataTransformationKindEnum.asymmetricFromByteArray或DataTransformationKindEnum.asymmetricToByteArray。
ClientServerInterface元素的映射和参数的映射

 

ArgumentDataPrototypes的映射


 

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值