​​

       继续学习AUTOSAR,看一下官方的文档。

852_AUTOSAR_TPS_GenericStructureTemplate8_上层架构2_名称空间

       ARPackage的非标准化类别

       不属于这些类别之一的模型元素应与利益相关者共同商定的类别放在一个包中。 在这种情况下,也可能根本没有类别。

852_AUTOSAR_TPS_GenericStructureTemplate8_上层架构2_名称空间_02

       避免冲突的包类别

       请注意,利益相关者有责任确保不发生冲突的类别。

       可以维护从蓝图到从该蓝图派生的“实际”对象的引用。 元类 BlueprintMappingSet 可用于此目的。 特定的兼容性规则可能适用并在适当的模板中定义。 有关更多详细信息,请参阅 [2]。

852_AUTOSAR_TPS_GenericStructureTemplate8_上层架构2_autosar_03

       这代表了“实际”模型元素和为其创建所采用的“蓝图”之间的映射容器。

       标签: atp.recommendedPackage=BlueprintMappingSets

852_AUTOSAR_TPS_GenericStructureTemplate8_上层架构2_抽象类_04

       3.2 ARPackage、ARElement和Identifiable等的作用。

       AUTOSAR 元模型使用了一些抽象类,它们代表了模型组织方面的各种能力。 图 3.2 提供了相同的概要。

852_AUTOSAR_TPS_GenericStructureTemplate8_上层架构2_autosar_05

       图 3.2:模型组织类的概要

852_AUTOSAR_TPS_GenericStructureTemplate8_上层架构2_autosar_06

       关于Referrable:

       • Referrable 是一个抽象元类,它有一个shortName 作为引用的目标。  Referrable 主要用于参考目标具有一个小的模型,如 Sdg。  Referrable 专门用于 SingleLanguageReferrable/MultiLanguageReferrables。

       • SingleLanguageReferrable 的特化适用于嵌入已是多语言对象一部分的文本中的元素(所谓的内联元素,如第 8.2.8 章所述)。

     • MultiLanguageReferrables 的专业化适用于应该具有相对较小占用空间的多语言对象,例如 DefList、Traceable。

852_AUTOSAR_TPS_GenericStructureTemplate8_上层架构2_autosar_07

       关于 Describable:

       • Describable 是一个抽象元类,它代表提供描述但不是可引用或可识别的能力。 在这里提到它是为了完整性。

       关于 Identifiable:

       • Identifiable 是一个抽象类,它继承自 MultilanguageReferrable。 这用于识别 AUTOSAR 模型中的基本对象。

       与 Referrable 相关,它提供了进一步的方法来识别元素,例如 desc。 显然,任何可以识别的东西也应该是可参考的。 因此,Identifiable 是 Referrable 的特化。

       • 嵌套的 Identifiable 建立了一个分层的名称空间。

       请注意,如果 Referrable 将包含更多的 Referrable,则它不会是分层名称空间,因为名称空间仅由 Identifiable2 建立。

       详情请参阅第 4.3.1 章。

       • AUTOSAR 中的arPackage 是AUTOSAR 模型中最顶层的Identifiable。这个顶级 ARPackage 是命名空间层次结构的根。

       • Identifiable(更准确地说是Referrable)的shortName 在包含Identifiable 中必须(不区分大小写)是唯一的。 示例是

       – ARElement 的 shortName(例如 ApplicationSwComponentType)在 ARPackage(可识别)中必须是唯一的。 但是在不同的 ARPackage 中可能还有其他具有相同 shortName 的 ApplicationSwComponentType。

       – PortPrototype 的 shortName 在 ApplicationSwComponentType(可识别)中必须是唯一的。 但是在其他 ApplicationSwComponentTypes 中可能有同名的 PortPrototypes。

852_AUTOSAR_TPS_GenericStructureTemplate8_上层架构2_autosar_08

       关于CollectableElement:

       • CollectableElement 代表成为集合一部分的能力(特别是被集合引用)。 这个元类不会引入更多的属性,也不会引入更多可能的聚合。

       • 即使CollectableElement 与ARElement 相似,它也不相同,因为它处理完全不同的方面。

852_AUTOSAR_TPS_GenericStructureTemplate8_上层架构2_抽象类_09

       关于 ARPackage:

       • ARPackage 可以嵌套:ARPackage 可以在角色 arPackage 中包含 ARPackage。

     • 因此 ARPackage 由嵌套分支 (ARPackages) 和叶子(PackageableElement 的子类,特别是 ArElement 的子类)组成。

       • ARPackage 是Identifiable 的特化。 否则它不会对命名空间层次结构做出贡献。

       • PackageableElement 是一个抽象类,代表可以独立定义对象的能力。 这些对象不需要上下文。 这些对象有时被称为“一等公民”。

       •PackageableElement(ARElement FibexElement) 不能包含更多的 PackageableElements (ARElements resp. FibexElement)。

852_AUTOSAR_TPS_GenericStructureTemplate8_上层架构2_名称空间_10

       关于ARElement 和FibexElement:

       • ARElement 是一个抽象类,它通常有助于AUTOSAR 模型。

       • FibexElement 是一个抽象类,它表示元素特别有助于描述系统的通信和拓扑的能力。

       • ARElement 和FibexElement 是可识别的。 所以派生元素也有一个shortName。

       • ARElement FibexElement 可能包含从 Identifiable 派生的更多元素。 一个例子是 ApplicationSwComponentType.pPortPrototype,它属于 PPortPrototype 类。

       这样,整个顶层架构的部分就基本过了一下了。先到此结束,后面开始一个新的章节。