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

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

853_AUTOSAR_TPS_GenericStructureTemplate9_通用模板1_autosar

       4 通用模板类

       下面给出的通用模板类的性质类似于编译器的标准库:一组要在 AUTOSAR 模板模型中使用的预定义结构和元素。

853_AUTOSAR_TPS_GenericStructureTemplate9_通用模板1_ide_02

       4.1 ARObject - 所有类的通用属性

       ARObject

       ARObject 是一个元类,它被所有其他元类继承。

       相关模式如图 6.9 所示。

       元模型中所有类的隐式基类。

853_AUTOSAR_TPS_GenericStructureTemplate9_通用模板1_xml_03

853_AUTOSAR_TPS_GenericStructureTemplate9_通用模板1_it技术_04

       4.2 Autosar的包

       AUTOSAR M1 模型中的包可以组织为多个包,由类 ARPackage 表示。 它允许将模型元素放在一起,例如以OEM 或项目特定包的形式包含诸如挡风玻璃刮水器软件组件之类的实体。

       自聚合(角色 arPackage)表明包实际上可能包含其他包。 除此之外,一个包可以包含任意数量的元素,由抽象类 ARElement 表示。 这样的 AUTOSAR 元素是一个实体,在其自己的语义上下文(独立)中对其进行定义是有意义的。

       这种 ARElement 的一个例子是可重用软件组件类型的定义。 另一方面,操作的参数单独定义没有意义,因为它的语义是在内部定义的,因此高度依赖于封闭的上下文:操作。

853_AUTOSAR_TPS_GenericStructureTemplate9_通用模板1_模板类_05

       ARPackage 的目的

       ARPackage 的目的是:

       • 组织AUTOSAR M1 模型并为包中的元素建立命名空间(就像所有Identifiables 一样)     • 定义相关引用的基础

       相关引用详见6.3.2.2。

853_AUTOSAR_TPS_GenericStructureTemplate9_通用模板1_ide_06

       请注意, ARPackage 中 ARElement 的聚合可能会发生变化。 其主要用例是在产品线架构中指定具有不同接口的组件替代方案。

       PackageableElement 的变化仅限于组件相关模块

       ARPackage 中 ARElement 的变化应仅应用于某种组件级别的元素。 特别是 BswModuleDescription、Documentation、Implementation、SwComponentType、TimingExtension。 此约束仅适用于 PackageableElement 不是蓝图的情况。

853_AUTOSAR_TPS_GenericStructureTemplate9_通用模板1_xml_07

       ReferenceBase 需要在包中是唯一的

       引用库的 shortLabel 在包中(不在包内)必须是唯一的。 请注意,没有必要在包内(更深层次地说)是唯一的。

853_AUTOSAR_TPS_GenericStructureTemplate9_通用模板1_模板类_08

       只有一个默认的 ReferenceBase

       每个级别只能有一个 ReferenceBase 可以标记为默认值(默认值 =“true”)。

853_AUTOSAR_TPS_GenericStructureTemplate9_通用模板1_xml_09

       globalInPackage 仅用于全局元素

       仅当 isGlobal 设置为 true 时才允许 ReferenceBase.globalInpackage。

853_AUTOSAR_TPS_GenericStructureTemplate9_通用模板1_it技术_10

       全局引用仅限于某些元素

       执行全局引用的能力仅限于 Chapter、Topic1、Caption、Traceable、XrefTarget、Std、Xdoc、Xfile。

853_AUTOSAR_TPS_GenericStructureTemplate9_通用模板1_xml_11

853_AUTOSAR_TPS_GenericStructureTemplate9_通用模板1_ide_12

       AUTOSAR 包,允许创建顶级包来构建包含的 ARElement。

       ARPackages 是开放集。 这意味着在基于文件的描述系统中,可以使用多个文件来部分描述包的内容。

       这是 MSR 的 SW-SYSTEM 的扩展版本。

853_AUTOSAR_TPS_GenericStructureTemplate9_通用模板1_autosar_13

       此元类指定成为 AUTOSAR 包成员的能力。

853_AUTOSAR_TPS_GenericStructureTemplate9_通用模板1_ide_14

       可以独立定义的元素,即不属于另一个元素的一部分(当然包除外)。

853_AUTOSAR_TPS_GenericStructureTemplate9_通用模板1_xml_15

853_AUTOSAR_TPS_GenericStructureTemplate9_通用模板1_xml_16

853_AUTOSAR_TPS_GenericStructureTemplate9_通用模板1_ide_17

       这个元类为相对引用建立了基础。 参考碱基由 shortLabel 标识,它在当前包中必须是唯一的。

853_AUTOSAR_TPS_GenericStructureTemplate9_通用模板1_ide_18

       该原语是 MMT 生成的枚举的代理。 它允许引用 Referrable 的任何子类。 由于技术原因,该类表中未显示可能的值。

       标签:xml.mds.type=REFERRABLE–SUBTYPES-ENUM;  xml.xsd.type=string

853_AUTOSAR_TPS_GenericStructureTemplate9_通用模板1_ide_19

       4.3 可识别性和可参考性

       可识别的主要目的

       抽象基类 Identifiable 代表了对 AUTOSAR 系统的技术结构做出重大贡献的能力。

853_AUTOSAR_TPS_GenericStructureTemplate9_通用模板1_autosar_20

       可参考的主要目的

       抽象基类 Referrable 表示成为引用目标的能力。 此类引用可以是有助于 AUTOSAR 系统数据模型的文档或关联中的简单链接。

853_AUTOSAR_TPS_GenericStructureTemplate9_通用模板1_模板类_21

       shortName 的用途

       shortName(由 Referrable 提供)明确标识第一个祖先 Identifiable 给出的上下文中的对象。

853_AUTOSAR_TPS_GenericStructureTemplate9_通用模板1_模板类_22

       选择可读性好的名称

       短名称旨在“说出名称”,但也可用于参考目的。

853_AUTOSAR_TPS_GenericStructureTemplate9_通用模板1_xml_23

       longName 的用途

       longName(由 MultilanguageReferrable 提供),其中包含作为单行文本的对象标题。 内容 longName 面向人类读者。 因此,可以用不同的语言描述长名称。

853_AUTOSAR_TPS_GenericStructureTemplate9_通用模板1_it技术_24

       Desc目的

       desc 包含对象是什么的简要描述。 这是为了帮助人类识别物体。它是一个单独的段落,也以多种语言提供。

853_AUTOSAR_TPS_GenericStructureTemplate9_通用模板1_模板类_25

       adminData 的用途

       adminData 包含有关对象的管理信息,例如版本信息、语言设置等。这些信息还具有识别字符。

853_AUTOSAR_TPS_GenericStructureTemplate9_通用模板1_it技术_26

       uuid 的用途

       uuid 可用于用户的工具环境以唯一标识 AUTOSAR 元素,例如,将 AUTOSAR 元素合并到公司特定的数据库中时。uuid 对于 AUTOSAR 模型没有语义意义,并​​且不需要 AUTOSAR 工具来管理 uuid。

853_AUTOSAR_TPS_GenericStructureTemplate9_通用模板1_autosar_27

853_AUTOSAR_TPS_GenericStructureTemplate9_通用模板1_ide_28

853_AUTOSAR_TPS_GenericStructureTemplate9_通用模板1_autosar_29

       除了这些识别属性之外,Identifiable 还带有其他具有特定用途的属性。 为了简化模型,这些属性在 Identifiable 中定义,因为它们几乎适用于代表 AUTOSAR 系统技术结构的所有可识别对象:

       类别的目的

       category 包含一个关键字,表示 Identifiable 的特定用例。 在某种程度上,类别可以与 UML 中的构造型进行比较。 适用的类别在相关对象的约束中指定。

       类别值

       通常,允许通过用户定义的值扩展模板规范中定义的类别。 在这种情况下,用户有责任避免与现有或未来定义的 AUTOSAR 类别发生任何冲突。 例如,这可以通过使用适当的前缀来实现。

       无论如何,特定元素的约束可能会将类别限制为完全定义的类别,并且在这种情况下不允许扩展。

       介绍目的

       介绍包含有关如何构建或使用已识别对象的介绍性文档。

       注解的目的

       注释包含开发注释

       有关注释的更多详细信息,请参阅第 4.9 章。

       例如,AUTOSAR 项目的这些属性将是:

       • shortName:AUTOSAR

       • longName:汽车开放系统架构

       • desc:AUTOSAR 是一个开放和标准化的汽车软件架构,由汽车制造商、供应商和工具开发商联合开发。

       • introduction:AUTOSAR

       – 为进一步提高性能、安全性和环保性的创新电子系统铺平道路

       – 是一个强大的全球伙伴关系,它创建了一个共同的标准:“在标准上合作,在实施上竞争”

       – ...

       基类 Identifiable 有更多与内容相关的属性,如图 4.2 所示。

       基类 Referrable 及其特化如图 4.3 所示。

853_AUTOSAR_TPS_GenericStructureTemplate9_通用模板1_ide_30

       这部分主要是针对通用模板类的一些描述。最近的这几次的小结梳理,多少有点看着难受,因为能够很好理解的内容会很少。但是我觉得我想把这部分继续看下去,哪怕是当做一种精神上的修行。如果这部分,我都能够逐字逐句全都去分析阅读一遍,我相信如果看到我熟悉的具体的功能描述部分,我应该能够感觉非常舒适。给自己加油鼓励一下!