一种基于嵌入式控制软件需求模型的量纲分析方法技术

技术编号:34255130 阅读:39 留言:0更新日期:2022-07-24 12:29
本发明专利技术公开了一种基于嵌入式控制软件需求模型的量纲分析方法,包括如下步骤:步骤一、建立形式化需求文档,对文档需求进行分析,抽取关键信息构建抽象语法树;步骤二、基于步骤一中构建获得的抽象语法树生成需求模型;步骤三、建立与需求模型相匹配的量纲系统;步骤四、针对步骤二中生成的需求模型利用步骤三建立的量纲系统进行量纲分析。本发明专利技术所述的量纲分析方法能够消除因自然语言的模糊性和二义性等问题产生的歧义问题,并在其基础上进行需求模型的量纲分析来提高需求工程师所关心的功能计算问题,从而使得需求工程师更准确更快速的进行需求的分析验证。的进行需求的分析验证。的进行需求的分析验证。

A dimensional analysis method based on embedded control software requirement model

【技术实现步骤摘要】
一种基于嵌入式控制软件需求模型的量纲分析方法


[0001]本专利技术属于需求建模
,涉及一种基于嵌入式控制软件需求模型的量纲分析方法。

技术介绍

[0002]量纲检查是一种保障系统需求正确性的有效方法。在工业界中,嵌入式控制软件其功能是否正确、安全直接关系到人们的生命与财产安全。系统需求作为软件工程生命周期的起始点,其正确与否直接影响了最终软件的正确性。因此,从源头上保障开发流程的正确性是至关重要的。量纲分析作为需求确认中的一个重要手段,其可以检查出因量纲定义错误而产生的潜在缺陷,减少因量纲使用不当所造成的错误。
[0003]嵌入式控制软件广泛应用于现代轨道交通、航空和航天系统等安全攸关系统。以轨道交通的自动驾驶系统为例,其控制行为的安全性和可靠性等都依赖于自身的嵌入式控制软件。正是因为如此,如何确保嵌入式控制软件的正确性就显得尤为重要。对于控制软件而言,使用自然语言书写的需求文档难以进行量纲检查,因为在系统需求的实际撰写往往都是分模块化的多人一起完成的,在撰写需求时为了保障需求的一致性,往往采用自然语言进行系统需求的撰写,以方便不同需求工程师之间的沟通及需求文档的版本迭代。然而每个人对于系统中各个变量的物理含义的理解不尽相同,这就造成了在系统需求中人为的添加了一些量纲错误。因此,为了对系统需求进行量纲检查,使用领域专用的需求描述语言精确化地描述系统需求是不可缺少的一步。
[0004]因此,在工业界合作过程中,量纲问题的难点在于:1)控制系统中调用了大量的具有实际物理含义的计算公式,牵扯到了很多不同的量纲;2)控制系统中变量之间的互相调用非常的普遍,并且交互关系错综复杂,使得人工检查量纲的工作量陡增;3)需求工程师撰写需求之时难以保证其理解的量纲与实际存在的量纲的一致性。

技术实现思路

[0005]为了解决现有技术存在的不足,本专利技术以嵌入式控制领域入手,提出了一种嵌入式控制软件系统需求的量纲检查方法,具体内容包括:1)以形式化需求撰写语言为基础,建立系统需求模型;2)构建了领域适用的量纲系统,用于描述需求中所对应的物理系统;3)提出了一种领域专用的量纲分析方法,辅助需求工程师进行需求撰写与审查;4)将量纲分析方法结合上需求模型应用在嵌入式控制软件的需求中。
[0006]本专利技术提出了一种基于嵌入式控制软件需求模型的量纲分析方法,在嵌入式控制软件的开发过程中往往涉及大量的计算问题,计算过程中变量之间的单位是否正确转换,这些看似是小问题但在真实的系统运行中十分重要。而量纲检查是一种保障嵌入式控制系统需求正确性的有效方法,虽然量纲的正确性并不能保障系统需求是正确的,但是经过实践发现通过量纲检查可以发现系统中本身所存在的很多缺陷。
[0007]本专利技术提出了一种基于嵌入式控制软件需求模型的量纲分析方法,包括如下步
骤:
[0008]步骤一、建立形式化需求文档,对文档需求进行分析,抽取关键信息构建抽象语法树;
[0009]步骤二、基于步骤一中构建获得的抽象语法树生成需求模型;
[0010]步骤三、建立与需求模型相匹配的量纲系统;
[0011]步骤四、针对步骤二中生成的需求模型利用步骤三建立的量纲系统进行量纲分析。
[0012]步骤一中,本专利技术调用开源语法分析器Antlr来读取已定义好的语法规范,根据语法和词法规则自动生成语法分析器Parser和词法分析器Lexer。之后使用这两个分析器分析形式化需求主体部分,需求主体部分是指将形式化需求中的没有严格按照需求模板描述的自然语言这部分(需求模板见图3)非形式化内容全部过滤去除,得到由纯形式化语言描述的需求。然后按照定义的语法结构抽取所述需求文档的信息,构建出抽象语法树。在读取需求文档时,若某条需求违背了定义好的语法规范,便不能构建出抽象语法树,并将存在的语法错误给予标注,以便工程师对需求进行修改,修改完成后重新构建抽象语法树。
[0013]在建立形式化需求文档时,需要将需求文档输入到形式化模块中,所述需求文档包括需求编号、自然语言描述及形式化描述;所述形式化模块进一步包括数据字典模块、逻辑控制模块;
[0014]所述数字字典模块包含了整个需求文档中被定义的变量,存储了变量名、变量注释、变量类型、量纲等信息;所述数字字典模块通过存储变量相关数据信息,便于为后续量纲分析提供变量信息。
[0015]所述逻辑控制模块包含了整个需求文档中被定义的计算逻辑,存储了前置条件、计算逻辑以及后置条件;所述逻辑控制模块通过存储变量计算逻辑相关信息,便于为后续量纲分析提供计算过程。所述前置条件是用于约束执行该条需求的基本要求,所述计算逻辑表示该条需求所应该执行的计算过程,所述后置条件表示该需求执行完毕之后所需要满足的必要条件。
[0016]步骤二中,对抽象语法树构建需求模型的过程是按逐级递归的方式对抽象语法树进行遍历;若遍历结束,则采用由顶至下,由低至上生成的方式实现需求模型的构建。
[0017]以本专利技术图4抽象语法树为例,构建步骤如下:(1)判断该抽象语法树的根节点,该根节点为if,生成对应的ChoiceStmt模型,其中ChoiceStmt模型包括Condition,TrueBlock,FalseBlock三个属性。
[0018](2)if节点下面有三个子树,分别用左一子树、左二子树、左三子树表示。
[0019]将左一子树作为输入参数调用构建算法,得到的模型作为将返回给Condition属性。同理可知,TrueBlock为左二子树调用构建算法返回的模型,FalseBlock需要一次特殊处理,左三子树的根节点为Else,若节点为Else类型则直接将去掉Else节点的左三子树作为输入参数调用构建算法算法,并将得到的模型返回于FalseBlock。
[0020](3)根节点类型为>





类型的子树对应生成SimpleStmt模型,其中只包含一个表达式,根节点为

>'的子树生成PolymericExpr模型,操作符Operator的值为

>',操作数Operands的值为B和C。同理,中间的根节点为



的子树生成PolymericExpr模型,Operands的值为A和B。右侧的根节点为



的子树则同样生成PolymericExpr模型,
Operands的值为A和C。
[0021](4)运算至子树根节点为叶子节点时,算法结束,之后由底至上返回构建结果。
[0022]物理学中,将一个物理导出量用若干个基本单位的乘方之积表示出来的表达式,称为该物理量的量纲。
[0023]针对上述秒速过程中分布内容做补充说明:
[0024]ChoiceStmt(分支语句):属于解析后需求模型中分支语句,等价于其他通用编程语言的if语句。<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于嵌入式控制软件需求模型的量纲分析方法,其特征在于,包括如下步骤:步骤一、建立形式化需求文档,对文档需求进行分析,抽取关键信息构建抽象语法树;步骤二、基于步骤一中构建获得的抽象语法树生成需求模型;步骤三、建立与需求模型相匹配的量纲系统;步骤四、针对步骤二中生成的需求模型利用步骤三建立的量纲系统进行量纲分析。2.如权利要求1所述的量纲分析方法,其特征在于,步骤一中,调用开源语法分析器Antlr读取已定义好的语法规范,并根据语法和词法规则自动生成语法分析器Parser和词法分析器Lexer,使用所述语法分析器和词法分析器分析形式化需求主体部分。3.如权利要求2所述的量纲分析方法,其特征在于,所述形式化需求主体部分是指将形式化需求中的非形式化内容全部过滤去除,得到由纯形式化语言描述的需求;所述非形式化内容包括没有严格按照需求模板描述的自然语言部分。4.如权利要求1所述的量纲分析方法,其特征在于,读取分析完成的需求文档,然后按照定义的语法结构抽取包括工作流程下的规范语言描述部分所描述的所述需求文档的信息,构建出抽象语法树;在读取需求文档时,若某条需求违背了定义好的语法规范,则无法构建抽象语法树,将存在的语法错误给予标注,在对需求进行修改后重新构建抽象语法树。5.如权利要求1所述的量纲分析方法,其特征在于,步骤一中,在建立形式化需求文档时,需要将需求文档输入到形式化模块中,所述需求文档包括需求编号、自然语言描述以及形式化描述;所述形式化模块进一步包括数据字典模块、逻辑控制模块。6.如权利要求5所述的量纲分析方法,其特征在于,所述数字字典模块包含了整个需求文档中被定义的变量,存储了变量名、变量注释、变量类型、量纲信息;...

【专利技术属性】
技术研发人员:蒲戈光缪炜恺冯劲草蔡雄郑寒月
申请(专利权)人:华东师范大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1