CN111984229B - 面向领域自然语言需求的形式化需求模型生成方法 - Google Patents
面向领域自然语言需求的形式化需求模型生成方法 Download PDFInfo
- Publication number
- CN111984229B CN111984229B CN202010720960.0A CN202010720960A CN111984229B CN 111984229 B CN111984229 B CN 111984229B CN 202010720960 A CN202010720960 A CN 202010720960A CN 111984229 B CN111984229 B CN 111984229B
- Authority
- CN
- China
- Prior art keywords
- requirement
- model
- field
- vrm
- template
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- 238000010276 construction Methods 0.000 claims abstract description 25
- 230000006870 function Effects 0.000 claims description 13
- 238000006243 chemical reaction Methods 0.000 claims description 9
- 238000004458 analytical method Methods 0.000 claims description 7
- 230000007704 transition Effects 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 3
- 238000010606 normalization Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012067 mathematical method Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011425 standardization method Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/10—Requirements analysis; Specification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/43—Checking; Contextual analysis
- G06F8/436—Semantic checking
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种面向领域自然语言需求的形式化需求模型生成方法,包括:根据航电领域目标***的实际需求中所涉及的包括对象名词、领域概念在内的各种数据,采用N元组的形式对其定义得到领域概念库;根据包括DO‑178B/C航空认证标准、航空工业领域需求描述规范、EICAS***需求特征和VRM模型的元素特征在内的规范数据,建立领域模板库;结合领域概念库和领域模板库对EICAS自然语言需求进行需求规约,得到规范化需求模型;根据规范化需求模型特征和VRM模型特征,建立VRM模型自动构造算法;将规范化需求模型作为输入,得到VRM形式化模型。本发明能够使***工程人员采用领域概念库和领域模板库定义好需求之后,自动构造出VRM形式化模型,省时省力。
Description
技术领域
本发明涉及安全关键软件的形式化模型构建技术领域,具体而言涉及一种面向领域自然语言需求的形式化需求模型生成方法。
背景技术
安全关键软件是指应用于航空、航天、交通、能源等安全关键***领域中的一类软件,此类软件***要求具有高安全性、高可靠性和高健壮性等特征。如何正确有效的构建此类软件***的模型,是进行***的分析与验证等活动的前提。从软件生命周期的角度来看,相比较在软件产品的设计或实现阶段引入的错误,需求阶段存在的错误更可能会对这类***的安全性产生重要影响。因此,在需求层级构建安全关键软件的模型,是提高***安全性等相关目标的最好方法之一。
形式化方法(Formal Methods)能够对需求进行准确的获取、解释和描述。航空认证标准DO-178B/C的附件标准就引入了该方法,它包含:模型检测、定理证明和抽象解释等三大类方法。数学方法的严格性可以支持计算机***在需求阶段进行精确的模型分析。
目前在航电应用领域,用于***及软件需求建模的方法包含如下几类。其一是从实际的安全关键***的工程开发经验中形成的理论与技术,如:四变量模型、SCR方法、CoRE方法、SpecTRM等;其二是从通用的软件工程领域产生的需求规约方法,如:统一建模语言(UML)中的用例(UseCase)模型的需求捕获与描述方法、从UML扩展而来的***建模语言(SysML)中用于描述***需求的参数模型,其典型工具包括了:Raphsody,Statamate等;其三是从电子硬件***设计的同步数据流语言发展而来的需求建模与代码生成技术,如:MATLAB公司的Simulink工具,基于Esterel技术的SCADE工具等;最后一类是一自然语言或者采用限定结构的自然语言来描述***和软件需求。而现有的需求模型构建技术所构建的模型无法胜任DO-178B/C对于需求分析和验证的要求。
发明内容
本发明针对现有技术中的不足,提供一种面向领域自然语言需求的形式化需求模型生成方法,通过分析航电领域的需求描述特征,从该领域的自然语言描述的条目化需求入手,设计定义一套面向领域的自然语言需求模板,并综合考虑所采用的形式化需求模型(VRM:Variable Relation Model)元素的语义,形成基于此模板的需求规范化方法;然后给出从规范化后的需求条目集到VRM模型的自动构造方法。最后,利用.net平台实现了面向领域自然语言需求的形式化需求模型的生成方法。
为实现上述目的,本发明采用以下技术方案:
一种面向领域自然语言需求的形式化需求模型生成方法,所述生成方法包括以下步骤:
S1,根据航电领域目标***的实际需求中所涉及的包括对象名词、领域概念在内的各种数据,采用N元组的形式对其定义得到领域概念库;
S2,根据包括DO-178B/C航空认证标准、航空工业领域需求描述规范、EICAS***需求特征和VRM模型的元素特征在内的规范数据,建立领域模板库;
S3,结合步骤S1得到的领域概念库和步骤S2得到的领域模板库对EICAS自然语言需求进行需求规约,得到规范化需求模型;
S4,根据步骤S3得到的规范化需求模型特征和VRM模型特征,建立VRM模型自动构造算法;
S5,根据步骤S4得到的VRM模型自动构造算法,将步骤S3得到的规范化需求模型作为输入,得到VRM形式化模型。
为优化上述技术方案,采取的具体措施还包括:
进一步地,步骤S1中,所述领域概念库的内容包括:专有名词、常量、变量、数据类型和模式集;
所述变量分为:输入变量、中间变量和输出变量;
所述模式集包含:模式和模式转换。
进一步地,步骤S2中,所述领域模板库包括四种类型模板:通用条件型需求模板、通用事件型需求模板、显示条件型需求模板和显示事件型需求模板;
每个需求模板根据其组成成分还包括:条件模板和事件模板。
进一步地,所述领域模板库定义如下:
通用条件:当满足以下条件,<飞机/***/设备>应能够<功能><对象>:<条件>;
通用事件:当发生以下事件,<飞机/***/设备>应能够<功能><对象>:<事件>;
显示条件:当满足以下条件,<对象>应能够<功能><格式/要求/标准>:<条件>;
显示事件:当发生以下事件,<对象>应能够<功能><格式/要求/标准>:<事件>。
进一步地,步骤S3中,所述结合步骤S1得到的领域概念库和步骤S2得到的领域模板库对EICAS自然语言需求进行需求规约,得到规范化需求模型的过程包括:
S31,对自然语言需求进行分析,根据需求所属类型调取对应的领域模板;
S32,依次识别需求中包含的各项成分,采用领域概念库定义的内容进行替换;
S33,根据对需求语义的分析,设定条件或事件取值,得到规范化需求模型。
进一步地,步骤S4中,所述建立VRM模型自动构造算法是指,
基于规范化需求模型特征和VRM模型特征,设计如下三种类型的模型构造算法:
第一种为数据字典构造算法,用于将常量领域概念转换为常量字典、将数据类型领域概念转换为数据类型字典、将输入变量领域概念转换为输入变量字典;
第二种为行为表构造算法,将中间变量领域概念、输出变量领域概念和规范化需求转换为中间变量条件表、中间变量事件表输出变量条件表和输出变量事件表;
第三种为模式转换表构造算法,将模式集、模式和模式转换领域概念转换为模式转换表;
所述规范化需求模型特征包括领域概念库和规范化需求;所述VRM模型特征包括:常量字典、变量字典、自定义数据类型和行为表内容。
本发明的有益效果是:
(1)本发明利用领域概念库将自然语言需求中的数据和概念名词采用规范且符合形式化语义的形式进行统一定义,避免用户在需求描述过程中使用不同的名词描述同一含义的内容。
(2)本发明提出了使用严格数学定义的模板对需求进行描述,采用统一的形式定义需求,避免了需求描述的二义性等问题。
(3)本发明设计的VRM模型自动构造算法,使得***工程人员采用领域概念库和领域模板库定义好需求之后,可以自动构造出VRM形式化模型,省时省力。
附图说明
图1是本发明的面向领域自然语言需求的形式化需求模型生成方法的流程图。
具体实施方式
现在结合附图对本发明作进一步详细的说明。
需要注意的是,发明中所引用的如“上”、“下”、“左”、“右”、“前”、“后”等的用语,亦仅为便于叙述的明了,而非用以限定本发明可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当亦视为本发明可实施的范畴。
具体实施例为EICAS的实际需求,取其中几条典型需求进行说明:
(1)当(参数ipFlightDeckUnitsConfigurationIsMetric有效并且等于TRUE)时,飞机综合电子显示***应将参数ipFlightDeckUnitsConfigurationIsMetric设置为METRIC,否则设置为IMPERIAL。
(2)当ipFADECEngineManualThrottleCmd等于TRUE时,发动机显示器推力参考的图形符号的颜色应为Green 100。
(3)如果值ipFADECEngineThrust[L|R]远离值ipFADECEngineThrustCommand[L|R],则发动机显示器应显示颜色黄色50的命令扇区。
图1为本发明技术方案流程图,具体实施步骤如下:
步骤1,建立EICAS实际需求的领域概念库,包括:输入变量、输出变量、中间变量和自定义数据类型。输入变量定义见表1、输出变量定义见表2、中间变量定义见表3、自定义数据类型定义见表4,专有名词定义见表5。
表1输入变量领域概念表
表2输出变量领域概念表
表3中间变量领域概念表
表4自定义数据类型领域概念表
序号 | 名称 | 类型 | 值域 | 精度 |
1 | valueStatus | Enumerated | (invalid,valid) | - |
2 | FDUParameterFormat | Enumerated | (imperial,metric) | - |
3 | color | Enumerated | (green100,yellow50) | - |
表5专有名词领域概念表
序号 | 名称 | 描述 |
1 | 设置为 | - |
2 | 显示为 | - |
步骤2,建立领域模板库。领域模板库内容为:
通用条件:当满足以下条件,<飞机/***/设备>应能够<功能><对象>:<条件>。
通用事件:当发生以下事件,<飞机/***/设备>应能够<功能><对象>:<事件>。
显示条件:当满足以下条件,<对象>应能够<功能><格式/要求/标准>:<条件>。
显示事件:当发生以下事件,<对象>应能够<功能><格式/要求/标准>:<事件>。
步骤3,利用领域概念库和领域模板库对自然语言需求进行需求规约。以典型需求(1)为例进行说明。首先,该条需求为通用条件型需求,因此使用通用条件型领域模板。然后,依次识别需求中对应<飞机/***/设备>、<功能>和<对象>的成分,使用领域概念库定义的内容进行替换,分别为:“opFDUConfigurationFormat”、“设置为”和“METRIC”。根据对需求(1)语义的分析,<条件>为参数ipFDUConfigurationIsMetricStatus的有效性取值和参数ipFDUConfigurationIsMetric的真值取值。由于规范化需求应满足完整性和一致性等性质,可将<条件>分为4种情况,得到规范化需求(1)-(4)。同理可得规范化需求(5)和(6)。具体的:
(1)当满足以下条件,opFDUConfigurationFormat应能够设置为METRIC:ipFDUConfigurationIsMetric=TRUE AND ipFDUConfigurationIsMetricStatus=Valid。
(2)当满足以下条件,opFDUConfigurationFormat应能够设置为IMPERIAL:ipFDUConfigurationIsMetric=FALSE AND ipFDUConfigurationIsMetricStatus=Valid。
(3)当满足以下条件,opFDUConfigurationFormat应能够设置为IMPERIAL:ipFDUConfigurationIsMetric=FALSE AND ipFDUConfigurationIsMetricStatus=Invalid。
(4)当满足以下条件,opFDUConfigurationFormat应能够设置为IMPERIAL:ipFDUConfigurationIsMetric=TRUE AND ipFDUConfigurationIsMetricStatus=Invalid。
(5)当满足以下条件,opFADECEngineThrustReferenceGraphicColor应能够显示为Green 100:ipFADECEngineManualThrottleCmd=TRUE。
(6)当满足以下条件,opFADECEngineThrustReferenceGraphicColor应能够显示为Green 100:ipFADECEngineManualThrottleCmd=TRUE。
步骤4,建立VRM模型自动构造算法。根据规范化需求模型及VRM模型特征,定义了用于存储规范化需求模型和VRM模型的数据结构。读取规范化需求模型的相关内容并用已定义好的数据结构进行存储。采用映射的方法将规范化需求模型中的元素映射到VRM模型的相关元素。最后将映射得到的VRM模型元素构建成VRM模型。VRM模型自动构造算法是根据规范化需求模型和VRM模型特征进行设计的。规范化需求模型是利用领域概念库和领域模板库对自然语言需求进行规约得到的,因此它主要包含这两类内容:领域概念库和规范化需求。VRM模型则包括:常量字典、变量字典、自定义数据类型和行为表内容。基于这两个模型的特征,设计了如下三种类型的模型构造算法。第一种为数据字典构造算法,分为:常量领域概念转换为常量字典、数据类型领域概念转换为数据类型字典、输入变量领域概念转换为输入变量字典。第二种为行为表构造算法,将中间变量领域概念、输出变量领域概念、规范化需求转换为输出变量(中间变量)条件表和输出变量(中间变量)事件表。第三种为模式转换表构造算法,将模式集、模式和模式转换领域概念转换为模式转换表。
步骤5,利用VRM模型构造算法,接收规范化需求模型数据,自动构造得到VRM形式化模型。构造得到的VRM形式化模型可以进行需求层级的分析、验证与测试等活动。
以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。
Claims (4)
1.一种面向领域自然语言需求的形式化需求模型生成方法,其特征在于,所述生成方法包括以下步骤:
S1,根据航电领域目标***的实际需求中所涉及的包括对象名词、领域概念在内的各种数据,采用N元组的形式对其定义得到领域概念库;
S2,根据包括DO-178B/C航空认证标准、航空工业领域需求描述规范、EICAS***需求特征和VRM模型的元素特征在内的规范数据,建立领域模板库;
S3,结合步骤S1得到的领域概念库和步骤S2得到的领域模板库对EICAS自然语言需求进行需求规约,得到规范化需求模型;
S4,根据步骤S3得到的规范化需求模型特征和VRM模型特征,建立VRM模型自动构造算法;
S5,根据步骤S4得到的VRM模型自动构造算法,将步骤S3得到的规范化需求模型作为输入,得到VRM形式化模型;
步骤S1中,所述领域概念库的内容包括:专有名词、常量、变量、数据类型和模式集;所述变量分为:输入变量、中间变量和输出变量;所述模式集包含:模式和模式转换;
步骤S2中,所述领域模板库包括四种类型模板:通用条件型需求模板、通用事件型需求模板、显示条件型需求模板和显示事件型需求模板。
2.根据权利要求1所述的面向领域自然语言需求的形式化需求模型生成方法,其特征在于,所述领域模板库包括:
通用条件型需求模板:当满足以下条件,<飞机/***/设备>应能够<功能><对象>:<条件>;通用事件型需求模板:当发生以下事件,<飞机/***/设备>应能够<功能><对象>:<事件>;
显示条件型需求模板:当满足以下条件,<对象>应能够<功能><格式/要求/标准>:<条件>;
显示事件型需求模板:当发生以下事件,<对象>应能够<功能><格式/要求/标准>:<事件>。
3.根据权利要求1所述的面向领域自然语言需求的形式化需求模型生成方法,其特征在于,步骤S3中,所述结合步骤S1得到的领域概念库和步骤S2得到的领域模板库对EICAS自然语言需求进行需求规约,得到规范化需求模型的过程包括:S31,对自然语言需求进行分析,根据需求所属类型调取对应的领域模板;S32,依次识别需求中包含的各项成分,采用领域概念库定义的内容进行替换;S33,根据对需求语义的分析,设定条件或事件取值,得到规范化需求模型。
4.根据权利要求1所述的面向领域自然语言需求的形式化需求模型生成方法,其特征在于,步骤S4中,所述建立VRM模型自动构造算法是指,基于规范化需求模型特征和VRM模型特征,设计如下三种类型的模型构造算法:第一种为数据字典构造算法,用于将常量领域概念转换为常量字典、将数据类型领域概念转换为数据类型字典、将输入变量领域概念转换为输入变量字典;第二种为行为表构造算法,将中间变量领域概念、输出变量领域概念和规范化需求转换为输出变量条件表和输出变量事件表;第三种为模式转换表构造算法,将模式集、模式和模式转换领域概念转换为模式转换表;所述规范化需求模型特征包括领域概念库和规范化需求;所述VRM模型特征包括:常量字典、变量字典、自定义数据类型和行为表内容。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010720960.0A CN111984229B (zh) | 2020-07-24 | 2020-07-24 | 面向领域自然语言需求的形式化需求模型生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010720960.0A CN111984229B (zh) | 2020-07-24 | 2020-07-24 | 面向领域自然语言需求的形式化需求模型生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111984229A CN111984229A (zh) | 2020-11-24 |
CN111984229B true CN111984229B (zh) | 2022-02-01 |
Family
ID=73439265
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010720960.0A Active CN111984229B (zh) | 2020-07-24 | 2020-07-24 | 面向领域自然语言需求的形式化需求模型生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111984229B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107169636A (zh) * | 2017-04-26 | 2017-09-15 | 南京航空航天大学 | 基于形式化***理论过程分析的安全需求生成方法 |
CN107168762A (zh) * | 2017-05-23 | 2017-09-15 | 北京航空航天大学 | 一种基于本体的rucm模型一致性检查方法 |
CN111176614A (zh) * | 2019-12-26 | 2020-05-19 | 南京航空航天大学 | Vrm形式化需求模型的生成和分析方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2505218A (en) * | 2012-08-23 | 2014-02-26 | Ibm | Logical contingency analysis for domain-specific languages |
CN103853871B (zh) * | 2013-11-21 | 2017-05-24 | 北京航空航天大学 | 一种适用于航电***的安全需求建模方法 |
-
2020
- 2020-07-24 CN CN202010720960.0A patent/CN111984229B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107169636A (zh) * | 2017-04-26 | 2017-09-15 | 南京航空航天大学 | 基于形式化***理论过程分析的安全需求生成方法 |
CN107168762A (zh) * | 2017-05-23 | 2017-09-15 | 北京航空航天大学 | 一种基于本体的rucm模型一致性检查方法 |
CN111176614A (zh) * | 2019-12-26 | 2020-05-19 | 南京航空航天大学 | Vrm形式化需求模型的生成和分析方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111984229A (zh) | 2020-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20070156378A1 (en) | System and method for verification aware synthesis | |
US8037436B2 (en) | Circuit verification apparatus, a method of circuit verification and circuit verification program | |
CN112417798B (zh) | 一种时序测试方法、装置、电子设备及存储介质 | |
CN109063362B (zh) | 航电软件接口控制文件设计管理*** | |
US7577928B2 (en) | Verification of an extracted timing model file | |
CN112199913B (zh) | 一种基于Coq的超大规模集成电路RTL漏洞形式化分析方法 | |
Brunel et al. | A viewpoint-based approach for formal safety & security assessment of system architectures | |
Pierre et al. | A tractable and fast method for monitoring SystemC TLM specifications | |
de Saqui-Sannes et al. | Checking SysML models against safety and security properties | |
CN114091383A (zh) | 测试序列生成方法、装置、***及相关设备 | |
CN108647533B (zh) | 用于检测硬件木马的安全断言自动生成方法 | |
CN111984229B (zh) | 面向领域自然语言需求的形式化需求模型生成方法 | |
Lickly et al. | A practical ontology framework for static model analysis | |
US7681156B2 (en) | Transmission circuit simulator and transmission circuit simulation program storage medium | |
CN113822002B (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
US8181138B2 (en) | Generation of an extracted timing model file | |
CN112232031B (zh) | 电力物联网边缘数据模型校验方法、装置及存储介质 | |
CN111240972B (zh) | 一种基于源代码的模型验证装置 | |
Freibothe et al. | Formal verification of the quasi-static behavior of mixed-signal circuits by property checking | |
CN111274699A (zh) | 一种基于smartIflow的AADL模型的安全性分析方法 | |
CN117744546B (zh) | 数字电路评估方法、***、设备及存储介质 | |
CN110309062A (zh) | 用例生成方法、装置、电子设备及存储介质 | |
CN113282276B (zh) | 一种模型的映射方法和装置 | |
CN112597756B (zh) | 操作语句报告的生成方法、装置、设备、存储介质 | |
CN114676656B (zh) | 多响应cfd模型的一致性度量方法、装置、设备及存储介质 |
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 |