全部学习汇总: ​https://github.com/GreyZhang/hack_autosar

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

847_AUTOSAR_TPS_GenericStructureTemplate3_UML的使用2_构造型

       atpObject 适用于类

       这是一个隐式基类。 它只能提供带有 xml.attribute=true 标记的属性。

       更多详细信息请参见第 6.3.3 章。

847_AUTOSAR_TPS_GenericStructureTemplate3_UML的使用2_用例_02

       atpSplable适用于关系

       通过使用原型atpSplitable,元模型可以明确定义元模型的实例如何分布在多个文件中。 默认情况下,所有数据都存储在一个文件中。 如果应用了 atpSplitable,那么关联或聚合的信息可能会存储在不同的文件中。

       有关更多详细信息,请参阅章节D。

847_AUTOSAR_TPS_GenericStructureTemplate3_UML的使用2_xml_03

       atpVariation 适用于类和关系

       这表示变体处理。 它适用于元类以及关联或聚合。

       详细信息查看第7章节。

847_AUTOSAR_TPS_GenericStructureTemplate3_UML的使用2_ide_04

       atpUriDef 适用关联

       这表明基本信息只是reference.target 的全限定名。 然后将其作为一个整体用作特定目的的标识符。

       该关联在 AUTOSAR 模型中充当一种“通用资源标识符”的定义。

       请注意,在这种情况下,只有完全限定的 shortName 路径很重要,而不是目标的 shortName 或目标本身。 特定的语义以及随后的处理取决于各个用例。

       因此,并不总是需要真正遵循构造型 atpUriDef 的引用。 除非用户明确要求特定用例,否则工具不应警告此构造型的悬空引用。

       例如,在 EcucReferenceDef.destination 中,引用表明 EcucReferenceValue 的有效目标必须是 EcucContainerValues,其定义源自 EcucReferenceDef.destination 的目标。 但是即使目标 EcucReferenceDef.destination 并不真正可用,也可以验证这一点。

847_AUTOSAR_TPS_GenericStructureTemplate3_UML的使用2_ide_05

       instanceRef 适用依赖项

       这用于提供图表中实例引用的简化表示。 更多详细信息,请参见第 5.1.3 章。

847_AUTOSAR_TPS_GenericStructureTemplate3_UML的使用2_xml_03

       isOfType 适用关联

       这用于强调原型(AtpPrototype 的子类和类型(AtpType 的子类))之间的具体关系。

       根据第 6.3.23 章,这种刻板印象影响关联的生成。

847_AUTOSAR_TPS_GenericStructureTemplate3_UML的使用2_xml_07

       2.3.1 混合内容

       ( atpMixed , atpMixedString )如果一个元类有多个属性(可能包括聚合或引用),在某些情况下,M1 模型中的“序列化”表示(如 XML)会添加语义到实际顺序和属性实例的出现次数。 可能还需要相同的属性出现在与其他属性实例混合的多个实例中(在 M1 中)。 这种情况不能在 UML 中以简单的方式表达。

       此外,如果模型需要描述类似文档的信息,它通常需要混合正式内容和文本。 此类模型的一个示例是 HTML 中的嵌入链接:形式信息位的标记混合到常规文本中,如下例所示:

       内容略

       此示例说明“混合内容”特性在 XML 中是众所周知的,在 XML 世界中它被称为混合内容。

847_AUTOSAR_TPS_GenericStructureTemplate3_UML的使用2_ide_08

       混合内容的基本特征

       以下列表从建模的角度指示了混合内容的特征。 在混合内容实例中:

       • 一组正式定义的模型元素可能以任意顺序出现任意次数

       • 但实际出现的顺序与整个对象的语义相关,并且

       • 在 atpMixedString 非限定文本的情况下可以混合在任何正式定义的元素之间。

       AUTOSAR 通过构造型支持此机制

       • atpMixedString 允许数据元素之间进行文本操作 ([TPS_GST_00025])

       • atpMixed 允许以任何顺序混合此类类的属性 ([TPS_GST_00024])

       后一种构造型不允许混入文本,但保留语法和语义方面的顺序定义。

847_AUTOSAR_TPS_GenericStructureTemplate3_UML的使用2_构造型_09

       混合内容中的上多重性

       混合内容类将聚合或引用模板模型中的许多其他类。 这些关系的目标多重性通常为 1,因为根据 [TPS_GST_00032] 中给出的定义,出现的总数是任意的。

       但是,如果多重性不为 1,则指定所需的分组。

       例如,如果目标多重性为 2,则必须将这些对象的对(不仅仅是单个对象)放入混合内容中,依此类推。

847_AUTOSAR_TPS_GenericStructureTemplate3_UML的使用2_ide_10

       图 2.2 说明了它是如何工作的。M1 模型以 XML 格式显示。 请注意:

       1. MixedContent 可以是任意顺序 a b c d e 的任意组合。顺序在语义上很重要。 这与在 UML5 中将上重数 > 1 的聚合注释为 {ordered} 具有相同的意义。

       2. c 的上多重性 > 1 因此多重性的包装器在那里

       3. e 在规则上是缺失的,因为根据定义,出现的总数是任意的。

       混合内容中的继承属性

       属性(xml.attribute 设置为 true)和继承的属性不是混合内容的一部分。 进一步注意,在 atpMixedString 中,除了 xml.attribute 设置为 true 的属性之外,没有继承的属性。

       这部分的小结暂且到此,这一次看了构造性的部分概述信息并且看了混合内容的介绍。