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

       继续学习AUTOSAR的文档,看一下《AUTOSAR_TPS_BSWModuleDescriptionTemplate》。

819_AUTOSAR_TPS_BSWModuleDescriptionTemplate15_测量标定功能建模支持_mcfunction

       10.4 支持测量和标定的功能建模

       测量和标定数据的“A2L”描述格式允许将数据与所谓的函数相关联,以指导标定工程师处理大量此类数据(参见 [26] 中对关键字 FUNCTION 的描述)。

       此类功能主要是逻辑结构,不一定与 AUTOSAR 意义上的模块或组件等软件对象相匹配。 但是,由于 AUTOSAR 的测量和标定支持的目标是能够从 AUTOSAR XML 描述生成 A2L 描述,因此 AUTOSAR 元模型还提供了在 A2L 意义上定义此类功能的方法。

       McFunction 的语义

       元类 McFunction 与相关联的 McFunctionDataRefSet 一起可用于定义软件系统中的测量和/或标定数据与各种角色的逻辑功能的关联。 此外,它还允许分层构建此类功能。

       需要注意,McFunction 是一个 ARElement,因此它可用于定义严格来说不属于任何特定 BSWMD 的独立工件。 尽管如此,本文档中描述了元模型的这一部分,因为它属于对测量和标定的整体支持。

819_AUTOSAR_TPS_BSWModuleDescriptionTemplate15_测量标定功能建模支持_mcfunction_02

819_AUTOSAR_TPS_BSWModuleDescriptionTemplate15_测量标定功能建模支持_其他_03

819_AUTOSAR_TPS_BSWModuleDescriptionTemplate15_测量标定功能建模支持_元模型_04

       标定测量功能的介绍。

       表示用作输入以支持测量和标定的功能元素。 它用于:

       • 将标定参数分配给逻辑函数

       • 将测量变量分配给逻辑函数

       • 分层构造函数

       标签:atp.recommendedPackage=McFunctions

819_AUTOSAR_TPS_BSWModuleDescriptionTemplate15_测量标定功能建模支持_mcfunction_02

819_AUTOSAR_TPS_BSWModuleDescriptionTemplate15_测量标定功能建模支持_mcfunction_06

       标定测量功能数据参考集合

       指分配给特定角色中的 McFunction 的一组数据。 数据由:

       • 由 FlatMap 中的条目提供

       • 或由作为 MC 支持数据一部分的数据实例提供。

       这两种可能性在给定的 McFunctionDataRefSet 中是排他的。 使用哪一种取决于过程和工具环境。

       该集合受制于可变性,因为相同的功能模型可以与数据的各种表示一起使用。

       标签: vh.latestBindingTime=preCompileTime

819_AUTOSAR_TPS_BSWModuleDescriptionTemplate15_测量标定功能建模支持_mcfunction_07

       McFunctionDataRefSet 的范围

       应该注意的是,McFunctionDataRefSets 可以通过 FlatInstanceDescriptor 或 McDataInstance 的实例引用数据:

       • 第一种可能性,即通过 FlatMap 的关联允许在实际 McSupport 之前在 ECU 甚至系统级别的项目中较早地定义 McFunction 被生成。

       • 第二种可能性,与 McDataInstances 的关联允许定义(或转换)McFunctions 以便以自包含的方式与 McSupport 数据一起用于 A2L 生成。

819_AUTOSAR_TPS_BSWModuleDescriptionTemplate15_测量标定功能建模支持_mcfunction_08

       McFunction 的使用

       由于 McFunction 的用例被认为是特定于项目的,并且如何生成 A2L 的规范不属于 AUTOSAR,因此本文档中并未指定对 McFunction 拥有的属性和关联的所有可能约束。 特别是它没有标准化,McFunctions 的实例必须如何从 AUTOSAR 软件组件或模块的 M1 模型中派生出来。

       还有一些限制被认为是强制性的:

       McFunctionDataRefSet 中数据引用的独占使用

       McFunctionDataRefSet.flatMapEntry 和 McFunctionDataRefSet.mcDataInstance 角色只能在一个 McFunctionDataRefSet 和一个 McFunction 中使用。 这意味着,由一个 McFunction 聚合的 McFunctionDataRefSet 的所有实例都应使用相同的并且仅使用这两种引用它们的数据中的一种。

819_AUTOSAR_TPS_BSWModuleDescriptionTemplate15_测量标定功能建模支持_其他_09

       McFunctionDataRefSet.flatInstanceDescriptor 的语义

       • 在 McFunction.defCalprmSet 或 McFunction.refCalprmSet 角色中聚合的 McFunctionDataRefSet 应仅引用可追溯到 ParameterDataPrototype 并声明用于标定访问的 FlatInstanceDescriptor,即具有关联的 SwDataDefProps.swCalibrationAccess 设置为 readWrite 或 readOnly。

• 在 McFunction.inMeasurementSet、McFunction.outMeasurementSet 或 McFunction.locMeasurementSet 角色中聚合的 McFunctionDataRefSet 应仅指可追溯到 VariableDataPrototype、ArgumentDataPrototype 或 ModeDeclarationGroupPrototype 并被声明为具有可测量的属性关联的 FlatInstanceDescriptor。  swCalibrationAccess 设置为只读。

819_AUTOSAR_TPS_BSWModuleDescriptionTemplate15_测量标定功能建模支持_mcfunction_10

       McFunctionDataRefSet.mcDataInstance 的语义

       • 在 McFunction.defCalprmSet 或 McFunction.refCalprmSet 角色中聚合的 McFunctionDataRefSet 应仅指为标定访问声明的 McDataInstance,即在角色 McSupportData.mcParameterInstance 中聚合。

• 在 McFunction.inMeasurementSet、McFunction.outMeasurementSet 或 McFunction.locMeasurementSet 角色中聚合的 McFunctionDataRefSet 应仅引用声明为可测量的 McDataInstance,即聚合在角色 McSupportData.mcVariableInstance 中。

       元模型的旧版本不包含元类McFunction,但已经可以通过属性 SwDataDefProps.mcFunction 指定与数据对象关联的函数的名称。 这具有严重的局限性,因为既不能定义函数的输入数据,也不能定义与某些数据相关的多个函数,也不能定义子函数。 出于向后兼容性的原因,这种可能性仍然存在,但该属性已被标记为已过时。

       这部分主要是对测量和标定功能建模的支持,在这里面提到了几种方式。从描述看,其实复杂点还是在于标定的部分,测量相对来说简单。