CN102819426A - 一种AUTOSAR模型同步到Simulink模型的方法 - Google Patents
一种AUTOSAR模型同步到Simulink模型的方法 Download PDFInfo
- Publication number
- CN102819426A CN102819426A CN2012100492717A CN201210049271A CN102819426A CN 102819426 A CN102819426 A CN 102819426A CN 2012100492717 A CN2012100492717 A CN 2012100492717A CN 201210049271 A CN201210049271 A CN 201210049271A CN 102819426 A CN102819426 A CN 102819426A
- Authority
- CN
- China
- Prior art keywords
- model
- autosar
- simulink
- interface
- formation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种AUTOSAR模型同步到Simulink模型的方法,将ARXML源文件生成AUTOSAR模型后解析AUTOSAR对象元素得到模型的元素,将得到AUTOSAR软件组件的元素映射到Simuink模型中得到对应的模型端口标签集后用HashMap装载;进入已经生成的Simulink模型的文件夹中寻找上一次生成的日志文件,解析日志文件得到MATLAB/Simuink模型对应的Simulink模型端口标签集;将得到NEW标签集和为OLD标签集进行比较得到结果池,利用Matlab命令实现了模型同步,具有转换简单方便、时间消耗少、开发成本低的优点。
Description
技术领域
本发明涉及数据同步技术,具体涉及一种AUTOSAR模型同步到Simulink模型的方法。
背景技术
AUTOSAR(AUTomotive Open System ARchitecture)是汽车电子开放系统架构,使用AUTOSAR开发包括软件组件建模、系统配置、ECU抽取、ECU配置、代码生成等过程。软件组件建模的作用是提供系统架构的功能,让用户快速搭建一个汽车电子系统的软件原型,包括对软件组件、端口、接口、数据类型、内部行为、实现的建模,这些元素组成了一个完整汽车电子软件系统的抽象。MATLAB是一种应用广泛的系统设计工具,在汽车电子领域中MATLAB/Simulink工具可以用来设计单个原子软件组件的内部逻辑算法,并生成实现代码,汽车电子领域很多遗留的系统都采取MATLAB/Simulink进行设计的。
组件建模包括软件架构设计和内部算法、代码实现两个主要环节。由于Matlab/Simulink在建模、代码生成以及对AUTOSAR版本的良好兼容,设计好软件架构后,如果采用Simulink对内部行为建模,就会出现AUTOSAR模型和Simulink模型同步的问题。而且,软件组件(Software Component,SWC)在大多数情况下,很难保证一次就设计好所有的软件组件信息,汽车电子开发是一个不断迭代反复的过程,在这种情况下,后续AUTOSAR工具与Simulink交互时,不能重新创建mdl模型,而是需要将应用工程师所作的模型修改操作同步到Simulink模型文件中,因此,急需一种将AUTOSAR模型快速,高效的比较以及同步到到Simulink模型的方法。
发明内容
针对上述技术问题,本发明提出AUTOSAR模型同步到Simulink模型的方法。
为了解决上述技术问题,本发明的技术方案如下:
一种AUTOSAR模型同步到Simulink模型的方法,包括如下步骤:
1)将ARXML源文件转换成AUTOSAR对象,生成AUTOSAR模型;
2)解析所述AUTOSAR对象的端口、接口、数据元素、操作类型、参数类型和数据类型得到AUTOSAR模型的数据类型、S-R接口、数据元素、C-S接口、操作、参数,将所述得到AUTOSAR软件组件的数据类型、S-R接口、数据元素、C-S接口、操作、参数映射到Simuink模型中从而得到对应的Simulink模型端口标签集,后用HashMap装载;
3)根据所述AUTOSAR模型的名字,进入已经生成的Simulink模型的文件夹中寻找上一次生成的日志文件,解析日志文件得到MATLAB/Simuink模型对应的Simulink模型端口标签集;
4)将步骤2)得到的Simulink端口标签集命名为NEW标签集,将步骤3)得到的Simulink端口标签集命名的命名为OLD标签集;
5)比较NEW和OLD标签集,得到结果池,所述结果池由待删除队列、待更新队列、待增加队列组成,利用Matlab命令同步到MATLAB/Simulink模型。
进一步的,步骤2)中所述得到Simuink模型对应的Simulink模型端口标签集,其具体步骤包括:
21)解析AUTOSAR对象的端口、接口、数据元素、操作类型、参数类型、数据类型得到AUTOSAR模型的数据类型、S-R接口、数据元素、C-S接口、操作、参数;
22)解析Simulink模型中的输入,输出,数据类型,服务端操作类型,客户端操作类型;
23)将步骤21)AUTOSAR模型的数据类型、S-R接口、数据元素、C-S接口、操作、参数映射到步骤22)所述Simuink模型中;
24)解析Simuink模型,得到四个标签集合,所述四个标签集合为Simulink输入集合、Simulink输出端口集合、Simulink客户端端口集合和Simulink服务端端口集合,解析AUTOSAR软件组件模型,将其变换为Simulink模型端口标签集;
25)将所述四个标签集合用HashMap装载,所述HashMap中,Key是转换后的标签文本串,Value是转换前的AUTOSAR模型中和Key匹配的数据对象。
进一步的,所述步骤5)中比较NEW和OLD标签集包括如下步骤:
31)以OLD标签集为比较过程的源端,以NEW标签集为比较过程的目的端做第一次比较;
32)对于源端的每个标签,判断是否包含在目的端中,若被包含,再比较这两个标签所对应的AUTOSAR模型中所述Key匹配的数据对象是否有不同;若不被包含,则将源端的标签键和值放入结果池中的待删除队列中,返回步骤31);
33)若两个数据对象相同,不做任何操作,直接返回步骤31);若不同,则将目的端的对应标签键和值放结果池中的待更新队列中,返回步骤31);
34)以NEW标签集为比较过程的源端,以OLD标签集为比较过程的目的端,做第二次比较;
35)对于源端的每个标签,判断是否包含在目的端中;
36)若被包含,不做任何操作,返回步骤34);若不被包含,则将源端的该标签键和值放入结果池中的待增加队列中,返回步骤31)执行;
37)比较两个标签集得到结果池,所述结果池由待删除队列、待更新队列、待增加队列组成,利用Matlab命令完成结果池中三个队列内容更新,完成到Simulink模型的同步。
本发明具有如下有益效果:
1、本发明实现了AUTOSAR模型同步到MATLAB/Simulink模型,具有转换简单方便、时间消耗少、开发成本低的优点。
2、本发明定义了一系列规则装载AUTOSAR模型同步到MATLAB/Simulink模型,约束条件丰富,不容易出错。
3、本发明将同步过程分成对象转换,比较,同步三个大步骤,简化了模型比较和同步的复杂性。
附图说明
图1为本发明实施例的流程示意图;
图2为本发明实施例的详细流程示意图;
图3为本发明实施例的第一次比较示意图;
图4为本发明实施例的第二次比较示意图。
具体实施方式
下面将结合附图和具体实施例对本发明做进一步的说明。
如图1和图2所示,本发明实施例的AUTOSAR模型同步到Simulink模型实施步骤如下:
1、导入源ARXML文件,将ARXML源文件转换成AUTOSAR对象,生成AUTOSAR模型。
2、解析AUTOSAR对象的Port(端口)、Interface(接口)、DataElement(数据元素)、Operation(操作类型)、Argument(参数类型)、DataType(数据类型)得到AUTOSAR软件组件模型的数据类型、S-R接口、数据元素、C-S接口、操作、参数。
3、对AUTOSAR对象进行处理后,得到四个标签集合Simulink Inport、Simulink Outport、Simulink ClientPort、Simulink DataType。四个标签集合均用HashMap装载,Key是转换后的标签文本串,Value是转换前的AUTOSAR模型中和Key匹配的数据对象。
对AUTOSAR对象进行处理得到四个标签集合的过程有以下三个步骤:
3.1解析AUTOSAR模型中的信息:数据类型、S-R接口、数据元素、C-S接口、操作、参数;
3.2解析Simulink模型中的信息:inport(输入),outport(输出),datatype(数据类型),ServerOperation(服务端操作类型),ClientOperation(客户端操作类型);
3.3根据AUTOSAR端口与Simulink端口的映射关系表,解析AUTOSAR软件组件模型,变换为Simulink模型端口标签集。
表一AUTOSAR端口与Simulink端口的映射关系表
4、根据当前AUTOSAR模型的名字,进入已经生成的Simulink模型的文件夹中寻找上一次生成的日志文件,解析日志文件得到MATLAB/Simuink模型对应的Simulink模型端口标签集。
5、将步骤3得到的Simulink模型端口标签集命名为NEW标签集,将步骤4得到的Simulink模型端口标签集命名的命名为OLD标签集。
6、以OLD标签集为比较过程的源端,以NEW标签集为比较过程的目的端,执行第一次比较过程。
7、以NEW标签集合为比较过程的源端,以OLD标签集为比较过程的目的端,执行第二次比较过程。
8、比较两个标签集得到结果池,结果池由待删除队列、待更新队列、待增加队列组成,利用表2的Matlab命令完成结果池中三个队列内容更新,完成到Simulink模型的同步。
表2Matlab命令
如图3所示,步骤6中的第一次比较过程按照下述三个步骤完成比较任务:
6.1对于源端的每个标签,判断是否包含在目的端中;
6.2若被包含,再比较这两个标签所对应的AUTOSAR模型中和Key(步骤3中得到的HashMap)匹配的数据对象是否有不同;若不被包含,则将源端的标签键和值放入结果池中的待删除队列中,返回第一步;
6.3若两个数据对象相同,不做任何操作,直接返回第一步;若不同,则将目的端的对应标签键和值放结果池中的待更新队列中,返回6.1第一步。
如图4所示,步骤7中的比较过程按照下述两个步骤完成比较任务:
7.1对于源端的每个标签,判断是否包含在目的端中。
7.2若被包含,不做任何操作,返回第一步;若不被包含,则将源端的该标签键和值放入结果池中的待增加队列中,返回步骤6执行。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员,在不脱离本发明构思的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明保护范围内。
Claims (3)
1.一种AUTOSAR模型同步到Simulink模型的方法,其特征在于,包括如下步骤:
1)将ARXML源文件转换成AUTOSAR对象,生成AUTOSAR模型;
2)解析所述AUTOSAR对象的端口、接口、数据元素、操作类型、参数类型和数据类型得到AUTOSAR模型的数据类型、S-R接口、数据元素、C-S接口、操作、参数,将所述得到AUTOSAR软件组件的数据类型、S-R接口、数据元素、C-S接口、操作、参数映射到Simuink模型中从而得到对应的Simuink模型端口标签集,后用HashMap装载;
3)根据所述AUTOSAR模型的名字,进入已经生成的Simulink模型的文件夹中寻找上一次生成的日志文件,解析日志文件得到MATLAB/Simuink模型对应的Simulink模型端口标签集;
4)将步骤2)得到的Simulink模型端口标签集命名为NEW标签集,将步骤3)得到的Simulink模型端口标签集命名的命名为OLD标签集;
5)比较NEW和OLD标签集,得到结果池,所述结果池由待删除队列、待更新队列、待增加队列组成,利用Matlab命令同步到MATLAB/Simulink模型。
2.根据权利要求1所述的一种AUTOSAR模型同步到Simulink模型的方法,其特征在于,所述步骤2)中得到Simuink模型对应的Simulink模型端口标签集,其具体步骤包括:
21)解析AUTOSAR对象的端口、接口、数据元素、操作类型、参数类型、数据类型得到AUTOSAR模型的数据类型、S-R接口、数据元素、C-S接口、操作、参数;
22)解析Simulink模型中的输入,输出,数据类型,服务端操作类型,客户端操作类型;
23)将步骤21)AUTOSAR模型的数据类型、S-R接口、数据元素、C-S接口、操作、参数映射到步骤22)所述Simuink模型中;
24)解析Simuink模型,得到四个标签集合,所述四个标签集合为Simulink输入集合、Simulink输出端口集合、Simulink客户端端口集合和Simulink服务端端口集合,解析AUTOSAR软件组件模型,将其变换为Simulink模型端口标签集;
25)将所述四个标签集合用HashMap装载,所述HashMap中,Key是转换后的标签文本串,Value是转换前的AUTOSAR模型中和Key匹配的数据对象。
3.根据权利要求2所述的一种AUTOSAR模型同步到Simulink模型的方法,其特征在于,所述步骤5)中比较NEW和OLD标签集包括如下步骤:
31)以OLD标签集为比较过程的源端,以NEW标签集为比较过程的目的端做第一次比较;
32)对于源端的每个标签,判断是否包含在目的端中,若被包含,再比较这两个标签所对应的AUTOSAR模型中所述Key匹配的数据对象是否有不同;若不被包含,则将源端的标签键和值放入结果池中的待删除队列中,返回步骤31);
33)若两个数据对象相同,不做任何操作,直接返回步骤31);若不同,则将目的端的对应标签键和值放结果池中的待更新队列中,返回步骤31);
34)以NEW标签集为比较过程的源端,以OLD标签集为比较过程的目的端,做第二次比较;
35)对于源端的每个标签,判断是否包含在目的端中;
36)若被包含,不做任何操作,返回步骤34);若不被包含,则将源端的该标签键和值放入结果池中的待增加队列中,返回步骤31)执行;
37)比较两个标签集得到结果池,所述结果池由待删除队列、待更新队列、待增加队列组成,利用Matlab命令完成结果池中三个队列内容更新,完成到Simulink模型的同步。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210049271.7A CN102819426B (zh) | 2012-02-29 | 2012-02-29 | 一种AUTOSAR模型同步到Simulink模型的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210049271.7A CN102819426B (zh) | 2012-02-29 | 2012-02-29 | 一种AUTOSAR模型同步到Simulink模型的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102819426A true CN102819426A (zh) | 2012-12-12 |
CN102819426B CN102819426B (zh) | 2015-07-08 |
Family
ID=47303553
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210049271.7A Expired - Fee Related CN102819426B (zh) | 2012-02-29 | 2012-02-29 | 一种AUTOSAR模型同步到Simulink模型的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102819426B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105512097A (zh) * | 2015-11-26 | 2016-04-20 | 普华基础软件股份有限公司 | 一种文件解析方法 |
CN107798082A (zh) * | 2017-10-16 | 2018-03-13 | 广东欧珀移动通信有限公司 | 一种文件标签的处理方法及装置 |
CN109117121A (zh) * | 2018-05-08 | 2019-01-01 | 宁波央腾汽车电子有限公司 | 一种autosar软件架构实现方法 |
CN109800330A (zh) * | 2019-01-31 | 2019-05-24 | 北京经纬恒润科技有限公司 | 一种数据处理方法及装置 |
CN111338638A (zh) * | 2020-02-26 | 2020-06-26 | 东风电子科技股份有限公司 | 实现自动生成嵌入式软件部件之间通信的系统及其方法 |
CN112612455A (zh) * | 2020-12-04 | 2021-04-06 | 潍柴动力股份有限公司 | 一种区分通信模式的方法及系统 |
CN113703723A (zh) * | 2021-08-05 | 2021-11-26 | 东风汽车集团股份有限公司 | Autosar架构下基于模型的冻结帧数据实现方法及计算机设备 |
CN114415898A (zh) * | 2022-01-14 | 2022-04-29 | 重庆长安汽车股份有限公司 | 一种实车数据回注Simulink模型的方法及系统 |
WO2022169007A1 (ko) * | 2021-02-05 | 2022-08-11 | 주식회사 알티스트 | 개방형 자동차 표준 소프트웨어 아키텍처 설정 도구의 사용자 인터페이스 관리 시스템 및 그 방법 |
CN115657634A (zh) * | 2022-09-30 | 2023-01-31 | 成都赛力斯科技有限公司 | 汽车软件架构、模块关联方法、计算机设备和存储介质 |
WO2023225785A1 (zh) * | 2022-05-23 | 2023-11-30 | 华为技术有限公司 | 一种汽车开放系统架构模型构建方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100162203A1 (en) * | 2008-12-19 | 2010-06-24 | Electronics And Telecommunications Research Institute | Project management device and method for architecture modeling tool of application software on autosar and computer readable recording medium therefor |
CN101882078A (zh) * | 2010-05-28 | 2010-11-10 | 浙江大学 | 基于内存数据架构的模块间实时同步方法 |
-
2012
- 2012-02-29 CN CN201210049271.7A patent/CN102819426B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100162203A1 (en) * | 2008-12-19 | 2010-06-24 | Electronics And Telecommunications Research Institute | Project management device and method for architecture modeling tool of application software on autosar and computer readable recording medium therefor |
CN101882078A (zh) * | 2010-05-28 | 2010-11-10 | 浙江大学 | 基于内存数据架构的模块间实时同步方法 |
Non-Patent Citations (2)
Title |
---|
AUTOSAR GBR: "Applying Simulink to AUTOSAR", 《HTTPS://WWW.AUTOSAR.ORG/FILEADMIN/FILES/RELEASES/2-0/METHODOLOGY-TEMPLATES/TOOLS/AUXILIARY/AUTOSAR_SIMULINKSTYLEGUIDE.PDF》 * |
冯江波等: "与AUTOSAR兼容的Matlab/Simulink自动代码生成技术", 《佳木斯大学学报(自然科学版)》 * |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105512097A (zh) * | 2015-11-26 | 2016-04-20 | 普华基础软件股份有限公司 | 一种文件解析方法 |
CN107798082A (zh) * | 2017-10-16 | 2018-03-13 | 广东欧珀移动通信有限公司 | 一种文件标签的处理方法及装置 |
CN107798082B (zh) * | 2017-10-16 | 2020-07-17 | Oppo广东移动通信有限公司 | 一种文件标签的处理方法及装置 |
CN109117121A (zh) * | 2018-05-08 | 2019-01-01 | 宁波央腾汽车电子有限公司 | 一种autosar软件架构实现方法 |
CN109117121B (zh) * | 2018-05-08 | 2022-05-27 | 宁波央腾汽车电子有限公司 | 一种autosar软件架构实现方法 |
CN109800330A (zh) * | 2019-01-31 | 2019-05-24 | 北京经纬恒润科技有限公司 | 一种数据处理方法及装置 |
CN109800330B (zh) * | 2019-01-31 | 2021-03-23 | 北京经纬恒润科技股份有限公司 | 一种数据处理方法及装置 |
CN111338638A (zh) * | 2020-02-26 | 2020-06-26 | 东风电子科技股份有限公司 | 实现自动生成嵌入式软件部件之间通信的系统及其方法 |
CN112612455A (zh) * | 2020-12-04 | 2021-04-06 | 潍柴动力股份有限公司 | 一种区分通信模式的方法及系统 |
CN112612455B (zh) * | 2020-12-04 | 2023-08-18 | 潍柴动力股份有限公司 | 一种区分通信模式的方法及系统 |
WO2022169007A1 (ko) * | 2021-02-05 | 2022-08-11 | 주식회사 알티스트 | 개방형 자동차 표준 소프트웨어 아키텍처 설정 도구의 사용자 인터페이스 관리 시스템 및 그 방법 |
CN113703723A (zh) * | 2021-08-05 | 2021-11-26 | 东风汽车集团股份有限公司 | Autosar架构下基于模型的冻结帧数据实现方法及计算机设备 |
CN114415898B (zh) * | 2022-01-14 | 2023-06-06 | 重庆长安汽车股份有限公司 | 一种实车数据回注Simulink模型的方法及系统 |
CN114415898A (zh) * | 2022-01-14 | 2022-04-29 | 重庆长安汽车股份有限公司 | 一种实车数据回注Simulink模型的方法及系统 |
WO2023225785A1 (zh) * | 2022-05-23 | 2023-11-30 | 华为技术有限公司 | 一种汽车开放系统架构模型构建方法及装置 |
CN115657634A (zh) * | 2022-09-30 | 2023-01-31 | 成都赛力斯科技有限公司 | 汽车软件架构、模块关联方法、计算机设备和存储介质 |
CN115657634B (zh) * | 2022-09-30 | 2024-06-04 | 重庆赛力斯凤凰智创科技有限公司 | 汽车软件架构、模块关联方法、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN102819426B (zh) | 2015-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102819426B (zh) | 一种AUTOSAR模型同步到Simulink模型的方法 | |
Del Fabro et al. | Weaving Models with the Eclipse AMW plugin | |
TWI479341B (zh) | 資訊系統中轉換資料之高處理能力,可靠複寫 | |
Hamouda et al. | Document-oriented data schema for relational database migration to NoSQL | |
CN101901265B (zh) | 一种虚拟试验数据对象化管理系统 | |
CN104598635A (zh) | 一种基于xml描述的复杂文档自动生成方法 | |
US20080155519A1 (en) | Code translator | |
US8156459B1 (en) | Detecting differences between high level block diagram models | |
CN103309977B (zh) | 异构数据资源整合的方法 | |
CN102982010A (zh) | 提取文档结构的方法和装置 | |
CN112860256B (zh) | 一种Linux内核设备树的可视化配置系统和方法 | |
CN103488738A (zh) | 一种自动实现java对象及数据表sql文件的方法及系统 | |
US8515962B2 (en) | Phased importing of objects | |
CN115943351A (zh) | 用于创建或更新数字孪生的方法和系统 | |
CN110851511A (zh) | 数据同步的方法及装置 | |
CN105320681A (zh) | 一种数据库内容合并方法及装置 | |
CN107766037A (zh) | 基于php的mvc框架 | |
CN102722368B (zh) | 一种基于文档树和消息泵的插件式软件设计方法 | |
CN114035785A (zh) | 一种基于自然语言需求的aadl模型组合验证性质自动生成方法 | |
CN104281471A (zh) | 多版本软件ota升级方法 | |
US20160283226A1 (en) | Smart hashing to reduce server memory usage in a distributed system | |
US10387493B2 (en) | Methods for converting an XML artifact into a topic map instance and devices thereof | |
CN104281604A (zh) | 生成Targetlink数据字典分层树的方法和系统 | |
CN106776275A (zh) | 一种基于分组复用的测试流程自动生成方法 | |
CN103885875A (zh) | 脚本验证装置及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150708 |