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逐步精化与构造即正确的优点,但是目前尚未有相关的报道。
技术实现思路
本专利技术的目的在于提供一种能够降低复杂软件系统的建模难度 ...
【技术保护点】
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格式的复合类图 ...
【技术特征摘要】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。