1. 前言
略
2. 简介
“
AUTOSAR XML
”,简称为“
ARXML
”;
该标准介绍了如何将AUTOSAR模型序列化为AUTOSAR XML描述的规则,为AUTOSAR工具之间的互操作性提供支持;
为什么要将模型序列化?
AUTOSAR XML优点:
- 更规范的格式表达;
- 基于XML规范减少工具实现的工作量;
AUTOSAR ARXML序列化规范与其他模板规范之间的关系,如下图所示:
软件组件模板、系统模板、ECU配置模板等,处理数据结构及其语义;
XML模式生成规则和ARXML序列化规则之间的关系,如下图所示:
3. RXML序列化规则
- 一个AUTOSAR模型可以从多个XML描述文件中提取;如,一些文件中包含数据类型而另一些文件包含接口等;
- 文件后缀为”.arxml”;
- 文件名最大长度为255个字节;
- ARXML符合标准的XML文件格式;
- ARXML编码格式要求,使用UTF-8字符编码、不能以BOM开头、
-
ARXML头部要做XML编码格式声明,如下图所示:
注:BOM是一个Unicode字符,可以在字节流中使用;UTF-8不支持不同的结尾; - ARXML基于XML V1.0标准实现;
-
ARXML头部要做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 – preserve | keepWhitespace | 元素中的空格应该保持 |
xml:space – default | normalizeWhitespace | 应删除前导和尾随空格;多个空格用一个空格代替;不应该进行包装;回车用空白代替;子元素为非空白元素 |
序列化**<示例>**,如下:
- 一个没有值的标签应该序列化为 < VALUE > ;
- AUTOSAR XML 描述的层次结构应该是完整的;
5. 参考文章
1. 21-11 AUTOSAR_TPS_ARXMLSerializationRules
2. AUTOSAR ARXML介绍
3.AUTOSAR应该也是有ARXML文件的标准格式的,但是我当前没有找到,也不知是否是其说的XML Schema标准,若是有在学习的小伙伴知道的话,希望可以分享一下;
版权声明:本文为qq_37748525原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。