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

一种基于元模型的UML语法一致性检测方法技术

技术编号:22101543 阅读:75 留言:0更新日期:2019-09-14 03:12
本发明专利技术提供一种基于元模型的UML语法一致性检测方法,包括:将需要检测的UML模型映射成XMI文档,通过支持XMI的UML绘图软件,将UML模型导出为XMI文档;通过Java语言使用DOM4J解析器解析XMI文档;设计元模型结构,通过Xpath技术对UML模型进行关键词抽取,以获取UML元模型的信息,信息包括标签以及标签的属性值;将获取的UML元模型信息,存储至数据库,用于后续的读取;根据UML语法一致性规则对数据库中存储的UML元模型进行检验,通过Java代码实现自动化检测。本发明专利技术的技术方案,简单易行,准确高效,方便查找模型中有问题的结点。

A Method of UML Syntax Consistency Detection Based on Metamodel

【技术实现步骤摘要】
一种基于元模型的UML语法一致性检测方法
本专利技术涉及计算机软件工程
,具体而言,尤其涉及一种基于元模型的UML语法一致性检测方法。
技术介绍
UML(UnifiedModelingLanguage,统一建模语言)在软件工程领域已被广泛接受,它是一种通用的可视化建模语言,适用于对软件进行描述、可视化处理、构造和建立软件系统的文档,是OMG(ObjectManagementGroup,对象管理组)中最常用的规范,是实现MDA(ModelDrivenArchutecture,模型驱动架构)的首选建模语言。近几年随着学术界和工业界对MDA的极大关注,这使得UML模型在软件开发中变得越来越重要,这就对UML模型的一致性提出了更高要求。由于UML不是形式化的语言,不能给出精确规范,因此在语法语义上以及不同视角的图之间很可能出现不一致的情况,会出现各种冲突,而这种不一致可能是以后软件系统故障和问题的来源,因此对UML模型进行一致性检测是至关重要的。现在有很多UML一致性检测的技术,不过大多基于各种形式化方法以及逻辑语言,比如Z语言、B语言、CSP、CTL/LTL命题逻辑等,这些形式化方法和逻辑语言都是基于严格的数学理论的,都需要开发人员有很好的数学基础,而且一些语言比较古老,缺少新版本的编译器,与现在的各种技术融合度不高。本专利技术不是基于这些逻辑语言,而是基于UML的元模型。OMG定义了一个四层模型体系来分开组成一个模型的不同概念层次:实例(M0)、模型(M1)、元模型(M2)和元—元模型(M3)。UML元模型位于M2层,定义了UML模型的结构,常常包含一些元类。该方法与之前的方法相比,比较简单易行,实现起来比较方便,容易理解。
技术实现思路
根据上述提出的技术问题,而提供一种基于元模型的UML语法一致性检测方法,实现对UML模型的语法一致性的检测。本专利技术采用的技术手段如下:一种基于元模型的UML语法一致性检测方法,包括:步骤1:将需要检测的UML模型映射成XMI文档,通过支持XMI的UML绘图软件,将UML模型导出为XMI文档;步骤2:通过Java语言使用DOM4J解析器解析XMI文档;步骤3:设计UML元模型结构,通过Xpath技术对UML模型进行关键词抽取,以获取UML元模型的信息,信息包括标签以及标签的属性值;步骤4:将步骤3获取的UML元模型信息,存储至数据库,用于后续的读取;步骤5:根据UML语法一致性规则对数据库中存储的UML元模型进行检验,通过Java代码实现自动化检测。进一步地,所述步骤2的具体步骤如下:步骤2.1:创建SAXReader解析器;步骤2.2:通过SAXReader解析器的read方法将XMI文档读取至内存中,并生成一个document对象树。进一步地,所述步骤5的具体步骤如下:步骤5.1:归纳整理UML语法一致性规则,UML模型中的以及UML模型间的一致性规则;步骤5.2:依据UML语法一致性规则,获取需要检测的UML模型映射在数据库中的UML元模型实例,并对该实例进行查询,以获取被检测的UML模型的信息;步骤5.3:将检测的结果返回给用户,判断检测结果是否正确,若正确,则返回检测信息,若不正确,则将错误的UML元模型实例ID号以及错误原因返回给用户,方便用户修正。较现有技术相比,本专利技术具有以下优点:1、本专利技术提供的一种基于元模型的UML语法一致性检测方法,简单易行,准确高效,方便查找模型中有问题的结点。2、使用本方法,无需学习逻辑相关的专业数学知识,也无需额外使用相关逻辑语言的编译器,不需要再向其他模型转换,减少了中间的转换步骤,从而减少转换过程中出错的可能性,从而减少检测过程的复杂性。基于上述理由本专利技术可在计算机软件工程领域广泛推广。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做以简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术方法流程图。图2为本专利技术实施例提供的一个简单类图的检测的元模型设计示意图。图3为本专利技术实施例提供的一个简单类图。图4为本专利技术实施例提供的一个简单类图转换成的XMI文档截图。图5为本专利技术实施例提供的一个简单类图的检测结果截图。具体实施方式需要说明的是,在不冲突的情况下,本专利技术中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本专利技术。为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本专利技术及其应用或使用的任何限制。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本专利技术的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本专利技术的范围。同时,应当清楚,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。对于相关领域普通技术人员己知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。在这里示出和讨论的所有示例中,任向具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。如图1所示,本专利技术提供了一种基于元模型的UML语法一致性检测方法,包括以下步骤:步骤1:将需要检测的UML模型映射成XMI文档,通过支持XMI的UML绘图软件,将UML模型导出为XMI文档;步骤2:通过Java语言使用DOM4J解析器解析XMI文档;步骤3:设计元模型结构,通过Xpath技术对UML模型进行关键词抽取,以获取UML元模型的信息,信息包括标签以及标签的属性值;步骤4:将步骤3获取的UML元模型信息,存储至数据库,用于后续的读取;步骤5:根据UML语法一致性规则,对数据库中存储的UML元模型进行检验,通过Java代码实现自动化检测。实施例本专利技术提供了一种基于元模型的UML语法一致性检测方法,包括:步骤1:将需要检测的UML元模型映射成XMI文档,通过RationalRose、StarUML等支持XMI的UML绘图软件,将UML元模型导出为XMI文档;本实施例中,需要检测的UML模型为如图3所示的类图,将其映射成如图4所示的XMI文档,从UML图转变成形式化可扩展的标记语言,UML模型中的元素转变成XMI文档中的标签。步骤2:通过Java语言使用DO本文档来自技高网
...

【技术保护点】
1.一种基于元模型的UML语法一致性检测方法,其特征在于,包括:步骤1:将需要检测的UML模型映射成XMI文档,通过支持XMI的UML绘图软件,将UML模型导出为XMI文档;步骤2:通过Java语言使用DOM4J解析器解析XMI文档;步骤3:设计元模型结构,通过Xpath技术对UML模型进行关键词抽取,以获取UML元模型的信息,信息包括标签以及标签的属性值;步骤4:将步骤3获取的UML元模型信息,存储至数据库,用于后续的读取;步骤5:根据UML语法一致性规则对数据库中存储的UML元模型进行检验,通过Java代码实现自动化检测。

【技术特征摘要】
1.一种基于元模型的UML语法一致性检测方法,其特征在于,包括:步骤1:将需要检测的UML模型映射成XMI文档,通过支持XMI的UML绘图软件,将UML模型导出为XMI文档;步骤2:通过Java语言使用DOM4J解析器解析XMI文档;步骤3:设计元模型结构,通过Xpath技术对UML模型进行关键词抽取,以获取UML元模型的信息,信息包括标签以及标签的属性值;步骤4:将步骤3获取的UML元模型信息,存储至数据库,用于后续的读取;步骤5:根据UML语法一致性规则对数据库中存储的UML元模型进行检验,通过Java代码实现自动化检测。2.根据权利要求1所述的基于元模型的UML语法一致性检测方法,其特征在于,所述步骤2的具体步骤如下:步骤2.1:创建SAXReader解析器;步骤2.2:通过SAXReader...

【专利技术属性】
技术研发人员:朱志良乔梁徐腾腾范珊珊蔡壮
申请(专利权)人:东北大学
类型:发明
国别省市:辽宁,21

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

1