CN111651139B - 一种oml对rucm的表示方法 - Google Patents

一种oml对rucm的表示方法 Download PDF

Info

Publication number
CN111651139B
CN111651139B CN202010326457.7A CN202010326457A CN111651139B CN 111651139 B CN111651139 B CN 111651139B CN 202010326457 A CN202010326457 A CN 202010326457A CN 111651139 B CN111651139 B CN 111651139B
Authority
CN
China
Prior art keywords
oml
rucm
ecore
text
elements
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010326457.7A
Other languages
English (en)
Other versions
CN111651139A (zh
Inventor
王铁鑫
吴怡
岳涛
刘文静
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University of Aeronautics and Astronautics
Original Assignee
Nanjing University of Aeronautics and Astronautics
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing University of Aeronautics and Astronautics filed Critical Nanjing University of Aeronautics and Astronautics
Priority to CN202010326457.7A priority Critical patent/CN111651139B/zh
Publication of CN111651139A publication Critical patent/CN111651139A/zh
Application granted granted Critical
Publication of CN111651139B publication Critical patent/CN111651139B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/24Object-oriented
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/51Source to source

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Machine Translation (AREA)

Abstract

本发明公开了一种OML对RUCM的表示方法,包括以下步骤:1、根据RUCM建模元素间的关系,确定所需转换的元素和关系;2、根据OML建模元素,制定步骤(1)中RUCM和OML之间的映射规则,形成RUCM的oml vocabulary;3、读取RUCM的文本实例,调用步骤2中vocabulary,输出相应的OML文本实例。本发明用以解决现有领域共享知识的需求;实现RUCM实例到OML实例的自动化转换,提高工业设计中需求阶段的效率;省却转换过程中的人力参与,提高数据处理的效率。

Description

一种OML对RUCM的表示方法
技术领域
本发明属于模型转换处理技术领域,特别涉及一种OML对RUCM的表示方法。
背景技术
RUCM是用例的建模工具。尽管存在许多需求规格说明技术,但就形式而言,这些技术往往落在谱系的最末端,也就是说,它们要么是完全正式的,要么是完全非正式的。用例建模是最广泛使用的结构化规范技术之一。通过结合图表和文本描述,UML用例模型为需求规范提供了一个非常直观而又精确的基础。基于此,一个受限用例建模(RUCM)技术被设计出来,它包含一个用例模板和26条用于文本UCSs的限制规则。RUCM的目标是易于使用,减少歧义,提高理解它可以把自然语言的语句,它具有108个元素。
OML是本体的描述语言。在计算机科学与信息科学领域,理论上,本体是指一种“形式化的,对于共享概念体系的明确而又详细的说明”。本体提供的是一种共享词表,也就是特定领域之中那些存在着的对象类型或概念及其属性和相互关系。本体一般可以用来针对该领域的属性进行推理,亦可用于定义该领域(也就是对该领域进行建模)。此外,有时人们也会将“本体”称为“本体论”。作为一种关于现实世界或其中某个组成部分的知识表达形式,本体的应用领域包括(但不仅限于):人工智能、语义网、软件工程、生物医学信息学、图书馆学以及信息架构。对OML元素的详细说明可见https://opencaesar.github.io/oml/#StructureInstance。
Eclipse Modeling Framework(EMF),简单的说,就是Eclipse提供的一套建模框架,可以用EMF建立自己的UML模型,设计模型的XML格式或编写模型的java代码。EMF提供了一套方便的机制,实现了功能的相互转换,大大提高了效率。尤其EMF实现了模型的序列化,极大方便对模型的操作。序列化(Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。序列化使其他代码可以查看或修改,那些不序列化便无法访问的对象实例数据。序列化以后,可以将简单对象转换成可以统一可传输的格式,例如xml,json。这样就可以通过网络传输,程序间传递,存储到硬盘等。
发明内容
发明目的:针对现有技术存在的问题,提供一种OML对RUCM的表示方法,用以解决现有领域共享知识的需求;实现RUCM实例到OML实例的自动化转换,提高工业设计中需求阶段的效率。
技术方案:为解决上述技术问题,本发明提供一种OML对RUCM的表示方法,包括如下步骤:
(1)根据RUCM建模元素间的关系,确定所需转换的元素和关系;
(2)根据OML建模元素,制定步骤(1)中RUCM和OML之间的映射规则,形成RUCM的omlvocabulary;
(3)读取RUCM的文本实例,调用步骤2中vocabulary,输出相应的OML文本实例。
进一步的,所述步骤(2)中oml vocabulary特征在于:RUCM中的元素成为了OML形式的词集。
进一步的,所述步骤(2)中RUCM和OML之间的映射规则包含以下五种情况,如附图3所示:
如果RUCM中元素是由Ecore中的EClass定义的,若EClass为抽象类,则映射为OML中的aspect概念上,若EClass为实体类,则映射为OML的concept概念上;
如果RUCM中元素是由Ecore中的EAttribute定义的,则映射为OML的scalarproperty概念上;
如果RUCM中元素是由Ecore中的EReference定义的,则映射为OML的relation概念上;
如果RUCM中元素是由Ecore中的EDataType定义的,则映射为OML的FacetedScalar概念上;
如果RUCM中元素是由Ecore中的EEnum定义的,则映射为OML的EnumeratedScalar概念上;
其中,RUCM语言是由Ecore语言定义的,Ecore语言定义Ecore模型中对象的结构。
进一步的,所述步骤(2)中制定RUCM和OML之间的映射规则的具体步骤如下:
(2.1)读取定义RUCM的Ecore文件的函数,其中文件名为rucm.ecore,调用EMF框架中的API操作Ecore文件,Ecore文件的文本形式读取为序列化的Resource形式,再遍历序列化节点,每遍历一个结点就判断节点类型,根据类型采取相应的映射规则,再跳转到相应的转换函数;
(2.2)转换函数处理后,得到OML的相应元素,调用OML API把元素写进文本,以后缀名为oml的文本形式输出;
(2.3)所得的文本中的元素集合即是oml vocabulary。
进一步的,所述步骤(3)中输出相应的OML文本实例的具体步骤如下:
(3.1)根据RUCM中元素实例,定义相应实例转换函数;
(3.2)读取RUCM文本,调用RUCM操作API,把文本形式序列化;
(3.3)遍历序列化节点,获取节点值,根据结点类别,调用相应转换函数。
进一步的,所述步骤(3.1)中所述的定义相应实例转换函数的具体步骤如下:
每个元素对用每个元素的转换函数,但共同点是,对于每个元素,获取元素属性,对属性进行转换;接着获取以该元素为源元素的关系,对关系进行转换。
进一步的,对属性进行转换的具体步骤为:获取属性值,找到oml vocabulary对应词汇,创建该此词汇实例,并把值赋予给该实例。
进一步的,对关系进行转换的具体步骤为:获取关系的目标元素,找到omlvocabulary对应关系词汇,创建该关系词汇实例。
与现有技术相比,本发明的优点在于:
(1)本发明采用基于OML的建模方式重构RUCM的模型,丰富了RUCM的语义;
(2)本发明使得RUCM转换为OML形式后,可以运用OML的推理机制,实现模型在个人电脑上进行关系推导;
(3)在一定程度上实现语义消歧的能力,该方法的实现证明了其它类似领域相似功能的可发展性。
附图说明
图1为本发明实施例中的元素映射层面的整体架构图;
图2为本发明实施例中的程序实现层面的架构图;
图3为本发明实施例中的元素映射方法的详细流程图;
图4为本发明实施例所实现的程序执行的流程图;
具体实施方式
下面结合附图和具体实施方式,进一步阐明本发明。本发明描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的其他实施例,都属于本发明所保护的范围。
一种OML对OML的表示方法,如附图2所示,包括:
(1)读取RUCM文本中元素,以资源形式存入缓存;
(2)运用EMF框架,将资源XMI序列化,文本标签得到结点形式,供程序使用;
(3)遍历每个结点,通过迭代的方法,每个结点实现以下步骤:
S1创建OML Description实例;
S2判断结点类别,结点类别即元素种类,包括Actor,UseCase,UseCaseSpecification……。根据类别跳转到相应转换程序;
S3相应转换程序中,通过get方法获取每个结点对应的实际值;
S4将S3中获取的值赋值给Description实例中对应元素;
S5调用OML writer方法,将缓存中OML实例写入文本。
进一步地,包括:
所述步骤S1中,需给出OML的iri(实例的命名空间)、separator(分词器)、pefix(命名前缀)。这三个要素可以创建Description实例。
进一步地,包括:
所述步骤S2中,每个结点类别对应addToVocabulary(UsecaseModelElementobject,Description description)方法,其中UseCaseModelElement object指RUCM中元素;对于RUCM中关系,调用addRelationInstance(description,name,sourceIri,targetIri)实现在Description实例中添加关系。
进一步地,包括:
所述步骤S3中,通过RUCM API中getName()、getDescription()方法获取的实际值(包括String、Double、Int、Boolean类型),再封装成OML中Literal数据类型。
进一步地,包括:
所述步骤S4中,赋值过程即构造OML语句的过程,比如获取UseCase的name属性值,通过addConceptInstance()构造ConceptInstance。然后添加到文本中。
RUCM文本处理方法,包括:
输入:RUCM文本,后缀名为.ucm;
过程:S1把文本解析成模型资源形式,实现模型的持久化,便于程序操作。模型中的元素以列表、迭代器的方式存储在缓存中;
S2遍历S1步骤得出的列表,每次取出元素均要调用创建出来的OML vocabulary,实现元素的一对一映射;
S3用S2中取出的词汇创建OML语句,即赋予词汇实际值,包括元素的实际值,关系的实际指向,属性的实际值;
输出:OML文本,后缀名为.oml。
另外,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
1、数据处理和存储
本发明的底层使用Xtend实现,Xtend是Eclipse推出的一个新的JVM语言,并无意替代Java,而是以己之长补Java之短,精简代码,无类型,改进可读和维护。Eclipse Xtend可以编译成可读的Java代码。RUCM文件以后缀名为rucm的文本形式存储在计算机中,文本内容是基于xml的标准格式,这使得文本操作更加容易。
调用EMF对模型的xmi序列化操作,读入RUCM文本到缓存,并序列化,得到模型的节点结构,采用列表遍历方式遍历节点。
2、数据分析和处理
每个标签对均对应相应元素,以“Actor”元素在文本中的显示方式为例:
<modelElements xsi:type="squall.tao.usecasemetamodel.UseCaseModel:Actor"name="ATM Customer"description="ATM Customer"/>
3、工具实现
本发明基于EMF驱动的Eclipse实现的模型转换的工具,该工具实现用户输入RUCM文本得到OML文本的转换。
工具开发在Eclipse上实现。
工具框架如下,如附图4所示:
创建Rucm2Oml包:
App类读取RUCM文件;
Rucm2Oml类实现相应元素的转换,如函数实现Actor到conceptInstance Actor的转换;
Rucm2Oml中omlwriter方法实现OML文件的输出。
实施例
具体程序实现包括,参阅附图1所示:
S1 OML vocabulary的获取:提取文本中有效信息,将其映射到concept概念上;
RUCM是一套用例建模语言,其元模型是Ecore语言定义的,如“Actor”元素是由Ecore中Elass定义的,“Actor”元素中“name”属性是由Ecore中EAttribute定义的。OMLvocabulary是基于元模型层面转化的。所以文本中有效信息包括:元素所属的Ecore类别;元素的名称。通过Ecore API获取有效信息,然后映射到concept概念上。映射整理如下:
表1元模型语义转换API
EPackage语义转换 DefVocabulary toVocabulary(EPackage ePackage)
EClass语义转换 addToVocabulary(EClass eClass,Vocabulary vocabulary)
EEnum语义转换 addToVocabulary(EEnum eEnum,Vocabulary vocabulary)
EDateType语义转换 addToVocabulary(EDataType eData Type,Vocabulary vocabulary)
EAttribute语义转换 addToVocabulary(EAttribute eAttribute,Vocabulary vocabulary)
EReference语义转换 addToVocabulary(EReference eReference,Vocabulary vocabulary)
S1步骤的伪代码如下:
Figure BDA0002463393680000061
Figure BDA0002463393680000071
其中EPackage的有效信息包括EPackage的iri、separator、prefix。
S1步骤所得结果部分整理如下:
表2元素对应表
Figure BDA0002463393680000072
S2提取元素的有效信息,将其映射到concept概念上;
元素的有效信息包括:元素的名称(实例值);元素的关系元素。通过RUCM API获取实例中所有元素,再遍历元素集合,每个元素都执行获取concept中相应概念的工作,对于元素实例、属性实例、关系实例,分别对应不同的转换规则,步骤S3,接着执行以下步骤:
S21找到oml vocabulary中对应的rucm概念,通过OMLAPI创建OML语句,将S1中获的值赋给创建出的语句,部分映射整理如下:
表3实例层元素对应表
Figure BDA0002463393680000073
Figure BDA0002463393680000081
S22将创建出的语句,通过OMLAPI写进文本,形成OML description。
S2步骤的伪代码如下:
Figure BDA0002463393680000082
S3对于元素、属性、关系,分别对应不同的转换规则,具体转换规则如下:
S31元素的映射:获取元素的名称,通过oml.addConceptInstance(description,String name)。
S32属性实例的映射:获取属性的值,创建实例属性;找到属性所属于的元素,把该属性放在元素实例中,通过oml.addScalarPropertyValueAssertion(description,instanceIri,propertyIri,literal1)。
S33元素关系的映射:遍历到元素时,需要找到该元素的关系的Source(源元素)和Target(目标元素),通过oml.addRelationInstance(description,name,sourceIri,targetIri)。
关系定义如下:
Figure BDA0002463393680000083
Figure BDA0002463393680000091
关系如下
Figure BDA0002463393680000092
其中,“from”指源元素,“to”指目标元素,“forward”指箭头指向
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全应用实施例、或结合应用和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括实施例以及落入本发明范围的所有变更和修改。

Claims (5)

1.一种OML对RUCM的表示方法,其特征在于:包括如下步骤:
(1)根据RUCM建模元素间的关系,确定所需转换的元素和关系;
(2)根据OML建模元素,制定步骤(1)中RUCM和OML之间的映射规则,形成RUCM的omlvocabulary;oml vocabulary特征在于:RUCM中的元素成为了OML形式的词集;
RUCM和OML之间的映射规则包含以下五种情况:
如果RUCM中元素是由Ecore中的EClass定义的,若EClass为抽象类,则映射为OML中的aspect概念上,若EClass为实体类,则映射为OML的concept概念上;
如果RUCM中元素是由Ecore中的EAttribute定义的,则映射为OML的scalar property概念上;
如果RUCM中元素是由Ecore中的EReference定义的,则映射为OML的relation概念上;
如果RUCM中元素是由Ecore中的EDataType定义的,则映射为OML的FacetedScalar概念上;
如果RUCM中元素是由Ecore中的EEnum定义的,则映射为OML的EnumeratedScalar概念上;
其中,RUCM语言是由Ecore语言定义的,Ecore语言定义Ecore模型中对象的结构;
制定RUCM和OML之间的映射规则的具体步骤如下:
(2.1)读取定义RUCM的Ecore文件的函数,其中文件名为rucm.ecore,调用EMF框架中的API操作Ecore文件,Ecore文件的文本形式读取为序列化的Resource形式,再遍历序列化节点,每遍历一个结点就判断节点类型,根据类型采取相应的映射规则,再跳转到相应的转换函数;
(2.2)转换函数处理后,得到OML的相应元素,调用OML API把元素写进文本,以后缀名为oml的文本形式输出;
(2.3)所得的文本中的元素集合即是oml vocabulary;
(3)读取RUCM的文本实例,调用步骤2中vocabulary,输出相应的OML文本实例。
2.根据权利要求1所述的一种OML对RUCM的表示方法,其特征在于:所述步骤(3)中输出相应的OML文本实例的具体步骤如下:
(3.1)根据RUCM中元素实例,定义相应实例转换函数;
(3.2)读取RUCM文本,调用RUCM操作API,把文本形式序列化;
(3.3)遍历序列化节点,获取节点值,根据结点类别,调用相应转换函数。
3.根据权利要求2所述的一种OML对RUCM的表示方法,其特征在于:所述步骤(3.1)中所述的定义相应实例转换函数的具体步骤如下:
每个元素对用每个元素的转换函数,但共同点是,对于每个元素,获取元素属性,对属性进行转换;接着获取以该元素为源元素的关系,对关系进行转换。
4.根据权利要求3所述的一种OML对RUCM的表示方法,其特征在于:对属性进行转换的具体步骤为:获取属性值,找到oml vocabulary对应词汇,创建该词汇实例,并把值赋予给该实例。
5.根据权利要求3所述的一种OML对RUCM的表示方法,其特征在于:对关系进行转换的具体步骤为:获取关系的目标元素,找到oml vocabulary对应关系词汇,创建该关系词汇实例。
CN202010326457.7A 2020-04-23 2020-04-23 一种oml对rucm的表示方法 Active CN111651139B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010326457.7A CN111651139B (zh) 2020-04-23 2020-04-23 一种oml对rucm的表示方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010326457.7A CN111651139B (zh) 2020-04-23 2020-04-23 一种oml对rucm的表示方法

Publications (2)

Publication Number Publication Date
CN111651139A CN111651139A (zh) 2020-09-11
CN111651139B true CN111651139B (zh) 2023-06-20

Family

ID=72346494

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010326457.7A Active CN111651139B (zh) 2020-04-23 2020-04-23 一种oml对rucm的表示方法

Country Status (1)

Country Link
CN (1) CN111651139B (zh)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102707949B (zh) * 2012-04-26 2015-01-14 清华大学 一种基于本体的可视化概念建模方法
CN106201538B (zh) * 2016-07-18 2019-05-31 北京航空航天大学 一种基于rucm的实时性测试方法
CN107168762B (zh) * 2017-05-23 2020-07-03 北京航空航天大学 一种基于本体的rucm模型一致性检查方法

Also Published As

Publication number Publication date
CN111651139A (zh) 2020-09-11

Similar Documents

Publication Publication Date Title
Gurcan et al. Big data software engineering: Analysis of knowledge domains and skill sets using LDA-based topic modeling
US9116672B2 (en) Method and system for displaying selectable autocompletion suggestions and annotations in mapping tool
US8849673B2 (en) Rule generation
Afreen et al. SBVR2UML: A challenging transformation
Burgueño et al. On the concurrent execution of model transformations with linda
CN111880784A (zh) 一种面向simscript语言的离散事件仿真图形化建模方法
Mike et al. What is data science?
Rajbhoj et al. Early experience with model-driven development of mapreduce based big data application
CN111651139B (zh) 一种oml对rucm的表示方法
Morgan et al. VizDSL: towards a graphical visualisation language for enterprise systems interoperability
CN111026916A (zh) 文本描述的转换方法、装置、电子设备及存储介质
Horita et al. Analysis and identification of possible automation approaches for embedded systems design flows
CN114201602A (zh) 为可视化数据分析生成自然语言语句的方法及装置
Guo et al. Model-driven approach to developing domain functional requirements in software product lines
Kim et al. Using Information Delivery Manual (IDM) for efficient exchange of building design information
John et al. Proposal of an hybrid methodology for ontology development by extending the process models of software engineering
Deak et al. Aloha: A machine learning framework for engineers
Aveiro et al. Universal enterprise adaptive object model
Ferreira Neto et al. Metamodels of information technology best practices frameworks
Martinho et al. Using the semantic web to define a language for modelling controlled flexibility in software processes
Halpin A fact-oriented approach to business rules
Holanda et al. An object triple mapping system supporting detached objects: A performance and memory usage empirical comparison
Gregório et al. Specification of software requirements with support of business process ontologies
Schöttle et al. On the difficulties of raising the level of abstraction and facilitating reuse in software modelling: the case for signature extension
Du et al. Research and Implementation of MapReduce Programming Oriented Graphical Modeling System

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant