| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 游戏开发 -> 853_AUTOSAR_TPS_GenericStructureTemplate9_通用模板1 -> 正文阅读 |
|
[游戏开发]853_AUTOSAR_TPS_GenericStructureTemplate9_通用模板1 |
?????? 全部学习汇总: GitHub - GreyZhang/hack_autosar: learning autosar documents, aha, very hard! ?????? 继续学习AUTOSAR,看一下官方文档。 ?????? 4 通用模板类 ?????? 下面给出的通用模板类的性质类似于编译器的标准库:一组要在 AUTOSAR 模板模型中使用的预定义结构和元素。 ?????? 4.1 ARObject - 所有类的通用属性 ?????? ARObject ?????? ARObject 是一个元类,它被所有其他元类继承。 ?????? 相关模式如图 6.9 所示。 ?????? 元模型中所有类的隐式基类。 ?????? 4.2 Autosar的包 ?????? AUTOSAR M1 模型中的包可以组织为多个包,由类 ARPackage 表示。 它允许将模型元素放在一起,例如以OEM 或项目特定包的形式包含诸如挡风玻璃刮水器软件组件之类的实体。 ?????? 自聚合(角色 arPackage)表明包实际上可能包含其他包。 除此之外,一个包可以包含任意数量的元素,由抽象类 ARElement 表示。 这样的 AUTOSAR 元素是一个实体,在其自己的语义上下文(独立)中对其进行定义是有意义的。 ?????? 这种 ARElement 的一个例子是可重用软件组件类型的定义。 另一方面,操作的参数单独定义没有意义,因为它的语义是在内部定义的,因此高度依赖于封闭的上下文:操作。 ?????? ARPackage 的目的 ?????? ARPackage 的目的是: ?????? ? 组织AUTOSAR M1 模型并为包中的元素建立命名空间(就像所有Identifiables 一样) ??? ? 定义相关引用的基础 ?????? 相关引用详见6.3.2.2。 ?????? 请注意, ARPackage 中 ARElement 的聚合可能会发生变化。 其主要用例是在产品线架构中指定具有不同接口的组件替代方案。 ?????? PackageableElement 的变化仅限于组件相关模块 ?????? ARPackage 中 ARElement 的变化应仅应用于某种组件级别的元素。 特别是 BswModuleDescription、Documentation、Implementation、SwComponentType、TimingExtension。 此约束仅适用于 PackageableElement 不是蓝图的情况。 ?????? ReferenceBase 需要在包中是唯一的 ?????? 引用库的 shortLabel 在包中(不在包内)必须是唯一的。 请注意,没有必要在包内(更深层次地说)是唯一的。 ?????? 只有一个默认的 ReferenceBase ?????? 每个级别只能有一个 ReferenceBase 可以标记为默认值(默认值 =“true”)。 ?????? globalInPackage 仅用于全局元素 ?????? 仅当 isGlobal 设置为 true 时才允许 ReferenceBase.globalInpackage。 ?????? 全局引用仅限于某些元素 ?????? 执行全局引用的能力仅限于 Chapter、Topic1、Caption、Traceable、XrefTarget、Std、Xdoc、Xfile。 ?????? AUTOSAR 包,允许创建顶级包来构建包含的 ARElement。 ?????? ARPackages 是开放集。 这意味着在基于文件的描述系统中,可以使用多个文件来部分描述包的内容。 ?????? 这是 MSR 的 SW-SYSTEM 的扩展版本。 ?????? 此元类指定成为 AUTOSAR 包成员的能力。 ?????? 可以独立定义的元素,即不属于另一个元素的一部分(当然包除外)。 ?????? 这个元类为相对引用建立了基础。 参考碱基由 shortLabel 标识,它在当前包中必须是唯一的。 ?????? 该原语是 MMT 生成的枚举的代理。 它允许引用 Referrable 的任何子类。 由于技术原因,该类表中未显示可能的值。 ?????? 标签:xml.mds.type=REFERRABLE–SUBTYPES-ENUM;? xml.xsd.type=string ?????? 4.3 可识别性和可参考性 ?????? 可识别的主要目的 ?????? 抽象基类 Identifiable 代表了对 AUTOSAR 系统的技术结构做出重大贡献的能力。 ?????? 可参考的主要目的 ?????? 抽象基类 Referrable 表示成为引用目标的能力。 此类引用可以是有助于 AUTOSAR 系统数据模型的文档或关联中的简单链接。 ?????? shortName 的用途 ?????? shortName(由 Referrable 提供)明确标识第一个祖先 Identifiable 给出的上下文中的对象。 ?????? 选择可读性好的名称 ?????? 短名称旨在“说出名称”,但也可用于参考目的。 ?????? longName 的用途 ?????? longName(由 MultilanguageReferrable 提供),其中包含作为单行文本的对象标题。 内容 longName 面向人类读者。 因此,可以用不同的语言描述长名称。 ?????? Desc目的 ?????? desc 包含对象是什么的简要描述。 这是为了帮助人类识别物体。它是一个单独的段落,也以多种语言提供。 ?????? adminData 的用途 ?????? adminData 包含有关对象的管理信息,例如版本信息、语言设置等。这些信息还具有识别字符。 ?????? uuid 的用途 ?????? uuid 可用于用户的工具环境以唯一标识 AUTOSAR 元素,例如,将 AUTOSAR 元素合并到公司特定的数据库中时。uuid 对于 AUTOSAR 模型没有语义意义,并??且不需要 AUTOSAR 工具来管理 uuid。 ?????? 除了这些识别属性之外,Identifiable 还带有其他具有特定用途的属性。 为了简化模型,这些属性在 Identifiable 中定义,因为它们几乎适用于代表 AUTOSAR 系统技术结构的所有可识别对象: ?????? 类别的目的 ?????? category 包含一个关键字,表示 Identifiable 的特定用例。 在某种程度上,类别可以与 UML 中的构造型进行比较。 适用的类别在相关对象的约束中指定。 ?????? 类别值 ?????? 通常,允许通过用户定义的值扩展模板规范中定义的类别。 在这种情况下,用户有责任避免与现有或未来定义的 AUTOSAR 类别发生任何冲突。 例如,这可以通过使用适当的前缀来实现。 ?????? 无论如何,特定元素的约束可能会将类别限制为完全定义的类别,并且在这种情况下不允许扩展。 ?????? 介绍目的 ?????? 介绍包含有关如何构建或使用已识别对象的介绍性文档。 ?????? 注解的目的 ?????? 注释包含开发注释 ?????? 有关注释的更多详细信息,请参阅第 4.9 章。 ?????? 例如,AUTOSAR 项目的这些属性将是: ?????? ? shortName:AUTOSAR ?????? ? longName:汽车开放系统架构 ?????? ? desc:AUTOSAR 是一个开放和标准化的汽车软件架构,由汽车制造商、供应商和工具开发商联合开发。 ?????? ? introduction:AUTOSAR ?????? – 为进一步提高性能、安全性和环保性的创新电子系统铺平道路 ?????? – 是一个强大的全球伙伴关系,它创建了一个共同的标准:“在标准上合作,在实施上竞争” ?????? – ... ?????? 基类 Identifiable 有更多与内容相关的属性,如图 4.2 所示。 ?????? 基类 Referrable 及其特化如图 4.3 所示。 ?????? 这部分主要是针对通用模板类的一些描述。最近的这几次的小结梳理,多少有点看着难受,因为能够很好理解的内容会很少。但是我觉得我想把这部分继续看下去,哪怕是当做一种精神上的修行。如果这部分,我都能够逐字逐句全都去分析阅读一遍,我相信如果看到我熟悉的具体的功能描述部分,我应该能够感觉非常舒适。给自己加油鼓励一下! |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/28 2:41:31- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |