基于UPPAAL的无人机系统安全性形式化建模验证方法与流程

文档序号:29572513发布日期:2022-04-09 04:21阅读:438来源:国知局
基于UPPAAL的无人机系统安全性形式化建模验证方法与流程
基于uppaal的无人机系统安全性形式化建模验证方法
技术领域
1.本发明属于无人机领域,涉及一种基于uppaal的无人机系统安全性形式化建模验证方法。


背景技术:

2.随着航空工业的快速发展,航空运输已经成为了至关重要的一种运输方式,以无人机为核心的运输方式的应用也随之愈发广泛。伴随着无人机产业的发展,无人机已经从简单的、分离的单个飞行物本身发展成了一个成体系的、复杂的系统(unmanned aerialsystem,uas)。
3.近年来,城市空中交通系统(urban air mobility,uam)概念的提出,引发了业界的广泛讨论和研究。在uam系统中,无人机末端配送,是现在最接近成为现实的uas场景。但这无疑将会产生新的系统层面的安全问题,例如,在城市的狭窄航道环境下,不同无人机之间如何避免碰撞,无人机如何确保在续航允许的范围内安全完成任务等。因此,为了保证无人驾驶航空器系统的安全,就需要对具体的uas应用场景建立可研究的模型,并对其进行安全性验证。
4.现有的uas安全性验证方法中,采用软件验证的方法较多。研究者们采用类似airsim等空域建模工具,建立起要研究的uas场景,在其中验证无人机在任务流程中能否确保安全。但这类空域建模仿真验证的方法也存在一些不足:
5.(1)对于复杂的任务场景,无人机的飞行路径可能有多个分支,对每个无人机进行路径设置较为繁琐。
6.(2)对于包含多架无人机的uas,不同无人机之间将因为路径选择的不同而相互影响,这类影响往往具有随机性。依靠空域建模仿真遍历所有可能的影响较为困难,且难以证明是否已经完全遍历。
7.总之,目前的uas安全性验证方法受到模型建立繁琐、可验证的情况较少等限制,由此也导致了验证结果的不确定性问题。在实际场景中当某些特定情况出现时,验证结果可能会失效,无法完全保证系统的安全性。


技术实现要素:

8.针对当前无人机系统安全性验证方法存在的问题,本发明提出一种基于uppaal的无人机系统安全性形式化建模验证方法。
9.所提出的形式化建模验证方法包含两步骤,分别是算法推理验证和仿真建模验证,这两大步骤均采用形式化验证的思想,以待验证的无人机系统的系统规格和安全要求等性质作为基础,通过逻辑推理的方式判断当无人机系统中的各个无人机均满足既定的系统规格时,是否会产生违反安全要求的情况,以此验证无人机系统的安全性。其中,算法推理验证通过数学方法对待验证的无人机系统的性质进行逻辑推演,初步判断其是否存在安全性问题,为仿真建模验证提供理论依据;仿真建模验证则在算法推理验证的基础上,利用
uppaal工具对待验证的系统进行建模与仿真,进一步模拟系统运行中的状态,并最终得出待验证的无人机系统安全性要求是否被满足的结论,同时,若无人机系统的安全性要求不被满足,可以输出造成安全性不被满足的具体状态,供研究人员做针对性调整。
10.下面分别对两大步骤进行说明:
11.所述的算法推理验证采用的关键算法是基于lrtl的无人机安全性形式化验证算法,该算法具有如下子步骤:
12.步骤(1):提取出具体系统的sp和sa,将其写作时间约束不等式的形式。
13.系统行为规范(sp)主要包含了任务场景本身的要求,例如无人机的运动路径、依据到达节点的不同而执行不同的操作等;安全要求(sa)代表与无人机安全相关的要求,例如任意两架无人机不能相距过近、无人机从起点到达终点的时间不能超过最长续航时间的限制等。对于一个具体的场景,sp往往可以直接由任务本身的流程得出,而sa则需要依靠验证人员根据具体情况进行确定和提炼,例如,对于时间要求比较宽松的任务中,sa可以仅仅要求无人机的续航时长在其能量允许的范围内;而对于时间要求比较紧迫的任务,sa则应当在其能量允许的最长续航时间范围内,进一步加入任务本身对执行时长的要求。
14.进一步地,在将sp及sa提炼出来后,需要将其改写为命题形式,以适应形式化验证的要求。同时,这些命题应当分别具有自身的数学表达式,这是能够对系统安全性进行验证的基础。数学表达式可以根据任务的性质及要求进行变动,例如,在一个uam的无人机末端配送场景中,可以通过无人机到达不同节点的时间组成的时间约束不等式,对无人机的运行路径及运行时长进行描述。
15.步骤(2):根据sp和sa,建立命题
16.形式化验证的基本思路是用逻辑推理方法,由条件推出结论。当其用于对无人机系统进行验证时,即是验证无人机系统的sp成立能否推导出sa成立,写作命题则是sp

sa。而所述的基于lrtl的无人机安全性形式化验证算法采用了反证法的思路,因此取sp

sa的否定,即通过验证命题f不成立,从而证明sp

sa可以成立,即无人机系统的安全性符合要求。
17.步骤(3):将f转化为合取范式f
cnf

18.为适应算法中后续推导过程的要求,需要将f转化为合取范式,即,由谓词公式及谓词公式的析取所合取形成的公式。
19.步骤(4):分别提取出合取范式中的正子句f
pos
及负子句f
neg
,构造子句集合pf=f
pos
∪f
neg

20.将得到的f
cnf
中的所有子句视为正子句,以f
pos
表示,留待后续使用。为了引入负子句从而构成相反文字以便使用归结原理,需要进一步寻找无法同时成立的子句集合作为负子句f
neg
。由于sp及sa均已写作时间约束不等式的形式,因此f
cnf
也代表了若干个时间约束不等式组成的不等式组,可以简写为矩阵不等式ax≤b,对于该不等式,只需证明若存在一个行向量λ,同时满足aa=0及ab<0,并确保各不等式代表的物理意义被满足,即可证明ax≤b所包含的不等式不可同时成立。对该步骤的证明为:若存在满足上述两个条件的行向量λ,对ax≤b两边同时左乘行向量λ可得到0≤λb<0,显然这些不等式不可同时成立。
21.步骤(5):利用归结原理对pf进行归结,以证明sp

sa成立。
22.该步骤利用归结法验证pf是否可以满足,具体操作为:对于pf中包含相反文字的
子句,将相反文字消去,剩余部分进行析取得到新的子句,将该子句添加进pf中。重复上述归结操作,观察最后是否可以归结出空子句,若可以归结出空子句,证明pf不可满足,由于pf=f
pos
∪f
neg
,该结果实际上证明了不可满足,从而得到sp

sa可满足,即整个系统的安全性符合要求。
23.所述的仿真建模验证,采用的系统安全性验证方法同样基于形式化验证的理论,需要提炼出uas具体场景中每个无人机应当遵循的系统行为规范(sp),以及必须满足的安全要求(sa)。利用实时系统验证工具uppaal对该场景进行建模,并利用uppaal的验证器验证“通过sp命题的成立,是否可以确定sa命题的成立”。若sp命题的成立一定可以推理出sa命题的成立,则证明该系统中的无人机只需要严格遵循系统的行为规范,即可确保自身的安全,证明了系统自身的安全性以及任务的合理性。否则,证明无人机即使严格遵循了系统行为规范,却仍然无法保证自身的安全,即,系统自身的设计有一定安全性方面的缺陷,需要对任务要求、场景等因素进行调整,以确保系统中无人机的安全。
24.仿真建模验证采用的系统安全性验证方法具体包含如下子步骤:
25.步骤(1):根据任务场景,确定系统的sp及sa。
26.与算法推理验证相同,仿真建模验证同样需要分析任务场景,得到sp和sa作为后续验证的基础。
27.步骤(2):根据飞行器性能,设置系统指标。
28.在完成了提炼sp和sa,并将其以数学表达式描述之后,需要进一步将其参数实例化,以便进行实际场景的验证。参数实例化需要依靠选用的飞行器性能进行确定,例如,对于时间约束不等式,需要参考执行任务的无人机能够支持的最长续航时长,或利用任务中计划的巡航速度及无人机本身支持的最远飞行距离等参数推算出续航时间要求,以确保所构建、验证的场景具有实际意义。
29.步骤(3):利用uppaal建立系统中无人机在节点间的位置转移模型。
30.完成了建立sp和sa的数学表达式之后,可以开始利用uppaal对无人机运行场景进行建模。在建模时,首先依照任务要求,对无人机所在的空域进行规划,在空域中的关键位置处设置节点,这些节点将作为无人机在整个任务执行流程中的观测点。
31.其次,需要依据建立的节点,设置无人机的转移规则。转移规则应当包含无人机运行时的所有可能的路径,且不考虑对各路径选取的随机性的影响,例如,在路径分支处,无人机选择不同路径的概率可能有所不同,但在建模时应当忽略这类概率,将所有可以实现的路径全部加入模型中,由此才可以确保验证结果考虑了当前任务场景中的全部情形,没有遗漏小概率情形下可能发生的风险。
32.步骤(4):利用uppaal建立系统中各个节点自身的状态转换模型。
33.在实际场景中,为了保证无人机的安全,需要对节点自身加入状态转换规则。例如,为避免系统中的不同无人机相距过近而导致的撞机事故,可以对某节点设置如下规则:当该节点处存在任意一架无人机时,其相邻节点处的无人机不能移动至当前节点,直至当前节点的无人机抵达下一节点、当前节点的状态为空时,相邻节点的无人机方可移动至该节点。当场景本身较为复杂、节点数量及路径分支较多时,多个节点之间的状态可能会相互影响。
34.至此,对于实际场景,步骤(3)从无人机视角为无人机行为加入了约束,规范了其
运动路径及对运行时长等指标的要求;步骤(4)从节点视角,通过定义节点自身的状态转换规则,实际上为无人机的位置转移加入了进一步的约束,以保证其安全。这两步将sp命题完整地纳入了系统模型中。
35.步骤(5):对系统进行验证,检验sp是否必然满足sa。
36.通过命题验证功能对安全要求进行验证,将sa以规定的语法格式写入uppaal的验证器中,通过建立的模型验证sa命题是否成立。若验证结果为成立,则证明系统设计符合安全性要求;若验证结果为不成立,则证明系统设计有一定缺陷,将导致系统中的无人机安全性无法保证,需要调整任务或对系统进行修改。
附图说明
37.图1为本发明基于uppaal的无人机系统安全性形式化建模验证方法总流程图;
38.图2为本发明算法推理验证采用的形式化验证算法流程图;
39.图3为本发明仿真建模验证采用的系统安全性验证方法流程图;
40.图4为本发明无人机单次位置转移模型与相应的节点状态转换模型示意图;
41.图5为实施例完整系统中无人机位置转移模型与节点状态转换模型示意图;
42.图6a为实施例中三架无人机当前所处的位置之一;
43.图6b为实施例中三架无人机当前所处的位置之二;
44.图6c为实施例中三架无人机当前所处的位置之三;
45.图6d表示系统中各节点当前的状态转换情况;
46.图7为实施例uppaal验证器对示例系统sa性质的验证结果。
具体实施方式
47.下面将结合附图对本发明作进一步的详细说明。
48.本发明提出一种基于uppaal的无人机系统安全性形式化建模验证方法,如图1所示,所提出的形式化建模验证方法包含两大步骤,分别是算法推理验证和仿真建模验证,其中,算法推理验证通过数学方法对待验证的无人机系统的性质进行逻辑推演,初步判断其是否存在安全性问题,为仿真建模验证提供理论依据;仿真建模验证则在算法推理验证的基础上,利用uppaal工具对待验证的系统进行建模与仿真,进一步模拟系统运行中的状态,并最终得出待验证的无人机系统安全性要求是否被满足的结论,同时,若无人机系统的安全性要求不被满足,可以输出造成安全性不被满足的具体状态,供研究人员做针对性调整。
49.下面分别对两大步骤进行说明:
50.其一为算法推理验证,该部分的关键算法为基于lrtl的无人机安全性形式化验证算法,通过总结无人机系统的各项运行规则及安全要求,以数学推理的方式验证无人机系统是否满足安全性要求,为后续的仿真建模验证提供理论依据。
51.其二为仿真建模验证,该步骤需要以windows操作系统作为基础,同时选取java作为运行环境,以此为uppaal工具提供必要的支持。该步骤需要在uppaal工具中对所要验证的无人机系统进行建模,具体包含三项任务:界面设计、系统安全性验证方法设计、状态转换仿真及命题验证。其中,界面设计包含无人机位置转移模型、节点状态转换模型。无人机位置转移模型以直观的形式描述具体任务场景中,无人机预定的飞行路线及飞行路线上的
关键节点位置,并规定了无人机在各个节点之间进行位置转移的路线。节点状态转换模型则用以描述每个节点处于被占用或空闲的状态,并规定了在两种状态之间转换的条件,通过每个节点的当前状态设置节点的准入情况,控制无人机做出飞行或原地等待的行为。系统安全性验证方法包括确定无人机位置转移方式、节点状态转换规则,以及最终验证系统安全性的方法。状态转换仿真及命题验证则是基于上述的界面设计和系统安全性验证方法设计,利用uppaal工具的模拟器和验证器,展示出对无人机系统安全性的评估结果。其中,状态转换仿真用以展示具体任务进行过程中的不同时刻,每个无人机所处的位置、飞行时长的统计,以及各个节点的状态;命题验证用以通过所建立的模型,验证输入的命题的是否为真,从而得出系统是否满足安全性要求的结论。
52.所述的算法推理验证采用的关键算法是基于lrtl的无人机安全性形式化验证算法,该算法是一种采用线性实时逻辑(lrtl)对无人机系统的安全性进行形式化验证的算法。形式化方法的基本思想来源于离散数学中的命题逻辑。它的基本思路是将待研究的问题抽象为命题,然后用逻辑推理方法,由条件推出结论。例如在uas应用场景的安全性验证中,每个无人机应当遵循的系统行为规范(specifications,sp)就是条件,结论即为必须满足的安全要求(safety assertions,sa)。线性实时逻辑则是实时逻辑的一种分支,其特征是可以同时描述任意多个事件之间的时间关系,同时推导过程可以直接采用不等式计算来完成,避免了构建图的操作以及使用相应的图搜索算法,效率较高。
53.如图2所示,该算法具有如下步骤:
54.步骤(1):提取出具体系统的sp和sa,将其写作时间约束不等式的形式。
55.系统行为规范(sp)主要包含了任务场景本身的要求,例如无人机的运动路径、依据到达节点的不同而执行不同的操作等;安全要求(sa)代表与无人机安全相关的要求,例如任意两架无人机不能相距过近、无人机从起点到达终点的时间不能超过最长续航时间的限制等。对于一个具体的场景,sp往往可以直接由任务本身的流程得出,而sa则需要依靠验证人员根据具体情况进行确定和提炼,例如,对于时间要求比较宽松的任务中,sa可以仅仅要求无人机的续航时长在其能量允许的范围内;而对于时间要求比较紧迫的任务,sa则应当在其能量允许的最长续航时间范围内,进一步加入任务本身对执行时长的要求。
56.进一步地,在将sp及sa提炼出来后,需要将其改写为命题形式,以适应形式化验证的要求。同时,这些命题应当分别具有自身的数学表达式,这是能够对系统安全性进行验证的基础。数学表达式可以根据任务的性质及要求进行变动,例如,在一个uam的无人机末端配送场景中,可以通过无人机到达不同节点的时间组成的时间约束不等式,对无人机的运行路径及运行时长进行描述。
57.例如,对于无人机a,其第x次抵达节点1的时间可以记作t
a1
(x),同理,其第x次抵达节点2的时间可以记作t
a2
(x),由此,若规定无人机a在抵达节点1后,下一步应当移动至节点2,可以用不等式(1)来表示。
[0058][0059]
同时,假设节点2处产生了两条路径分支,无人机在经过节点2后,可以去向节点3,也可以去向节点4,此时,节点1处的时间约束不等式应当如式(2)所示,该式代表无人机从节点1抵达节点2后,有去向节点3或节点4这两条路径。
[0060][0061]
此外,由于无人机的能量有限,在执行任务过程中的连续飞行时长是有限制的,假设无人机a的起点为节点1,终点为节点2,其最长续航时长为m,则可用式(3)来代表这一类时间约束:
[0062][0063]
最后,sa方面,为了避免两架无人机在任务过程中距离过近而产生碰撞,要求每个节点处同时只能存在一架无人机,即,不同无人机抵达同一节点的时间应该有所限制,例如无人机b必须在无人机a抵达节点1超过时间τ后,才能抵达节点1,则可用式(4)来描述:
[0064][0065]
步骤(2):根据sp和sa,建立命题
[0066]
形式化验证的基本思路是用逻辑推理方法,由条件推出结论。当其用于对无人机系统进行验证时,即是验证无人机系统的sp成立能否推导出sa成立,写作命题则是sp

sa。而所述的基于lrtl的无人机安全性形式化验证算法采用了反证法的思路,因此取sp

sa的否定,即通过验证命题f不成立,从而证明sp

sa可以成立,即无人机系统的安全性符合要求。
[0067]
步骤(3):将f转化为合取范式f
cnf

[0068]
为适应算法中后续推导过程的要求,需要将f转化为合取范式,即,由谓词公式及谓词公式的析取所合取形成的公式。
[0069]
步骤(4):分别提取出合取范式中的正子句f
pos
及负子句f
neg
,构造子句集合pf=f
pos
∪f
neg

[0070]
将得到的f
cnf
中的所有子句视为正子句,以f
pos
表示,留待后续使用。为了引入负子句从而构成相反文字以便使用归结原理,需要进一步寻找无法同时成立的子句集合作为负子句f
neg
。由于sp及sa均已写作时间约束不等式的形式,因此f
cnf
也代表了若干个时间约束不等式组成的不等式组,可以简写为矩阵不等式ax≤b,对于该不等式,只需证明若存在一个行向量λ,同时满足aa=0及λb<0,并确保各不等式代表的物理意义被满足,即可证明ax≤b所包含的不等式不可同时成立。对该步骤的证明为:若存在满足上述两个条件的行向量λ,对ax≤b两边同时左乘行向量λ可得到0≤λb<0,显然这些不等式不可同时成立。
[0071]
步骤(5):利用归结原理对pf进行归结,以证明sp

sa成立。
[0072]
该步骤利用归结法验证pf是否可以满足,具体操作为:对于pf中包含相反文字的子句,将相反文字消去,剩余部分进行析取得到新的子句,将该子句添加进pf中。重复上述归结操作,观察最后是否可以归结出空子句,若可以归结出空子句,证明pf不可满足,由于pf=f
pos
∪f
neg
,该结果实际上证明了不可满足,从而得到sp

sa可满足,即整个系统的安全性符合要求。
[0073]
所述的仿真建模验证,采用的系统安全性验证方法同样基于形式化验证的理论,需要提炼出uas具体场景中每个无人机应当遵循的系统行为规范(sp),以及必须满足的安全要求(sa)。利用实时系统验证工具uppaal对该场景进行建模,并利用uppaal的验证器验
证“通过sp命题的成立,是否可以确定sa命题的成立”。若sp命题的成立一定可以推理出sa命题的成立,则证明该系统中的无人机只需要严格遵循系统的行为规范,即可确保自身的安全,证明了系统自身的安全性以及任务的合理性。否则,证明无人机即使严格遵循了系统行为规范,却仍然无法保证自身的安全,即,系统自身的设计有一定安全性方面的缺陷,需要对任务要求、场景等因素进行调整,以确保系统中无人机的安全。
[0074]
如图3所示,仿真建模验证采用的系统安全性验证方法具体包含如下步骤:
[0075]
步骤(1):根据任务场景,确定系统的sp及sa。
[0076]
与算法推理验证相同,仿真建模验证同样需要分析任务场景,得到sp和sa作为后续验证的基础。
[0077]
步骤(2):根据飞行器性能,设置系统指标。
[0078]
在完成了提炼sp和sa,并将其以数学表达式描述之后,需要进一步将其参数实例化,以便进行实际场景的验证。参数实例化需要依靠选用的飞行器性能进行确定,例如,对于时间约束不等式,需要参考执行任务的无人机能够支持的最长续航时长,或利用任务中计划的巡航速度及无人机本身支持的最远飞行距离等参数推算出续航时间要求,以确保所构建、验证的场景具有实际意义。
[0079]
在完成了提炼sp和sa,并将其以数学表达式描述之后,需要进一步将其参数实例化,以便进行实际场景的验证。参数实例化需要依靠选用的飞行器性能进行确定,例如,对于时间约束不等式,需要参考执行任务的无人机能够支持的最长续航时长,或利用任务中计划的巡航速度及无人机本身支持的最远飞行距离等参数推算出续航时间要求,以确保所构建、验证的场景具有实际意义。
[0080]
例如,对于最大巡航速度130km/h,满载最大航程为35km的无人机,根据最大航程和最大巡航速度,可求得飞行时长约16.15min,考虑到无人机不可能全程保持最大巡航速度,因此可将取实际最大飞行时长为20min。
[0081]
步骤(3):利用uppaal建立系统中无人机在节点间的位置转移模型。
[0082]
完成了建立sp和sa的数学表达式之后,可以开始利用uppaal对无人机运行场景进行建模。在建模时,首先依照任务要求,对无人机所在的空域进行规划,在空域中的关键位置处设置节点,这些节点将作为无人机在整个任务执行流程中的观测点。
[0083]
其次,需要依据建立的节点,设置无人机的转移规则。转移规则应当包含无人机运行时的所有可能的路径,且不考虑对各路径选取的随机性的影响,例如,在路径分支处,无人机选择不同路径的概率可能有所不同,但在建模时应当忽略这类概率,将所有可以实现的路径全部加入模型中,由此才可以确保验证结果考虑了当前任务场景中的全部情形,没有遗漏小概率情形下可能发生的风险。
[0084]
步骤(4):利用uppaal建立系统中各个节点自身的状态转换模型。
[0085]
在实际场景中,为了保证无人机的安全,需要对节点自身加入状态转换规则。例如,为避免系统中的不同无人机相距过近而导致的撞机事故,可以对某节点设置如下规则:当该节点处存在任意一架无人机时,其相邻节点处的无人机不能移动至当前节点,直至当前节点的无人机抵达下一节点、当前节点的状态为空时,相邻节点的无人机方可移动至该节点。当场景本身较为复杂、节点数量及路径分支较多时,多个节点之间的状态可能会相互影响。
[0086]
至此,对于实际场景,步骤(3)从无人机视角为无人机行为加入了约束,规范了其运动路径及对运行时长等指标的要求;步骤(4)从节点视角,通过定义节点自身的状态转换规则,实际上为无人机的位置转移加入了进一步的约束,以保证其安全。这两步将sp命题完整地纳入了系统模型中。
[0087]
下面结合附图进一步说明无人机在节点间的位置转移与节点自身的状态转换在模型中的链接方式。图4表示一架无人机的单次位置转移模型与相应的节点状态转换模型,其中,图4左侧,node1和node2分别代表两个无人机可以抵达的节点位置。初始状态下无人机位于node1节点。图中的变量x为时钟变量,x记录无人机单次位置转移所消耗的时长。在系统开始模拟后,时钟变量会开始以恒定速度自增,以达到计时并控制系统转换的效果。变量allow[0]记录了节点的状态,该标量与时钟变量共同作为无人机位置转移的准许条件。图中node1的箭头指向node2,说明无人机将从node1位置转移至node2位置,可以进行转移的条件是代码“x》=3and allow[0]==0”,即,时钟x变量大于等于3,且allow[0]变量的值为0;代码“stop[1]!”在完成此次位置转移时,将发出一个stop[1]信号,该信号用于控制节点自身的状态转换;代码“x=0”代表此次位置转移结束后对时钟变量进行的修改,由于x仅代表单次位置转移所消耗的时长,因此在位置转移完成后,x应当被重置为0。
[0088]
图4右侧表示相应的节点状态转换过程,对应于图4左侧的无人机位置转移。图中规定了free和occ1两种状态,分别表示node2节点为空、node2节点被占用。当无人机位于node1时,node2的状态为free。代码“stop[1]?”代表请求接收stop[1]信号,当收到来自无人机发出的stop[1]信号时,该节点的状态由free转换为occ1,即,由空闲变为被占用。在状态转换完成后,代码“allow[0]=1”将allow[0]变量从初始值0转换为1,代表该节点被占用,无人机通过读取allow[0]变量获取节点状态。
[0089]
需要注意,模型中的单个节点可以对应多个“被占用”的状态。由于模型中很可能出现路径分支,即,同一个节点可以由多条路径分别抵达。若对一个节点仅设置一种“被占用”状态,则无法体现各条路径分支的差异,因此,对于有多条路径可达的节点,需要设置多个“被占用”状态,在记录节点自身状态的同时,进一步记录无人机实现位置转移所选取的路径。
[0090]
步骤(5):对系统进行验证,检验sp是否必然满足sa。
[0091]
通过命题验证功能对安全要求进行验证,将sa以规定的语法格式写入uppaal的验证器中,通过建立的模型验证sa命题是否成立。若验证结果为成立,则证明系统设计符合安全性要求;若验证结果为不成立,则证明系统设计有一定缺陷,将导致系统中的无人机安全性无法保证,需要调整任务或对系统进行修改。
[0092]
实施例:
[0093]
本实施例选取一个uam系统中的无人机末端配送场景,利用本发明中提出的基于uppaal的无人机系统安全性形式化建模验证工具与方法进行验证,以此对该方法的使用作进一步说明。
[0094]
该uas模型包含3架无人机,系统中无人机位置转移模型与节点状态转换模型如图5所示,下面对其做详细说明:
[0095]
1.图5上半部分为无人机位置转移模型,其中标有node和goods的点分别代表节点和货运点。节点间的箭头方向指明了无人机在该系统中的飞行路径。可见,在node3和node4
处,出现了路径分岔的情况:无人机在node3处,可以进一步前往node4,也可以直接前往或货运点goods1;同理,无人机在node4处,可以进一步前往node5,也可以前往或货运点goods2。
[0096]
2.每个位置转移的箭头处对应了一组代码,每组代码包含三个式子,解释其含义如下:第一个式子代表准许无人机完成该转移的条件;第二个式子代表完成该未知转移后需要发出的信号,该信号会对其他节点以及无人机状态产生影响;第三个式子代表完成该位置转移后,对变量进行重新赋值。
[0097]
3.无人机位置转移模型中,x和y均为时间变量,其中,x代表无人机从上一个节点飞行到下一个节点所需要的时间,y代表当前无人机的总飞行时间。变量y记录无人机的飞行时间是为了验证无人机是否可以在最长续航时间之内完成飞行任务,当无人机从可以补充能量的起点或货运点起飞时,y的取值应重置。
[0098]
系统中各个节点自身的状态转换模型如图5下半部分所示。其中,occ和free分别代表“占用”和“空闲”状态,在图5上半部分中,无人机每完成一次位置转移,都会发出一个stop信号,该信号被图5下半部分中的位置转移模型接收,并依据stop信号的编号,修改对应节点的状态,实现“占用”状态与“空闲”状态的转换。
[0099]
在模型建立完毕后,可利用状态转换仿真功能及命题验证功能对该模型进行验证。如图6a到图6d所示,状态转换仿真功能可以展示所有的无人机在每一步转换时所处的位置、相应节点的状态转换,并记录各个无人机的飞行时长,其中图6a、图6b和图6c分别表示三架无人机当前所处的位置,图6d表示系统中各节点当前的状态转换情况。
[0100]
如图7所示,利用uppaal的性质验证器,可对相应的性质直接进行验证。其中,“a《》a.node5 imply a.y《=20”代表对于任意路径,无人机a抵达node5时,其总飞行时长都不超过20;“a《》b.node5 imply b.y《=20”代表对于任意路径,无人机b抵达node5时,其总飞行时长都不超过20;“a《》c.node5 imply c.y《=20”代表对于任意路径,无人机c抵达node5时,其总飞行时长都不超过20。如图7中“验证进度与结果”所示,三个性质均满足,证明该系统可以保证三架无人机在安全的情况下完成飞行任务。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1