复杂软件系统UML建模及向Event-B模型转换的工具和方法与流程

文档序号:17761324发布日期:2019-05-24 21:42阅读:402来源:国知局
导航: X技术> 最新专利> 计算;推算;计数设备的制造及其应用技术
复杂软件系统UML建模及向Event-B模型转换的工具和方法与流程

本发明涉及计算机软件工程技术领域,特别是一种复杂软件系统uml建模及向event-b模型转换的工具和方法。



背景技术:

在早期进行软件建模与设计,能够降低复杂软件系统,如复杂军事信息系统、信息物理融合系统cps等的开发难度,提高系统开发效率。其中,统一建模语言(unifiedmodelinglanguage,uml)是最常用、最直观的软件建模工具,uml类图能够直观显式的刻画软件的结构特征,uml活动图能够直观显式的刻画软件的行为特性。然而,uml不能很好地刻画复杂系统的层次结构,且uml是一种半形式化的建模语言,缺乏精确的语义,不能直接进行形式化的分析与验证,系统的可靠性难以保证。

event-b模型是一种用于系统级建模和分析的形式化方法,其有严格的数学基础,而且event-b能够以“逐步精化”的方式建模复杂系统,建模人员可以从抽象的需求规格开始,逐步引入更多的实现细节,最终完成系统的建模。由于其逐步精化的特点,使用event-b建模复杂软件系统,能够显著降低系统的建模难度。同时,使用event-b进行形式化分析,能够提高复杂软件系统的可靠性。但event-b建立在数理逻辑基础之上,直观性差,较难被一般软件建模人员理解和掌握。

鉴于uml与event-b在复杂软件系统建模方面有很强的互补性,将两种模型相融合用于复杂软件系统的建模,势必能够汲取uml直观易理解、event-b逐步精化与构造即正确的优点,但是目前尚未有相关的报道。



技术实现要素:

本发明的目的在于提供一种能够降低复杂软件系统的建模难度、提高复杂软件系统的开发效率的复杂软件系统uml建模及向event-b模型转换的工具和方法。

实现本发明目的的技术解决方案为:一种复杂软件系统uml建模及向event-b模型转换的工具,该转换工具是指建立的复杂软件系统uml模型到event-b模型的转换工具uml2eventb,具体包括复合类图和复合活动图元模型、event-b元模型、atl模型转换引擎和基于eclipse平台的模型转换配置模块:

所述复合类图和复合活动图元模型,用于定义和规范复合类图和复合活动图模型的元素构成和元素之间的关系,其定义符合ecore元模型规范;

所述event-b元模型,用于定义和规范event-b模型的元素构成和元素之间的关系,其定义符合ecore元模型规范;

所述atl模型转换引擎,用于进行复合类图和复合活动图元素到event-b元素的逐一转换,其符合atl语言的语法和语义规范,且基于复合类图和复合活动图元模型和event-b元模型而构建;

所述基于eclipse平台的模型转换配置模块,用于实现复合类图和复合活动图模型到event-b模型的转换,其以复合类图和复合活动图元模型、event-b元模型、atl模型转换引擎、xmi格式的复合类图和复合活动图作为输入,通过debug调试生成xmi格式的event-b模型。

进一步地,所述复合类图和复合活动图元模型包括复合类图元模型c-class.ecore和复合活动图元模型c-activity.ecore:

所述复合类图元模型c-class.ecore,由抽象类abstract-class、类class、关系relationship、属性attribute、方法method构成,其中抽象类abstract-class能够分解为类class;

所述复合活动图元模型c-activity.ecore,由分区partition、活动activity、动作action、控制节点controlnodes构成,其中活动activity能够分解为多个子活动activity或动作action,由同一个分区partition管理。

进一步地,所述event-b元模型包括context元模型context.ecore和machine元模型machine.ecore:

所述context元模型context.ecore,由集合set、常量constant、公理axiom构成,其中公理axiom用于描述集合set与常量constant之间的关系;

所述machine元模型machine.ecore,由变量variable、不变式invariant、变式variant、事件event构成,其中事件event由卫式guard和动作action构成。

进一步地,所述atl模型转换引擎包括九条基于atl语言的uml模型到event-b模型的转换规则:

abstractclass2set、class2constant、relationship2axiom、attribute2variable、method2event、partition2event、activity2event、action2event、controlnode2guard。

一种复杂软件系统uml建模及向event-b模型转换的方法,包括以下步骤:

步骤1,基于复合类图和复合活动图,建立复杂软件系统的可视化uml模型;

步骤2,uml模型预处理;

步骤3,利用模型转换工具uml2eventb,将预处理后的uml模型转换为event-b模型;

步骤4,转换后的event-b模型后处理;

步骤5,建立复杂软件系统的形式化event-b模型。

进一步地,步骤1所述的基于复合类图和复合活动图,建立复杂软件系统的可视化uml模型,具体如下:

步骤1.1、扩展uml类图,添加抽象类abstract-class,定义一个复合类图为一个五元组c-cd:=<c,ca,r,a,m>:其中,c表示类class;ca表示抽象类abstract-class,能够分解为多个类class;r表示类class与类class之间的连接关系relationship;a表示类class的属性attribute;m表示类class的方法method;

步骤1.2、扩展uml活动图,添加分区partition,定义一个复合活动图为一个五元组c-ad:=<a,t,c,p,o>:其中,a=aaction∪aactivity∪ai∪af,aaction表示动作action的集合,是最基本的活动activity,不能够再分解;aactivity表示活动activity的集合,能够被分解为子活动sub-activitie或动作action;ai和af分别表示初始活动和最终活动;t表示活动迁移activitytransition的集合,ta={t1,t2…tn},活动迁移activitytransition需要满足约束;c表示有限控制节点controlnode的集合,用于控制活动的迁移;p表示有限分区partition的集合,一个活动分解成的多个子活动sub-activitie或动作action能够用一个分区partition进行管理和表示;o是对象object的有限集合,对象o是对类c的实例化instance;

步骤1.3、基于定义的复合类图和复合活动图,从抽象到具体,以逐层分解的方式建立复杂软件系统的可视化uml模型。

进一步地,步骤2所述的uml模型预处理,具体如下:

将建立的复合类图和复合活动图分别进行预处理,存储为标准的xmi格式。

进一步地,步骤3所述的利用模型转换工具uml2eventb,将预处理后的uml模型转换为event-b模型,具体如下:

步骤3.1、利用模型转换工具uml2eventb,将预处理后的复合类图转换为event-b的context模型,得到xmi格式的context文件;

步骤3.2、利用模型转换工具uml2eventb,将预处理后的复合活动图转换为event-b的machine模型,得到xmi格式的machine文件。

进一步地,步骤4所述的转换后的event-b模型后处理,具体如下:

将转换得到的xmi格式的context文件和machine文件进行后处理,完善缺失的要素,并分别存储为buc文件和bum文件。

进一步地,步骤5所述的建立形式化的event-b模型,具体如下:

将buc文件和bum文件载入event-b支撑工具rodin中,建立复杂软件系统的event-b模型。

本发明与现有技术相比,其显著优点在于:(1)兼容eclipse平台,融合了uml直观易理解与event-b严谨易验证的优点;(2)降低了复杂软件系统的建模难度,提高了复杂软件系统的开发效率。

附图说明

图1是本发明复杂软件系统uml建模及向event-b模型转换的工具和方法的结构示意图。

图2是本发明中通过扩展uml构造复合类图和复合活动图的流程示意图,其中(a)为某负载均衡自适应软件系统构造复合类图的流程图,(b)为该软件系统构造复合活动图的流程图。

图3是本发明中复杂软件系统uml模型到event-b模型转换的流程示意图,其中(a)为待转换的复合类图片段示意图,(b)为转换后的event-b中context模型片段示意图,(c)为待转换的复合活动图片段示意图,(d)为转换后的event-b中machine片段模型示意图。

图4是本发明中对转换得到的event-b模型进行后处理的流程示意图,其中(a)为后处理得到的context模型示意图,(b)为后处理得到的machine模型示意图。

图5是本发明中的复合类图和复合活动图元模型的结构示意图,其中(a)为复合类图元模型umlclass.ecore的示意图,(b)为复合活动图元模型umlactivity.ecore的示意图。

图6是本发明中的event-b元模型的结构示意图,其中(a)为context元模型context.ecore的结构示意图,(b)为machine元模型machine.ecore的结构示意图。

图7是本发明中的atl模型转换引擎的结构示意图,其中(a)为复合类图到context的转换规则引擎的结构示意图,图7(b)为复合活动图到machine的转换规则引擎的结构示意图。

图8是本发明中的模型转换配置模块的结构示意图。

具体实施方式

本发明复杂软件系统uml建模及向event-b模型转换的工具,其特征在于,该转换工具是指建立的复杂软件系统uml模型到event-b模型的转换工具uml2eventb,具体包括复合类图和复合活动图元模型a、event-b元模型b、atl模型转换引擎c和基于eclipse平台的模型转换配置模块d:

所述复合类图和复合活动图元模型a,用于定义和规范复合类图和复合活动图模型的元素构成和元素之间的关系,其定义符合ecore元模型规范;

所述event-b元模型b,用于定义和规范event-b模型的元素构成和元素之间的关系,其定义符合ecore元模型规范;

所述atl模型转换引擎c,用于进行复合类图和复合活动图元素到event-b元素的逐一转换,其符合atl语言的语法和语义规范,且基于复合类图和复合活动图元模型a和event-b元模型b而构建;

所述基于eclipse平台的模型转换配置模块d,用于实现复合类图和复合活动图模型到event-b模型的转换,其以复合类图和复合活动图元模型a、event-b元模型b、atl模型转换引擎c、xmi格式的复合类图和复合活动图作为输入,通过debug调试生成xmi格式的event-b模型。

进一步地,所述复合类图和复合活动图元模型a包括复合类图元模型c-class.ecorea-1和复合活动图元模型c-activity.ecorea-2:

所述复合类图元模型c-class.ecorea-1,由抽象类abstract-class、类class、关系relationship、属性attribute、方法method构成,其中抽象类abstract-class能够分解为类class;

所述复合活动图元模型c-activity.ecorea-2,由分区partition、活动activity、动作action、控制节点controlnodes构成,其中活动activity能够分解为多个子活动activity或动作action,由同一个分区partition管理。

进一步地,所述event-b元模型b包括context元模型context.ecoreb-1和machine元模型machine.ecoreb-2:

所述context元模型context.ecoreb-1,由集合set、常量constant、公理axiom构成,其中公理axiom用于描述集合set与常量constant之间的关系;

所述machine元模型machine.ecoreb-2,由变量variable、不变式invariant、变式variant、事件event构成,其中事件event由卫式guard和动作action构成。

进一步地,所述atl模型转换引擎c包括九条基于atl语言的uml模型到event-b模型的转换规则:

abstractclass2set、class2constant、relationship2axiom、attribute2variable、method2event、partition2event、activity2event、action2event、controlnode2guard。

一种复杂软件系统uml建模及向event-b模型转换的方法,包括以下步骤:

步骤1,基于复合类图和复合活动图,建立复杂软件系统的可视化uml模型;

步骤2,uml模型预处理;

步骤3,利用模型转换工具uml2eventb,将预处理后的uml模型转换为event-b模型;

步骤4,转换后的event-b模型后处理;

步骤5,建立复杂软件系统的形式化event-b模型。

进一步地,步骤1所述的基于复合类图和复合活动图,建立复杂软件系统的可视化uml模型,具体如下:

步骤1.1、扩展uml类图,添加抽象类abstract-class,定义一个复合类图为一个五元组c-cd:=<c,ca,r,a,m>:其中,c表示类class;ca表示抽象类abstract-class,能够分解为多个类class;r表示类class与类class之间的连接关系relationship;a表示类class的属性attribute;m表示类class的方法method;

步骤1.2、扩展uml活动图,添加分区partition,定义一个复合活动图为一个五元组c-ad:=<a,t,c,p,o>:其中,a=aaction∪aactivity∪ai∪af,aaction表示动作action的集合,是最基本的活动activity,不能够再分解;aactivity表示活动activity的集合,能够被分解为子活动sub-activitie或动作action;ai和af分别表示初始活动和最终活动;t表示活动迁移activitytransition的集合,ta={t1,t2…tn},活动迁移activitytransition需要满足约束;c表示有限控制节点controlnode的集合,用于控制活动的迁移;p表示有限分区partition的集合,一个活动分解成的多个子活动sub-activitie或动作action能够用一个分区partition进行管理和表示;o是对象object的有限集合,对象o是对类c的实例化instance;

步骤1.3、基于定义的复合类图和复合活动图,从抽象到具体,以逐层分解的方式建立复杂软件系统的可视化uml模型。

进一步地,步骤2所述的uml模型预处理,具体如下:

将建立的复合类图和复合活动图分别进行预处理,存储为标准的xmi格式。

进一步地,步骤3所述的利用模型转换工具uml2eventb,将预处理后的uml模型转换为event-b模型,具体如下:

步骤3.1、利用模型转换工具uml2eventb,将预处理后的复合类图转换为event-b的context模型,得到xmi格式的context文件;

步骤3.2、利用模型转换工具uml2eventb,将预处理后的复合活动图转换为event-b的machine模型,得到xmi格式的machine文件。

进一步地,步骤4所述的转换后的event-b模型后处理,具体如下:

将转换得到的xmi格式的context文件和machine文件进行后处理,完善缺失的要素,并分别存储为buc文件和bum文件。

进一步地,步骤5所述的建立形式化的复杂软件系统event-b模型,具体如下:

将buc文件和bum文件载入event-b支撑工具rodin中,建立复杂软件系统的event-b模型。

下面结合附图及具体实施例对本发明作进一步详细说明。

实施例

结合图1,一种复杂软件系统uml模型向event-b模型转换的工具,包括复合类图和复合活动图元模型a、event-b元模型b、atl模型转换引擎c和基于eclipse平台的模型转换配置模块d:

结合图5,所述复合类图和复合活动图元模型a,用于定义和规范复合类图和复合活动图的元素构成和元素之间的关系,包括复合类图元模型c-class.ecorea-1和复合活动图元模型c-activity.ecorea-2;图5(a)中umlclass.ecore定义了复合类图的元模型,图5(b)中umlactivity.ecore定义了复合活动图的元模型;

结合图6,所述event-b元模型b,用于定义和规范event-b模型的元素构成和元素之间的关系,包括context元模型context.ecoreb-1和machine元模型machine.ecoreb-2;图6(a)中context.ecore定义了context的元模型,图6(b)中machine.ecore定义了machine的元模型;

结合图7,所述atl模型转换引擎c,用于进行复合类图和复合活动图元素到event-b元素的逐一转换,其符合atl语言的语法和语义规范,且基于复合类图和复合活动图元模型a和event-b元模型b而构建;图7(a)定义了复合类图到context的转换规则,图7(b)定义了复合活动图到machine的转换规则;

结合图8,所述基于eclipse平台的模型转换配置模块d,用于实现复合类图和复合活动图模型到event-b模型的转换,其以复合类图和复合活动图元模型a、event-b元模型b、atl模型转换引擎c和xmi格式的复合类图和复合活动图作为输入,通过debug调试生成xmi格式的event-b模型。

结合图1,一种复杂软件系统uml建模及向event-b模型的转换方法,包括以下步骤:

步骤1,结合图2,基于复合类图和复合活动图,建立可视化的uml模型,具体如下:

步骤1.1、扩展uml类图,添加抽象类(abstract-class),构造复合类图。图2(a)是某负载均衡自适应软件系统复合类图示例。其中,monitor、analyzer、planner、executor、applicationlogic都是抽象类composite-class,均可进一步分解为类class,如monitor可分解为timesensor和loadsensor。复合类图利用抽象类的概念以层次分解的方式,从抽象到具体逐步建立复杂软件系统的结构模型,能够降低复杂软件系统的建模难度;

步骤1.2、扩展uml活动图,添加分区partition,构造复合活动图。图2(b)是某负载均衡自适应软件系统复合活动图示例。其中,monitor、analyze、plan、execute等都是分区partition,其将系统活动划分为四个基本活动,每个活动又可分为多个子活动或动作。如活动analyze可进一步分解为四个子活动:comparetime、compareload、judgeresptime、judgeload。复合活动图利用分区和活动分解的概念,从抽象到具体、逐步分解建立复杂软件系统的行为模型,能够显式刻画复杂软件系统的行为特性;

步骤1.3、将步骤1.1和步骤1.2定义的复合类图和复合活动图建模设施,作为插件嵌入到现有uml建模工具中,建模人员可方便调用,降低了复杂软件系统的建模难度。

步骤2,uml模型预处理,具体如下:

步骤1建立的复合类图和复合活动图为非xmi格式,在模型转换前需进行预处理,将复合类图和复合活动图进行格式转换,然后存储为标准的xmi格式。

步骤3,结合图3,将预处理后的uml模型转换为event-b模型,具体如下:

步骤3.1、利用模型转换工具,将预处理后的复合类图转换为event-b的context模型,得到xmi格式的context文件;以图3(a)复合类图为例,其中将抽象类monior和analyzer转换为context模型中的集合monior和analyzer,类timesensor和loadsensor转换为context中的常量timesensor和loadsensor,将关系generalization和trigger转换为context中的公理axioms,转换后的context模型如图3(b)所示;

步骤3.2、利用模型转换工具,将预处理后的复合活动图转换为event-b的machine模型,得到xmi格式的machine文件;如图3(c)和(d)所示,其中复合活动图中的两个分区monitor和analyze转换为machine中的抽象事件monitor和analyze,活动act1、act2、act3和act4转换为machine中的具体事件act1、act2、act3和act4。

步骤4,结合图4,转换后的event-b模型后处理,具体如下:

将转换得到的xmi格式的context文件和machine文件进行后处理,完善缺失的要素,并分别存储为buc文件和bum文件。对context文件进行后处理,如图4(a)所示,模型转换后得到context文件samplecontext.xmi,该文件需经过进一步优化完善才能被event-b工具rodin识别读取,首先在每个属性,如name、label、identifier前添加前缀org.eventb.core;然后将“belongto”、“relation”等关键字分别替换为相应的数学符号“∈”和最后将优化完善后的context文件更改为.buc格式,得到的samplecontext.buc文件能够被rodin读取识别。对machine文件进行后处理,如图4(b)所示,通过完善相关属性,得到event-b的machine文件samplemachine.bum。

步骤5,建立形式化的event-b模型,具体如下:

将buc文件和bum文件载入event-b支撑工具rodin中,建立复杂软件系统的event-b模型。

综上所述,本发明兼容eclipse平台,融合了uml直观易理解与event-b严谨易验证的优点;降低了复杂软件系统的建模难度,提高了复杂软件系统的开发效率。

完整全部详细技术资料下载
当前第1页 1  2 
相关技术
  • 设备音量的调节方法、穿戴式设...
  • 一种音频信号输出方法、移动终...
  • 一种确定显示区域的方法和电子...
  • 通用显示器的制作方法
  • 显示数据处理方法、装置、系统...
  • 微型打印机点阵指令解析方法与...
  • 具有数据处理功能的打印机、打...
  • 电路架构的制作方法
  • 一种提高存储系统稳定性的方法...
  • 一种提高开放通道固态盘写并行...
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1

PHP网站源码合肥网站界面优化南京网站优化团队宝坻区网站优化价格商丘优化网站排名哪里靠谱台湾网站建设优化新网站做优化首先怎么做网站h标怎么优化宜城如何优化网站威海网站seo优化价格安庆网站建设优化公司娄底网站优化外包正定网站优化费用专业网站优化推广whm面板优化网站奉化区网站seo优化白银市专业的网站优化天津网站优化排名哪家值得信赖银川市网站优化哪家值得信赖优化网站排名在火12星美评大连网站优化快照做网站建设优化的公司网站网页的优化方法单页网站的优化技巧重庆网站优化推广热线电话临夏优化网站品牌网站优化系统招商项目优化网站排名轻松易速达双鸭山企业网站优化延庆网站关键词优化如何优化一个网站排行歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

PHP网站源码 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化