CN109522007B - 面向安全关键嵌入式系统的SysML模型向AADL模型自动转换方法 - Google Patents
面向安全关键嵌入式系统的SysML模型向AADL模型自动转换方法 Download PDFInfo
- Publication number
- CN109522007B CN109522007B CN201811203099.XA CN201811203099A CN109522007B CN 109522007 B CN109522007 B CN 109522007B CN 201811203099 A CN201811203099 A CN 201811203099A CN 109522007 B CN109522007 B CN 109522007B
- Authority
- CN
- China
- Prior art keywords
- aadl
- model
- sysml
- emf
- component
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 238000013461 design Methods 0.000 claims abstract description 25
- 238000006243 chemical reaction Methods 0.000 claims abstract description 24
- 230000007704 transition Effects 0.000 claims description 28
- 238000013507 mapping Methods 0.000 claims description 25
- 239000004020 conductor Substances 0.000 claims description 6
- 238000007639 printing Methods 0.000 claims description 2
- 230000014509 gene expression Effects 0.000 abstract description 9
- 238000011161 development Methods 0.000 abstract description 7
- 238000005516 engineering process Methods 0.000 abstract description 4
- 230000006399 behavior Effects 0.000 description 28
- 238000005094 computer simulation Methods 0.000 description 6
- 101150000003 subB gene Proteins 0.000 description 4
- 239000008186 active pharmaceutical agent Substances 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000002349 favourable effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000002730 additional effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/315—Object-oriented languages
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及到面向安全关键嵌入式系统的SysML模型向AADL模型自动转换方法,该方法提出一个RT Profile,通过stereotype方式扩展了SysML表达实时性的模型元素构成这个Profile,建模时引入Profile便可使用为实现SysML向AADL模型的自动转换,提出AADL Profile,利用Eclipse插件开发技术实现了SysML向EMF中间模型的自动转换,之后根据EMF中间模型自动生成AADL初始设计模型。
Description
技术领域
本发明涉及到面向安全关键嵌入式系统的SysML实时性扩展及AADL模型自动转换方法,尤其涉及一种基于stereotype方式的SysML实时性扩展方法和基于Eclipse插件开发技术的SysML模型向AADL模型的自动转换方法。
背景技术
随着嵌入式软件在航空航天、通信、核工业、汽车电子等安全关键领域的广泛应用, 这类嵌入式系统必须保证系统的可靠性、安全性等相关性质,这类嵌入式系统被称为安全关键系统(Safety Critical System)。如何保障这类系统的安全性、可靠性已经成为当前软件工程研究领域一个非常重要的课题。
安全关键系统是应用软件、运行时环境以及硬件平台深度融合的复杂系统。为了满足系统工程的实际需要,国际系统工程学会INCOSE(International Council onSystems Engineering)和对象管理组织OMG决定在对UML2.0的子集进行重用和扩展的基础上,提出一种新的系统建模语言——SysML(Systems Modeling Language),作为系统工程的标准建模语言。
美国汽车工程师协会SAE(Society of Automotive Engineers)在MetaH、HOOD、UML、 ADL的基础上,提出嵌入式系统体系结构分析与设计语言AADL(ArchitectureAnalysis and Design Language),并发布为SAE AS5506标准。AADL语言与之对应地提供了软件体系结构、运行时环境以及硬件体系结构的建模概念。通过行为附件(BehaviorAnnex) 扩展了对功能行为的表达能力,故障模型附件(Error Model Annex)增强了对系统安全性、可靠性分析的描述能力等。
SysML的建模元素在实时性方面只能表达类似于时间间隔的简单属性。但是实时性在安全关键系统建模中需要明确表达来保证安全关键系统的实时性信息,从而保证对需求的正确建模。因此SysML实时性扩展是一个亟待解决的问题。
SysML用于执行系统层的建模任务,AADL用于执行软硬件区分低层次的建模任务包括实现。若实现SysML模型信息向AADL模型信息的转换,对于一个安全关键系统的验证便可提前到系统层建模完成时,减少迭代的人力物力。因此SysML向AADL的转换问题也是工业界的一个实用性的问题。
针对SysML对实时性表达能力不足的问题,Daniel Knorreck等人提出AVATARreal-time UML profile,通过引入一种基于SysML参数图的图形时间属性表示语言 TEPE,TEPE可表达物理时间的概念和信号接收的无序状态,来表达实时性需求。
发明内容
为解决现有技术中存在的问题,本发明公开了一种面向安全关键嵌入式系统的SysML实时性扩展及AADL模型自动转换方法,使SysML具有表达实时性的能力且 SysML模型可自动生成AADL初始设计模型。
本发明提供了面向安全关键嵌入式系统的SysML模型向AADL模型自动转换方法,面向安全关键嵌入式系统的SysML模型向AADL模型自动转换方法,包括以下步骤:
S1:分析存储SysML模型的XML文件,定义一个EMF元模型,用于描述XML 文件的元结构,所述EMF元模型包括表示SysML模型的基础的UML包、用于描述从 UML包扩展来的SysML元素的子集的SysML包和用于辅助SysML向AADL转换的 AADL包,所述EMF元模型生成生成器模型,该生成器模型自动生成框架代码,复用该框架代码,生成SysML模型解析器并通过EMF提供的API读取XML文件的信息,生成EMF对象;
S2:根据制定的SysML到AADL的对应关系,将S1中从SysML模型中读取的EMF 对象,通过编写AadlCreator类继承SysML模型解析器中的UMLSwitch类,使用OSATE 提供的API对应生成的AADL对象;
S3:将AADL对象与EMF对象之间的映射关系通过map数组的形式存储起来;
S4:编写AadlLinker类继承SysML模型解析器中的UMLSwitch类,使用AADL 和EMF对象之间的映射以及EMF对象之间的关系来填充AADL对象之间的链接;
S5:完成AADL初始设计模型的生成。
所述的SysML模型区分Block类型和Block实现,所述的AadlCreator类中有辅助类WrapperAObject,包括两个私有变量,分别表示AADL组件类型和实现。
所述SysML模型通过stereotype方式进行实时性扩展,在Requirement和Block上扩展实时属性信息。
所述S2中的SysML模型到AADL模型的对应关系为:
SysML模型中最顶层概念Model转换到AADL设计模型中的Package概念,表示整个系统的设计模型;
SysML模型的作为类型的Block转换到AADL设计模型中的ComponentType,作为实现的Block转换为AADL设计模型的Component Implementation,其中Block的name 属性转换为Component的identifier,Block properties转换为Component的properties;
SysML中的Connector转换到AADL各组件实现中的connection;其中name转换到connection的identifier,end转换到connection的数据来源和目的地端口;
SysML中Block的组成部分property转换为AADL设计模型的subComponent,其中property的name转换为subComponent的identifier;
SysML模型中StateMachine转换到AADL组件实现中的behavior annex;
StateMachine中的state转换为AADL behavior annex的state,其中Entry point转换为Initial state,Final state转换为AADL behavior annex的Final state,Choicepseudo state 转换为AADL行为附件中的variable condition;
StateMachine中的Transition转换到AADL行为附件中Transitions中的一条transition,其中Transition Guard转换到AADL行为附件中对应Transitions的condition。
所述AadlLinker类重写方法:
casePackage,根据map数组里EMF的包和AADL的包的映射关系以及从EMF包中获得包含的元素,完成AADL package以及所直系包含的信息的链接关系,打印出 AADL package的信息;
caseClass,根据map数组里EMF的class和AADL的component的映射关系以及从EMFclass的getOwnedPort方法,完成AADL component与features端口信息的链接,打印AADL组件类型和实现;
casePort根据map数组里EMF的Port和AADL的Port的映射关系进行AADL Port 信息的完善;
caseProperty根据map数组中EMF的Property和AADL的subComponent,property的映射关系以及Class与Property的包含关系,进行AADL subComponent和property信息的完善。
caseConnector根据map数组里EMF的connector和AADL的PortConnection的映射关系以及从EMF connector的source,end信息,进行AADL PortConnection信息的完善;
caseStateMachine根据map数组里EMF的StateMachine和AADL的behavior annex的映射关系以及从EMF StateMachine的Region,State,Transition信息,进行AADLbehavior annex信息的完善。
有益效果:本发明具有以下优点:
1、本发明对SysML系统建模语言进行实时性扩展,使系统建模人员在系统建模层面可表达实时性相关信息,并且为系统模型层面实时性验证提供了有利条件。
2、本发明提供SysML系统模型向AADL体系结构模型的转换方法,是模型驱动开发的完全自动化的重要一步,利于减少开发成本,使模型驱动开发中的迭代工作明显减少。
附图说明
图1:RT Profile图形化表示;
图2:AADL Profile Component图形化表示;
图3:AADL Profile Feature图形化表示;
图4:SysML到AADL转换的流程图。
具体实施方式
下面结合附图进一步阐述该发明方法。
本发明涉及到面向安全关键嵌入式系统的SysML实时性扩展及AADL模型自动转换方法及相应的工具实现,该工具是基于SysML开源工具papyrus与AADL开源工具 osate的集成环境并使用Eclipse插件开发技术实现的。该工具使用户可以在papyrus使用SysML对安全关键嵌入式系统进行建模,并且可以表达实时性质,利于在系统层便可以进行性质的验证,节约开发成本,然后自动生成AADL初始设计模型。
1)工具总体概述
该发明首先定义RT Profile和AADL Profile,该发明中的工具主要完成SysML向AADL初始设计模型的转换,该工具只转换SysML结构的一个子集。最初,SysML模型在papyrus中开发,并作为XMI文件存储。在Eclipse中开发一个Ecore模型,描述 XMI文件的元结构。这个Ecore模型可以用来生成解析器,解析器将读取XML文件并在Eclipse中创建Eclipse Modeling Framework(EMF)模型。该工具通过调用OSATE提供的应用程序接口(API)来遍历EMF模型并生成AADL模型,SysML模型在papyrus中开发,papyrus将SysML模型存储为XMI标准的XML文件,选中该XML文件,点击生成AADL模型,自动在此工作空间中创建一个对应的AADL工程。
2)RT Profile的定义与AADL Profile的定义
如图1所示为图形化的RT Profile,主要使用构造型和标记值的方式扩展SysML已有的元素。SysML提供三种方式进行扩展,包括构造型,约束和标记值。构造型是在一个已定义的元素模型的基础上构造一种新的模型元素。这个功能类似于自定义组件,由已存在的组件为基础。构造型可以使用标记值来存储不被基本模型元素支持的附加特性。构造型用双尖括号内的文字字符串表示,它可以放在表示基本模型元素的符号的里面或者旁边。约束是用文字表达式表示的语义限制。约束可以用大括号内的字符串表达式表达。
如图1所示,RT-Requirement是由SysML基本元素Requirement扩展的stereotype;
属性type-Time表示时间的类型;
属性minResponseTime表示该实时需求允许的最小响应时间;
属性maxResponseTime表示该实时需求允许的最大响应时间;
RT-Block是由SysML基本元素Block扩展的stereotype;
属性period,表示周期,若该RT-Block表示周期性任务,可使用该属性说明周期;
属性deadline表示截止时间,即该RT-Block代表的任务必须在deadline这个时间约束下完成;
属性priority表示优先级,系统为每一个任务分配一个优先权,通过调度保证实时性;
属性WCET表示该模块最坏情况下执行时间。
本发明的AADL Profile,通过构造型的方式扩展的。Profile工程在同一个工作空间中,只需要在建模时引用即可使用,若在不同的机器上,则可把Profile修改默认配置为插件工程,打包,添加到Eclipse的plugin下即可注册,使用时选择已经注册的Profile。
图2为AADL Profile component图形化表示:
component是由SysML基本元素Block扩展的stereotype;
system是由component元素扩展的stereotype;
data是由component元素扩展的stereotype;
process是由component元素扩展的stereotype;
processor是由component元素扩展的stereotype;
bus是由component元素扩展的stereotype;
thread是由component元素扩展的stereotype;
memory是由component元素扩展的stereotype;
device是由component元素扩展的stereotype;
图3为AADL Profile feature图形化表示:
feature是由FlowPort元素扩展的stereotype;
data_access是由feature元素扩展的stereotype;
port是由feature元素扩展的stereotype;
dataPort是由port元素扩展的stereotype;
dataEventPort是由port元素扩展的stereotype;
eventPort是由是由port元素扩展的stereotype;
使用Eclipse插件开发技术、使用EMF元模型自动生成框架代码技术:
SysML模型存储在XML文件中,通过定义EMF元模型,即XML文件元模型的方式,将定义好的EMF元模型自动生成生成器模型,生成器模型可自动生成一套有基本get,set方法等的框架代码。复用这个框架代码,利用定义的EMF元模型读取XML 文件的信息,自动生成EMF对象。
该定义的EMF元模型有三个包,第一个包为UML,表示UML的基本元类,UML 的基本元类是表示SysML的基础。在这个包中:Element是所有类的顶级父类;
NamedElement是加name属性的Element,任何一个元素都可以有命名。
Model表示一个模型框架,所有的模型信息都在Model标签内,继承NamedElement。Model可以引用Package,Port,data,block,FlowPort和AADL_Property。表示这些信息都包含在Model内。
Package表示模型内的包层级,将大模型按照功能或者其他规范用包组织起来。Package继承NamedElement。Package可以引用Element,表示Package里可以包含所有父类为Element的元素。
Class表示UML中的Class,继承EMF中的基础元类DifferentTypes。Class可以引用Property,Port,data,Realization,Connector,block,StateMachine,Class,Constraint。
Port示通用端口,继承NamedElement,可以引用DifferentTypes,port,FlowPort。
Property表示扩展AADL概念的SysML block的属性,继承NamedElement,可引用Port,DifferentTypes,AADL_Property。
Realization表示实现的关系,继承Element,可引用两个Class,表示声明Class和实现Class。
Connector表示连接的关系,继承NamedElement,可引用ConnectorEnd表示连接的源头和目的对象。可饮用AADL_Property表示连接的属性。
ConnectorEnd表示连接的对象。继承Element,引用Port,表示连接的端口。
TransitionEndpoint是状态机和状态的父类。继承NamedElement。
StateMachine表示SysML中的状态机,即系统或者子系统的行为。继承TransitionEndpoint。可引用Region,StateMachine,State,Transition。
Region表示StateMachine里的区域,来划分状态机里的状态和变迁。继承TransitionEndpoint,引用State和Transition。
Behavior表示State里的行为,继承Element。
State表示StateMachine里的状态,继承TransitionEndpoint,可引用两个Transition 和Behavior,一个Transition表示进入到这个状态的变迁,另一个Transition表示从这个状态出去的变迁,Behavior表示在这个状态里的行为。
Psedostate表示StateMachine里的伪状态,表示没有动作或者活动的状态。继承state。
FinalState表示StateMachine里的结束状态。继承state。
Transition表示StateMachine里的两个状态之间的变迁,继承NamedElement,可引用两个TransitionEndpoint,表示变迁的源头和目的,可引用Constraint,表示变迁的约束条件,可引用OpaqueBehavior表示变迁的影响。
Constraint表示逻辑约束表达式,继承Element,引用specification,是不透明表达式的类型。
OpaqueBehavior表示用自然语言或者其他编程语言描述的行为,有属性body,字符串类型,以字符串的形式给出行为的表达式。
DifferentTypes是PrimitiveType和Class的父类,继承NamedElement。
PrimitiveType表示SysML中的主要数据类型,继承DifferentTypes。
Generalization表示两个类之间的继承关系,继承Element。
第二个包是SysML包,描述从UML扩展来的元素的子集。在这个包中:
block表示SysML概念中的块,可表示一个系统或子系统。引用base_Class,Class类型,表示该block的由这个base_Class扩展而来。
FlowPort表示SysML中的流端口,有direction属性,表示流的方向,引用base_Port,表示该FlowPort由这个base_Port扩展而来。
第三个包是AADL包,在这个包中:
port表示AADL的端口,有属性direction,表示AADL端口的方向,引用base_Port,表示该FlowPort由这个base_Port扩展而来。
data表示AADL的数据类型,引用base_Class表示该data是由这个base_Class扩展而来。
AADL_Property是为了模型转换而增加的属性,有属性AADL_Property,是字符串类型,以字符串的形式描述AADL Property。
3)SysML模型到AADL模型的转换
SysML模型在papyrus中开发,papyrus将SysML模型存储为XMI标准的XML文件。
模型转换的步骤如图4所示。
第一步,将存储在XML文件中的SysML模型转换为EMF模型。分析该XML文件,在Eclipse中开发一个EMF元模型,即Ecore模型,描述XML文件的元结构。这个Ecore模型可以用来生成SysML模型解析器,首先需要从Ecore模型创建生成器 (.genmodel)模型。在XMI中描述的模型规范中,EMF提供了工具和运行时支持,可以为生成器模型生成一组Java类,以及一组适配器类,这些类可以支持模型的查看和命令编辑,以及一个基本的编辑器。根据发明内容部分所述的EMF元模型,每一个包生成一个文件夹,每一个元类生成两个java文件,一个声明类,一个实现类。然后SysML 模型解析器将读取XMI文件并在Eclipse中创建Eclipse Modeling Framework(EMF)模型。EMF模型是SysML向AADL转换的中间模型。
第二步,将EMF模型转换为AADL java对象。通过遍历EMF模型来创建AADL java 对象,形成EMF对象与AADL java一对一的映射关系。编写AadlCreator类继承SysML 模型解析器中的UMLSwitch类,根据SysML模型元素的不同类型,通过调用OSATE 提供的API生成对应的AADL对象,此时的AADL对象之间的层次关系并没有填充,是独立的AADL对象。AadlCreator类中有辅助类WrapperAObject,包含两个私有变量,表示AADL组件类型和实现。
caseClass方法识别类型为Class类型的对象。若是Class类型且这个对象不包含在行为中,则生成Osate提供的AADLComponentClassifier类的对象,再进行分类,需要判断该对象是组件类型还是组件实现的实例。
casePort方法识别类型为Port类型的对象。使用Osate提供的aadl2factory相应创建新的AADL端口对象,再通过得到端口的方向信息,填充AADL端口对象。
caseProperty方法识别类型为Property类型的对象。若该property是组成部分属性,则转换为AADL Subcomponent对象,若是普通描述属性,则转换到AADL property中。
caseConnector方法识别类型为Connector的对象,创建新的AADLPortConnection 对象,并把传进来的Connector对象的属性信息,源头和目的信息,赋值给新建的 PortConnection对象。
caseStateMachine方法识别类型为StateMachine类型的对象。
在这一步中,首先遍历EMF模型中所有的Class,若这个Class对象不包含在行为中,则生成Osate提供的AADLComponentClassifier类的对象,再进行分类,需要判断该对象是组件类型还是组件实现的实例;若这个Class对象代表组件类型,生成AADL 组件类型对象,并遍历Class对象中包含的所有的Port对象,生成AADL Port对象;若这个Class对象代表组件实现,则遍历Class对象中包含的所有Property的对象和 Connector对象,生成AADLSubcomponent对象和Connection对象;若这个Class对象里有行为,即StateMachine,则遍历这个Class对象所有的StateMachine,生成AADL组件实现中behavior annex。
第三步,根据EMF模型填充第二步生成的AADL对象的关系。AADL对象与EMF 对象之间的对应关系通过map数组的形式存储起来。然后编写AadlLinker类继承SysML 模型解析器中的UMLSwitch类使用AADL和EMF对象之间的映射以及EMF对象之间的关系来填充AADL对象之间的链接。AadlLinker类重写方法:
casePackage,根据map数组里EMF的包和AADL的包的映射关系以及从EMF包中获得包含的元素,完成AADL package以及所直系包含的信息的链接关系,打印出 AADL package的信息。
caseClass,根据map数组里EMF的class和AADL的component的映射关系以及从EMFclass的getOwnedPort方法,完成AADL component与features端口信息的链接,打印AADL组件类型和实现。
casePort根据map数组里EMF的Port和AADL的Port的映射关系进行AADL Port 信息的完善。
caseProperty根据map数组中EMF的Property和AADL的subComponent,property的映射关系以及Class与Property的包含关系,进行AADL subComponent和property信息的完善。
caseConnector根据map数组里EMF的connector和AADL的PortConnection的映射关系以及从EMF connector的source,end等信息,进行AADL PortConnection信息的完善。
caseStateMachine根据map数组里EMF的StateMachine和AADL的behavior annex的映射关系以及从EMF StateMachine的Region,State,Transition等信息,进行AADLbehavior annex信息的完善。
当这样做时,它更新一个映射,该映射从每个AADL对象指向相应的EMF结构。最后复用osate创建AADL工程的代码,创建AADL工程和AADL文件将对象信息填充进去,完成AADL初始设计模型的生成。
SysML模型向AADL模型转换规则的制定:
转换规则1:SysML模型中最顶层概念Model转换到AADL设计模型中的Package 概念,表示整个系统的设计模型;
转换规则2:SysML模型的作为类型的Block转换到AADL设计模型中的ComponentType,作为实现的Block转换为AADL设计模型的Component Implementation,其中Block的name属性转换为Component的identifier,Block properties转换为 Component的properties;
转换规则3:SysML中的Connector到AADL各组件实现中的connection;其中name转换到connection的identifier,end转换到connection的数据来源和目的地端口。
转换规则4:SysML中Block的组成部分property转换为AADL设计模型的subComponent,其中property的name转换为subComponent的identifier。
转换规则5:SysML中的StateMachine转换到AADL组件实现中的behavior annex。
转换规则6:StateMachine中的state转换为AADL behavior annex的state,其中Entry point转换为Initial state,Final state转换为AADL behavior annex的Finalstate,Choice pseudo state转换为AADL行为附件中的variable condition。
转换规则7:StateMachine中的Transition转换到AADL行为附件中Transitions中的一条transition,其中Transition Guard转换到AADL行为附件中对应Transitions的condition。
Claims (4)
1.面向安全关键嵌入式系统的SysML模型向AADL模型自动转换方法,其特征在于:包括以下步骤:
S1:分析存储SysML模型的XML文件,定义一个EMF元模型,用于描述XML文件的元结构,所述EMF元模型包括表示SysML模型的基础的UML包、用于描述从UML包扩展来的SysML元素的子集的SysML包和用于辅助SysML向AADL转换的AADL包,所述EMF元模型生成生成器模型,该生成器模型自动生成框架代码,复用该框架代码,生成SysML模型解析器并通过EMF提供的API读取XML文件的信息,生成EMF对象;
S2:根据制定的SysML到AADL的对应关系,将S1中从SysML模型中读取的EMF对象,通过编写AadlCreator类继承SysML模型解析器中的UMLSwitch类,使用OSATE提供的API对应生成的AADL对象;
S3:将AADL对象与EMF对象之间的映射关系通过map数组的形式存储起来;
S4:编写AadlLinker类继承SysML模型解析器中的UMLSwitch类,使用AADL和EMF对象之间的映射以及EMF对象之间的关系来填充AADL对象之间的链接;
S5:完成AADL初始设计模型的生成;
所述S2中的SysML模型到AADL模型的对应关系为:
SysML模型中最顶层概念Model转换到AADL设计模型中的Package概念,表示整个系统的设计模型;
SysML模型的作为类型的Block转换到AADL设计模型中的ComponentType,作为实现的Block转换为AADL设计模型的Component Implementation,其中Block的name属性转换为Component的identifier,Block properties转换为Component的properties;
SysML中的Connector转换到AADL各组件实现中的connection;其中name转换到connection的identifier,end转换到connection的数据来源和目的地端口;
SysML中Block的组成部分property转换为AADL设计模型的subComponent,其中property的name转换为subComponent的identifier;
SysML模型中StateMachine转换到AADL组件实现中的behavior annex;
StateMachine中的state转换为AADL behavior annex的state,其中Entry point转换为Initial state,Final state转换为AADL behavior annex的Final state,Choicepseudo state转换为AADL行为附件中的variable condition;
StateMachine中的Transition转换到AADL行为附件中Transitions中的一条transition,其中Transition Guard转换到AADL行为附件中对应Transitions的condition。
2.根据权利要求1所述的面向安全关键嵌入式系统的SysML模型向AADL模型自动转换方法,其特征在于:所述的SysML模型区分Block类型和Block实现,所述的AadlCreator类中有辅助类WrapperAObject,包括两个私有变量,分别表示AADL组件类型和实现。
3.根据权利要求1所述的面向安全关键嵌入式系统的SysML模型向AADL模型自动转换方法,其特征在于:所述SysML模型通过stereotype方式进行实时性扩展,在Requirement和Block上扩展实时属性信息。
4.根据权利要求1所述的面向安全关键嵌入式系统的SysML模型向AADL模型自动转换方法,其特征在于:所述AadlLinker类重写方法:
casePackage,根据map数组里EMF的包和AADL的包的映射关系以及从EMF包中获得包含的元素,完成AADL package以及所直系包含的信息的链接关系,打印出AADL package的信息;
caseClass,根据map数组里EMF的class和AADL的component的映射关系以及从EMFclass的getOwnedPort方法,完成AADL component与features端口信息的链接,打印AADL组件类型和实现;
casePort根据map数组里EMF的Port和AADL的Port的映射关系进行AADL Port信息的完善;
caseProperty根据map数组中EMF的Property和AADL的subComponent,property的映射关系以及Class与Property的包含关系,进行AADL subComponent和property信息的完善;
caseConnector根据map数组里EMF的connector和AADL的PortConnection的映射关系以及从EMF connector的source,end信息,进行AADL PortConnection信息的完善;
caseStateMachine根据map数组里EMF的StateMachine和AADL的behavior annex的映射关系以及从EMF StateMachine的Region,State,Transition信息,进行AADL behaviorannex信息的完善。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811203099.XA CN109522007B (zh) | 2018-10-16 | 2018-10-16 | 面向安全关键嵌入式系统的SysML模型向AADL模型自动转换方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811203099.XA CN109522007B (zh) | 2018-10-16 | 2018-10-16 | 面向安全关键嵌入式系统的SysML模型向AADL模型自动转换方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109522007A CN109522007A (zh) | 2019-03-26 |
CN109522007B true CN109522007B (zh) | 2021-05-11 |
Family
ID=65770877
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811203099.XA Active CN109522007B (zh) | 2018-10-16 | 2018-10-16 | 面向安全关键嵌入式系统的SysML模型向AADL模型自动转换方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109522007B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110286902B (zh) * | 2019-05-31 | 2021-09-17 | 南京航空航天大学 | SysML安全性扩展及其到AADL故障模型的自动转换方法 |
CN110262794B (zh) * | 2019-06-03 | 2021-10-19 | 南京航空航天大学 | 一种基于规范与描述语言的aadl功能行为拓展方法及工具 |
CN110502211B (zh) * | 2019-08-02 | 2023-02-28 | 中国航空无线电电子研究所 | 一种基于SysML模块图的AADL模型构造方法 |
CN111427556B (zh) * | 2020-03-30 | 2022-03-15 | 杭州华望系统科技有限公司 | 基于Web的SysML建模平台 |
CN111399821B (zh) * | 2020-03-30 | 2022-06-21 | 杭州华望系统科技有限公司 | 基于TypeScript的SysML框架和Web化系统工程建模平台 |
CN111562904B (zh) * | 2020-04-07 | 2022-05-24 | 中国电子科技集团公司第二十九研究所 | 一种基于SysML系统模型的可靠性框图RBD辅助建模方法 |
CN115758789B (zh) * | 2022-12-01 | 2023-11-17 | 金航数码科技有限责任公司 | 一种复杂实时嵌入式系统的软件架构设计与架构传递方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102243677A (zh) * | 2011-07-18 | 2011-11-16 | 浙江大学 | 基于SysML驱动的产品详细设计模型自动生成方法 |
CN108089861A (zh) * | 2017-12-27 | 2018-05-29 | 南京航空航天大学 | 一种从SysML模型转换到AltaRica模型的转换方法 |
CN108491196A (zh) * | 2018-02-07 | 2018-09-04 | 南京航空航天大学 | 一种aadl图形化功能行为建模方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9027001B2 (en) * | 2012-07-10 | 2015-05-05 | Honeywell International Inc. | Systems and methods for verifying expression folding |
-
2018
- 2018-10-16 CN CN201811203099.XA patent/CN109522007B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102243677A (zh) * | 2011-07-18 | 2011-11-16 | 浙江大学 | 基于SysML驱动的产品详细设计模型自动生成方法 |
CN108089861A (zh) * | 2017-12-27 | 2018-05-29 | 南京航空航天大学 | 一种从SysML模型转换到AltaRica模型的转换方法 |
CN108491196A (zh) * | 2018-02-07 | 2018-09-04 | 南京航空航天大学 | 一种aadl图形化功能行为建模方法 |
Non-Patent Citations (1)
Title |
---|
基于XML的UML模型向AADL模型的自动转换;万小平等;《计算机技术与发展》;20140107;第24卷(第3期) * |
Also Published As
Publication number | Publication date |
---|---|
CN109522007A (zh) | 2019-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109522007B (zh) | 面向安全关键嵌入式系统的SysML模型向AADL模型自动转换方法 | |
US6023578A (en) | Systems, methods and computer program products for generating an object oriented application for an object oriented environment | |
CN108196827B (zh) | 非形式化需求规约模板到形式化设计模型的自动转换方法 | |
CN109558117B (zh) | 面向航天应用的aadl模型求精及其支持的c代码自动生成方法 | |
Witsch et al. | Close integration between UML and IEC 61131-3: New possibilities through object-oriented extensions | |
EP2141587A1 (en) | Method and system for generating of a control flow graph for representing a program code | |
Radermacher | Support for design patterns through graph transformation tools | |
Luer et al. | Composition environments for deployable software components | |
Groher et al. | Aspect-orientation from design to code | |
Haber et al. | Towards architectural programming of embedded systems | |
Johnsen et al. | Object-oriented specification and open distributed systems | |
CN116048518B (zh) | 一种面向天脉操作系统的综合化航空电子系统安全代码自动生成方法 | |
Kölbl et al. | From SysML to model checkers via model transformation | |
Prinz et al. | A model-based standard for SDL | |
Schröpfer et al. | A Generic Projectional Editor for EMF Models. | |
Barroca et al. | Integrating a neutral action language in a devs modelling environment | |
Jebali et al. | GRL: A specification language for globally asynchronous locally synchronous systems | |
Insaurralde et al. | System requirements in industrial automation | |
Giese et al. | The OCoN approach for object-oriented distributed software systems modeling | |
Schloegel et al. | Composable code generation for model-based development | |
Köllner et al. | Designing a graphical domain-specific modelling language targeting a filter-based data analysis framework | |
Montigel | Portability and reuse of components for spreadsheet languages | |
O’Mullane et al. | Java coding standard and guidelines for dpac | |
Smeda et al. | An environment for describing software systems | |
Wakeling | A design methodology for functional programs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |