基于Prolog的AADL行为模型时间一致性验证方法技术

技术编号:14397516 阅读:106 留言:0更新日期:2017-01-11 11:22
本发明专利技术公开了基于Prolog的AADL行为模型时间一致性验证方法,属于软件工程的技术领域。本发明专利技术在AADL行为附件的基础上进行扩展以建立带有时间约束的AADL行为模型,AADL行为模型描述了节点状态信息、时间约束信息,节点状态信息能够定性描述实时系统的属性,时间约束能够定量描述实时系统的时间区间,为完整验证实时系统时间一致性奠定了基础,将AADL行为模型分解得到的执行路径转换为Prolog事实,将形式化描述的隐式时间约束以及显式时间约束转换为Prolog规则,利用Prolog规则刻画实时系统的一致性,即可实现实时系统时间一致性的完整验证。

【技术实现步骤摘要】

本专利技术公开了基于Prolog的AADL行为模型时间一致性验证方法,属于软件工程的

技术介绍
随着通信、微电子等技术的飞速发展,嵌入式实时系统广泛应用于汽车、航空航天等任务关键领域中,为了保证实时系统的安全性及可靠性,基于模型驱动架构(Modeldrivenarchitecture,MDA)思想的体系结构分析与设计语言AADL被广泛的应用到实时系统的建模及验证中。实时系统的复杂性逐渐增加,随之AADL规范及附件内容也在不断的扩展,围绕其展开的模型验证工作也成为了热点。在系统开发的早期阶段,就对系统模型的时间一致性、安全性等方面进行验证,可以避免开发阶段时对模型进行反复的修改,大大提高开发的效率。基于逻辑程序语言Prolog,借助SWI-Prolog工具对实时系统行为模型的时间一致性进行前期的验证是一种可行的方法。AADL行为模型是对AADL标准语言所构建模型的进一步精化,是以AADL的行为附件为基础、描述AADL标准组件内部详细行为的模型。国内的胡凯等人采用时间抽象自动机对实时系统进行建模分析,给出了AADL子集和TASM的抽象语法,并基于语义函数和类ML的元语言形式定义转换规则,并在此基础上对实时系统的隐式时间约束进行验证,但对于时间区间并没有做详细验证;倪水妹通过将带时间约束的MARTE转化为基于连续时间的ZIA,实现了在相对低的特征空间维度上有效的对带时间约束的实时系统的验证,并刻画出系统的节点状态信息及系统时间数据方面的属性。国外的MacielP、AndradeE在实时系统建模阶段采用Petri网,其具有图形化描述、精确的语义和强大的表达能力,但Petri网具有很高的空间复杂度,若为了降低复杂度限制Petri网有界,则会降低其表达能力。现有技术中鲜有将实时系统的时间约束和状态信息统一表述在验证方法中,存在实时系统时间一致性验证不完整的缺陷。
技术实现思路
本专利技术的专利技术目的是针对上述
技术介绍
的不足,提供了基于Prolog的AADL行为模型时间一致性验证方法,对实时系统的状态信息和隐式时间约束信息及显式时间约束进行了形式化描述,使用逻辑编程语言Prolog较为完整地验证了实时系统的一致性,解决了现有技术中对实时系统时间一致性的验证不够完整、实时系统模型的表达能力不佳的技术问题。本专利技术为实现上述专利技术目的采用如下技术方案:基于Prolog的AADL行为模型时间一致性验证方法,包括如下步骤:A、建立包含隐式时间约束和显式时间约束的AADL行为模型,形式化描述AADL行为模型的隐式时间约束和显式时间约束;B、将步骤A建立的AADL行为模型分解为仅包含活动节点的执行路径集合;C、将步骤B中所述执行路径中活动节点及时间约束转换为Prolog事实;D、借助步骤C所述Prolog事实将步骤A中形式化描述后的隐式时间约束和显式时间约束转换为Prolog规则;E、结合步骤C所述Prolog事实及步骤D所述Prolog规则对实时系统的时间一致性进行验证。作为所述基于Prolog的AADL行为模型时间一致性验证方法的进一步优化方案,步骤A所述包含隐式时间约束和显式时间约束的AADL行为模型为一多元组B,N表示AADL行为模型中所有节点的集合,Γ表示包含活动节点、事件节点、或元素和与元素的节点类型集合,τ表示为AADL行为模型中的节点标注类型的函数,Σ表示包含初始态、完成态、返回态、紧急态和复合态的节点状态集合,表示为AADL行为模型中的节点标注状态的函数,E表示AADL行为模型中节点之间边的集合,C表示包含隐式时间约束和显式时间约束的时间约束集合。作为所述基于Prolog的AADL行为模型时间一致性验证方法的再进一步优化方案,步骤A采用逻辑表达式:形式化描述AADL行为模型的隐式时间约束,采用表达式:MinT1=(a+c)≤E(n)-S(n)≤MaxT1=(b+d),及,MinT2≤E(ni)-S(ni)+……+E(ni+j)-S(ni+j)+……+E(nk)-S(nk)≤MaxT2形式化描述AADL行为模型的显式时间约束,其中,LB为控制流,ni、nk为AADL行为模型中的活动节点i、活动节点k,P为控制流LB走到活动节点i的前置条件,Q为控制流LB走到活动节点k的前置条件,表示逻辑蕴含,@表示时序算子,∧表示逻辑与运算,MaxT1、MinT1为AADL行为模型中任意活动节点n本身持续时间的上下限,S(n)为活动节点n的开始时刻,S(n)∈[a,b],b、a为活动节点n开始时刻的上下限,E(n)为活动节点n的结束时刻,E(n)∈[c,d],d、c为活动节点n结束时刻的上下限,MaxT2、MinT2为AADL行为模型中活动节点i、活动节点k之间时间距离的上下限,S(ni)、E(ni)为活动节点i的开始时刻、结束时刻,ni+j为经过活动节点i和活动节点k的路径上处于活动节点i和活动节点k之间的活动节点i+j,S(ni+j)、E(ni+j)为活动节点i+j的开始时刻、结束时刻,S(nk)、E(nk)为活动节点k的开始时刻、结束时刻。作为所述基于Prolog的AADL行为模型时间一致性验证方法的更进一步优化方案,步骤B采用如下方法将步骤A建立的AADL行为模型分解为仅包含活动节点的执行路径集合:对于事件节点不做处理,直接将活动节点添加至执行路径,获取当前或元素节点后的各分支的活动节点集合,将各分支的活动节点集合分别添加至后继节点是当前或元素节点的路径中,根据当前与元素节点相邻活动节点的最短开始时间、最长开始时间、最短结束时间、最长结束时间建立新的活动节点,将新建立的活动节点添加至后继节点为当前与元素节点的路径中。进一步的,所述基于Prolog的AADL行为模型时间一致性验证方法中,步骤C的具体方法为:将执行路径中活动节点以及活动节点本身持续时间的约束转换为Prolog事实:activity(Nj,Nnext,Smin,Smax,Emin,Emax,Sstatue),将执行路径中不同活动节点之间的时间距离约束转换为Prolog事实:TimeCons(Nfor,Nend,MinTime,MaxTime),其中,Nj为执行路径中的活动节点j,Nnext为活动节点j的后续节点,Smin、Smax、Emin、Emax为活动节点j的最短开始时间、最长开始时间、最短结束时间、最长结束时间,Sstatue为活动节点j的状态,Nfor为存在时间约束关系的两个活动节点中的头节点,Nend为存在时间约束关系的两个活动节点中的尾节点,MinTime、MaxTime为所述存在时间约束关系的两个活动节点之间时间距离约束的最小持续时间、最大持续时间。再进一步的,所述基于Prolog的AADL行为模型时间一致性验证方法,步骤D借助步骤C所述Prolog事实将步骤A中形式化描述后的隐式时间约束转换为Prolog规则的方法为:采用borderlink函数和routelink函数判断AADL行为模型中任意两节点是否符合相邻两节点间的时序逻辑,借助步骤C所述Prolog事实将步骤A中形式化描述后的显式时间约束转换为Prolog规则的方法为:采用minbordercons函数、maxbordercons函数、minroutecons函数和maxro本文档来自技高网
...
基于Prolog的AADL行为模型时间一致性验证方法

【技术保护点】
基于Prolog的AADL行为模型时间一致性验证方法,其特征在于,包括如下步骤:A、建立包含隐式时间约束和显式时间约束的AADL行为模型,形式化描述AADL行为模型的隐式时间约束和显式时间约束;B、将步骤A建立的AADL行为模型分解为仅包含活动节点的执行路径集合;C、将步骤B中所述执行路径中活动节点及时间约束转换为Prolog事实;D、借助步骤C所述Prolog事实将步骤A中形式化描述后的隐式时间约束和显式时间约束转换为Prolog规则;E、结合步骤C所述Prolog事实及步骤D所述Prolog规则对实时系统的时间一致性进行验证。

【技术特征摘要】
1.基于Prolog的AADL行为模型时间一致性验证方法,其特征在于,包括如下步骤:A、建立包含隐式时间约束和显式时间约束的AADL行为模型,形式化描述AADL行为模型的隐式时间约束和显式时间约束;B、将步骤A建立的AADL行为模型分解为仅包含活动节点的执行路径集合;C、将步骤B中所述执行路径中活动节点及时间约束转换为Prolog事实;D、借助步骤C所述Prolog事实将步骤A中形式化描述后的隐式时间约束和显式时间约束转换为Prolog规则;E、结合步骤C所述Prolog事实及步骤D所述Prolog规则对实时系统的时间一致性进行验证。2.根据权利要求1所述基于Prolog的AADL行为模型时间一致性验证方法,其特征在于,步骤A所述包含隐式时间约束和显式时间约束的AADL行为模型为一多元组B,B=(N,Γ,τ,Σ,γ,E,C),N表示AADL行为模型中所有节点的集合,Γ表示包含活动节点、事件节点、或元素和与元素的节点类型集合,τ表示为AADL行为模型中的节点标注类型的函数,Σ表示包含初始态、完成态、返回态、紧急态和复合态的节点状态集合,γ表示为AADL行为模型中的节点标注状态的函数,E表示AADL行为模型中节点之间边的集合,C表示包含隐式时间约束和显式时间约束的时间约束集合。3.根据权利要求2所述基于Prolog的AADL行为模型时间一致性验证方法,其特征在于,步骤A采用逻辑表达式:形式化描述AADL行为模型的隐式时间约束,采用表达式:MinT1=(a+c)≤E(n)-S(n)≤MaxT1=(b+d),及,MinT2≤E(ni)-S(ni)+……+E(ni+j)-S(ni+j)+……+E(nk)-S(nk)≤MaxT2形式化描述AADL行为模型的显式时间约束,其中,LB为控制流,ni、nk为AADL行为模型中的活动节点i、活动节点k,P为控制流LB走到活动节点i的前置条件,Q为控制流LB走到活动节点k的前置条件,表示逻辑蕴含,@表示时序算子,∧表示逻辑与运算,MaxT1、MinT1为AADL行为模型中任意活动节点n本身持续时间的上下限,S(n)为活动节点n的开始时刻,S(n)∈[a,b],b、a为活动节点n开始时刻的上下限,E(n)为活动节点n的结束时刻,E(n)∈[c,d],d、c为活动节点n结束时刻的上下限,MaxT2、MinT2为AADL行为模型中活动节点i、活动节点k之间时间距离的上下限,S(ni)、E(ni)为活动节点i的开始时刻、结束时刻,ni+j为经过活动节点...

【专利技术属性】
技术研发人员:周勇刘骁谢红梅
申请(专利权)人:南京航空航天大学
类型:发明
国别省市:江苏;32

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

1