[发明专利]基于结构匹配的UML模型查询方法无效
申请号: | 201210532011.5 | 申请日: | 2012-12-11 |
公开(公告)号: | CN103049503A | 公开(公告)日: | 2013-04-17 |
发明(设计)人: | 张天;张学林;李宣东 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F9/44 |
代理公司: | 南京瑞弘专利商标事务所(普通合伙) 32249 | 代理人: | 陈建和 |
地址: | 210093 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 一种基于结构匹配的UML模型查询方法,包括步骤:步骤10:获取模型库模型文件;步骤11:利用模型查询语言编辑目标查询模式;步骤12:解析目标模型模式;步骤13:利用结构匹配算法将步骤12解析好的目标模型模式与模型库中模型进行结构匹配;步骤14:显示匹配结果;该方法主要特点为查询语言简单,不仅能支持简单的关键字的模型查询更能支持纯粹的结构查询,更加具有一般性。 | ||
搜索关键词: | 基于 结构 匹配 uml 模型 查询 方法 | ||
【主权项】:
一种基于结构匹配的UML模型查询方法,其特征包括步骤:步骤10:获取UML模型库模型文件;步骤11:利用模型查询语言编辑目标查询模式;步骤12:解析目标查询的模型模式;步骤13:利用结构匹配算法将步骤12解析好的目标查询模型模式与UML模型库中模型进行结构匹配;步骤14:显示匹配结果;按照模型查询语言编辑目标查询模型模式主要是将目标模型模式中包含的模型元素以及它们之间存在的关系表达出来;解析目标查询模型模式即步骤12,其中解析过程包括:步骤30:读取已经编辑完的目标模型模式文件;步骤31:开始读取文件内容;步骤32:识别关键字:[Class]、[Attribute]、[Operation]、[Parameter]、[Abstraction]、[Generalization]、[Dependency];步骤33:根据关键字创建相应对象元素,读取相应元素特征:name、visibility等,若其含有内部元素,则跳转至步骤32;步骤34:判断是否全部元素已经读完,若已经全部读完,则跳转至步骤35,否则,跳转至步骤32;步骤35:结束此次解析;步骤12是利用结构匹配算法将步骤12解析好的目标查询模型模式在模型库进行结构匹配,需要先从模型库中抽取模型信息,然后再利用结构匹配算法进行匹配;步骤40:获取模型文件;步骤41:抽取模型元素信息;步骤42:将解析好的目标模型元素信息在模型库中对每个模型元素进行逐一的结构匹配;抽取模型库信息即进行结构匹配之前的准备工作;其具体步骤包括:步骤50:读取模型库文件;步骤51:抽取模型库文件中的类元素,如果类中嵌套有属性以及方法元素,则继续抽取嵌套的属性以及方法元素;步骤52:抽取模型库文件中的类之间关系元素;步骤53:判断是否模型文件中所有元素都已经读完,若读完,则停止抽取,否则跳转至步骤51;模型库文件中的类、属性和方法元素的抽取算法;其算法具体步骤包含:步骤60:开始读模型文件;步骤61:如果当前节点元素为UML:Package,则将当前包的指针currentPackage赋给指针parentPackage,即parentPackage=currentPackage,然后currentPackage=newPackage(name);步骤62:如果当前节点元素为UML:Class,则将当前类的指针currentClass赋给指针parentClass,以当前节点信息创建新的类对象付给类指针currentClass,如果当前创建的类对象合法,则加入类的列表中;步骤63:更新包以及类的相关指针:parentClass(Package),currentClass(Package)。步骤64:重复步骤61到步骤63直至文件结尾;模型库文件中的类之间关系的抽取算法。算法具体步骤如下:步骤70:读取模型文件;步骤71:如果节点元素为类之间关系,如UML:Generalization、UML:Abstraction等,则以当前节点元素id创建一个类之间关系对象;步骤72:如果当前节点元素为UML:Generalization.child,则将步骤71中创建的类之间对象的child设置为当前节点的id;步骤73:如果当前节点元素为UML:Generalization.parent,则将步骤71中创建的类之间对象的parent设置为当前节点的id;步骤74:重复步骤71到步骤73,直到模型文件读取结束;利用结构匹配算法进行匹配,匹配过程中包括类结构匹配以及类之间关系结构匹配;其中类结构匹配包括:步骤80:检查类的基本信息是否匹配,基本信息包括:name、visibility、isAbstract等信息,如果匹配则进入步骤81,否则跳转至步骤84;步骤81:匹配类中所包含的属性元素,属性元素的匹配主要是检查属性中所包含的特征值是否匹配即可,特征值包括:name、type等,如果匹配则进入步骤82,否则跳转至步骤84;步骤82:匹配类中所包含的方法元素,方法元素的匹配需要检查方法中包含的特征值信息是否匹配,特征值包括:name、type、visibility,如果匹配则进入步骤83,否则跳转至步骤84;步骤83:匹配成功,返回肯定结果;步骤84:匹配失败,返回否定结果。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201210532011.5/,转载请声明来源钻瓜专利网。
- 上一篇:一种块装式墙板扣槽压脚
- 下一篇:一种仿古建筑的钢结构梁与木柱的连接结构