AUTOSAR ARXML
来源:互联网 发布:数据库防护产品 编辑:程序博客网 时间:2024/06/01 08:15
以下内容均为作者原创,如需转载请注明出处。
之前在做代码生成工具及配置工具时,一直在编辑及解析<ECUC-MODULE-DEF>……/<ECUC-MODULE-DEF>元素中的内容。最近发现这是错误的用法,AUTOSAR中标准的使用方法是
<ECUC-MODULE-DEF>
<!-- 该部分为模块参数的定义,该部分规范及限制了容器参数的使用方法,取值范围等,其功能等同于Specification中的“Configuration specification”章节-->
……
/<ECUC-MODULE-DEF>
<ECUC-MODULE-CONFIGURATION-VALUES>
<!-- 该部分元素所描述的内容才是用来存储模块配置参数数据的地方。-->
……
/<ECUC-MODULE-CONFIGURATION-VALUES>
让我们来看几个例子:
在例1中,我们定义了Com模块,该模块含有1个容器,该容器含有2个参数。
例1:
<ECUC-MODULE-DEF><SHORT-NAME>Com</SHORT-NAME><LOWER-MULTIPLICITY>0</LOWER-MULTIPLICITY><UPPER-MULTIPLICITY>1</UPPER-MULTIPLICITY><POST-BUILD-VARIANT-SUPPORT>true</POST-BUILD-VARIANT-SUPPORT><SUPPORTED-CONFIG-VARIANTS><SUPPORTED-CONFIG-VARIANT>VARIANT-POST-BUILD</SUPPORTED-CONFIG-VARIANT></SUPPORTED-CONFIG-VARIANTS><CONTAINERS><ECUC-PARAM-CONF-CONTAINER-DEF><SHORT-NAME>ComSignal</SHORT-NAME><LOWER-MULTIPLICITY>0</LOWER-MULTIPLICITY><UPPER-MULTIPLICITY>*</UPPER-MULTIPLICITY><MULTIPLICITY-CONFIG-CLASSES><ECUC-MULTIPLICITY-CONFIGURATION-CLASS><CONFIG-CLASS>POST-BUILD</CONFIG-CLASS><CONFIG-VARIANT>VARIANT-POST-BUILD</CONFIG-VARIANT></ECUC-MULTIPLICITY-CONFIGURATION-CLASS></MULTIPLICITY-CONFIG-CLASSES><POST-BUILD-VARIANT-MULTIPLICITY>true</POST-BUILD-VARIANTMULTIPLICITY><PARAMETERS><ECUC-INTEGER-PARAM-DEF><SHORT-NAME>ComSignalLength</SHORT-NAME><MULTIPLICITY-CONFIG-CLASSES><ECUC-MULTIPLICITY-CONFIGURATION-CLASS><CONFIG-CLASS>PRE-COMPILE</CONFIG-CLASS><CONFIG-VARIANT>VARIANT-POST-BUILD</CONFIG-VARIANT></ECUC-MULTIPLICITY-CONFIGURATION-CLASS></MULTIPLICITY-CONFIG-CLASSES><ORIGIN>AUTOSAR_ECUC</ORIGIN><VALUE-CONFIG-CLASSES><ECUC-VALUE-CONFIGURATION-CLASS><CONFIG-CLASS>PRE-COMPILE</CONFIG-CLASS><CONFIG-VARIANT>VARIANT-POST-BUILD</CONFIG-VARIANT></ECUC-VALUE-CONFIGURATION-CLASS></VALUE-CONFIG-CLASSES></ECUC-INTEGER-PARAM-DEF><ECUC-INTEGER-PARAM-DEF><SHORT-NAME>ComSignalInitValue</SHORT-NAME><MULTIPLICITY-CONFIG-CLASSES><ECUC-MULTIPLICITY-CONFIGURATION-CLASS><CONFIG-CLASS>POST-BUILD</CONFIG-CLASS><CONFIG-VARIANT>VARIANT-POST-BUILD</CONFIG-VARIANT></ECUC-MULTIPLICITY-CONFIGURATION-CLASS></MULTIPLICITY-CONFIG-CLASSES><ORIGIN>AUTOSAR_ECUC</ORIGIN><VALUE-CONFIG-CLASSES><ECUC-VALUE-CONFIGURATION-CLASS><CONFIG-CLASS>POST-BUILD</CONFIG-CLASS><CONFIG-VARIANT>VARIANT-POST-BUILD</CONFIG-VARIANT></ECUC-VALUE-CONFIGURATION-CLASS></VALUE-CONFIG-CLASSES></ECUC-INTEGER-PARAM-DEF></PARAMETERS></ECUC-PARAM-CONF-CONTAINER-DEF></CONTAINERS></ECUC-MODULE-DEF>
在例2中,定义了‘例1’中2个参数的数值。
例2:
<ECUC-MODULE-CONFIGURATION-VALUES><SHORT-NAME>theComConfig</SHORT-NAME><DEFINITION-REF DEST="ECUC-MODULE-DEF">/AUTOSAR/EcucDefs/Com</DEFINITIONREF><IMPLEMENTATION-CONFIG-VARIANT>VARIANT-POST-BUILD</IMPLEMENTATION-CONFIGVARIANT><MODULE-DESCRIPTION-REF DEST="BSW-IMPLEMENTATION">/some_package/theUsed_Com_BSWModuleImplementation</MODULE-DESCRIPTION-REF><CONTAINERS><ECUC-CONTAINER-VALUE><SHORT-NAME>theSignal</SHORT-NAME><DEFINITION-REF DEST="ECUC-PARAM-CONF-CONTAINER-DEF">/AUTOSAR/EcucDefs/Com/ComSignal</DEFINITION-REF><PARAMETER-VALUES><ECUC-NUMERICAL-PARAM-VALUE><DEFINITION-REF DEST="ECUC-INTEGER-PARAM-DEF">/AUTOSAR/EcucDefs/Com/ComSignal/ComSignalLength</DEFINITION-REF><VALUE>2</VALUE></ECUC-NUMERICAL-PARAM-VALUE><ECUC-NUMERICAL-PARAM-VALUE><DEFINITION-REF DEST="ECUC-INTEGER-PARAM-DEF">/AUTOSAR/EcucDefs/Com/ComSignal/ComSignalInitValue</DEFINITION-REF><VALUE>0</VALUE></ECUC-NUMERICAL-PARAM-VALUE></PARAMETER-VALUES></ECUC-CONTAINER-VALUE></CONTAINERS></ECUC-MODULE-CONFIGURATION-VALUES>
由于AUTOSAR中规定,带有stereotype《atpSplitable》构造型标签的元素可以被拆分到几个不同的XML文件中,而<CONTAINERS>元素就含有这种标签,所以‘例2’又可以拆分成下方‘例3’及‘例4’的形式。
例3:
<ECUC-MODULE-CONFIGURATION-VALUES><SHORT-NAME>theComConfig</SHORT-NAME><DEFINITION-REF DEST="ECUC-MODULE-DEF">/AUTOSAR/EcucDefs/Com</DEFINITIONREF><IMPLEMENTATION-CONFIG-VARIANT>VARIANT-POST-BUILD</IMPLEMENTATION-CONFIGVARIANT><MODULE-DESCRIPTION-REF DEST="BSW-IMPLEMENTATION">/some_package/theUsed_Com_BSWModuleImplementation</MODULE-DESCRIPTION-REF><CONTAINERS><ECUC-CONTAINER-VALUE><SHORT-NAME>theSignal</SHORT-NAME><DEFINITION-REF DEST="ECUC-PARAM-CONF-CONTAINER-DEF">/AUTOSAR/EcucDefs/Com/ComSignal</DEFINITION-REF><PARAMETER-VALUES><ECUC-NUMERICAL-PARAM-VALUE><DEFINITION-REF DEST="ECUC-INTEGER-PARAM-DEF">/AUTOSAR/EcucDefs/Com/ComSignal/ComSignalLength</DEFINITION-REF><VALUE>2</VALUE></ECUC-NUMERICAL-PARAM-VALUE></PARAMETER-VALUES></ECUC-CONTAINER-VALUE></CONTAINERS></ECUC-MODULE-CONFIGURATION-VALUES>
例4:
<ECUC-MODULE-CONFIGURATION-VALUES><SHORT-NAME>theComConfig</SHORT-NAME><DEFINITION-REF DEST="ECUC-MODULE-DEF">/AUTOSAR/EcucDefs/Com</DEFINITIONREF><IMPLEMENTATION-CONFIG-VARIANT>VARIANT-POST-BUILD</IMPLEMENTATION-CONFIGVARIANT><MODULE-DESCRIPTION-REF DEST="BSW-IMPLEMENTATION">/some_package/theUsed_Com_BSWModuleImplementation</MODULE-DESCRIPTION-REF><CONTAINERS><ECUC-CONTAINER-VALUE><SHORT-NAME>theSignal</SHORT-NAME><DEFINITION-REF DEST="ECUC-PARAM-CONF-CONTAINER-DEF">/AUTOSAR/EcucDefs/Com/ComSignal</DEFINITION-REF><PARAMETER-VALUES><ECUC-NUMERICAL-PARAM-VALUE><DEFINITION-REF DEST="ECUC-INTEGER-PARAM-DEF">/AUTOSAR/EcucDefs/Com/ComSignal/ComSignalInitValue</DEFINITION-REF><VALUE>0</VALUE></ECUC-NUMERICAL-PARAM-VALUE></PARAMETER-VALUES></ECUC-CONTAINER-VALUE></CONTAINERS></ECUC-MODULE-CONFIGURATION-VALUES>
例3、例4两个xml文档会在后面的配置工具中被合并。需要注意的是,<PARAMETER-VALUES>……/<PARAMETER-VALUES>元素以外的元素应当保持一致。
阅读全文
0 0
- AUTOSAR ARXML
- AUTOSAR ARXML
- AUTOSAR DATABASE ARXML 与 VECTOR DATABASE FILE对比
- AUTOSAR
- AUTOSAR
- AUTOSAR
- AUTOSAR 相关
- AUTOSAR members
- autosar start
- AUTOSAR Diagnostic
- AUTOSAR解决方案
- Autosar技术概述
- AutoSAR(汽车开放系统架构)
- AUTOSAR在国内外的现状
- autosar个人理解上
- AUTOSAR和OSEK/VDX
- AUTOSAR Network Management
- Autosar分享之路
- 并发编程修炼二:创建线程
- 听过来人来讲讲如何成为白帽
- Ubuntu 系统下载与安装
- spring事务
- Python学习资料收集
- AUTOSAR ARXML
- 斐波那契数列
- 承受不了风险,注定只能平庸
- Maximum Subsequence Sum
- Arcgis For Android 查询功能
- 运维知识内容
- Java
- 对象结构型模式——装饰者模式(decorator)
- JavaWeb常用功能-文件下载