复杂软件系统UML建模及向Event-B模型转换的工具和方法技术方案

技术编号:21199369 阅读:46 留言:0更新日期:2019-05-25 01:07
本发明专利技术公开了一种复杂软件系统UML建模及向Event‑B模型转换的工具和方法。该工具包括复合类图和复合活动图元模型、Event‑B元模型、ATL模型转换引擎和基于Eclipse平台的模型转换配置模块。方法为:首先基于复合类图和复合活动图,建立可视化的UML模型,并进行预处理;然后将预处理后的UML模型转换为Event‑B模型,并进行后处理;最后建立复杂软件系统的Event‑B模型,实现复杂软件系统的形式化建模。本发明专利技术能够兼容Eclipse平台,融合了UML直观易理解与Event‑B严谨易验证的优点,且能够以层次分解、逐步精化的方式降低复杂软件系统的建模难度。

Tools and Methods for UML Modeling of Complex Software Systems and Conversion to Event-B Model

The invention discloses a tool and method for UML modeling of complex software system and transformation to Event B model. The tool includes composite class diagram and composite activity meta-model, Event_B meta-model, ATL model transformation engine and model transformation configuration module based on Eclipse platform. The methods are as follows: firstly, based on composite class diagram and composite activity diagram, a visual UML model is established and preprocessed; secondly, the pretreated UML model is transformed into Event B model, and the post-processing is carried out; finally, the Event B model of complex software system is established to realize the formal modeling of complex software system. The invention is compatible with Eclipse platform, integrates the advantages of UML intuitive and easy to understand and Event B rigorous and easy to verify, and can reduce the difficulty of modeling complex software systems by hierarchical decomposition and gradual refinement.

【技术实现步骤摘要】
复杂软件系统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所述的本文档来自技高网...

【技术保护点】
1.一种复杂软件系统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模型。...

【技术特征摘要】
1.一种复杂软件系统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模型。2.根据权利要求1所述的复杂软件系统UML建模及向Event-B模型转换的工具,其特征在于,所述复合类图和复合活动图元模型(a)包括复合类图元模型C-Class.ecore(a-1)和复合活动图元模型C-Activity.ecore(a-2):所述复合类图元模型C-Class.ecore(a-1),由抽象类Abstract-Class、类Class、关系Relationship、属性Attribute、方法Method构成,其中抽象类Abstract-Class能够分解为类Class;所述复合活动图元模型C-Activity.ecore(a-2),由分区Partition、活动Activity、动作Action、控制节点ControlNodes构成,其中活动Activity能够分解为多个子活动Activity或动作Action,由同一个分区Partition管理。3.根据权利要求1所述的复杂软件系统UML建模及向Event-B模型转换的工具,其特征在于,所述Event-B元模型(b)包括Context元模型Context.ecore(b-1)和Machine元模型Machine.ecore(b-2):所述Context元模型Context.ecore(b-1),由集合Set、常量Constant、公理Axiom构成,其中公理Axiom用于描述集合Set与常量Constant之间的关系;所述Machine元模型Machine.ecore(b-2),由变量Variable、不变式Invariant、变式Variant、事件Event构成,其中事件Event由卫式Guard和动作Action构成。4.根据权利要求1所述的复杂软件系统UML建模及向Event-B模型转换的工具,其特征在于,所述ATL模型转换引擎(c)包括九条基于ATL语言的UML模型到Event-B模型的转换规则:AbstractClass2Set、Class2Constant、Relationship2Axiom、Attribute2Variable、Method2Event、Partition2Event、Activity2Event、Action2Event、ControlNode2Guard。5.一种复杂软件系统UML建模及向Event-B模型转换的方法,其特征在于,包括以下步骤:步骤1,基...

【专利技术属性】
技术研发人员:韩德帅马光莲杨启亮王涛冯国彦汪波姜柯
申请(专利权)人:中国人民解放军火箭军工程大学
类型:发明
国别省市:陕西,61

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

1