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

一种带并发的状态机图转换到自动机的方法技术

技术编号:8594107 阅读:221 留言:0更新日期:2013-04-18 07:19
一种带并发的状态机图转换到自动机的方法,包括步骤如下:步骤10:输入一个UML状态机图;步骤11:生成一个名字为go的自动机(自动机的名字可根据自己习惯定义),该自动机可以产生一个go信号量;步骤12:对状态机图的每个状态声明一个整型全局变量;步骤13:对状态机图的每个迁移声明一个自动机;步骤14:每个自动机添加两个location(自动机中的节点)和三个transition(自动机中的迁移);步骤15:根据UML状态图的迁移,完善所添加的location和transition;步骤16:所有产生的自动机,构成转换结果。该方法主要特点为可以将带并发的UML状态机图转化为自动机,方便各个领域应用。

【技术实现步骤摘要】

本专利技术涉及。
技术介绍
实时嵌入式系统在制造工业、通信、汽车、航空航天、消费类产品等领域得到了越来越广泛的应用。但是,实时嵌入式系统的开发通常十分复杂,所以在开发前期,要对整个系统建立相应的模型进行抽象。这样有助于实时系统软件的开发,能够很好地控制系统的复杂性。在实时嵌入式系统开发过程中,经常会用到UML状态机图(SMD),它是一种半形式化的模型,这样在实时嵌入式系统开发的初期,设计者就不能很好的对设计模型进行分析和验证。为了解决这个问题,我们需要将SMD转化为形式化的自动机模型,并利用现有工具对转化结果进行分析验证。这样在系统设计初期就可以发现系统的一些错误和不足,有利于系统更好更快地开发。自动机是一类形式化的建模语言,有很多现有的包括Uppaal在内的模型检验工具进行支撑。利用支撑工具我们可以方便的对已有自动机模型进行模拟,分析及验证工作。(Uppaal可以用来对被转换时间自动机网络模型的实时系统进行建模、校验和验证。它是由瑞典Uppsala大学的信息技术学院和丹麦Aalborg大学的计算科学学院联合开发的)
技术实现思路
本专利技术目的是,鉴于上述问题,本专利技术旨在提供一个带并发的状态机图转换到自动机的方法,该方法可以结合模型驱动工程技术,实现状态机图模型到自动机模型的转换,从而使通过现有模型检验工具对设计模型进行模拟,分析与验证变成可能。本专利技术是通过以下的技术方案实现的步骤10 :输入一个UML状态机图;步骤11 :生成一个名字为go的自动机(自动机的名字可根据自己习惯定义),该自动机可以产生一个go信号量;步骤12 :对状态机图的每个状态声明一个整型全局变量;步骤13 :对状态机图的每个迁移声明一个自动机;步骤14 :每个自动机添加两个location (自动机中的节点)和三个transition(自动机中的迁移);步骤15 :根据UML状态图的迁移,完善所添加的location和transition ;步骤16 :所有产生的自动机,构成转换结果。所述步骤10所构造的模型符合下面的形式,该模型包括一个根节点Region(Region代表一个状态图的范围),每个Region都要有个Name (状态图的名字)节点,在Region里可以有若干个State (状态图中的节点)和Transition (状态图中的迁移),同时还可以添加局部变量声明(如时钟变量和整型变量等),另外可以根据需要添加参数节点。该模型是可以根据附图6所示元模型实现,此元模型是根据模型驱动思想,然后结合状态图的结构构造的,构造示例如附图2所示。设计一个状态机图的过程包括步骤200 :用eclipse运行状态机图编辑器;步骤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 :结束本次状态机图设计。所述步骤12中,对状态机图的每个状态声明一个整型全局变量,执行的过程包括步骤30 :遍历整个输入的UML状态机图,得到所有状态;步骤31 :对每个遍历到的状态记录其属性,包括是否为开始节点,普通节点,终止节点;步骤32 :对每个遍历到的状态记录其约束;步骤33 :对每个遍历到的状态在自动机声明中声明一个整型变量用于表示其状态;所述步骤13和14中,对状态机图的每个迁移声明一个自动机,并为每个自动机添加两个location和三个transition,执行的过程包括步骤40 :创建一个自动机;步骤41 :在自动机中添加两个location名字分别为disabled和firing ;disabled代表当前自动机处于未使能状态,firing代表当前自动机处于使能激发状态。步骤42 :在自动机中添加三个transition名字分别为Tl,T2和T3 ;此处命名仅为标识作用。步骤43 :根据UML状态图的迁移,完善所添加的location和transition ;步骤44 :若状态机图的迁移需要事件来触发,则创建一个仅含有一个location和一个指向自身的transition的自动机,且该自动机transition会发出该事件;所述步骤15中,根据UML状态图的迁移,完善所添加的location和transition。操作流程可以参看附图5。执行的过程包括步骤50 :在UML状态机图中,若源状态有约束,则将约束加到名字在firing的location 上;步骤51 :在Tl上添加卫式,判断源状态对应变量是否为1,同时,迁移结束后令时钟为O并开始计时;步骤52 :在T2上添加卫式,判断源状态对应变量是否为0,同时,添加同步信号go,用以容错处理;步骤53 :在T3上添加卫式,判断源状态对应变量是否为1,同时,若源迁移上有卫式,也要加到T3的卫式上来;步骤54 :若源迁移上有事件,在T3上添加相同的事件信号,T3迁移结束后对源状态对应的变量置为O,目标状态对应的变量置为I。本专利技术有益效果这是,该方法可以结合模型驱动工程技术,实现状态机图模型到自动机模型的转换,从而使通过现有模型检验工具对设计模型进行模拟,分析与验证变成可能。同时,此方法也可以方便地应用到其他领域应用。附图说明图1为UML状态图转化为自动机示意图;图2为UML状态图编辑器示意图;图3为对UML状态图状态的处理示意图;图4为根据迁移产生自动机示意图;图5为完善产生的自动机示意图;图6为状态图元模型机示意图。具体实施例方式本专利技术方法工作流程如图1-图5所示。图1所示为本方法实施的整体结构和工作原理。本方法的目的是将带并发的状态机图转换到自动机,该方法可以结合模型驱动工程技术,实现状态机图模型到自动机模型的转换,从而使通过现有模型检验工具对设计模型进行模拟,分析与验证变成可能。同时,此方法也可以方便地应用到其他领域应用。步骤10 :输入一个UML状态机图;步骤11 :生成一个名字为go的自动机(自动机的名字可根据自己习惯定义),该自动机可以产生一个go信号量;步骤12 :对状态机图的每个状态声明一个整型全局变量;步骤13 :对状态机图的每个迁移声明一个自动机;步骤14 :每个自动机添加两个location (自动机中的节点)和三个transition(自动机中的迁移);步骤15 :根据UML状态图的迁移,完善所添加的location和transition ;步骤16 :所有产生的自动机,构成转换结果。所述步骤10所构造的模型符合下面的形式,该模型包括一个根节点Region(Region代表一个状态图的范围),每个本文档来自技高网...

【技术保护点】
一种带并发的状态机图转换到自动机的方法,其特征是包括步骤如下:步骤10:输入一个UML状态机图;步骤11:生成一个名字为go的自动机,该自动机产生一个go信号量;步骤12:对状态机图的每个状态声明一个整型全局变量;步骤13:对状态机图的每个迁移声明一个自动机;步骤14:每个自动机添加两个location和三个transition;步骤15:根据UML状态图的迁移,完善所添加的location和transition;步骤16:所有产生的自动机,构成转换结果;步骤11中,自动机的名字可根据任意定义;所述location为自动机中的节点,transition为自动机中的迁移。

【技术特征摘要】
1.一种带并发的状态机图转换到自动机的方法,其特征是包括步骤如下 步骤10 :输入一个UML状态机图; 步骤11 :生成一个名字为go的自动机,该自动机产生一个go信号量; 步骤12 :对状态机图的每个状态声明一个整型全局变量; 步骤13 :对状态机图的每个迁移声明一个自动机; 步骤14 :每个自动机添加两个location和三个transition ; 步骤15 :根据UML状态图的迁移,完善所添加的location和transition ; 步骤16 :所有产生的自动机,构成转换结果; 步骤11中,自动机的名字可根据任意定义; 所述location为自动机中的节点,transition为自动机中的迁移。2.根据权利要求1所述的带并发的状态机图转换到自动机的方法,其特征是步骤10中, 所构造的模型符合以下形式 该模型包括一个根节点Region,每个Region都要有个Name节点,在Region里可以有若干个State和Transition,同时还允许添加局部变量声明,允许根据需要添加参数节点;所述Region代表一个状态图的范围,Name为状态图的名字,State为状态图中的节点,Transition为状态图中的迁移; 设计一个状态机图的过程包括 步骤200 :用eclipse运行状态机图编辑器; 步骤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 :结束本次状...

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

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

1