概述
全部学习汇总: https://github.com/GreyZhang/hack_autosar
继续梳理《AUTOSAR_TR_XMLPersistenceRules》,陪产假的期间继续让自己忙碌起来。
3 XML Schema 设计原则
本章首先描述了一些关于 XML 模式和 AUTOSAR 元模型的 UML2.0 语义的注释,然后简要描述了一些基本原则,包括对 XML 名称的简短描述、XML 元素的顺序和链接。
3.1 AUTOSAR 元模型的UML2.0 语义注释
在UML2.0 [14] 中,属性和可导航关联端被表示为属性。由于 AUTOSAR 模板配置文件仅支持具有两个关联端的关联,因此属性和关联可以视为 XML 持久性规则的等效项。因此,XML 的持久性规则可以集中在类和属性上。
以下四节提供了有关这些概念的 UML2.0 语义的更多信息。每章都包含一个图表,它显示了 UML 图形符号中的概念(图表的上半部分)以及它如何表示为 UML2.0 元模型的实例(图表的下半部分)。
需要注意,在 UML2.0 中,组合和引用都是通过关联来描述的。唯一的区别是关联结束的属性“聚合”的值。有关 UML2.0 语义的更详细描述,参阅 UML2.0 上层结构规范。
在以下部分中,可导航关联端的属性“聚合”的值显示在关联后面的括号中。
3.1.1 关联的表示(聚合=复合)
图 3-1 描述了如何通过 UML2.0 元模型的实例来表示复合关联。关联端“theC”可从 A 类导航派生,并表示为“A”类拥有的属性。不可导航的关联端归关联所有。
匿名关联和不可导航属性表示的信息与模型持久性规则无关:从持久性规则的角度来看,复合关联和属性之间没有区别(另见下一节)。
3.1.2 属性的表示(聚合=复合)
图 3-2 描述了如何通过 UML2.0 元模型的实例来表示属性。 属性“theC”表示为类“A”拥有的属性。
3.1.3 关联的表示(聚合 = 无)
图 3-3 描述了如何通过 UML2.0 元模型的实例来表示引用(与聚合的关联 = 无)。 关联端“theB”可从 D 类导航,并表示为“D”类拥有的属性。
匿名关联和不可导航属性表示的信息与模型持久性规则无关。从持久性规则的角度来看,引用和具有aggregation=none 的属性之间没有区别(另请参见下一节)。 但是,AUTOSAR 元模型允许引用的构造型。特殊语义按 4.2.3 节所述单独处理。
3.1.4 属性的表示(aggregation = none)
图3-4 描述了aggregation = none 的属性如何通过UML2.0 元模型的实例来表示。 属性“theB”表示为“D”类拥有的属性。
注意事项:
- 带有“aggregation = none”的属性在 UML2.0 图形表示中用“*”表示(属性:theB:B*[0..*])。
- 根据 AUTOSAR 模板配置文件,只允许使用aggregation=composite 的属性。 但是,XML 的持久性规则涵盖了这些属性,因为它们不会增加复杂性:对于带有 Aggregation=none 的 XML 属性的持久性规则(在本节中描述)等价于带有aggregation=none 的关联(在 3.1.3 节中描述)。
3.2 使用 W3C XML 模式的注意事项
W3C XML 模式提供了验证 XML 解析器可以验证 XML 描述的语法和某些语义的方法。
XML 验证可以确定例子:
- 所需的 XML 元素是否可用;
- 是否使用了额外的 XML 属性或不允许使用的 XML 元素
- 或者某些值是否适合给定的正则表达式。
尽管可以进行一些检查,但不可能仅依靠 XML 验证来验证所表示的模型是否满足模型的所有语义约束。
[TR_APRXML_00054] W3C XML Schema Version 1.0 ⌈ AUTOSAR XML Schema 符合 W3C XML Schema Version 1.0(参见第 8.2 章)。⌋ () 本文档中描述的持久性规则确保对于在 AUTOSAR 元模型存在于 AUTOSAR XML 模式中。 此外,他们确保 AUTOSAR 元模型和 AUTOSAR 模式之间的映射是明确的。
换句话说:AUTOSAR 元模型的实例明确映射到 AUTOSAR XML 描述,并且对 AUTOSAR XML 模式有效的 AUTOSAR XML 描述明确映射到 AUTOSAR 元模型的实例。
这也适用于不完整的 XML 描述。
例如:XML元素ATOMIC-SOFTWARE-COMPONENT-TYPE 始终表示由类 AtomicSoftwareComponentType 描述的内容。
这次小结暂且到此,关于这一份文件的小结也到此为止了。这里面的确是一些新的知识,而且我基本上是看不懂的。但是从单纯的嵌入式软件设计的角度看的话似乎是找不到特别必然的关系,且不说这个究竟是否是用于工具设计使用的,至少在实质的嵌入式软件功能设计上似乎是没有特别大的指点价值。
最后
以上就是优雅小蚂蚁为你收集整理的749_AUTOSAR_TR_XMLPersistenceRules文档阅读2_XML设计规则的全部内容,希望文章能够帮你解决749_AUTOSAR_TR_XMLPersistenceRules文档阅读2_XML设计规则所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复