《AUTOSAR_TPS_DiagnosticExtractTemplate》。

828_AUTOSAR_TPS_DiagnosticExtractTemplate6_DID、路由、数据元素以及文本文档_ide

       属性 DiagnosticDataIdentifier.representsVin 的用途

       有一个用例用于识别携带所谓的车辆识别号 (VIN) 的特定 DiagnosticDataIdentifier。

因此,能够正式地表明这一特征是很重要的。 为此,属性 DiagnosticDataIdentifier.representsVin 可用。

       小结:这里较为明确地要求了VIN就是一个DID了。

828_AUTOSAR_TPS_DiagnosticExtractTemplate6_DID、路由、数据元素以及文本文档_用例_02

       属性 DiagnosticDataIdentifier.representsVin 的存在

       在给定的DiagnosticContributionSet 的上下文中,属性DiagnosticDataIdentifier.representsVin 应仅为单个DiagnosticDataIdentifier 的值为true。

       请注意,VIN 仅与 IP 诊断 (DoIP) 相关。但是,没有将 [constr_1324] 的有效性限制为建立在 IP 堆栈之上的诊断连接的存在。

       如果该属性存在并且没有使用 IP,则该属性的含义根本不相关。 无论如何,这种情况不应归咎于配置错误。

       数据元素的概念表示从 DID 标识的数据中分解出来的一条信息,并在 DEM 和(例如)测试人员之间进行交换。

828_AUTOSAR_TPS_DiagnosticExtractTemplate6_DID、路由、数据元素以及文本文档_autosar_03

       这种数据元素的性质可以与 ISignal的性质进行比较,因此数据元素的建模通过元类 DiagnosticDataElement 聚合了角色 swDataDefProps 中的 SwDataDefProps,以便提供对 SwBaseType 的引用。

       SwDataDefProps 的聚合还可用于引用 DataConstr,以便为 DiagnosticDataElement 指定有效的数据范围。

828_AUTOSAR_TPS_DiagnosticExtractTemplate6_DID、路由、数据元素以及文本文档_数据_04

       这个元类代表了描述为了诊断目的要考虑的具体数据的能力。

828_AUTOSAR_TPS_DiagnosticExtractTemplate6_DID、路由、数据元素以及文本文档_数据_05

       DiagnosticDataElement.maxNumberOfElements 的值取决于它的存在

       如果属性 DiagnosticDataElement.maxNumberOfElements 存在,则其值应大于 0。

       此类型控制如何解释有关 ApplicationArrayDataType 中元素数量的信息。

       这个属性可能有固定或者变化两种形式。

828_AUTOSAR_TPS_DiagnosticExtractTemplate6_DID、路由、数据元素以及文本文档_用例_06

       请注意,诊断数据元素的计算方法、限制或单位等属性的定义基于 AUTOSAR 元模型的共享资源,即通过元类 SwDataDefProps 的聚合。

       这个元类贡献了大量与一般数据定义相关的可能属性,在这种情况下,特别是诊断。

       然而,重要的是要理解 SwDataDefProps 是如此富有表现力和通用性,以至于它的适用性需要根据源自数据片段语义的要求进行限制(在这种特定情况下,请参阅 [constr_1325])以进行特定部署 由 SwDataDefProps 修饰。

828_AUTOSAR_TPS_DiagnosticExtractTemplate6_DID、路由、数据元素以及文本文档_autosar_07

828_AUTOSAR_TPS_DiagnosticExtractTemplate6_DID、路由、数据元素以及文本文档_数组_08

       DiagnosticDataElement.swDataDefProps 的 SwDataDefProps 允许属性

       表 4.7 中定义了用于角色 DiagnosticDataElement.swDataDefProps 中的聚合的 SwDataDefProps 的允许属性。

828_AUTOSAR_TPS_DiagnosticExtractTemplate6_DID、路由、数据元素以及文本文档_autosar_09

       这个是表中用到的图例说明。

828_AUTOSAR_TPS_DiagnosticExtractTemplate6_DID、路由、数据元素以及文本文档_数据_10

       请注意,与其他 AUTOSAR 文档(例如 [9])中出现的类似表相比,表 4.7 有意详细介绍了 SwBaseType 属性的适用性。 这与包含的类似表格形成对比,例如软件组件模板的规范 [9]。

       SwBaseType 的属性被认为对于定义封闭的 DiagnosticDataElement 的语义至关重要,因此强调是合理的。

       实际表示信息数组的 DiagnosticDataElement 有几个用例。 在某些情况下,数组大小是静态的,不会在运行时更改,而在某些情况下,数组大小需要在运行时更改才能实现预期目的。

828_AUTOSAR_TPS_DiagnosticExtractTemplate6_DID、路由、数据元素以及文本文档_autosar_11

       固定大小的数组定义

       如果以下所有条件都适用,则 DiagnosticDataElement 应解释为固定大小的数组:

       1. 存在属性 DiagnosticDataElement.maxNumberOfElements。

       2. 属性 DiagnosticDataElement.maxNumberOfElements 的值设置为 > 0 的值。

       3. DiagnosticDataElement.arraySizeSemantics 的值不存在或设置为 ArraySizeSemanticsEnum.fixedSize。

828_AUTOSAR_TPS_DiagnosticExtractTemplate6_DID、路由、数据元素以及文本文档_autosar_12

       变化大小数组的定义

       如果以下所有条件都适用,则 DiagnosticDataElement 应解释为可变大小的数组:

       1. 存在属性 DiagnosticDataElement.maxNumberOfElements。

       2. 属性 DiagnosticDataElement.maxNumberOfElements 的值设置为 > 0 的值。

       3. DiagnosticDataElement.arraySizeSemantics 的值设置为 ArraySizeSemanticsEnum.variableSize。

       根据元素数量,DiagnosticDataElement.maxNumberOfElements 的值应被视为最大数组大小。

       小结:这么看,这个变化大小其实也不是随意变化的,而是有一个最大大小的限制。这样,其实这个也算是一种固定,谈不上有太好的伸缩度。

828_AUTOSAR_TPS_DiagnosticExtractTemplate6_DID、路由、数据元素以及文本文档_ide_13

       变化大小的数组的存在性

       如果相应的 DiagnosticDataElement 是从 DiagnosticServiceDataMapping 引用的,则属性 DiagnosticDataElement.arraySizeSemantics 的值不应设置为 ArraySizeSemanticsEnum.variableSize。

828_AUTOSAR_TPS_DiagnosticExtractTemplate6_DID、路由、数据元素以及文本文档_ide_14

       4.3 文本文档

       数据标识符通常还带有一些文本描述,以简短的形式解释数据标识符的含义。 这种能力可以通过 Identifiable 的继承获得,特别是通过属性 desc 和/或介绍(见图 4.2)。

       这也意味着添加某种形式的文本描述的能力在 DiagnosticExtract 的范围内是广泛可用的。 许多元类派生自例如 DiagnosticCommonElement(从 Identifiable 继承)或直接从 Identifiable 继承,因此符合所描述的文档形式。

       换句话说,图 4.2 和 4.3 中描述的技术不仅限于 DiagnosticDataElement,而且在 DiagnosticExtract 的上下文中具有更广泛的适用性。

828_AUTOSAR_TPS_DiagnosticExtractTemplate6_DID、路由、数据元素以及文本文档_数据_15

       图 4.2:通过 desc 和 introduction 定义文本描述

828_AUTOSAR_TPS_DiagnosticExtractTemplate6_DID、路由、数据元素以及文本文档_数组_16

       图 4.3 详细说明了与给定诊断元素相关的文本内容规范。 事实上,DocumentationBlock 提供了一种非常复杂的能力来定义结构化文本,这些文本可能包含例如多个段落(由聚合在角色 p 中的元类 MultiLanguageOverviewParagraph 形式化)。

       除了能够附加结构化文本之外,还可以使用注释(参见图 4.2)向诊断元素添加短注释(类似于使用便签)。

828_AUTOSAR_TPS_DiagnosticExtractTemplate6_DID、路由、数据元素以及文本文档_autosar_17

       这一次的小结暂且到此,梳理了诊断DID尤其是VIN等特别信息、路由、数据元素等不同的信息细节,同时看了一部分对于工具对文本文档支持的要求。