> 技术文档 > AUTOSAR图解==>AUTOSAR_TPS_XMLSchemaProductionRules_autosar xml

AUTOSAR图解==>AUTOSAR_TPS_XMLSchemaProductionRules_autosar xml


AUTOSAR XML Schema 生成规则详解

本文档详细介绍了AUTOSAR元模型到XML Schema的映射转换规则与实现方式

目录

  1. 引言
  2. XML Schema设计原则
  3. XML Schema生成规则的配置
  4. XML Schema生成详细规则
  5. AUTOSAR XML Schema合规性
  6. 总结

1. 引言

AUTOSAR元模型描述了用于描述AUTOSAR系统的所有信息实体。XML被选为AUTOSAR系统正式描述交换的基础。本文档详细说明了如何从AUTOSAR元模型编译出符合W3C XML Schema规范的XML Schema。

1.1 XML Schema生成规则的总体上下文

下图展示了AUTOSAR XML Schema生成规则在整体架构中的位置。图左侧描述了AUTOSAR建模方法的元层级,右侧描述了XML语言的元层级:

在这里插入图片描述

图1-1: AUTOSAR XML Schema生成规则总体上下文

从上图可以看出:

  • UML2.0和AUTOSAR模板配置文件:这些组件位于元-元级(M3层),定义了可在AUTOSAR元模型中使用的UML2.0语言部分。
  • AUTOSAR元模型:这是一个UML2.0模型,定义用于描述AUTOSAR系统的语言。它是图形化的模板表示,使用UML2.0类图描述属性及其相互关系。
  • AUTOSAR模型:是AUTOSAR元模型的一个实例,包含符合AUTOSAR元模型的任何信息。
  • W3C XML Schema规范:定义了如何定义XML Schema的规范。
  • AUTOSAR XML Schema:通过本文档定义的XML Schema生成规则从AUTOSAR元模型派生而来,定义了AUTOSAR数据交换格式。
  • AUTOSAR XML描述:描述了AUTOSAR模型的XML表示。每个XML描述必须通过AUTOSAR XML Schema成功验证。

XML Schema生成规则定义了AUTOSAR元模型到AUTOSAR XML Schema的映射规则,是连接UML建模世界与XML描述世界的桥梁。


2. XML Schema设计原则

本章首先描述AUTOSAR元模型的UML2.0语义的一些注意事项,然后简要说明一些基本原则,包括对XML名称、XML元素顺序和链接的简要描述。

2.1 AUTOSAR元模型与XML Schema的映射关系

下图展示了AUTOSAR元模型与XML Schema之间的主要映射关系:

在这里插入图片描述

图2-1: AUTOSAR元模型到XML Schema的映射规则

从上图可以看出以下关键映射规则:

  1. UML类映射

    • UML类映射为XML Schema中的complexType
    • 同时也创建相应的group元素
    • 带有xml.globalElement标记的类会创建全局element
  2. UML属性映射

    • 属性主要映射为XML元素
    • 简单类型的属性也可以配置为XML属性
    • 属性的多重性影响XML中的minOccurs/maxOccurs
  3. UML关联映射

    • 关联主要映射为引用元素
    • 根据配置可以生成不同类型的引用方式

这些映射规则使得AUTOSAR元模型的结构和关系可以在XML Schema中得到准确表达,从而实现模型和XML描述之间的无损转换。

2.2 XML名称规则

AUTOSAR元模型中的UML名称转换为XML名称时遵循以下规则:

  1. 移除所有非字母数字字符
  2. 从左到右拆分UML名称为标记,每当遇到大写字母或数字时开始新标记
  3. 将所有标记转换为大写
  4. 使用连字符(-)连接标记

例如:TestECUClass12ADC 将转换为 TEST-ECU-CLASS-12-ADC

2.3 XML元素顺序

为了降低复杂性并提高读取AUTOSAR XML描述的工具的性能,XML元素遵循可预测的顺序排列。默认情况下,AUTOSAR XML Schema按字母顺序定义XML元素的顺序。可以使用标记值xml.sequenceOffset覆盖此默认规则。


3. XML Schema生成规则的配置

XML Schema的生成可以通过多种标记值(tagged values)进行配置,这些配置决定了如何将AUTOSAR元模型映射到XML Schema。

3.1 配置流程

下图展示了XML Schema生成的配置流程:

在这里插入图片描述

图3-1: XML Schema生成配置流程

如图所示,XML Schema生成配置过程包括以下主要步骤:

  1. 分析UML模型:首先分析AUTOSAR元模型的结构和内容

  2. 应用默认标记值:根据预设规则为模型元素应用默认的配置标记值

    • 配置类映射:设置类如何映射到XML Schema元素
    • 配置属性映射:设置属性如何映射到XML元素或属性
    • 配置引用映射:设置引用关系如何在XML中表示
    • 配置多重性:设置多重性约束如何应用
  3. 验证标记值组合:检查标记值是否存在冲突

    • 检查类标记值
    • 检查属性标记值
    • 检查组合规则(如xml.typeWrapperElement必须与xml.typeElement一起使用)
  4. 生成XML Schema:根据配置生成最终的XML Schema

这一配置流程确保了生成的XML Schema符合AUTOSAR规范,并且能够正确表示元模型中的结构和关系。

3.2 主要配置标记值

AUTOSAR元模型中使用以下关键标记值来配置XML Schema的生成:

  1. 类级别标记值

    • xml.name:定义XML名称
    • xml.globalElement:是否创建全局元素
    • xml.ordered:是否保持顺序
  2. 属性级别标记值

    • xml.attribute:是否映射为XML属性(仅适用于简单类型)
    • xml.roleElement:是否创建角色元素
    • xml.typeElement:是否创建类型元素
    • xml.roleWrapperElement:是否创建角色包装元素
    • xml.typeWrapperElement:是否创建类型包装元素
    • xml.enforceMinMultiplicity:是否强制最小多重性
    • xml.enforceMaxMultiplicity:是否强制最大多重性
    • xml.sequenceOffset:控制XML元素顺序

4. XML Schema生成详细规则

本章介绍了XML Schema生成的详细过程,包括模型表示的创建、类表示的创建、属性表示的创建以及引用表示的创建。

4.1 XML Schema生成过程

下图展示了XML Schema生成的详细流程:

图4-1: XML Schema生成详细流程

如图所示,XML Schema生成过程包括以下主要阶段:

  1. 模型处理

    • 读取AUTOSAR元模型
    • 创建模型表示
    • 创建xsd:schema根元素
  2. 类处理

    • 检查类的类型(普通类、原始类型、枚举类型)
    • 根据类型创建相应的XML Schema组件:
      • 普通类:创建xsd:groupxsd:attributeGroupxsd:complexType
      • 原始类型:创建XML预定义数据类型引用
      • 枚举类型:创建xsd:simpleType枚举
  3. 属性处理

    • 区分组合类型属性和引用类型属性
    • 组合类型属性:
      • 如果配置为XML属性(xml.attribute=true),则创建xsd:attribute
      • 否则,根据四个关键配置位(roleElementroleWrapperElementtypeElementtypeWrapperElement)生成相应的XML元素结构
    • 引用类型属性:
      • 配置为1:创建带IDREF的引用
      • 配置为0:创建带路径的引用

这一详细流程确保了AUTOSAR元模型中的类、属性、关联等结构能够正确地映射到XML Schema中的相应元素。

4.2 配置位组合的处理

属性映射到XML元素时,有四个主要的配置位决定了如何生成XML结构:

  • xml.roleElement:是否创建角色元素
  • xml.roleWrapperElement:是否创建角色包装元素
  • xml.typeElement:是否创建类型元素
  • xml.typeWrapperElement:是否创建类型包装元素

这四个布尔值的组合产生16种可能的配置,但只有11种配置被认为是有效的。例如,配置1111表示四个配置位都为true,会生成最完整的XML结构,而配置0000则表示最简单的结构。

4.3 引用表示

引用属性(即关联)有两种表示方式:

  1. 使用IDREF的引用(配置位1)
  2. 使用路径的引用(配置位0)

IDREF引用使用XML Schema的IDREF类型链接元素,而路径引用使用绝对路径字符串标识目标元素。


5. AUTOSAR XML Schema合规性

所有符合AUTOSAR规范的XML描述必须符合由XML Schema生成规则生成的XML Schema。这一合规性确保了不同工具之间交换的AUTOSAR模型数据的一致性和可互操作性。


6. 总结

AUTOSAR XML Schema生成规则定义了如何将AUTOSAR元模型映射到W3C XML Schema,从而建立了UML模型世界与XML描述世界之间的桥梁。这些规则的主要优势包括:

  1. 标准化:提供了一种标准方法来表示AUTOSAR模型数据
  2. 可配置性:通过标记值系统提供灵活的配置选项
  3. 结构保存:保留了AUTOSAR元模型的类层次结构和关系
  4. 互操作性:确保不同工具可以无缝交换AUTOSAR模型数据
  5. 验证支持:通过XML Schema验证确保数据正确性

这些生成规则使得AUTOSAR工具可以生成和解析标准的XML格式,从而支持汽车电子系统开发过程中的数据交换和工具集成。