1. 前言

2. 简介

AUTOSAR XML”,简称为“ARXML”;
该标准介绍了如何将AUTOSAR模型序列化为AUTOSAR XML描述的规则,为AUTOSAR工具之间的互操作性提供支持;为什么要将模型序列化?
AUTOSAR XML优点:

  1. 更规范的格式表达;
  2. 基于XML规范减少工具实现的工作量;

AUTOSAR ARXML序列化规范与其他模板规范之间的关系,如下图所示:
AEXML序列化和其他模板规范关系
软件组件模板、系统模板、ECU配置模板等,处理数据结构及其语义;

XML模式生成规则和ARXML序列化规则之间的关系,如下图所示:
XML模式生成规则和ARXML序列化规则之间的关系

3. RXML序列化规则

  • 一个AUTOSAR模型可以从多个XML描述文件中提取;如,一些文件中包含数据类型而另一些文件包含接口等;
  • 文件后缀为".arxml";
  • 文件名最大长度为255个字节;
  • ARXML符合标准的XML文件格式;
  • ARXML编码格式要求,使用UTF-8字符编码、不能以BOM开头、
  • ARXML头部要做XML编码格式声明,如下图所示:
    XML头部编码格式声明
    注:BOM是一个Unicode字符,可以在字节流中使用;UTF-8不支持不同的结尾;
  • ARXML基于XML V1.0标准实现;
  • ARXML头部要做XML版本声明,如下图所示:
    XML头部版本信息格式
  • ARXML做序列化处理时,可以忽略XML文件中的注释;
  • ARXML可能包含XML标准指令;

4. ARXML格式

4.1 根元素

  • <AUTOSAR *** AUTOSAR>为根元素;
  • 根元素下的“xsi:schemaLocation”定义了主版本、次版本、补丁版本信息;
    xsi:schemaLocation="http://autosar.org/schema/r4.0 AUTOSAR_4-3-0.xsd
  • 自适应平台模型的的新版本方案只包含两个元素,发布的年份和月份,如下所示;
    xsi:schemaLocation="http://autosar.org/schema/r4.0 AUTOSAR_2017-03.xsd
  • AUTOSAR XML 名称空间所有的AUTOSAR XML 元素和属性的 AUTOSAR XML 名称
    空间是http://autosar.org/schema/r..;
  • ARXML中只有http://autosar.org/schema/r.和https://www.w3.org/2001/XMLSchema-instance两种有效的命名空间;
  • XML Schema 文档的文件名应按“AUTOSAR _ { number } . xsd”定义, number指定AUTOSAR的版本。如下图所示;
  • AUTOSAR XML 描述应通过映射到 xsi: schemaLocation 属性中 AUTOSAR 命名空间中的模式位置提示 URI声明 AUTOSAR 修订,如下图所示:
    修订版本定义
  • ARXML根元素结构
    根元素结构

4.2 ARXML格式化与缩减

使用范围策略描述
默认方式NewLine元素作为一个块每个缩减2个字符;元素开始标记应该新起一行;XML属性应按字符顺序排列;一个属性一行;
原语(要么建模为UML属性,要么建模为原语的聚合)OneLine元素显示在一行
《atpMixedString》属性InLine元素浮动在文本中This is bold style 按照内联方式格式化
xml:space - preservekeepWhitespace元素中的空格应该保持
xml:space - defaultnormalizeWhitespace应删除前导和尾随空格;多个空格用一个空格代替;不应该进行包装;回车用空白代替;子元素为非空白元素

序列化**<示例>**,如下:
序列化示例

  • 一个没有值的标签应该序列化为 < VALUE > ;
  • AUTOSAR XML 描述的层次结构应该是完整的;

5. 参考文章

1. 21-11 AUTOSAR_TPS_ARXMLSerializationRules
2. AUTOSAR ARXML介绍

3.AUTOSAR应该也是有ARXML文件的标准格式的,但是我当前没有找到,也不知是否是其说的XML Schema标准,若是有在学习的小伙伴知道的话,希望可以分享一下;

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐