当前位置: 首页 > 专利查询>中山大学专利>正文

一种搜索带前缀的边界条件的方法技术

技术编号:30641240 阅读:8 留言:0更新日期:2021-11-04 00:37
本发明专利技术提供一种搜索带前缀的边界条件的方法,该方法针对边界条件表述不合理、可读性不好的问题,首次提出用带前缀的边界条件进行系统冲突检测的描述方法;对于带前缀的边界条件设计了基于局部搜索的搜索算法,能够通过对候选公式进行极小化、随机扰动、abstract和refine等操作搜索到带前缀的边界条件,本发明专利技术在搜索过程中很好地平衡随机性和启发式搜索的优点,加速搜索时间和提升搜索的效果;验证了对于带前缀的边界条件的求解结果具有较好的可读性,可以为需求工程的解决工作提供更好的帮助。的帮助。的帮助。

【技术实现步骤摘要】
一种搜索带前缀的边界条件的方法


[0001]本专利技术涉及形式化需求工程领域,更具体地,涉及一种搜索带前缀的边界条件的方法。

技术介绍

[0002]在软件工程的需求工程领域,现有技术可以通过形式化的方法来描述系统内的领域条件以及需求目标。面向目标的需求工程是软件开发生命周期的一个重要阶段,其重要任务是获得正确的软件需求规范。许多研究已经证明了形式化和面向目标的方法有助于生成正确的规范的显着优势,在这种方法中,领域属性和目标用线性时间时序逻辑(Linear Temporal Logic,LTL)表示,因为LTL被证明可用于抽象一大类需求、假设和领域属性的规范。线性时序逻辑(LTL)是一种模态时序逻辑,模态指的是时间。LTL公式带有时间属性,LTL公式包含命题逻辑中的真、假、与、或、非、蕴含以及一些特殊的时态算子,当存在变量赋值使得LTL公式为真时,那么我们称这条公式具有可满足性,否则是不可满足的。在面向目标的需求工程中,LTL公式可以用来表达需求工程中的领域属性(Domain property)和目标(Goal)两部分。域属性是对当前系统属性描述,目标是系统功能的描述。
[0003]在面向目标的需求工程中,我们着重关注系统会不会出现某种分歧。面向目标的需求工程中的识别

评估

控制循环,旨在识别、评估和解决无法整体满足需求目标的分歧。这里的分歧是一种弱不一致性,即某些目标的满足抑制了其他目标的满足的特殊情况。通俗来说,边界条件就是使得软件系统发生错误的某种场景,也就是目标冲突识别中冲突的定义。现有研究使用边界条件来描述系统中的分歧,解释分歧发生的原因,并且已有研究提出了各种方法(例如使用遗传算法等)来针对面向目标的需求工程提出识别边界条件。
[0004]现有技术对于用LTL来描述边界条件有如下定义:边界条件(Boundary Condition)是指满足域属性但使得目标产生冲突的赋值情况。域属性和目标就是使用LTL进行形式化表示的公式。我们给出边界条件的完整性质定义,对于目标集合Goal={G1,G2,

,G
n
}和领域属性集合Dom,边界条件存在如下性质:
[0005]·
逻辑不一致性:是不可满足的;
[0006]·
极小性:是可满足的;
[0007]·
非平凡性:
[0008](其中G为目标集合Goal中所有目标的合取,即G=G1∧G2∧

∧G
n
;G

i
为目标集合Goal中除第i个元素外其他所有元素的合取,即G

i
=G1∧

∧G
i
‑1∧G
i+1


∧G
n
。)
[0009]现有技术可以通过遗传算法等方法搜索边界条件,存在以下缺点:
[0010](1)搜索得到的边界条件不合理,搜索得到的边界条件可能是两个或多个路径公式的析取(∨),其中单独的路径公式不是边界条件,但是将其析取之后却是边界条件,这不符合对于边界条件的直观理解。例子阐述如下:
[0011]对于RetractionPattern1数据集,用在病人情况监控时,形式化描述如下:
[0012]领域属性为空
[0013]目标条件有两个:
[0014]a)G(Critical

F(Alarm))紧急情况出现则未来时刻将触发警报
[0015]b)G(Alarm

Critical)警报被触发则表示有紧急情况发生
[0016]搜索找到的边界条件有(Critical&G(!Alarm))|F(Alarm&!Critical),其等价于两个路径公式的析取
[0017]Critical&!Alarm&G(!Alarm)出现紧急情况但是永远不会触发警报
[0018]F(Alarm&!Critical)未来某时刻出现无紧急情况但有警报
[0019]两个路径公式自身都不是边界条件(不满足极小性),但是将它们析取得到的是边界条件,满足极小性,这不符合边界条件本身是为了捕获特定冲突情况的初衷。
[0020](2)搜索得到的边界条件用LTL公式特殊算子比较不容易直观理解,在复杂的问题中随着变量的增多,得到的边界条件可读性比较差,在搜索得到的边界条件较多时(例如用遗传算法可在Round Robin Arbiter数据集中搜索得到103个边界条件),增加了工程师下一步的解决系统分歧的工作难度。
[0021](3)已有方法中采用表分解、遗传算法等进行边界条件的搜索,不能将边界条件用路径的方式表达出来,不能够明确系统分歧的状态迁移过程;而基于模板的求解方法限制了边界条件的求解,使得求解的范围有限。

技术实现思路

[0022]本专利技术提供一种搜索带前缀的边界条件的方法,该方法能够有效求解得到带前缀的边界条件。
[0023]为了达到上述技术效果,本专利技术的技术方案如下:
[0024]一种搜索带前缀的边界条件的方法,包括以下步骤:
[0025]S1:定义带前缀的边界条件;
[0026]S2:从领域属性Dom和目标条件Goal中提取变量集合V;
[0027]S3:初始化候选解C,设定初始解路径长度为L;
[0028]S4:从初始解C出发局部搜索带前缀的边界条件P,设定搜索边界条件最大步数为S;
[0029]S5:在设定的搜索时间内,重复步骤S3

S4,返回得到的带前缀的边界条件P。
[0030]进一步地,所述步骤S1的具体过程是:
[0031]F(S)表示S在未来某一时刻为真,G(S)表示S在未来任一时刻都为真;
[0032]定义1:形如F(s1∧G(s2|s3|

|s
m
))的LTL公式称为带环公式,其中s
i
为公式的项或者True或者False;
[0033]定义2带前缀的边界条件满足边界条件的三个条件:逻辑不一致性、极小性、非平凡性,且满足F(s1&L)形式,其中L为带环公式,s1为LTL公式中的项:
[0034]F(p∧r)
[0035]F(p∧G(!q|!p))
[0036]由定义可知,带前缀的BC能够直观表示出路边界条件的路径迁移状态,比任意的LTL公式更具有可读性。
[0037]进一步地,所述步骤S2中,从领域属性Dom和目标条件Goal中提取公式中出现的变量集合,提取出的变量集合可以用来生成带前缀的边界条件初始的候选解。
[0038]进一步地,所述步骤S3中,完全随机生成形如F(u&G(m))的候选解,其中u为路径公式,u本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种搜索带前缀的边界条件的方法,其特征在于,包括以下步骤:S1:定义带前缀的边界条件;S2:从领域属性Dom和目标条件Goal中提取变量集合V;S3:初始化候选解C,设定初始解路径长度为L;S4:从初始解C出发局部搜索带前缀的边界条件P,设定搜索边界条件最大步数为S;S5:在设定的搜索时间内,重复步骤S3

S4,返回得到的带前缀的边界条件P。2.根据权利要求1所述的搜索带前缀的边界条件的方法,其特征在于,所述步骤S1的具体过程是:F(S)表示S在未来某一时刻为真,G(S)表示S在未来任一时刻都为真;定义1:形如F(s1∧G(s2|s3|

|s
m
))的LTL公式称为带环公式,其中s
i
为公式的项或者True或者False;定义2带前缀的边界条件满足边界条件的三个条件:逻辑不一致性、极小性、非平凡性,且满足F(s1&L)形式,其中L为带环公式,s1为LTL公式中的项:F(p∧r)F(p∧G(!q|!p))由定义可知,带前缀的BC能够直观表示出路边界条件的路径迁移状态,比任意的LTL公式更具有可读性。3.根据权利要求2所述的搜索带前缀的边界条件的方法,其特征在于,所述步骤S2中,从领域属性Dom和目标条件Goal中提取公式中出现的变量集合,提取出的变量集合可以用来生成带前缀的边界条件初始的候选解。4.根据权利要求3所述的搜索带前缀的边界条件的方法,其特征在于,所述步骤S3中,完全随机生成形如F(u&G(m))的候选解,其中u为路径公式,u
i
为路径上第i个状态,路径长度为L,m为环内公式。5.根据权利要求4所述的搜索带前缀的边界条件的方法,其特征在于,所述步骤S...

【专利技术属性】
技术研发人员:万海杨滨好罗炜麟曾娟
申请(专利权)人:中山大学
类型:发明
国别省市:

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

1