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

       继续学习AUTOSAR,继续看模板类的文档。或许,这一类文档不会给我太多知识上的积累提升,但是对于一个人的心智绝对是很好的磨炼。

884_AUTOSAR_TPS_GenericStructureTemplate31_评估求值的变体2_属性值

       SwSystemconstValue

       SwSystemconstantValueSet 包含许多 SwSystemconstValue 对象,每个对象代表表中的一个单元格,并实现(顾名思义)单个系统常量的值。

       存储在单元格中的值由属性值表示,而属性值又会通过属性值模式发生变化(参见第 7.4 节)。

       系统常数的间接赋值

       在这里使用变体点的主要动机是方便:值由表达式决定,而这正是属性值变体点的作用。 在实践中,大多数情况下,表达式应该由单个系统常量组成。

884_AUTOSAR_TPS_GenericStructureTemplate31_评估求值的变体2_autosar_02

       SwSystemconst

       每个 SwSystemconstValue 都提供对 SwSystemconst 的引用。 这是系统常量,其值由 SwSystemconstValue 定义。

       SwSystemconstantValueSet、SwSystemconstValue 和 SwSystemconst 定义预构建变体。  PostBuild 变体有第二个分支:

       Pre Build 和 Post Build 分支的预定义变体之间的类比

       PostBuildVariantCriterionValueSet是SwSystemconstantValueSet的postbuild模拟。

       PostBuildVariantCriterionValue是SwSystemconstValue的postbuild模拟。

       PostBuildVariantCriterion是SwSystemconst的postbuild模拟。

884_AUTOSAR_TPS_GenericStructureTemplate31_评估求值的变体2_autosar_03

       Post Build 与 Pre Build Variant 相结合的有效性

       当预构建和后构建变体都被定义时,后构建变体适用于所有预构建变体。

       此外,引用而不是聚合 PredefinedVariant、SwSystemconstantValueSet 和 PostBuildVariantCriterionValueSet 以启用变体的重用。 例如,供应商可能有多个 PredefinedVariant 集合——每个 OEM 一个——并在单独的 EvaluatedVariantSet 中重用它们(参见 [TPS_GST_00280])。

884_AUTOSAR_TPS_GenericStructureTemplate31_评估求值的变体2_autosar_04

       7.7.3.1 评估求解元素
       EvaluatedVariantSet 提供对一个或多个可收集元素的引用(参见第 12 章)。 这用于标识 PredefinedVariant 涵盖的包和元素。 请注意, EvaluatedVariantSet 也是 CollectableElement。

       EvaluatedVariantSet 不应引用自身

       EvaluatedVariantSet 不应直接或通过其他 EvaluatedVariantSet 引用自身。

884_AUTOSAR_TPS_GenericStructureTemplate31_评估求值的变体2_it技术_05

       7.7.3.2 批准状态

       批准状态的语义

       EvaluatedVariantSet 的属性批准状态进一步详细说明了评估变体的状态。以下值是标准化的:

       1. APPROVED 已知“已批准”变体可以工作。

       2. REJECTED 已知“被拒绝”的变体不起作用。

       请注意,所有其他值都是特定于用例的。 因此,具有除 APPROVED 或 REJECTED 以外的批准状态的 EvaluatedVariantSet 未由标准定义,因此在评估系统时应忽略。

884_AUTOSAR_TPS_GenericStructureTemplate31_评估求值的变体2_属性值_06

       7.7.3.3 包含变体

       PredefinedVariant 中包含的变体的目的

       关联includedVariant 定义引用的PredefinedVariant 的设置作为引用PredefinedVariant 的设置的一部分进行处理。

       假设一个变体丰富的系统由多方交付的变体丰富的子系统组成。 在这种情况下,子系统的提供者需要为其交付定义适当的 EvaluatedVariantSet。 此外,系统的责任方需要为整个系统指定 EvaluatedVariantSet。

       为了做到这一点,他可以使用包括的变体来引用子系统的预定义变体的定义。 如果没有这个,他将需要重复这些定义。 这将需要有关子系统的知识并降低系统的可维护性。 通过使用includedVariants,系统的创建者不需要任何关于子系统中使用的SwSystemconstantValueSets 和PostBuildVariantCriterionValueSet 的知识。

884_AUTOSAR_TPS_GenericStructureTemplate31_评估求值的变体2_层次结构_07

884_AUTOSAR_TPS_GenericStructureTemplate31_评估求值的变体2_lua_08

       7.7.4 一致性

       一个特定的 EvaluatedVariantSet 引用了 CollectableElements 以表达它们的批准状态。 由于 EvaluatedVariantSet 也是一个 CollectableElement,因此可以出现 EvaluatedVariantSet 的层次结构。

       另一方面,元模型通过对象的聚合建立另一个层次结构。 在考虑评估的变体时,清楚地区分这两个层次很重要。

       本节定义有关此类层次结构一致性的详细信息。

       REJECTED 先于批准

       通常状态 REJECTED 优先于状态 APPROVED。 也就是说,如果例如 一个“批准的”包包含一个“被拒绝的”软件组件,对于这个 EvaluatedVariantSet,整个包应被视为被拒绝。

       已批准可收集元素

       对于给定的变体,CollectableElement(参见第 3 章)被拒绝,只要满足一下情况:

       • 它被至少一个适当的 EvaluatedVariantSet 引用,并且approvalStatus 设置为 REJECTED

       • 或聚合(可能跨越多个级别)一个CollectableElement,该元素在适当的EvaluatedVariantSet 中引用,且approvedStatus 设置为REJECTED。

884_AUTOSAR_TPS_GenericStructureTemplate31_评估求值的变体2_层次结构_09

       因CollectableElement 被拒绝

       一个CollectableElement(见第3 章)在以下情况下被批准用于给定的变体:

       • 它被至少一个适当的EvaluatedVariantSet 引用,且approvedStatus 设置为APPROVED,或者不是被拒绝的EvaluatedVariantSet。 这确保 EvaluatedVariantSet 被视为默认批准。

       • 并且不是被拒绝的CollectableElement。

884_AUTOSAR_TPS_GenericStructureTemplate31_评估求值的变体2_it技术_10

884_AUTOSAR_TPS_GenericStructureTemplate31_评估求值的变体2_it技术_11

884_AUTOSAR_TPS_GenericStructureTemplate31_评估求值的变体2_属性值_12

884_AUTOSAR_TPS_GenericStructureTemplate31_评估求值的变体2_层次结构_13

       上面是一个XML的例子。

884_AUTOSAR_TPS_GenericStructureTemplate31_评估求值的变体2_it技术_14

       注意:系统常量不仅由其名称标识(如表 7.22 所示),而且实际上由完整引用标识。 这避免了层次结构中的名称冲突,例如如果两个(子)组件来自不同的供应商,由于某种原因使用了相同的名称。

7.7.6 类表

884_AUTOSAR_TPS_GenericStructureTemplate31_评估求值的变体2_it技术_15

       这个元类代表了表达一组 ARElements 是否能够支持一个或多个特定变体的能力。

       换句话说,对于给定的一组评估元素,这个元类代表一个评估变体表,其中每个 PredefinedVariant 代表一列。 在此列中,每个后代 swSystemconstantValue 对应。

       postbuildVariantCriterionValue 表示一个条目。

       在图形表示中,每个 swSystemconstantValueSet / postBuildVariantCriterionValueSet 都可以用作表格列中的中间标题。

       如果批准状态是“批准”,它表示CollectableElements 的集合对于给定的evaluateVariants 是有效的。

       请注意, EvaluatedVariantSet 是一个 CollectableElement。 这允许建立 EvaluatedVariantSets 的层次结构。

       标签: atp.recommendedPackage=EvaluatedVariantSets

       其他的几个表,看了一下内容其实就是对前面内容的总结。这里不再做具体的梳理了。这样,到此为止,变体的评估求值相关的部分就已经看完了。