CN111176614B - Vrm形式化需求模型的生成和分析方法 - Google Patents
Vrm形式化需求模型的生成和分析方法 Download PDFInfo
- Publication number
- CN111176614B CN111176614B CN201911363747.2A CN201911363747A CN111176614B CN 111176614 B CN111176614 B CN 111176614B CN 201911363747 A CN201911363747 A CN 201911363747A CN 111176614 B CN111176614 B CN 111176614B
- Authority
- CN
- China
- Prior art keywords
- variables
- variable
- vrm
- paradigm
- condition
- 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 31
- 238000004458 analytical method Methods 0.000 claims abstract description 12
- 230000006870 function Effects 0.000 claims description 40
- 230000014509 gene expression Effects 0.000 claims description 16
- 230000008569 process Effects 0.000 claims description 4
- 238000012544 monitoring process Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000007620 mathematical function Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012827 research and development 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/42—Syntactic analysis
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种VRM形式化需求模型的生成和分析方法,包括:将需求模型构建为有限状态自动机系统,并生成对应的VRM规范集合;引入中间变量,将有限状态自动机系统进行分层,并定义了各变量之间的拓扑排序结构以及依赖关系;将所述有限状态自动机系统运用在安全关键性系统进行需求描述和分析。本发明通过将需求模型构建为一个有限状态自动机系统,使其可以更好地运用到实际系统中,解决工业系统的需求描述问题;同时提供了相关一致性和完整性分析方法,用来检查有限状态自动机系统中存在的语法、语义和句法错误,以及需求的不相交性和覆盖性,使得系统需求精准且无二义性。
Description
技术领域
本发明涉及安全关键系统的需求分析技术领域,具体而言涉及一种VRM形式化需求模型的生成和分析方法。该方法通过将VRM扩展为形式化语义模型并用一致性完整性算法进行分析可消除需求存在的语法、句法、语义错误,以及二义性和不完整性问题。
背景技术
VRM是一种用来指明需求的方法,它的框架结构如图2所示。
VRM涉及以下四类变量:
(1)监督变量(MON):系统对外部环境进行监控得到的变量。
(2)受控变量(CON):受系统控制的环境量。如:显示器的显示——数值、文本、图形,作动器的阈值。
(3)输入变量(INPUT):来自于监督变量的估量,由传感器等输入设备将监督变量转换而来的变量;
(4)输出变量(OUTPUT):发送到输出设备(如制动器)上的,可以改变受控变量的变量;
例如:监督变量可以是飞机在飞行中的飞行高度和空速,受控变量可以是显示仪表盘上飞行高度和当前空速的显示值;相应的输入输出变量可以是软件读取或写入的ARINC-429总线上的数据。
在这些变量上,定义了5种数学关系:
①NAT:施加在环境量上的自然限制,例如飞机的最大爬升率。
②REQ:定义了系统的附加约束,指明受控变量与监督变量的关系。
③IN:描述了监督变量和输入变量之间的映射关系。
④OUT:描述输出变量和受控变量之间的映射关系。
⑤SOF:描述输入变量和输出变量之间的关系,表示为所有可以接受的软件的行为。
RSML(需求状态机语言)是一种基于状态的规范语言,可以用来对系统的行为进行建模。RSML规范包括一系列的输入变量、状态变量、输入输出接口、函数、宏和常量。
输入变量:被用来记录在环境中观察到的值。
状态变量:被组织成一个分层的方式,并用于模拟各种状态的控制模型。
接口:作为连接到外部环境通信网络接口。
函数和宏:用来封装系统模块的内部计算,提供更高的可读性和易用性。
RSML中的一个重要特点是设计了一套AND/OR表格,可以将复杂的谓词逻辑公式以表格的形式展现,这样可以增加对于非专业人员的可读性和可理解性。图3是典型的RSMLAND-OR表格的形式。
由于VRM是一种抽象的指明需求的方法论,无法提供一个形式化的基础以便对需求进行分析。有研发人员尝试利用VRM创建需求模型,但由于真实的工业系统庞大而复杂,至今仍很难将其很好地运用到实际系统中,以解决工业系统的需求描述问题,同时,对于需求模型存在大量的语法、句法、语义错误,以及二义性和不完整性问题,很难检测出来并加以修正。
发明内容
本发明目的在于提供一种VRM形式化需求模型的生成和分析方法,通过对变量关系模型进行具体的设计,将需求模型构建为一个有限状态自动机系统,使其可以更好地运用到实际系统中,解决工业系统的需求描述问题;同时提供了相关一致性和完整性分析方法,用来检查有限状态自动机系统中存在的语法、语义和句法错误,以及需求的不相交性和覆盖性,使得系统需求精准且无二义性。
为达成上述目的,结合图1,本发明提出一种VRM形式化需求模型的生成和分析方法,所述方法包括:
S1:将需求模型构建为有限状态自动机系统,并生成对应的VRM规范集合,所述VRM规范集合用于描述构成规范的输入和输出变量、条件函数、事件函数和其他构造以便使前述有限状态自动机系统具有自动机特点;
S2:引入中间变量,将有限状态自动机系统进行分层,并定义了各变量之间的拓扑排序结构以及依赖关系;
S3:将所述有限状态自动机系统运用在安全关键性系统进行需求描述和分析。
进一步的实施例中,所述VRM规范集合包括变量字典、类型字典、常量字典、表格函数、假设字典;
所述变量字典是所有变量的集合,所述变量包括监督变量、受控变量、模式类和中间变量;
所述类型字典包含所有用户自定义的类型集;
所述常量字典用于集合所有用户定义的常量;
所述假设字典用于描述对系统行为的假设,定义了监视变量和受控变量的可能值;
所述表格函数用于定义描述所有变量及其相互之间关系的表格。
进一步的实施例中,所述模式类是N个非空的成对不相交集合的并集,模式类的每个成员被定义成模式,每种模式均为系统状态的等价类,用于指定所需的系统行为。
进一步的实施例中,所述定义了各变量之间的拓扑排序结构以及依赖关系的过程包括以下步骤:
对于监督变量:每个监督变量独立于任何其他变量,包括其他监督变量;
对于模式:模式可以依赖于拓扑排序集中位于它前面的监督变量、同一模式类的其他模式、以及中间变量;
对于中间变量:中间变量依赖于拓扑排序集中位于它前面的监督变量、模式类、以及其他中间变量;
对于受控变量,受控变量依赖于拓扑排序集中位于它前面的监督变量、模式类、中间变量以及其他受控变量。
进一步的实施例中,所述方法还包括:
S4:分别定义VRM基本范式、第一范式、第二范式、第三范式、第四范式,结合前述多个范式对生成的VRM规范集合进行分析,以检测其中是否存在错误,其中:
采用VRM基本范式以检测生成的VRM规范集合中是否存在语法错误、句法错误、语义错误;
采用第一范式以检测输入变量是否具备完整性;
采用第二范式以检测条件函数具备一致性和完整性,消除条件表中需求的歧义;
采用第三范式以检测事件函数具备一致性和完整性,消除事件表中需求的歧义;
采用第四范式以检测输出变量是否具备完整性。
进一步的实施例中,所述条件函数的表达式定义如下:
ρi={(mj,cj,k,vk)∈Mμ(i)×Ci×VR(Vi)}
式中,k=1,2,…,n,j=1,2…,n。mj是编号为j的模式,cj,k是单个条件,vk是cj,k对应的值,Mμ(i)是条件函数对应的模式类,Ci是编号为i的条件,VR(Vi)是Vi可能取值的集合。
其中,条件函数ρi满足以下属性:
(1)满足VRM基本范式:
(2)满足第二范式:
(2.1)条件一致性:当变量mj确定的情况下,对于不同的条件Ci,满足ci,j∧ci,k=false;对于任意的i,k!=j,当模式mj和条件ci,j相同时,则对应的输出变量唯一;
(2.2)条件完整性:对于表格中mi确定的情况下,其对应的条件Ci的所有取值情况ci,j都包含在表格内;对于任意的i,则ci,1∨ci,2∨……ci,n=true,即固定模式下条件c的析取表达式为真;
(3)满足第四范式:
进一步的实施例中,所述事件函数的表达式定义如下:
σi={(mj,ej,k,vk)∈Mμ(i)×Ei×VR(Vi)}
式中,k=1,2,…,n;j=1,2…,n。mj是编号为j的模式,ej,k是单个事件,vk是ej,k对应的值,Mμ(i)是事件函数对应的模式类,Ei是编号为i的事件,VR(Vi)是Vi可能取值的集合。
其中,事件函数σi满足以下属性:
(1)满足VRM基本范式。
(3)满足第三范式:当变量mj确定的情况下,对于不同的条件Ei,满足ei,j∧ei,k=false;对于任意的i,k!=j,当模式mj和条件ei,j相同时,则对应的输出变量必须唯一。
进一步的实施例中,所述方法还包括:
S5:对有限状态自动机系统中定义的状态变量进行存储;
所述存储过程包括以下步骤:
S51:定义两个数据结构:哈希表varmap和modemap,其中varmap细分为inputvarmap,outputvarmap;
S52:将事先定义好的BNF范式作为处理变量时的输入,并使用ANTLR的内置运行库对定义好的BNF范式进行解析,得到语法树;
S53:遍历语法树得到各个语句块的入口地址,确定变量所在的语句块;
通过调用语法树,进入语法树变量所在的语句块;
对用户定义的每个变量进行遍历,如果该变量不存在,则将该变量存储到对应的哈希表中,若存在,则更新其值:update(variable.val)。
进一步的实施例中,所述对用户定义的每个变量进行遍历包括:
S531:准备工作:遍历语法树,定义存储变量的哈希表;
S532:遍历一般变量:在访问器中访问变量,提取变量,若已存在该变量,则更新值,若不存在,则将该变量及其值存入哈希表,同时,遍历类型语句块,将该变量类型存入类型哈希表;
S533:遍历模式类:在访问器中访问变量,提取模式,若已存在该模式,则退出,若不存在,则将该模式及其值存入哈希表。同时,遍历类型语句块,将该变量类型存入类型哈希表。
以上本发明的技术方案,与现有相比,其显著的有益效果在于:
(1)通过对变量关系模型进行具体的设计,将需求模型构建为一个有限状态自动机系统,使其可以更好地运用到实际系统中,解决工业系统的需求描述问题。
(2)同时提供了相关一致性和完整性分析方法,用来检查有限状态自动机系统中存在的语法、语义和句法错误,以及需求的不相交性和覆盖性,使得系统需求精准且无二义性。
应当理解,前述构思以及在下面更加详细地描述的额外构思的所有组合只要在这样的构思不相互矛盾的情况下都可以被视为本公开的发明主题的一部分。另外,所要求保护的主题的所有组合都被视为本公开的发明主题的一部分。
结合附图从下面的描述中可以更加全面地理解本发明教导的前述和其他方面、实施例和特征。本发明的其他附加方面例如示例性实施方式的特征和/或有益效果将在下面的描述中显见,或通过根据本发明教导的具体实施方式的实践中得知。
附图说明
附图不意在按比例绘制。在附图中,在各个图中示出的每个相同或近似相同的组成部分可以用相同的标号表示。为了清晰起见,在每个图中,并非每个组成部分均被标记。现在,将通过例子并参考附图来描述本发明的各个方面的实施例,其中:
图1是本发明的VRM形式化需求模型的生成和分析方法流程图。
图2是本发明的VRM框架结构示意图。
图3是本发明的典型的RSML AND-OR表格的形式。
图4是本发明的VRM系统规范字典示意图。
图5是本发明的数据存储伪代码示意图。
图6是本发明的条件表达式的一致性完整性分析伪代码示意图。
图7是本发明的事件表达式的一致性完整性分析伪代码。
具体实施方式
为了更了解本发明的技术内容,特举具体实施例并配合所附图式说明如下。
具体实施例一
结合图1,本发明提及一种VRM形式化需求模型的生成和分析方法,所述方法包括:
S1:将需求模型构建为有限状态自动机系统,并生成对应的VRM规范集合,所述VRM规范集合用于描述构成规范的输入和输出变量、条件函数、事件函数和其他构造以便使前述有限状态自动机系统具有自动机特点。
S2:引入中间变量,将有限状态自动机系统进行分层,并定义了各变量之间的拓扑排序结构以及依赖关系。
S3:将所述有限状态自动机系统运用在安全关键性系统进行需求描述和分析。
步骤一:VRM形式化规范定义的设计。
VRM是一种抽象的指明需求的方法论,无法提供一个形式化的基础以便对需求进行分析,因此我们需要对其进行具体的设计和实现。我们将需求模型构建为一个有限状态自动机的系统,并描述构成规范的输入和输出变量,条件函数,事件函数和其他构造以便具有自动机特点,这样才能真正的将其运用在安全关键性系统进行需求描述和分析。此外由于真实的工业系统比较庞大,特引入了中间变量,将系统进行分层。并定义了各变量之间的拓扑排序结构以及依赖关系。
图4是VRM的需求字典,它包含以下几类信息:
1)变量字典:是所有变量的集合。包含监督变量和受控变量。为了方便的指明REQ约束,VRM形式化模型额外定义了两种类型的辅助变量:模式类和中间变量。模式类MS是N个非空的成对不相交集合的并集,即M1,M2,…,MN称为模式类。模式类的每个成员称为模式,每种模式都是系统状态的等价类,在指定所需的系统行为时具有较大的作用。
2)用户自定义类型:包含了所有用户自己定义的类型集,所有类型都基于基本类型,如boolean,int,char等。TS是数据类型的并集,其中每种类型都是非空的值集。
3)常量字典:集合了所有用户定义的常量。
4)假设字典:即NAT约束。NAT描述了对系统行为的假设,如物理定律和系统环境所施加的约束,它定义了监视变量和受控变量的可能值。
5)表格函数:即REQ约束,为了明确清晰的指明需求,在此采用表格的形式来描述所有变量及关系,表格的类型为条件表、事件表、模式转换表。表格函数可以简明扼要的描述大量的需求信息并减少用自然语言描述的需求的错误率,并且使用简单,容易上手。
步骤二:一致性完整性算法定义
一致性完整性算法用于分析VRM形式化规范,并自动检测错误,例如语法错误、句法错误、语义错误、需求的不确定性,需求的不完整性等。VRM形式化规范必须满足以下要求:
VRM基本范式:VRM基本范式用来确保形式化模型不存在语法、句法等错误,它是一致性、完整性检查中最基本的要求。
在VRM基本范式的基础上,我们定义了以下范式。
2)第一范式(也称为输入完整性范式):
单个表必须满足输入的完整性,即对于某个状态变量r,必须满足VR(r),其中VR为变量r的取值范围。
3)第二范式(也称为条件范式):
条件范式由两部分组成:条件一致性和条件完整性。此范式可以保证条件无遗漏,并且可以用来消除需求的歧义,减少二义性问题。
4)第三范式(也称为事件范式):
单个表必须满足事件的一致性。此范式可以用来消除事件表中需求的歧义,减少二义性问题。
5)第四范式(也称为输出完整性范式):
单个表必须满足输出的完整性。此范式可以确保没有事例遗漏。
具体实施例二
现在对本发明作进一步的说明。在此将具体介绍VRM需求规范的设计以及如何将一致性完整性算法运用到需求模型中。由于所有状态变量(包含监督变量、控制变量、模式类、中间变量)的依赖关系都是以表的形式表示的。为了对系统行为进行描述,本发明采用两种类型的表格:条件表和事件表,它们使用表格的形式描述了系统行为的函数。发明具体分四步进行:
第一步:对VRM的需求字典结合实际系统的情况进行具体的设计。
基于VRM需求字典,本发明定义VRM需求规约的六元组:{SV,C,E,F,TS,VR};其中SV是所有状态变量的集合,它为一个四元组,定义为:SV={MV,CV,M,IV},包含监督变量MV、受控变量CV、模式类M,中间变量IV。下面具体介绍六元组每个数据的功能。
MV:非空的不相交的监督变量集合,MV={mv1,mv2,...,mvl},mv1,mv2,...,mvl称为监督变量。
CV:非空的不相交的受控变量集合,CV={cv1,cv2,...,cvk},cv1,cv2,...,cvk称为受控变量。
M:非空的不相交的模式类集合,M={mc1,mc2,...,mcm},mc1,mc2,...,mcm称为模式,其中mci为某个模式类,它包含了该模式类下的所有模式,Mci={mci1,mci2,...,mcim}。
IV:非空的不相交的中间变量集合,IV={iv1,iv2,...,ivk},iv1,iv2,...,ivk称为中间变量。
TS:是类型的并集,其中所有的类型都是值的非空集合。
VR:特殊的函数,用来将状态变量的名称映射到具体的值,表示状态变量的所有取值范围。
C:条件,表示单个状态变量上的谓词。条件是逻辑表达式,具有多种表达形式,可以为布尔变量true、false或布尔表达式ci⊙cj等。⊙∈{AND,OR,NOT}表示逻辑操作符;C=r⊙v。其中⊙∈{=,<,>,≠,≥,≤}表示关系操作符。本发明使用RSML的AND-OR表来表示条件需求,采用AND-OR表可以减少条件表达式存在的语法错误和句法错误。
E:事件,表示两个状态变量上的谓词,事件的通用表达式为EVENT(C)GUARD D。EVENT∈{@T,@F,@C}表示事件操作符;GUARD∈{WHEN,WHERE,WHILE}表示守卫操作符。
F:表格函数,所有的表格都是一个数学函数,都可以使用Fi表示。
第二步:对状态变量之间的依赖关系定义。
由于实际的系统结构一般比较庞大,采用层次结构可以更好的对整体系统进行建模和分析,为此引入了中间变量。由于状态变量之间存在依赖性,所有的状态变量之间存在依赖的先后关系,因此状态变量集SV中存在变量的拓扑排序顺序R。具体的排序规则定义如下:
对于监督变量:每个监督变量独立于任何其他变量,包括其他监督变量。
对于模式:模式可以依赖于拓扑排序集中位于它前面的监督变量、同一模式类的其他模式、以及中间变量。
对于中间变量:中间变量可以依赖于拓扑排序集中位于它前面的监督变量、模式类、以及其它中间变量。
对于受控变量:受控变量可以依赖于拓扑排序集中位于它前面的监督变量、模式类、中间变量以及其他受控变量。
第三步:对数据存储进行设计
此步骤用来对建立的模型中定义的状态变量(包括输入变量、输出变量、模式类)进行存储,这些变量是模型的基础。图5是数据存储算法的伪代码。首先定义两个数据结构:哈希表varmap和modemap,其中varmap还细分为inputvarmap,outputvarmap。
处理变量时输入是事先定义好的BNF范式(VRM.g4),并使用ANTLR的内置运行库对VRM.g4进行解析,得到语法树。遍历语法树得到各个语句块的入口地址,即需要确定变量所在的语句块。通过调用vrm语法树,进入语法树变量所在的语句块。对用户定义的每个变量进行遍历,如果该变量不存在,则将该变量存储到对应的哈希表中,若存在,则更新其值:update(variable.val)。变量处理算法主要分以下几步进行:
准备工作:遍历ast语法树,定义存储变量的哈希表
遍历一般变量:在访问器中访问变量,ast.parseTreeWalk(variableBlock),提取变量,若已存在该变量,则更新值,若不存在,则将该变量及其值(键值对)存入哈希表。同时,遍历类型语句块,将该变量类型存入类型哈希表。
遍历模式类:在访问器中访问变量,ast.parseTreeWalk(modeclassBlock),提取模式,若已存在该模式,则退出,若不存在,则将该模式及其值(所有的模式)存入哈希表。同时,遍历类型语句块,将该变量类型存入类型哈希表。
第四步:对模型行为进行设计
1、条件表定义:条件表本质上是一个数学函数,它用来描述状态变量(SV)的值与相关输入:模式M和条件C的值之间的函数关系:即在不同的模式和不同条件下,输入变量取值不同的情况下,输出变量的取值情况。
条件表的函数表达式定义如下所示:
ρi={(mj,cj,k,vk)∈Mμ(i)×Ci×VR(Vi)}
其中,k=1,2,…,n;j=1,2…,n。mj是编号为j的模式,cj,k是单个条件,vk是cj,k对应的值,Mμ(i)是条件函数对应的模式类,Ci是编号为i的条件,VR(Vi)是Vi可能取值的集合。
函数ρi必须满足以下属性:
(1)需满足VRM基本范式。
(3)需满足第二范式:
●条件一致性:当变量mj确定的情况下,对于不同的条件Ci,需满足ci,j∧ci,k=false;(对于任意的i,k!=j)当模式mj和条件ci,j相同时,则对应的输出变量必须唯一。
●条件完整性:对于表格中mi确定的情况下,其对应的条件Ci的所有取值情况ci,j都包含在表格内。即对于任意的i,则ci,1∨ci,2∨……ci,n=true。即固定模式下条件c的析取表达式为真。
(4)需满足第四范式:
具体实施的伪代码如图6所示:
2、事件表定义
事件表用来描述状态变量(SV)的值与模式M、事件E之间的函数关系:在不同的模式和不同事件下,输入变量取值不同的情况下,输出变量的取值情况。事件表的函数表达式定义如下所示:
σi={(mj,ej,k,vk)∈Mμ(i)×Ei×VR(Vi)}
其中,k=1,2,…,n;j=1,2…,n。mj是编号为j的模式,ej,k是单个事件,vk是ej,k对应的值,Mμ(i)是事件函数对应的模式类,Ei是编号为i的事件,VR(Vi)是Vi可能取值的集合。
函数σi必须满足以下属性:
(1)需满足VRM基本范式。
(2)需满足第一范式:即对于指定的模式mj,VR(mj)为该模式所有的取值范围,mj的任意取值组合情况都包含在表格中。由于事件表与条件表有所不同,它存在不发生任何事件的情况,这种情况下会导致表中缺少部分不发生状态转换的模式,因此其完整性需要依靠状态不变性保证,即
(3)需满足第三范式:当变量mj确定的情况下,对于不同的条件Ei,需满足ei,j∧ei,k=false;(对于任意的i,k!=j)当模式mj和条件ei,j相同时,则对应的输出变量必须唯一。
图7是对事件表实施一致性完整性分析的伪代码。
在本公开中参照附图来描述本发明的各方面,附图中示出了许多说明的实施例。本公开的实施例不必定义在包括本发明的所有方面。应当理解,上面介绍的多种构思和实施例,以及下面更加详细地描述的那些构思和实施方式可以以很多方式中任意一种来实施,这是因为本发明所公开的构思和实施例并不限于任何实施方式。另外,本发明公开的一些方面可以单独使用,或者与本发明公开的其他方面的任何适当组合来使用。
虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明。本发明所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视权利要求书所界定者为准。
Claims (7)
1.一种VRM形式化需求模型的生成和分析方法,其特征在于,所述方法包括:
S1:将需求模型构建为有限状态自动机系统,并生成对应的VRM规范集合,所述VRM规范集合用于描述构成规范的输入和输出变量、条件函数、事件函数和其他构造以便使前述有限状态自动机系统具有自动机特点;
S2:引入中间变量,将有限状态自动机系统进行分层,并定义了各变量之间的拓扑排序结构以及依赖关系;
S3:将所述有限状态自动机系统运用在安全关键性系统进行需求描述和分析;
所述方法还包括:
S4:分别定义VRM基本范式、第一范式、第二范式、第三范式、第四范式,结合前述多个范式对生成的VRM规范集合进行分析,以检测其中是否存在错误,其中:
采用VRM基本范式以检测生成的VRM规范集合中是否存在语法错误、句法错误、语义错误;
采用第一范式以检测输入变量是否具备完整性;
采用第二范式以检测条件函数具备一致性和完整性,消除条件表中需求的歧义;
采用第三范式以检测事件函数具备一致性和完整性,消除事件表中需求的歧义;
采用第四范式以检测输出变量是否具备完整性;
所述条件函数的表达式定义如下:
ρi={(mj,cj,k,vk)∈Mμ(i)×Ci×VR(Vi)}
式中,k=1,2,…,n,j=1,2…,n,mj是编号为j的模式,cj,k是单个条件,vk是cj,k对应的值,Mμ(i)是条件函数对应的模式类,Ci是编号为i的条件,VR(Vi)是Vi可能取值的集合;
其中,条件函数ρi满足以下属性:
(1)满足VRM基本范式:
(2)满足第二范式:
(2.1)条件一致性:当变量mj确定的情况下,对于不同的条件Ci,满足ci,j∧ci,k=false;对于任意的i,k!=j,当模式mj和条件ci,j相同时,则对应的输出变量唯一;
(2.2)条件完整性:对于表格中mi确定的情况下,其对应的条件Ci的所有取值情况ci,j都包含在表格内;对于任意的i,则ci,1∨ci,2∨……ci,n=true,即固定模式下条件c的析取表达式为真;
(3)满足第四范式:
2.根据权利要求1所述的VRM形式化需求模型的生成和分析方法,其特征在于,所述VRM规范集合包括变量字典、类型字典、常量字典、表格函数、假设字典;
所述变量字典是所有变量的集合,所述变量包括监督变量、受控变量、模式类和中间变量;
所述类型字典包含所有用户自定义的类型集;
所述常量字典用于集合所有用户定义的常量;
所述假设字典用于描述对系统行为的假设,定义了监视变量和受控变量的可能值;
所述表格函数用于定义描述所有变量及其相互之间关系的表格。
3.根据权利要求2所述的VRM形式化需求模型的生成和分析方法,其特征在于,所述模式类是N个非空的成对不相交集合的并集,模式类的每个成员被定义成模式,每种模式均为系统状态的等价类,用于指定所需的系统行为。
4.根据权利要求1所述的VRM形式化需求模型的生成和分析方法,其特征在于,所述定义了各变量之间的拓扑排序结构以及依赖关系的过程包括以下步骤:
对于监督变量:每个监督变量独立于任何其他变量,包括其他监督变量;
对于模式:模式可以依赖于拓扑排序集中位于它前面的监督变量、同一模式类的其他模式、以及中间变量;
对于中间变量:中间变量依赖于拓扑排序集中位于它前面的监督变量、模式类、以及其他中间变量;
对于受控变量,受控变量依赖于拓扑排序集中位于它前面的监督变量、模式类、中间变量以及其他受控变量。
5.根据权利要求1所述的VRM形式化需求模型的生成和分析方法,其特征在于,所述事件函数的表达式定义如下:
σi={(mj,ej,k,vk)∈Mμ(i)×Ei×VR(Vi)}
式中,k=1,2,…,n;j=1,2…,n,mj是编号为j的模式,ej,k是单个事件,vk是ej,k对应的值,Mμ(i)是事件函数对应的模式类,Ei是编号为i的事件,VR(Vi)是Vi可能取值的集合;
其中,事件函数σi满足以下属性:
(1)满足VRM基本范式;
(3)满足第三范式:当变量mj确定的情况下,对于不同的条件Ei,满足ei,j∧ei,k=false;对于任意的i,k!=j,当模式mj和条件ei,j相同时,则对应的输出变量必须唯一。
6.根据权利要求2所述的VRM形式化需求模型的生成和分析方法,其特征在于,所述方法还包括:
S5:对有限状态自动机系统中定义的状态变量进行存储;
所述存储过程包括以下步骤:
S51:定义两个数据结构:哈希表varmap和modemap,其中varmap细分为inputvarmap,outputvarmap;
S52:将事先定义好的BNF范式作为处理变量时的输入,并使用ANTLR的内置运行库对定义好的BNF范式进行解析,得到语法树;
S53:遍历语法树得到各个语句块的入口地址,确定变量所在的语句块;
通过调用语法树,进入语法树变量所在的语句块;
对用户定义的每个变量进行遍历,如果该变量不存在,则将该变量存储到对应的哈希表中,若存在,则更新其值:update(variable.val)。
7.根据权利要求6所述的VRM形式化需求模型的生成和分析方法,其特征在于,所述对用户定义的每个变量进行遍历包括:
S531:准备工作:遍历语法树,定义存储变量的哈希表;
S532:遍历一般变量:在访问器中访问变量,提取变量,若已存在该变量,则更新值,若不存在,则将该变量及其值存入哈希表,同时,遍历类型语句块,将该变量类型存入类型哈希表;
S533:遍历模式类:在访问器中访问变量,提取模式,若已存在该模式,则退出,若不存在,则将该模式及其值存入哈希表,同时,遍历类型语句块,将该变量类型存入类型哈希表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911363747.2A CN111176614B (zh) | 2019-12-26 | 2019-12-26 | Vrm形式化需求模型的生成和分析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911363747.2A CN111176614B (zh) | 2019-12-26 | 2019-12-26 | Vrm形式化需求模型的生成和分析方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111176614A CN111176614A (zh) | 2020-05-19 |
CN111176614B true CN111176614B (zh) | 2021-06-29 |
Family
ID=70646343
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911363747.2A Active CN111176614B (zh) | 2019-12-26 | 2019-12-26 | Vrm形式化需求模型的生成和分析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111176614B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111984229B (zh) * | 2020-07-24 | 2022-02-01 | 南京航空航天大学 | 面向领域自然语言需求的形式化需求模型生成方法 |
CN114372471B (zh) * | 2020-10-15 | 2024-09-17 | 苏州超块链信息科技有限公司 | 一种基于公共谓词逻辑的语义固化和派生方法 |
CN113901671A (zh) * | 2021-10-26 | 2022-01-07 | 东北大学秦皇岛分校 | 一种基于需求上界函数的任务自动机可调度性分析方法 |
CN114741052B (zh) * | 2022-04-21 | 2024-04-12 | 中国航空无线电电子研究所 | 一种面向需求表格模型的形式化语义分析与检查方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101986318A (zh) * | 2010-11-26 | 2011-03-16 | 南京航空航天大学 | 飞行控制系统概念样机设计方法 |
CN104573182A (zh) * | 2014-12-09 | 2015-04-29 | 南京航空航天大学 | 一种用于飞行器多模态控制系统的设计方法 |
CA2933217A1 (en) * | 2015-06-17 | 2016-12-17 | General Electric Company | Scalable methods for analyzing formalized requirements and localizing errors |
CN106598566A (zh) * | 2016-11-03 | 2017-04-26 | 南京航空航天大学 | 一种面向航电系统的基于需求的形式化建模与验证方法 |
CN108196827A (zh) * | 2017-12-08 | 2018-06-22 | 南京航空航天大学 | 非形式化需求规约模板到形式化设计模型的自动转换方法 |
CN108897676A (zh) * | 2018-06-06 | 2018-11-27 | 中国人民解放军海军工程大学 | 基于形式化规则的飞行引导控制软件可靠性分析系统与方法 |
CN109918049A (zh) * | 2019-01-12 | 2019-06-21 | 西北工业大学 | 基于形式化验证的软件开发模型的验证方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8595119B2 (en) * | 2008-02-15 | 2013-11-26 | New York Mercantile Exchange, Inc. | Symbolic language for trade matching |
JP6663873B2 (ja) * | 2017-02-22 | 2020-03-13 | 株式会社日立製作所 | プログラム自動生成システム及びプログラム自動生成方法 |
CN109976712A (zh) * | 2019-03-12 | 2019-07-05 | 中山大学 | 一种基于uppaal-smc对网络物理系统需求做形式化验证方法 |
-
2019
- 2019-12-26 CN CN201911363747.2A patent/CN111176614B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101986318A (zh) * | 2010-11-26 | 2011-03-16 | 南京航空航天大学 | 飞行控制系统概念样机设计方法 |
CN104573182A (zh) * | 2014-12-09 | 2015-04-29 | 南京航空航天大学 | 一种用于飞行器多模态控制系统的设计方法 |
CA2933217A1 (en) * | 2015-06-17 | 2016-12-17 | General Electric Company | Scalable methods for analyzing formalized requirements and localizing errors |
CN106598566A (zh) * | 2016-11-03 | 2017-04-26 | 南京航空航天大学 | 一种面向航电系统的基于需求的形式化建模与验证方法 |
CN108196827A (zh) * | 2017-12-08 | 2018-06-22 | 南京航空航天大学 | 非形式化需求规约模板到形式化设计模型的自动转换方法 |
CN108897676A (zh) * | 2018-06-06 | 2018-11-27 | 中国人民解放军海军工程大学 | 基于形式化规则的飞行引导控制软件可靠性分析系统与方法 |
CN109918049A (zh) * | 2019-01-12 | 2019-06-21 | 西北工业大学 | 基于形式化验证的软件开发模型的验证方法 |
Non-Patent Citations (6)
Title |
---|
Modeling and analysis of IMA inter-partition communication safety requirement based on STPA;Yuanyuan Wang; Lisong Wang; Jun Hu; Ying Zhou;《2017 8th IEEE International Conference on Software Engineering and Service Science (ICSESS)》;20180423;全文 * |
Safety analysis and requirements verification of electronic checklist system based on STPA;Ying Zhou; Lisong Wang; Jun Hu; Yuanyuan Wang;《2017 8th IEEE International Conference on Software Engineering and Service Science (ICSESS)》;20180423;全文 * |
VARED: Verification and analysis of requirements and early designs;Julia Badger; David Throop; Charles Claunch;《2014 IEEE 22nd International Requirements Engineering Conference (RE)》;20140929;全文 * |
基于四变量模型的系统安全性建模与分析方法;石娇洁;《中国优秀硕士学位论文全文数据库 工程科技Ⅱ辑》;20170315;全文 * |
基于四变量模型的飞管系统需求建模与分析研究;刘力;《中国优秀硕士学位论文全文数据库 工程科技Ⅱ辑》;20180315;正文13-38页 * |
基于形式化模型的系统安全性分析与验证方法;王明明;《中国优秀硕士学位论文全文数据库 信息科技辑》;20190215;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111176614A (zh) | 2020-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111176614B (zh) | Vrm形式化需求模型的生成和分析方法 | |
Kabir | An overview of fault tree analysis and its application in model based dependability analysis | |
CN103473400B (zh) | 基于层次依赖建模的软件fmea方法 | |
Cugola et al. | Introducing uncertainty in complex event processing: model, implementation, and validation | |
CN112527774A (zh) | 数据中台搭建方法、系统及存储介质 | |
Nuzzo et al. | Stochastic assume-guarantee contracts for cyber-physical system design | |
CN107103363A (zh) | 一种基于lda的软件故障专家系统的构建方法 | |
Burgueño et al. | Formalizing complex event processing systems in Maude | |
Mian et al. | Model transformation for analyzing dependability of AADL model by using HiP-HOPS | |
Zhang et al. | Fog-enabled event processing based on IoT resource models | |
CN117827882B (zh) | 一种基于深度学习的金融数据库sql质量评分方法、系统、设备和可存储介质 | |
Deng et al. | Opacity of fuzzy discrete event systems | |
Ardimento et al. | Temporal Convolutional Networks for Just-in-Time Software Defect Prediction. | |
Ganguly et al. | Runtime verification of partially-synchronous distributed system | |
Berres et al. | Automatic generation of fault trees: A survey on methods and approaches | |
Ruiz et al. | Towards a case-based reasoning approach for safety assurance reuse | |
Delmas et al. | Smt-based synthesis of fault-tolerant architectures | |
Mu et al. | Verifying opacity properties in security systems | |
Hartonas-Garmhausen | Probabilistic Symbolic Model Checking with Engineering Models and Applications | |
CN114741052B (zh) | 一种面向需求表格模型的形式化语义分析与检查方法 | |
Wang et al. | A framework of safety analysis with temporal feature based on MBSA and case study for ACC system | |
AU2021287457B2 (en) | "Log Data Compliance" | |
CN116483705B (zh) | 一种知识与模型驱动的机载软件智能化失效模式分析方法 | |
Tang et al. | Behavioral fault modelling and analysis with BIP: A wheel brake system case study | |
Li et al. | Graphical modeling of system failure behavior and its translating into Altarica |
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 |