当前位置: 首页 > 专利查询>南京大学专利>正文

一种基于模型驱动工程进行SysML状态机图分析验证的方法技术

技术编号:8626218 阅读:175 留言:0更新日期:2013-04-25 23:24
基于模型驱动工程进行SysML状态机图分析验证的方法,包括步骤:步骤10:根据编辑器设计一个SysML状态机图;步骤11:设计状态机图的时钟;步骤12:新建一个ATL工程;步骤13:将用户设计的状态机图及我们提供的两个元模型和一个转换文件导入到工程中;步骤14:运行转换文件得到结果文件;步骤15:将结果文件用Uppaal打开,模拟分析及验证用户设计的SysML状态机图。本发明专利技术为可以验证半形式化的SysML状态机图,自动化程度高,基于模型驱动工程理念而非传统方法,有效利用现有验证工具等。

【技术实现步骤摘要】

本专利技术涉及计算机程序模型检验与分析,主要涉及。
技术介绍
实时嵌入式系统在制造工业、通信、汽车、航空航天、消费类产品等领域得到了越来越广泛的应用。但是,实时嵌入式系统的开发通常十分复杂,所以在开发前期,要对整个系统建立相应的模型进行抽象。这样有助于实时系统软件的开发,能够很好地控制系统的复杂性。在实时嵌入式系统开发过程中,经常会用到UML (UML是面向对象开发中一种通用的图形化建模语言)状态机图(SMD)。SMD是SysML行为图中的一种,但它是一种半形式化的模型.这样在实时嵌入式系统开发的初期,设计者就不能很好的对设计模型进行分析和验证。为了解决这个问题,我们抽取MARTE中的时间和概率元素,对SMD进行了时间和概率方面的扩展并提出了一套基于MDE的模型转换规则,将扩展的SMD转化为形式化的时间自动机(TA)模型,并利用现有工具对转化结果进行分析验证。这样在系统设计初期就可以发现系统的一些错误和不足,有利于系统更好更快地开发。模型驱动工程(MDE)技术。基于MDE的软件开发过程实际上就是建立模型和模型转换的过程。这个过程不但涉及到不同抽象层次之间的模型,同时也涉及到相同抽象层次内的模型。如果我们将MDE视为一种概念上的方法论的话,那么目前最主流的两种MDE建模和模型转换实现框架就是OMG的MDA以及微软的软件工厂。其中,MDA是公认最具代表性的MDE实现框架。典型的MDE元模型体系分为多个模型层次。元模型和模型是相对而言的,元模型解释了模型元素的含义。从语言的角度来看,元模型相对于模型而言处于建模语言的层次。而定义元模型的元模型就是所谓的元-元模型。基于MDE的模型转换技术,是MDE技术的核心。它主要涉及模型到模型的转换,模型到代码的转换等几方面。基于MDE的模型转换技术的一般过程为建立源和目标领域的元模型;构造两者之间的转换规则并实现;输入源模型,运行转换规则得到目标模型。目前传统模型转换存在的瓶颈主要有语义匹配和语法映射常常交织在一起、转换关系复杂和难以理解、转换规则很难进行复用。时间自动机是一类形式化的建模语言,有很多现有的包括Uppaal在内的模型检验工具进行支撑。利用支撑工具我们可以方便的对已有时间自动机模型进行模拟,分析及验证工作。
技术实现思路
本专利技术目的是,鉴于上述问题,本专利技术旨在提供一个SysML状态机图分析验证的方法,该方法结合模型驱动工程技术,有效的实现了 SysML模型到时间自动机模型的转换,并通过现有模型检验工具对设计模型进行模拟,分析与验证。本专利技术是通过以下的技术方案实现的基于模型驱动工程进行SysML状态机图分析验证的方法,步骤10 :根据编辑器工具设计一个SysML状态机图;SP UML状态机图(SMD),SMD是SysML行为图中的一种;步骤11 :设计状态机图的时钟;步骤12 :新建一个ATL工程;步骤13 :将用户设计的状态机图及我们提供的两个元模型和一个转换文件导入到工程中;步骤14 :运行转换文件得到结果文件;步骤15 :将结果文件用Uppaal打开,模拟分析及验证用户设计的SysML状态机图;扩展的SMD转化为形式化的时间自动机(TA)模型,并利用现有工具对转化结果进行分析验证;模型驱动工程(MDE)技术。基其中步骤10所构造的模型符合下面的形式,步骤10是根据我们构建的元模型而实现的所述的设计一个SysML状态机图即步骤10。设计一个SysML状态机图的过程包括,如图8流程步骤200 :用SysML的eclipse运行SysML状态机图编辑器;步骤201 :右键 单击根节点,新建一个(或多个)Region (区域?);步骤202 :右键单击Region节点,创建系统中所需要的State (态?)节点,同时为每个State节点命名,如果State节点有时限变量,则跳转到步骤203,否则跳转到步骤204 ;步骤203 :右键单击State节点,增加时限变量节点,并设置初始值;步骤204 :右键单击Region节点,仓ll建系统中所需要的Transition节点,同时为每个Transition节点命名及指定源和目标状态;步骤205 :右键单击Region节点,增加局部变量声明节点;步骤206 :右键单击Region节点,增加参数节点;步骤207 :右键单击Region节点,增加名字节点;步骤208 :右键单击根节点,增加全局变量声明节点;步骤209 :右键单击根节点,增加系统模型声明节点;步骤210 :结束本次SysML状态机图设计;另外,步骤11所述的设计状态机图的时钟设计过程参照下7示要描述时间触发机制,首先需要对时间进行建模,建立系统的时间访问入口 时钟。具体过程为步骤30 :建立一个离散的时钟类,采用〈〈ClockType 构造型表明该类是一个时钟类,并在约束中描述相应的标记值来定义其他特征;步骤31 :导入MARTE库中的idealClk实例,代表实际物理时间的连续时钟;步骤32 :定义离散时钟类的两个实例(clkl,clk2);MARTE(modeling and analysis of real time and embedded systems)是UML在嵌入式实时系统领域的建模规范,支持对嵌入式实时系统的非功能属性建模;弥补了 UML在嵌入式实时领域非功能属性表达能力的不足;进一步的,创建一个新的ATL工程并将设计的SysML状态机图和我们提供的两个元模型和一个转换文件导入到工程即步骤12和步骤13,过程包括步骤40 :安装ATL插件;步骤41 :将设计的SysML状态机图和我们提供的两个元模型和一个转换文件导入到工程;进一步的,执行转换文件即步骤14,其中执行的过程包括步骤51 状态机图到时间自动机网络的转换;步骤52 :状态机图Region到时间自动机的转换;步骤53 :状态机图中状态到时间自动机Location和分支点的转换;步骤54 :状态机图中状态图迁移到时间自动机迁移的转换;步骤55 :状态机图中初始状态到时间自动机初始节点的转换;步骤56 :状态机图中迁移上的卫式,触发动作,触发后的行为到时间自动机迁移上Label的转换;步骤57 :状态机图中概率到时间自动机概率的转换;步骤58 :状态机图中时间约束到时间自动机时间约束的转换;步骤59 :得到转换结果文件;进一步的,SysML状态机图设计模型的模拟,分析与验证即步骤15,其过程包括步骤61 :用模型检验工具Uppaal打开转换结果文件;步骤62 :在模拟器标签中,通过点击下一步来模拟系统的运行过程。模拟过程可以保存文文件;步骤63 :在验证器标签中,通过点击添加按钮来增加系统的一条验证性质;步骤64 :在验证器标签中,通过构造简单CTL表达式来表示系统的某些性质;步骤65 :在验证器标签中,通过点击开始验证按钮来验证某条性质是否满足,若不满足可以得到一个反例;步骤66 :在验证器标签中,通过点击删除按钮,删除某条不再需要的性质;步骤67:;在验证器标签中,验证结果与进度显示了整个验证过程和结果;下表定义了从SysML状态机图到时间自动机转换的主要规则(表I)。表格I从SysML状态机图到时间自动机转换的主要规则本文档来自技高网
...

【技术保护点】
一种基于模型驱动工程进行SysML状态机图分析验证的方法,其特征是包括步骤:?步骤10:根据编辑器设计一个SysML状态机图;?步骤11:设计状态机图的时钟;?步骤12:新建一个ATL工程;?步骤13:将用户设计的状态机图及我们提供的两个元模型和一个转换文件导入到工程中;?步骤14:运行转换文件得到结果文件;?步骤15:将结果文件用Uppaal打开,模拟分析及验证用户设计的SysML状态机图。

【技术特征摘要】
1.一种基于模型驱动工程进行SysML状态机图分析验证的方法,其特征是包括步骤 步骤10 :根据编辑器设计一个SysML状态机图; 步骤11 :设计状态机图的时钟; 步骤12 :新建一个ATL工程; 步骤13 :将用户设计的状态机图及我们提供的两个元模型和一个转换文件导入到工程中; 步骤14 :运行转换文件得到结果文件; 步骤15 :将结果文件用Uppaal打开,模拟分析及验证用户设计的SysML状态机图。2.根据权利要求1所述的基于模型驱动工程进行SysML状态机图分析验证的方法,其特征是所述的设计一个SysML状态机图即步骤10的具体步骤如下 步骤200 :用eclipse运行SysML状态机图编辑器; 步骤201 :右键单击根节点,新建一个或多个Region ; 步骤202 :右键单击Region节点,仓Il建系统中所需要的State节点,同时为每个State节点命名,如果State节点有时限变量,则跳转到步骤203,否则跳转到步骤204 ; 步骤203 :右键单击State节点,增加时限变量节点,并设置初始值; 步骤204 :右键单击Region节点,仓Il建系统中所需要的Transition节点,同时为每个Transition节点命名及指定源和目标状态; 步骤205 :右键单击Region节点,增加局部变量声明节点; 步骤206 :右键单击Region节点,增加参数节点; 步骤207 :右键单击Region节点,增加名字节点; 步骤208 :右键单击根节点,增加全局变量声明节点; 步骤209 :右键单击根节点,增加系统模型声明节点; 步骤210 :结束本次SysML状态机图设计。3.根据权利要求1所述的基于模型驱动工程进行SysML状态机图分析验证的方法,其特征是所述的设计状态机图的时钟即步骤11中步骤如下 要描述时间触发机制,首先需要对时间进行建模,建立系统的时间访问入口 时钟,具体过程为 步骤30 :建立一个离散的时钟类,采用《ClockType》构造型表明该类是一个时钟类,并在约束中描述相应的标记值来定义其他特征; 步骤31 :导入MA...

【专利技术属性】
技术研发人员:张天李江伟李宣东
申请(专利权)人:南京大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1