全部學習彙總: 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 是有效的。