首页 / 专利库 / 软件 / 建模语言 / 一种从需求文本转换到SysML需求图的转换方法

一种从需求文本转换到SysML需求图的转换方法

阅读:408发布:2020-05-13

专利汇可以提供一种从需求文本转换到SysML需求图的转换方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种从需求文本转换到SysML需求图的转换方法。基于模型的系统工程在 建模语言 、建模思路、建模工具上有重大转变,相对传统系统工程有诸多不可替代的优势,是系统工程的颠覆性技术。本发明如下:一、将基于产品的需求文本转换为SD表达式。二、将步骤一所得SD表达式转换成ROM表达式。三、将步骤二得到的ROM表达式转换成SysML需求图元素。四、将步骤三得到的SysML需求图元素整合为SysML需求图。本发明能够自动将需求文本映射到递归对象模型,再映射到SysML需求图模型,可以直观的表示所述的需求文本的主要内容,转换过程高度自动化,转换效率高。,下面是一种从需求文本转换到SysML需求图的转换方法专利的具体信息内容。

1.一种从需求文本转换到SysML需求图的转换方法,其特征在于:步骤一、对需求文本上的自然语言进行解析,获取需求文本对应的SD表达式;
步骤二、将步骤一所得SD表达式转换成ROM表达式;
步骤三、将步骤二得到的ROM表达式转换成SysML需求图元素;
3-1.对需求文本中的各句法成分按照词性为名词和动词;
将动词分为以下六类:
(1)继承类动词(Vj):该类动词表达的意思为“继承”,包括“继承”、“接受”;
(2)验证类动词(Vy):该类动词表达的意思为“验证”,包括“验证”、“研究”;
(3)改善类动词(Vg):该类动词表达的意思为“改善”,包括“改善”、“提高”;
(4)满足类动词(Vm):该类动词表达的意思为“满足”,包括“满足”、“实现”;
(5)包含类动词(Vb):该类动词表达的意思为“包含”,包括“包含”“包括”;
(6)其他类动词(Vq):该类动词为除了以上五类动词以外的动词;
3-2.将SysML需求图中的需求分为三类:“主要需求”、“功能需求”和“子需求”;以ROM表达式中与其他句法成分存在关系的数量最多的那个名词作为“主要需求”;
3-3.若一个含有“主要需求”的句子中存在“包含类动词”,且存在与“主要需求”的关系为“Constraint”的名词,则以该与“主要需求”的关系为“Constraint”的名词作为“功能需求”;
3-4.若一个含有“功能需求”的句子中存在“继承类动词”,且存在与“功能需求”的关系为“Constraint”的名词,则该与“功能需求”的关系为“Constraint”的名词作为第一待定名词;若一个句子中仅有一个第一待定名词,则该第一待定名词作为“子需求”;若一个句子中存在多个第一待定名词,则分别判断该句子内各第一待定名词两两之间的关系,将与该句子中其他第一待定名词存在“Connection”关系的第一待定名词均作为“子需求”;
3-5.若一个含有“子需求”的句子中存在“改善类动词”,且存在与“子需求”的关系为“Constraint”的名词,则该与“子需求”的关系为“Constraint”的名词作为第二待定名词;
若一个“子需求”仅对应一个第二待定名词,则该第二待定名词作为“用例”;若一个“子需求”对应有多个第二待定名词,则分别判断该“子需求”对应的各第二待定名词两两之间的关系,将与其他第二待定名词存在“Connection”关系的第二待定名词均作为“用例”;
3-6.若一个含有“子需求”的句子中存在“满足类动词”,且存在与“子需求”的关系为“Constraint”的名词,则该与“子需求”的关系为“Constraint”的名词作为第三待定名词;
若一个“子需求”中仅对应一个第三待定名词,则该第三待定名词作为“模”;若一个子需求对应多个第三待定名词,则分别判断该“子需求”对应的各第三待定名词两两之间的关系,将与其他第二待定名词存在“Connection”关系的第三待定名词均作为“模块”;
3-7.若一个含有“功能需求”的句子中存在“验证类动词”,且存在与“功能需求”的关系为“Constraint”的名词,则该与功能需求的关系为“Constraint”的名词作为第四待定名词;若一个句子中仅有一个第四待定名词,则该第四待定名词作为“测试案例”;若一个句子中存在多个第四待定名词,则判断该句子内各第四待定名词两两之间的关系,将与其他第四待定名词存在“Connection”关系的第四待定名词均作为“测试案例”;
步骤四、将步骤三得到的SysML需求图元素整合为SysML需求图;
4-1.将步骤三得到的各SysML需求图元素分别放入框中;将各“功能需求”与“主要需求”用十字准线相连;
4-2.将各“功能需求”与对应“子需求”分别用带箭头直线相连,并在所有“功能需求”与“子需求”之间的带箭头直线上标注《deriveReqt》;
4-3.将各“功能需求”与对应“测试案例”分别用带箭头直线相连,并在所有“功能需求”与“测试案例”之间的带箭头直线上标注《verify》;
4-4.将各“子需求”与对应“用例”分别用带箭头直线相连,并在所有“子需求”与“用例”之间的带箭头直线上标注《refine》;
4-5.将各“子需求”与对应“模块”分别用带箭头直线相连,并在所有“子需求”与“模块”之间的带箭头直线上标注《satisfy》。
2.根据权利要求1所述的一种从需求文本转换到SysML需求图的转换方法,其特征在于:步骤一中,获取SD表达式的方式通过Stanford Parser句法解析工具实现。
3.根据权利要求1所述的一种从需求文本转换到SysML需求图的转换方法,其特征在于:步骤二中,SD表达式到ROM表达式的映射规则集如下:SD表达式中的amod,nmod:of,compound,auxpass,acomp,ccomp,neg,cop,npadvmod关系均映射为ROM表达式的Constraint关系;SD表达式中的cc,conj,nn,parataxis,number,cordmod,preconj关系均映射为ROM表达式的Connection关系;SD表达式中的csubj,iobj,num,attr,csubjpass,dep关系均映射为ROM表达式的Predicate关系。
4.根据权利要求1所述的一种从需求文本转换到SysML需求图的转换方法,其特征在于:步骤4-1中,十字准线为一条端部带有 符号的直线, 符号位于十字准线与“主要需求”的连接处。

说明书全文

一种从需求文本转换到SysML需求图的转换方法

技术领域

[0001] 本发明属于模型转换技术领域,具体涉及一种从需求文本转换到SysML需求图的转换方法。

背景技术

[0002] 产品设计是一个由抽象的概念到具体形象化的处理过程,通过文字或图像等方式将我们规划的产品需求展现出来,产品设计的最终表述的形式被称为产品需求文档。产品需求文档是将产品规划和设计的需求具体形象化表述出来的一种展现形式,主要用于产品界面设计和研发使用。
[0003] 随着人们所研制的工程系统越来越复杂,传统系统工程(TSE)越来越难以应对,与此同时,以模型化为代表的信息技术也在快速发展,因此在需求牵引和技术推动下,基于模型的系统工程(MBSE)应运而生了。基于模型的系统工程在建模语言、建模思路、建模工具上有重大转变,相对传统系统工程有诸多不可替代的优势,是系统工程的颠覆性技术。
[0004] 在将用户的自然语言描述的产品需求转换为驱动产品设计的需求模型,以及需求模型到功能模型的映射过程中,产品领域知识的支持是必不可少的。因此研究开发需求描述-需求模型-功能模型映射的转换方法对于实现产品概念设计正向需求捕获,消除设计歧义,模型自动化驱动具有十分重大的意义。

发明内容

[0005] 本发明的目的在于提供一种从需求文本转换到SysML需求图的转换方法。
[0006] 本发明具体如下:
[0007] 步骤一、对需求文本上的自然语言进行解析,获取需求文本对应的SD表达式。
[0008] 步骤二、将步骤一所得SD表达式转换成ROM表达式。
[0009] 步骤三、将步骤二得到的ROM表达式转换成SysML需求图元素。
[0010] 3-1.对需求文本中的各句法成分按照词性为名词和动词。
[0011] 将动词分为以下六类:
[0012] (1)继承类动词(Vj):该类动词表达的意思为“继承”,包括“继承”、“接受”;
[0013] (2)验证类动词(Vy):该类动词表达的意思为“验证”,包括“验证”、“研究”;
[0014] (3)改善类动词(Vg):该类动词表达的意思为“改善”,包括“改善”、“提高”;
[0015] (4)满足类动词(Vm):该类动词表达的意思为“满足”,包括“满足”、“实现”;
[0016] (5)包含类动词(Vb):该类动词表达的意思为“包含”,包括“包含”“包括”。
[0017] (6)其他类动词(Vq):该类动词为除了以上五类动词以外的动词。
[0018] 3-2.将SysML需求图中的需求分为三类:“主要需求”、“功能需求”和“子需求”。以ROM表达式中与其他句法成分存在关系的数量最多的那个名词作为“主要需求”。
[0019] 3-3.若一个含有“主要需求”的句子中存在“包含类动词”,且存在与“主要需求”的关系为“Constraint”的名词,则以该与“主要需求”的关系为“Constraint”的名词作为“功能需求”。
[0020] 3-4.若一个含有“功能需求”的句子中存在“继承类动词”,且存在与“功能需求”的关系为“Constraint”的名词,则该与“功能需求”的关系为“Constraint”的名词作为第一待定名词。若一个句子中仅有一个第一待定名词,则该第一待定名词作为“子需求”。若一个句子中存在多个第一待定名词,则分别判断该句子内各第一待定名词两两之间的关系,将与该句子中其他第一待定名词存在“Connection”关系的第一待定名词均作为“子需求”。
[0021] 3-5.若一个含有“子需求”的句子中存在“改善类动词”,且存在与“子需求”的关系为“Constraint”的名词,则该与“子需求”的关系为“Constraint”的名词作为第二待定名词。若一个“子需求”仅对应一个第二待定名词,则该第二待定名词作为“用例”。若一个“子需求”对应有多个第二待定名词,则分别判断该“子需求”对应的各第二待定名词两两之间的关系,将与其他第二待定名词存在“Connection”关系的第二待定名词均作为“用例”。
[0022] 3-6.若一个含有“子需求”的句子中存在“满足类动词”,且存在与“子需求”的关系为“Constraint”的名词,则该与“子需求”的关系为“Constraint”的名词作为第三待定名词。若一个“子需求”中仅对应一个第三待定名词,则该第三待定名词作为“模”。若一个子需求对应多个第三待定名词,则分别判断该“子需求”对应的各第三待定名词两两之间的关系,将与其他第二待定名词存在“Connection”关系的第三待定名词均作为“模块”。
[0023] 3-7.若一个含有“功能需求”的句子中存在“验证类动词”,且存在与“功能需求”的关系为“Constraint”的名词,则该与功能需求的关系为“Constraint”的名词作为第四待定名词。若一个句子中仅有一个第四待定名词,则该第四待定名词作为“测试案例”。若一个句子中存在多个第四待定名词,则判断该句子内各第四待定名词两两之间的关系,将与其他第四待定名词存在“Connection”关系的第四待定名词均作为“测试案例”。
[0024] 步骤四、将步骤三得到的SysML需求图元素整合为SysML需求图。
[0025] 4-1.将步骤三得到的各SysML需求图元素分别放入框中。将各“功能需求”与“主要需求”用十字准线相连。
[0026] 4-2.将各“功能需求”与对应“子需求”分别用带箭头直线相连,并在所有“功能需求”与“子需求”之间的带箭头直线上标注《deriveReqt》。
[0027] 4-3.将各“功能需求”与对应“测试案例”分别用带箭头直线相连,并在所有“功能需求”与“测试案例”之间的带箭头直线上标注《verify》。
[0028] 4-4.将各“子需求”与对应“用例”分别用带箭头直线相连,并在所有“子需求”与“用例”之间的带箭头直线上标注《refine》。
[0029] 4-5.将各“子需求”与对应“模块”分别用带箭头直线相连,并在所有“子需求”与“模块”之间的带箭头直线上标注《satisfy》。
[0030] 进一步地,步骤一中,获取SD表达式的方式通过Stanford Parser句法解析工具实现。
[0031] 进一步地,步骤二中,SD表达式到ROM表达式的映射规则集如下:SD表达式中的amod,nmod:of,compound,auxpass,acomp,ccomp,neg,cop,npadvmod关系均映射为ROM表达式的Constraint关系;SD表达式中的cc,conj,nn,parataxis,number,cordmod,preconj关系均映射为ROM表达式的Connection关系;SD表达式中的csubj,iobj,num,attr,csubjpass,dep关系均映射为ROM表达式的Predicate关系。
[0032] 进一步地,步骤4-1中,十字准线为一条端部带有 符号的直线, 符号位于十字准线与“主要需求”的连接处。
[0033] 本发明具有的有益效果是:
[0034] 本发明能够自动将需求文本映射到递归对象模型,再映射到SysML需求图模型,可以直观的表示所述的需求文本的主要内容,转换过程高度自动化,转换效率高,适用于复杂产品设计需求分析。此外,本发明构建了SD表达式到ROM表达式的映射规则集,实现了SD表达式到ROM表达式的高效自动化映射。附图说明
[0035] 图1为本发明的流程图
[0036] 图2为本发明中步骤四中“主要需求”与“功能需求”的连接示意图;
[0037] 图3为本发明中步骤四中“功能需求”与“子需求”的连接示意图;
[0038] 图4为本发明中步骤四中“主要需求”与“用例”及“模块”的连接示意图。

具体实施方式

[0039] 以下结合附图对本发明作进一步说明。
[0040] 如图1所示,一种从需求文本转换到SysML需求图的转换方法,具体如下:
[0041] 步骤一、将基于产品的需求文本转换为SD表达式。
[0042] 获取基于产品的需求文本后,利用Stanford Parser句法解析工具,对自然语言进行初步解析,Stanford Parser句法解析工具中匹配出与需求文本的结构对应的语法。之后Stanford Parser句法解析工具将需求文本转化为构造句法树,并获取需求文本对应的SD表达式。SD表达式中含有需求文本中每各句子中,各句法成分的相互之间的关系(即一个句子中任意两个“词”之间都存在关系,而属于两个不同句子的“词”之间不存在关系)。
[0043] 步骤二、通过对SD关系和ROM关系进行比较和分析,建立SD表达式到ROM表达式的映射规则集如表1所示。之后,根据SD表达式到ROM表达式的映射规则集,将步骤一所得SD表达式转换成ROM表达式(即递归对象模型);
[0044] SD表达式到ROM表达式的映射规则集表1
[0045]
[0046] 表1中同一行的ROM表达式与SD表达式互相具有映射关系。如,两个层次句法的SD表达式为“amod”,则该两个层次句法的ROM表达式为Constraint。
[0047] 递归对象模型(ROM),是工业设计需求分析领域的一种图形化语言。ROM是以数学为基础,源于设计模型的公理理论,再结合英语的语言结构形成的。ROM由对象和关系这两部分组成。对象包括基本对象和复合对象,关系包括三种,分别是约束关系、连接关系和谓词关系。约束关系是一个对象与另一个对象之间描述性的,限制性的或者特殊性的关系。连接关系是两个对象之间没有限制关系,是平等的关系。谓词关系是一个对象描述另一个对象的行为,或者描述另一个对象的状态的关系。
[0048] 步骤三、建立映射规则。根据映射规则将步骤二形成的ROM表达式转换成SysML需求图元素;
[0049] 3-1.对需求文本中的各句法成分按照词性为名词和动词。将名词分为以下三类:
[0050] (1)“人类”名词(Nh):该类名词描述人类的身份,包括“管理员”、“设计师”、“操作者”。
[0051] (2)非需求名词(Nn):该类名词是无法被定义为需求或者模块的名词,为抽象名词或表达方位的名词,在生成需求图元素时,将忽略此类名词,包括“正义”、“远方”或者“左右”。
[0052] (3)规则名词(Nr):除了“人类”名词和非需求名词以外的名词。
[0053] 将动词分为以下七类:
[0054] (1)继承类动词(Vj):该类动词表达的意思为“继承”,包括“继承”、“接受”;
[0055] (2)验证类动词(Vy):该类动词表达的意思为“验证”,包括“验证”、“研究”;
[0056] (3)改善类动词(Vg):该类动词表达的意思为“改善”,包括“改善”、“提高”;
[0057] (4)满足类动词(Vm):该类动词表达的意思为“满足”,包括“满足”、“实现”;
[0058] (5)跟踪类动词(Vz):该类动词表达的意思为“跟踪”,包括“跟踪”、“提供”;
[0059] (6)包含类动词(Vb):该类动词表达的意思为“包含”,包括“包含”“包括”。
[0060] (7)其他类动词(Vq):该类动词为除了以上六类动词以外的动词,在使用中出现很少,一般可忽略。
[0061] 3-2.建立词性和需求图元素类型的对应关系表如表2所示。
[0062] 词性和需求图元素类型的对应关系表 表2
[0063]
[0064]
[0065] 将SysML需求图中的需求分为三类:“主要需求”、“功能需求”和“子需求”。主要需求是产品设计的总的需求;功能需求是该产品所要实现的功能的需求;子需求是为了实现功能需求所需要的各个分块的需求。
[0066] 以ROM表达式中与其他句法成分存在关系的数量最多的那个名词作为“主要需求”(在不同句子中存在的句法成分,其关系数量为各句子中关系数量的总和。如判断名词“A”的关系数量时,就计算需求文本中各个名词“A”所在的句子中,除名词“A”之外的句法成分数量,该法成分数量就是名词“A”在该句子内的关系数量。将各个含名词“A”句子中名词“A”的关系数量相加,就是名词“A”总的关系数量。
[0067] 3-3.分别判断各个含有“主要需求”的句子中是否存在“包含类动词”以及是否存在与“主要需求”的关系为“Constraint(约束)”的名词。若一个含有“主要需求”的句子中存在“包含类动词”,且存在与“主要需求”的关系为“Constraint(约束)”的名词,则以该与“主要需求”的关系为“Constraint(约束)”的名词作为“功能需求”。功能需求可能存在多个,且每个句子中最多仅有一个功能需求。
[0068] 3-4.分别判断各个含有“功能需求”的句子中是否存在“继承类动词”以及是否存在与“功能需求”的关系为“Constraint(约束)”的名词。若一个含有“功能需求”的句子中存在“继承类动词”,且存在与“功能需求”的关系为“Constraint(约束)”的名词,则该与“功能需求”的关系为“Constraint(约束)”的名词作为第一待定名词。若一个句子中仅有一个第一待定名词,则该第一待定名词作为“子需求”。若一个句子中存在多个第一待定名词,则分别判断该句子内各第一待定名词两两之间的关系,将与其他第一待定名词存在“Connection(连接)”关系的第一待定名词均作为“子需求”。与其他任意第一待定名词均不存在“Connection(连接)”关系的第一待定名词不作为子需求。
[0069] 3-5.分别判断各个含有“子需求”的句子中是否存在“改善类动词”以及是否存在与“子需求”的关系为“Constraint(约束)”的名词。若一个含有“子需求”的句子中存在“改善类动词”,且存在与“子需求”的关系为“Constraint(约束)”的名词,则该与“子需求”的关系为“Constraint(约束)”的名词作为第二待定名词。若一个“子需求”仅对应一个第二待定名词,则该第二待定名词作为“用例”。若一个“子需求”对应有多个第二待定名词,则分别判断该“子需求”对应的各第二待定名词两两之间的关系,将与其他第二待定名词存在“Connection(连接)”关系的第二待定名词均作为“用例”。与其他任意第二待定名词均不存在“Connection(连接)”关系的第一待定名词不作为“用例”。
[0070] 3-6.分别判断各个含有“子需求”的句子中是否存在“满足类动词”以及是否存在与子需求的关系为“Constraint(约束)”的名词。若一个含有“子需求”的句子中存在“满足类动词”,且存在与“子需求”的关系为“Constraint(约束)”的名词,则该与“子需求”的关系为“Constraint(约束)”的名词作为第三待定名词。若一个“子需求”中仅对应一个第三待定名词,则该第三待定名词作为“模块”。若一个子需求对应多个第三待定名词,则分别判断该“子需求”对应的各第三待定名词两两之间的关系,将与其他第二待定名词存在“Connection(连接)”关系的第三待定名词均作为“模块”。与其他任意第三待定名词均不存在“Connection(连接)”关系的第一待定名词不作为“模块”。
[0071] 3-7.分别判断各个含有“功能需求”的句子中是否存在“验证类动词”以及是否存在与“功能需求”的关系为“Constraint(约束)”的名词。若一个含有“功能需求”的句子中存在“验证类动词”,且存在与“功能需求”的关系为“Constraint(约束)”的名词,则该与功能需求的关系为“Constraint(约束)”的名词作为第四待定名词。若一个句子中仅有一个第四待定名词,则该第四待定名词作为“测试案例”。若一个句子中存在多个第四待定名词,则判断该句子内各第四待定名词两两之间的关系,将与其他第四待定名词存在“Connection(连接)”关系的第四待定名词均作为“测试案例”。与其他任意第一待定名词均不存在“Connection(连接)”关系的第一待定名词不作为“测试案例”。
[0072] 步骤四、将步骤三得到的SysML需求图元素整合为SysML需求图。具体是Eclipse软件中使用Java编程语言来进行SysML界面的创建。
[0073] 4-1.如图2所示,将步骤三得到的各SysML需求图元素放入框中。将各“功能需求”与“主要需求”用十字准线相连(十字准线为一条端部带有 符号的直线, 符号位于十字准线与“主要需求”的连接处)。
[0074] 4-2.如图3所示,将各“功能需求”与对应“子需求”分别用带箭头直线相连(箭头朝向“功能需求”),并在所有“功能需求”与“子需求”之间的带箭头直线上标注《deriveReqt》。
[0075] 4-3.将各“功能需求”与对应“测试案例”分别用带箭头直线相连(箭头朝向“功能需求”),并在所有“功能需求”与“测试案例”之间的带箭头直线上标注《verify》。
[0076] 4-4.如图4所示,将各“子需求”与对应“用例”分别用带箭头直线相连(箭头朝向“子需求”),并在所有“子需求”与“用例”之间的带箭头直线上标注《refine》。
[0077] 4-5.如图4所示,将各“子需求”与对应“模块”分别用带箭头直线相连(箭头朝向“子需求”),并在所有“子需求”与“模块”之间的带箭头直线上标注《satisfy》。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈