一种基于模型驱动工程进行SYSML状态机图分析验证的方法.pdf

上传人:小** 文档编号:4758908 上传时间:2018-11-07 格式:PDF 页数:14 大小:1.79MB
返回 下载 相关 举报
摘要
申请专利号:

CN201210531992.1

申请日:

2012.12.11

公开号:

CN103065000A

公开日:

2013.04.24

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 17/50申请日:20121211|||公开

IPC分类号:

G06F17/50

主分类号:

G06F17/50

申请人:

南京大学

发明人:

张天; 李江伟; 李宣东

地址:

210093 江苏省南京市鼓楼区汉口路22号

优先权:

专利代理机构:

南京瑞弘专利商标事务所(普通合伙) 32249

代理人:

陈建和

PDF下载: PDF下载
内容摘要

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

权利要求书

权利要求书一种基于模型驱动工程进行SysML状态机图分析验证的方法,其特征是包括步骤: 
步骤10:根据编辑器设计一个SysML状态机图; 
步骤11:设计状态机图的时钟; 
步骤12:新建一个ATL工程; 
步骤13:将用户设计的状态机图及我们提供的两个元模型和一个转换文件导入到工程中; 
步骤14:运行转换文件得到结果文件; 
步骤15:将结果文件用Uppaal打开,模拟分析及验证用户设计的SysML状态机图。 
根据权利要求1所述的基于模型驱动工程进行SysML状态机图分析验证的方法,其特征是所述的设计一个SysML状态机图即步骤10的具体步骤如下: 
步骤200:用eclipse运行SysML状态机图编辑器; 
步骤201:右键单击根节点,新建一个或多个Region; 
步骤202:右键单击Region节点,创建系统中所需要的State节点,同时为每个State节点命名,如果State节点有时限变量,则跳转到步骤203,否则跳转到步骤204; 
步骤203:右键单击State节点,增加时限变量节点,并设置初始值; 
步骤204:右键单击Region节点,创建系统中所需要的Transition节点,同时为每个Transition节点命名及指定源和目标状态; 
步骤205:右键单击Region节点,增加局部变量声明节点; 
步骤206:右键单击Region节点,增加参数节点; 
步骤207:右键单击Region节点,增加名字节点; 
步骤208:右键单击根节点,增加全局变量声明节点; 
步骤209:右键单击根节点,增加系统模型声明节点; 
步骤210:结束本次SysML状态机图设计。 
根据权利要求1所述的基于模型驱动工程进行SysML状态机图分析验证的方法,其特征是所述的设计状态机图的时钟即步骤11中步骤如下: 
要描述时间触发机制,首先需要对时间进行建模,建立系统的时间访问入口:时钟,具体过程为: 
步骤30:建立一个离散的时钟类,采用《ClockType》构造型表明该类是一个时钟类,并在约束中描述相应的标记值来定义其他特征; 
步骤31:导入MARTE库中的idealClk实例,代表实际物理时间的连续时钟; 
步骤32:定义离散时钟类的两个实例(clk1,clk2)。 
根据权利要求1所述的基于模型驱动工程进行SysML状态机图分析验证的方 法,其特征是创建一个新的ATL工程并将设计的SysML状态机图和两个元模型和一个转换文件导入到工程即步骤12和步骤13,过程包括: 
步骤40:安装ATL插件; 
步骤41:将设计的SysML状态机图和我们提供的两个元模型和一个转换文件导入到工程。 
根据权利要求1所述的基于模型驱动工程进行SysML状态机图分析验证的方法,其特征是执行转换文件即步骤14,其中执行的过程包括: 
步骤51:状态机图到时间自动机网络的转换; 
步骤52:状态机图Region到时间自动机的转换; 
步骤53:状态机图中状态到时间自动机Location和分支点的转换; 
步骤54:状态机图中状态图迁移到时间自动机迁移的转换; 
步骤55:状态机图中初始状态到时间自动机初始节点的转换; 
步骤56:状态机图中迁移上的卫式,触发动作,触发后的行为到时间自动机迁移上Label的转换; 
步骤57:状态机图中概率到时间自动机概率的转换; 
步骤58:状态机图中时间约束到时间自动机时间约束的转换; 
步骤59:得到转换结果文件。 
根据权利要求1所述的基于模型驱动工程进行SysML状态机图分析验证的方法,其特征是SysML状态机图设计模型的模拟,分析与验证即步骤15,其过程包括: 
步骤61:用模型检验工具Uppaal打开转换结果文件; 
步骤62:在模拟器标签中,通过点击下一步来模拟系统的运行过程;模拟过程能够保存文件; 
步骤63:在验证器标签中,通过点击添加按钮来增加系统的一条验证性质; 
步骤64:在验证器标签中,通过构造简单CTL表达式来表示系统的某些性质; 
步骤65:在验证器标签中,通过点击开始验证按钮来验证某条性质是否满足,若不满足可以得到一个反例; 
步骤66:在验证器标签中,通过点击删除按钮,删除某条不再需要的性质; 
步骤67:;在验证器标签中,验证结果与进度显示了整个验证过程和结果。

说明书

说明书一种基于模型驱动工程进行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状态机图;即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节点,创建系统中所需要的Transition节点,同时为每个Transition节点命名及指定源和目标状态;
步骤205:右键单击Region节点,增加局部变量声明节点;
步骤206:右键单击Region节点,增加参数节点;
步骤207:右键单击Region节点,增加名字节点;
步骤208:右键单击根节点,增加全局变量声明节点;
步骤209:右键单击根节点,增加系统模型声明节点;
步骤210:结束本次SysML状态机图设计;
另外,步骤11所述的设计状态机图的时钟设计过程参照下图图7示:
要描述时间触发机制,首先需要对时间进行建模,建立系统的时间访问入口:时钟。具体过程为:
步骤30:建立一个离散的时钟类,采用<<ClockType>>构造型表明该类是一个时钟类,并在约束中描述相应的标记值来定义其他特征;
步骤31:导入MARTE库中的idealClk实例,代表实际物理时间的连续时钟;
步骤32:定义离散时钟类的两个实例(clk1,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状态机图到时间自动机转换的主要规则(表1)。
表格1从SysML状态机图到时间自动机转换的主要规则

本发明的有益效果是,本发明提供了一个SysML(一种新的系统建模语言一种新的系统)状态机图分析验证的方法,该方法结合模型驱动工程技术,有效的实现了SysML模型到时间自动机模型的转换,并方便通过现有模型检验工具对设计模型进行模拟,分析与验证。
附图内容
图1为基于模型驱动工程进行SysML状态机图的分析验证;
图2为基于模型驱动工程的模型转换原理图;
图3为总体处理过程图;
图4为SysML状态机图元模型;
图5为基于Uppaal输入的时间自动机元模型;
图6为SysML状态机图到时间自动机主要转换规则;
图7为状态机图时钟的构造;
图8是设计一个SysML状态机图的8流程图。
具体实施方式
下面通过附图对本发明的技术方案做进一步的详细描述。
本发明主要的方法是利用基于模型驱动工程的方法进行SysML状态机图分析验证,其主要的过程如附图3所示:
1.获得SysML状态机图
2.获得状态机图的时钟
3.构造SysML状态机图到时间自动机的转换规则
4.将获得的模型进行模型转换得到时间自动机
5.将获得的时间自动机输入到模型检验工具Uppaal中,进行模拟与检验
6.得到检验结果反馈给设计模型。
其中具体的过程如附图1所示,主要的步骤如下所示:
步骤10:根据我们提供的编辑器设计一个SysML状态机图;
步骤11:设计状态机图的时钟;
步骤12:新建一个ATL工程;
步骤13:将用户设计的状态机图及我们提供的两个元模型和一个转换文件导入到工程中;
步骤14:运行转换文件得到结果文件;
步骤15:将结果文件用Uppaal打开,模拟分析及验证用户设计的SysML状态机图;
附图4和附图5分别为SysML状态机图元模型及基于Uppaal输入的时间自动机元模型。SysML状态机图的结构是由SysML状态机图元模型所决定的,而经过转换后生成的时间自动机模型是由基于Uppaal输入的时间自动机元模型决定的。
步骤10中设计一个SysML状态机图的过程包括:
步骤200:用eclipse运行SysML状态机图编辑器;
步骤201:右键单击根节点,新建一个(或多个)Region;
步骤202:右键单击Region节点,创建系统中所需要的State节点,同时为每个State节点命名,如果State节点有时限变量,则跳转到步骤203,否则跳转到步骤204;
步骤203:右键单击State节点,增加时限变量节点,并设置初始值;
步骤204:右键单击Region节点,创建系统中所需要的Transition节点,同时为每个Transition节点命名及指定源和目标状态;
步骤205:右键单击Region节点,增加局部变量声明节点;
步骤206:右键单击Region节点,增加参数节点;
步骤207:右键单击Region节点,增加名字节点;
步骤208:右键单击根节点,增加全局变量声明节点;
步骤209:右键单击根节点,增加系统模型声明节点;
步骤210:结束本次SysML状态机图设计;
附图7即步骤11,为状态机图时钟的构造。时钟设计过程为:
步骤30:建立一个离散的时钟类,采用《ClockType》构造型表明该类是一个时钟类,并在约束中描述相应的标记值来定义其他特征;
步骤31:导入MARTE库中的idealClk实例,代表实际物理时间的连续时钟;
步骤32:定义离散时钟类的两个实例(clk1,clk2)
步骤12为创建一个新的ATL工程并将设计的SysML状态机图和我们提供的两个元模型和一个转换文件导入到工程,其过程包括:
步骤40:安装ATL插件;
步骤41:将设计的SysML状态机图和我们提供的两个元模型和一个转换文件导入到工程;
附图2为基于模型驱动工程的模型转换原理图
附图6即步骤14,为SysML状态机图到时间自动机主要转换规则,转换过程为:
步骤51:状态机图到时间自动机网络的转换;
步骤52:状态机图Region到时间自动机的转换;
步骤53:状态机图中状态到时间自动机Location和分支点的转换;
步骤54:状态机图中状态图迁移到时间自动机迁移的转换;
步骤55:状态机图中初始状态到时间自动机初始节点的转换;
步骤56:状态机图中迁移上的卫式,触发动作,触发后的行为到时间自动机迁移上Label的转换;
步骤57:状态机图中概率到时间自动机概率的转换;
步骤58:状态机图中时间约束到时间自动机时间约束的转换;
步骤59:得到转换结果文件;
步骤15为SysML状态机图设计模型的模拟,分析与验证,其过程包括:
步骤61:用模型检验工具Uppaal打开转换结果文件;
步骤62:在模拟器标签中,通过点击下一步来模拟系统的运行过程。模拟过程可以保存文文件;
步骤63:在验证器标签中,通过点击添加按钮来增加系统的一条验证性质;
步骤64:在验证器标签中,通过构造简单CTL表达式来表示系统的某些性质;
步骤65:在验证器标签中,通过点击开始验证按钮来验证某条性质是否满足,若不满足可以得到一个反例;
步骤66:在验证器标签中,通过点击删除按钮,删除某条不再需要的性质;
步骤67:;在验证器标签中,验证结果与进度显示了整个验证过程和结果;
最后应当说明的是:以上步骤仅用于说明本发明的技术方案而非对其限制。尽管上述步骤对本发明进行了详细的说明,相关领域的技术人员应当理解,依然可以对本发明的具体技术进行修改或者对部分技术进行等同替换;而不脱离本发明技术方案的精神,其均应涵盖在本发明请求保护的技术方案范围当中。

一种基于模型驱动工程进行SYSML状态机图分析验证的方法.pdf_第1页
第1页 / 共14页
一种基于模型驱动工程进行SYSML状态机图分析验证的方法.pdf_第2页
第2页 / 共14页
一种基于模型驱动工程进行SYSML状态机图分析验证的方法.pdf_第3页
第3页 / 共14页
点击查看更多>>
资源描述

《一种基于模型驱动工程进行SYSML状态机图分析验证的方法.pdf》由会员分享,可在线阅读,更多相关《一种基于模型驱动工程进行SYSML状态机图分析验证的方法.pdf(14页珍藏版)》请在专利查询网上搜索。

基于模型驱动工程进行SysML状态机图分析验证的方法,包括步骤:步骤10:根据编辑器设计一个SysML状态机图;步骤11:设计状态机图的时钟;步骤12:新建一个ATL工程;步骤13:将用户设计的状态机图及我们提供的两个元模型和一个转换文件导入到工程中;步骤14:运行转换文件得到结果文件;步骤15:将结果文件用Uppaal打开,模拟分析及验证用户设计的SysML状态机图。本发明为可以验证半形式化的S。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1