全部学习汇总: GitHub - GreyZhang/hack_autosar: learning autosar documents, aha, very hard!
继续学习AUTOSAR,继续看模板类的文档。或许,这一类文档不会给我太多知识上的积累提升,但是对于一个人的心智绝对是很好的磨炼。

SwSystemconstValue
SwSystemconstantValueSet 包含许多 SwSystemconstValue 对象,每个对象代表表中的一个单元格,并实现(顾名思义)单个系统常量的值。
存储在单元格中的值由属性值表示,而属性值又会通过属性值模式发生变化(参见第 7.4 节)。
系统常数的间接赋值
在这里使用变体点的主要动机是方便:值由表达式决定,而这正是属性值变体点的作用。 在实践中,大多数情况下,表达式应该由单个系统常量组成。

SwSystemconst
每个 SwSystemconstValue 都提供对 SwSystemconst 的引用。 这是系统常量,其值由 SwSystemconstValue 定义。
SwSystemconstantValueSet、SwSystemconstValue 和 SwSystemconst 定义预构建变体。 PostBuild 变体有第二个分支:
Pre Build 和 Post Build 分支的预定义变体之间的类比
PostBuildVariantCriterionValueSet是SwSystemconstantValueSet的postbuild模拟。
PostBuildVariantCriterionValue是SwSystemconstValue的postbuild模拟。
PostBuildVariantCriterion是SwSystemconst的postbuild模拟。

Post Build 与 Pre Build Variant 相结合的有效性
当预构建和后构建变体都被定义时,后构建变体适用于所有预构建变体。
此外,引用而不是聚合 PredefinedVariant、SwSystemconstantValueSet 和 PostBuildVariantCriterionValueSet 以启用变体的重用。 例如,供应商可能有多个 PredefinedVariant 集合——每个 OEM 一个——并在单独的 EvaluatedVariantSet 中重用它们(参见 [TPS_GST_00280])。

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

7.7.3.2 批准状态
批准状态的语义
EvaluatedVariantSet 的属性批准状态进一步详细说明了评估变体的状态。以下值是标准化的:
1. APPROVED 已知“已批准”变体可以工作。
2. REJECTED 已知“被拒绝”的变体不起作用。
请注意,所有其他值都是特定于用例的。 因此,具有除 APPROVED 或 REJECTED 以外的批准状态的 EvaluatedVariantSet 未由标准定义,因此在评估系统时应忽略。

7.7.3.3 包含变体
PredefinedVariant 中包含的变体的目的
关联includedVariant 定义引用的PredefinedVariant 的设置作为引用PredefinedVariant 的设置的一部分进行处理。
假设一个变体丰富的系统由多方交付的变体丰富的子系统组成。 在这种情况下,子系统的提供者需要为其交付定义适当的 EvaluatedVariantSet。 此外,系统的责任方需要为整个系统指定 EvaluatedVariantSet。
为了做到这一点,他可以使用包括的变体来引用子系统的预定义变体的定义。 如果没有这个,他将需要重复这些定义。 这将需要有关子系统的知识并降低系统的可维护性。 通过使用includedVariants,系统的创建者不需要任何关于子系统中使用的SwSystemconstantValueSets 和PostBuildVariantCriterionValueSet 的知识。


7.7.4 一致性
一个特定的 EvaluatedVariantSet 引用了 CollectableElements 以表达它们的批准状态。 由于 EvaluatedVariantSet 也是一个 CollectableElement,因此可以出现 EvaluatedVariantSet 的层次结构。
另一方面,元模型通过对象的聚合建立另一个层次结构。 在考虑评估的变体时,清楚地区分这两个层次很重要。
本节定义有关此类层次结构一致性的详细信息。
REJECTED 先于批准
通常状态 REJECTED 优先于状态 APPROVED。 也就是说,如果例如 一个“批准的”包包含一个“被拒绝的”软件组件,对于这个 EvaluatedVariantSet,整个包应被视为被拒绝。
已批准可收集元素
对于给定的变体,CollectableElement(参见第 3 章)被拒绝,只要满足一下情况:
• 它被至少一个适当的 EvaluatedVariantSet 引用,并且approvalStatus 设置为 REJECTED
• 或聚合(可能跨越多个级别)一个CollectableElement,该元素在适当的EvaluatedVariantSet 中引用,且approvedStatus 设置为REJECTED。

因CollectableElement 被拒绝
一个CollectableElement(见第3 章)在以下情况下被批准用于给定的变体:
• 它被至少一个适当的EvaluatedVariantSet 引用,且approvedStatus 设置为APPROVED,或者不是被拒绝的EvaluatedVariantSet。 这确保 EvaluatedVariantSet 被视为默认批准。
• 并且不是被拒绝的CollectableElement。




上面是一个XML的例子。

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

这个元类代表了表达一组 ARElements 是否能够支持一个或多个特定变体的能力。
换句话说,对于给定的一组评估元素,这个元类代表一个评估变体表,其中每个 PredefinedVariant 代表一列。 在此列中,每个后代 swSystemconstantValue 对应。
postbuildVariantCriterionValue 表示一个条目。
在图形表示中,每个 swSystemconstantValueSet / postBuildVariantCriterionValueSet 都可以用作表格列中的中间标题。
如果批准状态是“批准”,它表示CollectableElements 的集合对于给定的evaluateVariants 是有效的。
请注意, EvaluatedVariantSet 是一个 CollectableElement。 这允许建立 EvaluatedVariantSets 的层次结构。
标签: atp.recommendedPackage=EvaluatedVariantSets
其他的几个表,看了一下内容其实就是对前面内容的总结。这里不再做具体的梳理了。这样,到此为止,变体的评估求值相关的部分就已经看完了。
















