[发明专利]一种将AADL无损转换成XML的方法有效
| 申请号: | 201310529970.6 | 申请日: | 2013-11-01 |
| 公开(公告)号: | CN103793458A | 公开(公告)日: | 2014-05-14 |
| 发明(设计)人: | 周兴社;孙中豪;杨刚;高荣;杨亚磊 | 申请(专利权)人: | 西北工业大学 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F9/44 |
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 |
| 地址: | 710072 *** | 国省代码: | 陕西;61 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 aadl 无损 转换 xml 方法 | ||
技术领域
本发明涉及一种将AADL无损转换成XML的方法,属于语言转换技术领域。
背景技术
架构分析与设计语言(architecture analysis and design language,AADL)是美国自动化工程师协会发布的一个航空标准——AS5506。AADL广泛应用于各种复杂嵌入式实时系统的设计开发中,如:航空航天,汽车电子等;被认为是基于模型驱动设计与开发嵌入式实时系统的基础。但是目前直接针对AADL进行分析和仿真的工具还非常有限,如果开发者为了对AADL模型的某个特定的属性进行分析仿真,则只有两个选择:一个是自己编写一个专门针对AADL模型的分析仿真工具;另一个就是把AADL模型转换成其他类型的模型,然后直接使用其他模型现成的分析仿真工具。无论采用哪种方法,都不得不在工具内部实现一个AADL语言的识别工具,这是极其困难且不方便的。如果能把AADL转化成一种容易通过程序读取的形式,那么针对AADL开发各种分析和仿真工具将变得容易很多。
目前已有很多基于AADL模型的转换,法国verimag实验室提出了AADL到BIP(Behavior interaction Priority)的模型转换;Pennsylvania大学提出AADL到时间进程代数ACSR的模型转换;其它的转换还包括AADL到IF模型的转换、AADL到petri网的转换、AADL到UMLMarten的转换等。所有这些转换都是把AADL模型转换成另一种类型的模型,然后再利用现有工具对转换后的模型进行操作。而且这些转换都或多或少丢失了原AADL模型的信息,不是完全的转换。
可扩展标记语言(extensible markup language,XML)用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。XML提供统一的方法来描述和交换独立于应用程序或结构化数据。非常容易通过程序读取。因此,把AADL转换成容易通过程序读取的XML格式的中间形式十分重要,这有利于AADL分析工具的开发人员把精力集中于工具设计,避免了因解析AADL语言而不得不做的大量工作。
发明内容
本发明的目的在于提供一种AADL到XML的转换方法,利用该方法可以把AADL文件无损的转换成XML格式的文件,从而方便通过程序读取AADL模型的信息,有利于加速各种AADL分析和仿真工具的设计。
为了实现上述目的,本发明的技术方案如下。
一种将AADL无损转换成XML的方法,其步骤为:
1、使用EMF描述AADL的元模型;
2、在Xtext中建立AADL正规文法到AADL元模型的映射,即在Xtext中使用EMF提供的对象模型在内存中表示文法的抽象语法权结构,针对每一句AADL文法,将其映射到EMF对应的元模型中,从而将AADL模型转换成对象模型;
3、利用EMF的固化机制固化转换后的对象模型,得到XML文件。
其中,所述步骤(1)中,使用EMF描述的AADL元模型,元模型中的非抽象类及非抽象类包含的属性必须覆盖所有的AADL元素,否则不能将AADL无损的转换成XML;AADL的元模型描述如下:
(1)ModelUnit:AADL元模型的根节点,包括AADL包声明(AadlPackage)和AADL属性集声明(Property Set)两个子节点。
(2)AadlPackage:定义AADL包,包括AADL构件类型声明(ComponentType)和AADL构件实现声明(ComponentImp)两个子节点。
(3)ComponentType:构件类型声明,包括features,flows,properties三个子节点;包括一个CTName属性表示构件的名字,包括一个CTType属性表示构件的类型;自引用表示构件之间的继承(extend)关系,并且和ComponentImp互引用。
(4)features:表示一个构件的外部接口特征,包含四个子节点:端口(ports)、访问(access)、子程序(subprogram)、参数(parameter)。
(5)ports:表示端口特性,包含两个属性:端口类型(PType)和端口方向(PortDerect)。
(6)flows:表示一个构件内部的数据流。
(7)properties:表示一个构件的属性特征。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西北工业大学,未经西北工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310529970.6/2.html,转载请声明来源钻瓜专利网。





