天天看點

884_AUTOSAR_TPS_GenericStructureTemplate31_評估求值的變體2

       全部學習彙總: 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

       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

       Post Build 與 Pre Build Variant 相結合的有效性

       當預建構和後建構變體都被定義時,後建構變體适用于所有預建構變體。

       此外,引用而不是聚合 PredefinedVariant、SwSystemconstantValueSet 和 PostBuildVariantCriterionValueSet 以啟用變體的重用。 例如,供應商可能有多個 PredefinedVariant 集合——每個 OEM 一個——并在單獨的 EvaluatedVariantSet 中重用它們(參見 [TPS_GST_00280])。

884_AUTOSAR_TPS_GenericStructureTemplate31_評估求值的變體2

       7.7.3.1 評估求解元素

       EvaluatedVariantSet 提供對一個或多個可收集元素的引用(參見第 12 章)。 這用于辨別 PredefinedVariant 涵蓋的包和元素。 請注意, EvaluatedVariantSet 也是 CollectableElement。

       EvaluatedVariantSet 不應引用自身

       EvaluatedVariantSet 不應直接或通過其他 EvaluatedVariantSet 引用自身。

884_AUTOSAR_TPS_GenericStructureTemplate31_評估求值的變體2

       7.7.3.2 準許狀态

       準許狀态的語義

       EvaluatedVariantSet 的屬性準許狀态進一步詳細說明了評估變體的狀态。以下值是标準化的:

       1. APPROVED 已知“已準許”變體可以工作。

       2. REJECTED 已知“被拒絕”的變體不起作用。

       請注意,所有其他值都是特定于用例的。 是以,具有除 APPROVED 或 REJECTED 以外的準許狀态的 EvaluatedVariantSet 未由标準定義,是以在評估系統時應忽略。

884_AUTOSAR_TPS_GenericStructureTemplate31_評估求值的變體2

       7.7.3.3 包含變體

       PredefinedVariant 中包含的變體的目的

       關聯includedVariant 定義引用的PredefinedVariant 的設定作為引用PredefinedVariant 的設定的一部分進行處理。

       假設一個變體豐富的系統由多方傳遞的變體豐富的子系統組成。 在這種情況下,子系統的提供者需要為其傳遞定義适當的 EvaluatedVariantSet。 此外,系統的責任方需要為整個系統指定 EvaluatedVariantSet。

       為了做到這一點,他可以使用包括的變體來引用子系統的預定義變體的定義。 如果沒有這個,他将需要重複這些定義。 這将需要有關子系統的知識并降低系統的可維護性。 通過使用includedVariants,系統的建立者不需要任何關于子系統中使用的SwSystemconstantValueSets 和PostBuildVariantCriterionValueSet 的知識。

884_AUTOSAR_TPS_GenericStructureTemplate31_評估求值的變體2
884_AUTOSAR_TPS_GenericStructureTemplate31_評估求值的變體2

       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

       因CollectableElement 被拒絕

       一個CollectableElement(見第3 章)在以下情況下被準許用于給定的變體:

       • 它被至少一個适當的EvaluatedVariantSet 引用,且approvedStatus 設定為APPROVED,或者不是被拒絕的EvaluatedVariantSet。 這確定 EvaluatedVariantSet 被視為預設準許。

       • 并且不是被拒絕的CollectableElement。

884_AUTOSAR_TPS_GenericStructureTemplate31_評估求值的變體2
884_AUTOSAR_TPS_GenericStructureTemplate31_評估求值的變體2
884_AUTOSAR_TPS_GenericStructureTemplate31_評估求值的變體2
884_AUTOSAR_TPS_GenericStructureTemplate31_評估求值的變體2

       上面是一個XML的例子。

884_AUTOSAR_TPS_GenericStructureTemplate31_評估求值的變體2

       注意:系統常量不僅由其名稱辨別(如表 7.22 所示),而且實際上由完整引用辨別。 這避免了層次結構中的名稱沖突,例如如果兩個(子)元件來自不同的供應商,由于某種原因使用了相同的名稱。

7.7.6 類表

884_AUTOSAR_TPS_GenericStructureTemplate31_評估求值的變體2

       這個元類代表了表達一組 ARElements 是否能夠支援一個或多個特定變體的能力。

       換句話說,對于給定的一組評估元素,這個元類代表一個評估變體表,其中每個 PredefinedVariant 代表一列。 在此列中,每個後代 swSystemconstantValue 對應。

       postbuildVariantCriterionValue 表示一個條目。

       在圖形表示中,每個 swSystemconstantValueSet / postBuildVariantCriterionValueSet 都可以用作表格列中的中間标題。

       如果準許狀态是“準許”,它表示CollectableElements 的集合對于給定的evaluateVariants 是有效的。