CN103324776A - 基于抽象解释的线性混成系统不变式的生成方法 - Google Patents

基于抽象解释的线性混成系统不变式的生成方法 Download PDF

Info

Publication number
CN103324776A
CN103324776A CN2013101492827A CN201310149282A CN103324776A CN 103324776 A CN103324776 A CN 103324776A CN 2013101492827 A CN2013101492827 A CN 2013101492827A CN 201310149282 A CN201310149282 A CN 201310149282A CN 103324776 A CN103324776 A CN 103324776A
Authority
CN
China
Prior art keywords
invariant
node
linearity
blendes together
migration
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.)
Granted
Application number
CN2013101492827A
Other languages
English (en)
Other versions
CN103324776B (zh
Inventor
卜磊
刘春能
蒋慧
李宣东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University
Original Assignee
Nanjing University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nanjing University filed Critical Nanjing University
Priority to CN201310149282.7A priority Critical patent/CN103324776B/zh
Publication of CN103324776A publication Critical patent/CN103324776A/zh
Application granted granted Critical
Publication of CN103324776B publication Critical patent/CN103324776B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供一种线性混成系统不变式的生成系统,输入为线性混成系统模型——线性混成自动机,输出该线性混成系统的节点不变式;线性混成系统不变式生成系统包括转换模块和不变式生成部分两个组成部分如下:1)转换模块基于面向线性混成系统的等价迁移系统构造的模块,其输入侧为线性混成系统模型——线性混成自动机,输出侧为迁移系统模型;2)不变式生成部分,连接上述转换模块,针对上述迁移系统进行分析并根据其分析结果反馈得到线性混成系统模型的不变式;根据转换模块转换生成的迁移系统,输出为原线性混成系统的节点不变式;然后利用新工具进行不变式生成工作。

Description

基于抽象解释的线性混成系统不变式的生成方法
技术领域
本发明涉及线性混成系统的安全性与可达性验证领域,且特别是有关于一种线性混成系统不变式的生成系统。
背景技术
混成系统(Hybrid System)是一类既包含离散动态行为,又包含连续动态行为的复杂系统。随着航天、汽车、机械控制等相关嵌入式领域的蓬勃发展,混成系统已遍布我们生活、工作的众多方面。因此,对混成系统的研究体现出十分重要的现实意义,对混成系统的质量保障也成为一项重要课题。目前,混成系统质量保障的相关研究工作主要集中于系统的形式化验证领域,包括系统的安全性(safety property)验证和活性(liveness property)验证。安全性验证要保证系统的坏的行为不会发生,所以安全性验证问题常常也转化为可达性判定问题;活性验证则要保证系统的好的行为一定会发生。其中,混成系统的安全性验证工作是当前主要的研究热点。
而现在对于混成系统的研究并不是很多,已有的工具都是针对迁移系统生成不变式,比如InvGen是基于约束求解方法对迁移系统线性不变式自动化生成工具,Interproc是基于抽象解释不变式生成技术和工具。抽象解释是也是目前对迁移系统不变式自动生成中用得比较多的一种技术。不变式的生成对于系统研究起着很大的作用。但目前相关技术只停留在迁移系统处理上,混成系统的不变式生成目前仍然没有相关技术能够实现。
发明内容
本发明目的在于提供一种基于抽象解释的线性混成系统不变式的生成系统和方法,可用于线性混成自动机的活性(liveness property)验证工作。
为达成上述目的,本发明提出一种基于抽象解释的线性混成系统不变式的生成系统,包括:转换模块和不变式生成部分,转换模块将线性混成系统转换成迁移系统;不变式生成部分连接上述转换模块,针对上述迁移系统进行分析并生成不变式;
其中,转换模块基于面向线性混成系统的等价迁移系统构造的模块,其输入侧为线性混成系统模型,输出侧为迁移系统模型,其中:
以线性混成自动机作为线性混成系统模型表示为H=(X,Σ,V,E,V0,α,β,γ),其中:X为实数值系统变量的有限集合且X中变量的个数为混成自动机的维度,Σ为事件名的有限集合,V是位置节点的有限集合,E为位置节点之间跳转关系集合且E中的元素e代表一次跳转关系(e形如(v,σ,
Figure BDA00003101283900024
,ψ,v'),其中,v,v'∈V,σ∈Σ,
Figure BDA00003101283900021
是形为
Figure BDA00003101283900022
的转换卫式集合,ψ是形为x:=c的重置动作集合。以上x,xi(0≤i≤l)∈X,a,b,ci(0≤i≤l)∈R,a可以取值-∞,b可以取值∞),V0为初始位置节点集合,α为第一标注函数,其将V中的每个位置映射到一个节点不变式,β为第二标注函数,其将V中的每个位置映射到一个变化率的集合,γ为第三标注函数,其将初始节点集合V0中的每个位置映射到一组初始条件;
迁移系统模型表示为P=(XT,L,T,L0,θ),其中:XT为系统变量,L为节点名集合,L0为初始节点集合,θ为初始条件集合,T为迁移关系集合;
所述转换系统以如下规则将输入的线性混成系统模型转换为输出的迁移系统模型:
系统变量XT,其包含线性混成系统模型中所有的系统变量X并引入时间变量t,有XT=X∪{t};
节点名集合L,其直接决定于线性混成系统模型的位置节点集合,有L=V;
初始节点集合L0,其直接决定于线性混成系统模型的初始位置集合,有L0=V0
初始条件集合θ,其初始位置到初始条件的映射函数θ满足θ(l)=γ(v),l为初始位置,v为位置节点;
迁移关系集合T,包括由线性混成系统模型的连续变化所构造的迁移关系τ和由线性混成系统模型的离散变化e:(ν,σ,
Figure BDA00003101283900023
ψ,ν′)构造的迁移关系δ,其中:
迁移关系τ表示为(l,l′,ρ),l,l′分别代表迁移关系τ的源节点和目标节点v,ρ为迁移关系τ上的约束集合,约束集合ρ来源于位置节点v对应的节点不变式α(v)和节点变化率β(v),有
ρ=α(v)|X∪α(v)|X′∪β(v)|X,X′,t∪{t>0,t′>0}
v∈V,X表示当前变量值,X′表示迁移后新状态的变量值,α(v)|X表示变量当前值要满足节点不变式,α(v)|X′表示状态迁移后的变量值要满足当前节点不变式,β(v)|X,X′,t表示变量当前值和迁移后的变量值要满足时间变量t内的变量变化率关系;
迁移关系δ表示为(v,v',ρ),v和v′分别为迁移关系δ的源节点和目标节点,此处ρ为迁移关系δ上的约束集合,有
Figure BDA00003101283900033
v∈V,X表示当前变量值,X′表示迁移后新状态的变量值,
Figure BDA00003101283900031
表示变量当前值要满足混成自动机上离散跳转e的转换卫式,ψ|X′表示状态迁移后的变量值要满足混成自动机上离散跳转e的重置动作,α(v)|X表示变量当前值要满足节点不变式,α(v′)|X′表示状态迁移后的变量值要满足当前节点不变式。
其中,不变式生成部分,连接上述转换模块,针对上述迁移系统进行分析并根据其分析结果反馈得到线性混成系统模型的不变式。
进一步,其中不变式生成部还包括不变式生成工具修改模块和与之连接的不变式生成模块。
其中,不变式生成工具修改模块,对已有的成熟开源工具Interproc进行修改,使之能够分析迁移系统,得到原对应混成系统的不变式。Interproc是基于抽象解释不变式生成技术和工具,它针对命令式语言(Imperative language)进行过程间分析。针对Interproc,主要有以下三方面修改:
·数据结构:新定义的迁移数据结构
·迁移系统构造equation system过程:
由于新增了源节点和目标节点两个数据项,迁移的流向将由下一个迁移关系的源节点是当前迁移关系的目标节点这一特征决定。
首先,所有迁移关系的源节点和目标节点之间的进行匹配;如果迁移e1的目标节点和迁移e2的源节点相同,我们就在e1的exit point和e2的beginpoint之间创建一个关系恒为true的transfer,这说明e1和e2之间恒存在一个控制流向关系。如果存在多个迁移的源节点和e1的目标节点相同,则迁移流每次将从e1随机流向下一个迁移。
·分析结果的提取:
Interproc将program中的每一条语句结束之处都看做一个point,计算结果将输出每一个point的不变式。我们的工作关心的是混成系统位置节点满足的不变式。混成系统到迁移系统的转换,构造了位置节点到自身的自循环迁移,也就是说所构造的迁移源节点和目标节点相同。
其中,不变式生成模块的主体技术,是Interproc中所用基于抽象解释的分析技术。
本发明的有益效果如下:本发明解决了线性混成系统的不变式生成问题,可用于线性混成自动机的活性验证工作,对混成系统的应用和研究起到很大的积极作用。
附图说明
图1所示为本发明实施例线性混成系统不变式的生成系统的原理框图。
图2所示为水箱水位监视器(WLM)混成系统模型图。
图3所示为编辑生成水箱水位监视器系统的示意图。
图4所示为打开水箱水位监视器系统的示意图。
图5所示为生成Interproc的输入文本的示意图。
图6所示为生成Interproc的输入文本结果的示意图。
图7所示为保存Interproc的输入文本结果的示意图。
图8所示为使用PPL抽象域生成水箱水位监视器系统的不变式的示意图。
图9所示为使用Polyhedral抽象域生成水箱水位监视器系统的不变式的示意图。
具体实施方式
为了更了解本发明的技术内容,特举具体实施例并配合所附图式说明如下。
线性混成系统不变式的生成系统,包括:转换模块和不变式生成部分,转换模块将线性混成系统转换成迁移系统;不变式生成部分连接上述转换模块,针对上述迁移系统进行分析并根据其分析结果反馈得到线性混成系统模型的不变式。本实施例中,不变式生成部还包括不变式生成工具修改模块和与之连接的不变式生成模块。
转换模块的输入侧为线性混成系统模型,输出侧为迁移系统模型,其中,
以线性混成自动机作为线性混成系统的建模模型,线性混成自动机可表示为H=(X,Σ,V,E,V0,α,β,γ),其中:
1)X是实数值系统变量的有限集合,X中变量的个数也被称为混成自动机的维度(dimension);
2)Σ是事件名的有限集合;
3)V是位置节点的有限集合;
4)E是位置节点之间跳转关系集合,E中的元素e代表一次跳转关系,形如(v,σ,ψ,v′)。其中v,v′∈V,σ∈Σ,是行为
Figure BDA00003101283900053
的转换卫式集合,ψ是行为x:=c的重置动作集合。以上x,xi(0≤i≤l)∈X,a,b,ci(0≤i≤l)∈R,a可以取值-∞,b可以取值∞;
5)V0是初始位置节点集合;
6)α是一个标注函数,它将V中的每个位置映射到一个节点不变式,不变式行为 a ≤ Σ i = 0 l c i x i ≤ b 的变量约束的集合,以上x,xi(0≤i≤l)∈X,a,b,ci(0≤i≤l)∈R,a可以取值-∞,b可以取值∞;
7)β是一个标注函数,它将V中的每个位置映射到一个变化率的集合,变化率是形如
Figure BDA00003101283900055
的式子,对于任意位置v∈V,任意x∈X,有且仅有一个 x · = [ a , b ] ∈ β ( v ) ;
8)γ是一个标注函数,它将初始节点V0中的每个位置映射到一组初始条件,初始条件具有形如x:=a(x∈X,a∈R)的式子,对于任意x∈X,有且仅有一个x:=a∈γ(v)。
迁移系统模型表示为P=(XT,L,T,L0,θ),其中:
1)XT是实数值系统变量的有限集合,XT中变量的个数n被称为迁移系统的维度;
2)L为位置节点名的有限集合;
3)L0为初始位置节点集合,
4)θ为一个标注函数,它将初始节点L0中的每个位置映射到一组初始条件,初始条件具有形如x:=a(x∈XT,a∈R)的式子;
5)T为迁移关系集合,其构造的迁移关系集合,迁移集合T来源于以下两部分:由H的连续变化所构造的迁移关系τ和由H的离散变化所构造的迁移关系δ。
由于线性混成自动机的连续行为存在于每个位置节点内部,表现为节点变化率、节点不变式等;而线性混成自动机的离散行为则存在于位置节点之间,表现为节点间的跳转。而在迁移系统中不存在节点上时间停留的概念,因此本实施例中,引入时间变量t来代表一个任意时间长度的时间段,同时在每个节点v上添加指向自己的状态迁移τ形成自循环来模拟位置节点v内部的连续变化。即:v在t时间单位内的内部连续变化用一个v指向v的迁移来表示,而t则表示此次迁移中在v上的逗留时间。根据节点变化率和t计算可得节点当前状态与迁移后的新状态间取值关系。同时在跃迁结束后为t重新赋值t′>0,表示将其赋值为一任意非负实数来描述在下次跃迁时的停留时间。在此情况下,此迁移系统可以表达给定混成自动机的具体意义。在每个离散节点上的任意时间停留都可以在该迁移系统中进行表达。
基于此,本实施例中,转换系统以如下规则将输入的线性混成系统模型转换为输出的迁移系统模型:
系统变量XT,其包含线性混成系统模型中所有的系统变量X并引入时间变量t,有XT=X∪{t};
节点名集合L,其直接决定于线性混成系统模型的位置节点集合,有L=V;
初始节点集合L0,其直接决定于线性混成系统模型的初始位置集合,有L0=V0
初始条件集合θ,由于L0=V0,P中任意一个初始位置l∈L0,都存在v∈V0,使得l=v,则有,初始位置到初始条件的映射函数θ满足θ(l)=γ(v),l为初始位置,v为位置节点;
迁移关系集合T,构造P的迁移关系集合,迁移集合T来源于以下两部分:由H的连续变化构造迁移关系和由H的离散变化构造迁移关系,其中:
1)H中连续变化的迁移关系构造:用位置节点v指向自己的状态迁移τ形成自循环来模拟位置节点v内部的连续变化,这里的τ就是指由H的连续变化构造的新的迁移关系。迁移关系τ是形如(l,l′,ρ)的三元组,l,l′分别代表迁移关系τ的源节点和目标节点,ρ是代表迁移关系τ的约束集合。易知,这里构造的迁移关系τ的源节点和目标节点都为位置节点v;τ的约束集ρ来源于位置节点v对应的节点不变式α(v)和节点变化率β(v),有
ρ=α(v)|X∪α(v)|X′∪β(v)|X,X′,t∪{t>0,t′>0}
v∈V,X表示当前变量值,X′表示迁移后新状态的变量值,α(v)|X表示变量当前值要满足节点不变式,α(v)|X′表示状态迁移后的变量值要满足当前节点不变式,β(v)|X,X′,t表示变量当前值和迁移后的变量值要满足时间变量t内的变量变化率关系;同时,此次迁移所模拟的原节点v上逗留时间t>0,并且下一次迁移模拟的逗留时间需要剥离与此次关系,因此重置为任意非负数t′>0。
2)H中离散变化的迁移关系构造:H的离散变化反映在H的跳转关系集合E上,关系集合E的元素e代表一次跳转关系,e为五元组,形如(v,σ,ψ,v′),每个跳转关系e都将构造迁移系统的一个新迁移关系δ,形如(v,v',ρ),v和v′分别为新迁移关系δ的源节点和目标节点,此处ρ为迁移关系δ上的约束集合,其既要反映跳转关系e上的跳转卫式和重置操作之外,还要能够反映跳转关系的源和目标节点上的不变式,有
Figure BDA00003101283900072
v∈V,X表示当前变量值,X′表示迁移后新状态的变量值,
Figure BDA00003101283900073
表示变量当前值要满足混成自动机上离散跳转e的转换卫式,ψ|X′表示状态迁移后的变量值要满足混成自动机上离散跳转e的重置动作,α(v)|X表示变量当前值要满足节点不变式,α(v′)|X′表示状态迁移后的变量值要满足当前节点不变式。
如图2所示,下面以水箱水位监视器(WLM)混成系统为例,对本转换系统进行说明。
图1所示为一个包含6个位置节点、两个系统变量的线性混成自动机的线性混成系统模型,该自动机描述了一个水位监视器的工作流程。监视器监视水箱里的水位,并相应地打开或关闭阀门。v0是自动机的初始节点,其它5个位置节点v1,v2,v3,v4,v5分别对应着系统的5种状态。在位置v1,v2处阀门打开;在位置v3,v4处,阀门关闭;在位置v5处,系统水位降为0,系统停止工作。系统变量y描述当前水位,系统变量x反映当前信号延时。
按照上述转换系统的转换原理,构造水箱水位监视器迁移系统Wate=r(XT,L,T,L0,θ)
1)XT={x,y,t};
2)L={v1,v2,v3,v4,v5};
3)L0={v0};
4)θ(v0)={y:=1,x:=0}
5)以v1节点和e1边为例,说明下面两类迁移关系的构造:
①线性混成自动机中连续变化的迁移关系构造:以v1为例:τ=(v1,v2,ρ),其中
ρ=α(v1)|X∪α(v1)|X′∪β(v1)|X,X′,t∪{t>0,t′>0}
α(v1)|X={y≤10},α(v1)|X′={y′≤10},β(v1)|X,X′,t={x′=x+t,y′=y+t}
因此,
ρ={y≤10,y′≤10,x′=x+t,y′=y+t,t>0,t′>0}
τ=(v1,v1,{y≤10,y′≤10,x′=x+t,y′=y+t,t>0,t′>0}).
②线性混成自动机中离散变化的迁移关系构造:以v1为例:δ=(v1,v2,ρ),其中
Figure BDA00003101283900091
Figure BDA00003101283900092
ψ|X′={x′=0},α(v1)|X={y≤10},α(v2)|X′={x′≤2}
因此,
ρ={y=1,x′=0,y≤10,x′≤2}
δ=(v1,v2,{y=1,x′=0,y≤10,x′≤2})
转换模块,输入如图2所示的水箱水位监视器(WLM)混成系统模型后,转换得到对应的迁移系统语义如上所述。
不变式生成部分是对已有的成熟开源工具Interproc进行修改,使之能够运用Interproc中基于抽象解释的分析技术分析迁移系统,从而得到原对应混成系统的不变式。
Interproc是基于抽象解释不变式生成技术和工具,Interproc是一个针对Imperative language的过程间分析工具,过程间的关联通过过程Call和Return实现。工具可以计算得出每个程序节点的不变式。
Interproc的分析过程主要用到Apron Abstract Domain Library和Fixpoint Solver Library。Apron Abstract Domain Library为当前各种数值库、抽象域提供了通用接口,例如:GMP、PPL、MPFR、New Polka等,从而提供那些数值库、抽象域可提供的功能。Fixpoint Solver Library库实现了通用的fixpoint engine,Interproc传递参数domain指定Fixpoint求解所用抽象域类型。
其工作流程是1、解析输入文件,构造program。2、读取program,每一条statement都将构造新的transfer,最终构造出整个对应equation system,equation system反应了整个系统的控制流走向。3、读取equation system和命令参数,调用Fixpoint Solver Library引导求解策略,调用Apron AbstractDomain Library进行抽象域操作,最终得到equation system中每个点不变式信息。
Interproc进行过程间分析,过程之间通过过程调用CALL相关联,被调用过程的输出值返回RETURN到调用点。如果直接用Interproc的过程间关系去模拟迁移系统的迁移流,那么迁移系统迁移间的流向将变成迁移间的调用。流并不关注目标节点的输出值,而调用则要被调用节点输出值返回至调用点。因此,过程调用和输出值返回的模式并不适合迁移系统的运行模式。不过,过程间的调用是不确定的,只有需要时才去调用。但是,迁移关系的目标节点是确定的。
由此,我们将对不变式生成工具Interproc进行若干修改,使之更适合迁移系统。program对应迁移系统,procedure对应迁移关系,procedure之间通过过程调用,迁移流向则根据下一个迁移关系的源节点是当前迁移关系的目标节点这一特征。根据迁移系统这一特征,主要有以下修改:
1、数据结构:新定义的迁移数据结构
Figure BDA00003101283900101
2、迁移系统构造equation system过程:
由于新增了源节点和目标节点两个数据项,迁移的流向将由下一个迁移关系的源节点是当前迁移关系的目标节点这一特征决定。
首先,所有迁移关系的源节点和目标节点之间的进行匹配;如果迁移e1的目标节点和迁移e2的源节点相同,我们就在e1的exit point和e2的beginpoint之间创建一个关系恒为true的transfer,这说明e1和e2之间恒存在一个控制流向关系。如果存在多个迁移的源节点和e1的目标节点相同,则迁移流每次将从e1随机流向下一个迁移。匹配源节点和目标节点的代码如下:
Figure BDA00003101283900102
Figure BDA00003101283900111
3、分析结果的提取:
Interproc将program中的每一条语句结束之处都看做一个point,计算结果将输出每一个point的不变式。我们的工作关心的是混成系统位置节点满足的不变式。混成系统到迁移系统的转换,构造了位置节点到自身的自循环迁移,也就是说所构造的迁移源节点和目标节点相同。
由上述迁移系统构造控制流图过程可知,自循环迁移的exit point到自身的begin point之间建立了恒为true的transfer。因此,自循环迁移的beginpoint的抽象域必然要包含exit point的抽象域。从而,自循环迁移的beginpoint的最终的不变式,是该自循环迁移对应的原混成系统位置节点的不变式。
在上述修改之后我们做了Intertran包,有自己的基本语义。并进行工具HVT的实现。
接下来以水箱水位监视器(WLM)为例来说明上述线性混成系统不变式生成系统的具体应用,图2是水箱水位监视器(WLM)混成系统模型图,如图2所示为一个包含6个位置节点、两个系统变量的线性混成自动机,该自动机描述了一个水位监视器的工作流程。监视器监视水箱里的水位,并相应地打开或关闭阀门。v0是自动机的初始节点,其它5个位置节点v1,v2,v3,v4,v5分别对应着系统的5种状态。在位置v1,v2处阀门打开;在位置v3,v4处,阀门关闭;在位置v5处,系统水位降为0,系统停止工作。系统中变量y描述当前水位,x反映当前信号延时。
第一步:运用工具的混成自动机的图形编辑菜单栏LHA Editor编辑水箱系统并保存。如图3所示,图中蓝点表示五个位置节点,红点表示初始节点。每一条边有一个跳转条件。
第二步:将工具切换到HINT菜单栏,如图4所示,进行File>Open打开水箱水位监视器系统的.ha文件。
第三步:如图5所示,使用菜单Interproc下的InputGenerator,生成对应输入文本文结果如图6右所示,然后保存Interproc的输入文本文,如图6所示。
第四步:如图6所示,执行菜单Interproc下的Option的PPL抽象域,生成不变式结果如图8右边显示。
第五步:如图7所示,使用菜单Interproc下的Option的Polyhedral抽象域,生成不变式结果如图9右边显示。
综上所述,本发明是先将线性混成系统转换成迁移系统转换,然后对工具Interproc生成不变式的方法进行修改,并对线性混成系统对应迁移系统进行分析,生成线性混成系统的不变式。解决了线性混成系统的不变式生成问题,可用于线性混成自动机的活性验证工作,对混成系统的研究起到很大的积极作用。
虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明。本发明所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视权利要求书所界定者为准。

Claims (1)

1.一种线性混成系统不变式的生成系统,其特征在于,输入为线性混成系统模型——线性混成自动机,输出该线性混成系统的节点不变式;线性混成系统不变式生成系统包括转换模块和不变式生成部分两个组成部分如下:
1)转换模块基于面向线性混成系统的等价迁移系统构造的模块,其输入侧为线性混成系统模型——线性混成自动机,输出侧为迁移系统模型,其中:
以线性混成自动机作为线性混成系统模型,表示为H=(X,Σ,V,E,V0,α,β,γ),其中:X为实数值系统变量的有限集合且X中变量的个数为混成自动机的维度,Σ为事件名的有限集合,V是位置节点的有限集合,E为位置节点之间跳转关系集合且E中的元素e代表一次跳转关系、e的形式为(v,σ,ψ,v'),其中,v,v'∈V,σ∈Σ,
Figure FDA00003101283800012
是形为
Figure FDA00003101283800013
的转换卫式集合,ψ是形为x:=c的重置动作集合;以上x,xi(0≤i≤l)∈X,a,b,ci(0≤i≤l)∈R,a取值-∞,b取值∞),V0为初始位置节点集合,α为第一标注函数,其将V中的每个位置映射到一个节点不变式,β为第二标注函数,其将V中的每个位置映射到一个变化率的集合,γ为第三标注函数,其将初始节点集合V0中的每个位置映射到一组初始条件;
迁移系统模型表示为P=(XT,L,T,L0,θ),其中:XT为系统变量,L为节点名集合,L0为初始节点集合,θ为初始条件集合,T为迁移关系集合;
所述转换系统以如下规则将输入的线性混成系统模型转换为输出的迁移系统模型:
系统变量XT,其包含线性混成系统模型中所有的系统变量X并引入时间变量t,有XT=X∪{t};
节点名集合L,其直接决定于线性混成系统模型的位置节点集合,有L=V;
初始节点集合L0,其直接决定于线性混成系统模型的初始位置集合,有L0=V0
初始条件集合θ,其初始位置到初始条件的映射函数θ满足θ(l)=γ(v),l为初始位置,v为位置节点;
迁移关系集合T,包括由线性混成系统模型的连续变化所构造的迁移关系τ和由线性混成系统模型的离散变化e:(ν,σ,ψ,ν′)所构造的迁移关系δ,其中:
迁移关系τ表示为(l,l′,ρ),l,l′分别代表迁移关系τ的源节点和目标节点v,ρ为迁移关系τ上的约束集合,约束集合ρ来源于位置节点v对应的节点不变式α(v)和节点变化率β(v),有
ρ=α(v)|X∪α(v)|X′∪β(v)|X,X′,t∪{t>0,t′>0}
v∈V,X表示当前变量值,X′表示迁移后新状态的变量值,α(v)|X表示变量当前值要满足节点不变式,α(v)|X′表示状态迁移后的变量值要满足当前节点不变式,β(v)|X,X′,t表示变量当前值和迁移后的变量值要满足时间变量t内的变量变化率关系;
迁移关系δ表示为(v,v',ρ),v和v′分别为迁移关系δ的源节点和目标节点,此处ρ为迁移关系δ上的约束集合,有
Figure FDA00003101283800022
v∈V,X表示当前变量值,X表示迁移后新状态的变量值,
Figure FDA00003101283800023
X表示变量当前值要满足混成自动机上离散跳转e的转换卫式,ψ|X′表示状态迁移后的变量值要满足混成自动机上离散跳转e的重置动作,α(v)|X表示变量当前值要满足节点不变式,α(v′)|X′表示状态迁移后的变量值要满足当前节点不变式;
2)不变式生成部分,连接上述转换模块,针对上述迁移系统进行分析并根据其分析结果反馈得到线性混成系统模型的不变式;
根据转换模块转换生成的迁移系统,输出为原线性混成系统的节点不变式;其中,该不变式生成部分对已有的成熟开源工具Interproc进行修改,然后利用新工具进行不变式生成工作;
不变式生成部分包括不变式生成工具修改模块和与之连接的不变式生成模块,如下:
2-1)不变式生成工具修改模块,对已有的成熟开源工具Interproc进行修改,使之能够分析迁移系统,得到原对应混成系统的不变式;Interproc是基于抽象解释不变式生成技术和工具,它针对命令式语言(Imperative language)进行过程间分析;针对Interproc,主要有以下三方面修改:
·数据结构:新定义的迁移数据结构
Figure FDA00003101283800031
·迁移系统构造equation system过程:
由于新增了源节点和目标节点两个数据项,迁移的流向将由下一个迁移关系的源节点是当前迁移关系的目标节点这一特征决定;
首先,所有迁移关系的源节点和目标节点之间的进行匹配;如果迁移e1的目标节点和迁移e2的源节点相同,就在e1的exit point和e2的begin point之间创建一个关系恒为true的transfer,这说明e1和e2之间恒存在一个控制流向关系;如果存在多个迁移的源节点和e1的目标节点相同,则迁移流每次将从e1随机流向下一个迁移;
·分析结果的提取:
Interproc将program中的每一条语句结束之处都看做一个point,计算结果将输出每一个point的不变式。我们的工作关心的是混成系统位置节点满足的不变式。混成系统到迁移系统的转换,构造了位置节点到自身的自循环迁移,也就是说所构造的迁移源节点和目标节点相同;。
2-2)不变式生成模块的主体技术,是Interproc中所用基于抽象解释的分析技术。
CN201310149282.7A 2013-04-25 2013-04-25 基于抽象解释的线性混成系统不变式的生成方法 Active CN103324776B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310149282.7A CN103324776B (zh) 2013-04-25 2013-04-25 基于抽象解释的线性混成系统不变式的生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310149282.7A CN103324776B (zh) 2013-04-25 2013-04-25 基于抽象解释的线性混成系统不变式的生成方法

Publications (2)

Publication Number Publication Date
CN103324776A true CN103324776A (zh) 2013-09-25
CN103324776B CN103324776B (zh) 2015-12-09

Family

ID=49193518

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310149282.7A Active CN103324776B (zh) 2013-04-25 2013-04-25 基于抽象解释的线性混成系统不变式的生成方法

Country Status (1)

Country Link
CN (1) CN103324776B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103678834A (zh) * 2014-01-07 2014-03-26 苏州大学 信息物理融合系统cps的建模方法及装置
WO2015078124A1 (zh) * 2013-11-27 2015-06-04 华为技术有限公司 一种网络数据处理方法及装置
CN106528970A (zh) * 2016-10-31 2017-03-22 耿生玲 一种基于可能性时空混成自动机的cps建模与属性验证方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090094004A1 (en) * 2007-10-03 2009-04-09 Nec Laboratories America, Inc. Methods and systems for efficient analysis of hybrid systems using template polyhedra
JP2013003897A (ja) * 2011-06-17 2013-01-07 Kyoto Univ ハイブリッドシステムの検証方法、検証装置、及び検証コンピュータプログラム、並びに、ハイブリッドシステムのモデル変換方法、変換装置、及び変換コンピュータプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090094004A1 (en) * 2007-10-03 2009-04-09 Nec Laboratories America, Inc. Methods and systems for efficient analysis of hybrid systems using template polyhedra
JP2013003897A (ja) * 2011-06-17 2013-01-07 Kyoto Univ ハイブリッドシステムの検証方法、検証装置、及び検証コンピュータプログラム、並びに、ハイブリッドシステムのモデル変換方法、変換装置、及び変換コンピュータプログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
卜 磊: "《BACH:线性混成系统有界可达性模型检验工具》", 《软件学报》 *
蒋慧: "《基于迁移系统分析的线性混成系统安全验证》", 《计算机工程与应用》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015078124A1 (zh) * 2013-11-27 2015-06-04 华为技术有限公司 一种网络数据处理方法及装置
CN103678834A (zh) * 2014-01-07 2014-03-26 苏州大学 信息物理融合系统cps的建模方法及装置
CN103678834B (zh) * 2014-01-07 2017-05-24 苏州大学 信息物理融合系统cps的建模方法及装置
CN106528970A (zh) * 2016-10-31 2017-03-22 耿生玲 一种基于可能性时空混成自动机的cps建模与属性验证方法
CN106528970B (zh) * 2016-10-31 2019-11-29 耿生玲 一种基于可能性时空混成自动机的cps建模与属性验证方法

Also Published As

Publication number Publication date
CN103324776B (zh) 2015-12-09

Similar Documents

Publication Publication Date Title
Storrle Semantics of control-flow in UML 2.0 activities
Schlenoff et al. The process specification language (PSL) overview and version 1.0 specification
Wang et al. Executable system architecting using systems modeling language in conjunction with colored Petri nets in a model‐driven systems development process
Kokash et al. Data-aware design and verification of service compositions with Reo and mCRL2
Goderis et al. Composing different models of computation in Kepler and Ptolemy II
Zhang et al. An integrated intelligent modeling and simulation language for model-based systems engineering
Weyers et al. Formal modeling and reconfiguration of user interfaces for reduction of errors in failure handling of complex systems
CN103324776A (zh) 基于抽象解释的线性混成系统不变式的生成方法
Dhineshkumar An approach to generate test cases from sequence diagram
Tseng et al. Systematic scenario test case generation for nuclear safety systems
Posse et al. Processing causal block diagrams with graphgrammars in atom3
Wei et al. Transforming uml models to and from conceptual graphs to identify missing requirements
Bortolussi et al. jSSTL-a tool to monitor spatio-temporal properties
Deatcu et al. PDEVS-based hybrid system simulation toolbox for MATLAB.
Wijs What to do next?: Analysing and optimising system behaviour in time
Takagi et al. Prototype of a Modeling Tool to Convert between Extended Place/Transition Nets and VDM++ Specifications
Janssen et al. Custom Digital workflows with user-defined data transformations via property graphs
Blackwell et al. Petri net script: a visual language for describing action, behaviour and plot
Chabibi et al. Model integration approach from SysML to MATLAB/simulink
Bernardeschi et al. Towards Stochastic FMI Co-simulations: Implementation of an FMU for a Stochastic Activity Networks Simulator
Bajaj et al. Maestro–A model‐based systems engineering environment for complex electronic systems
Gómez-Sebastià et al. WizArg: Visual argumentation framework solving wizard
Jürjens et al. The SecReq approach: From Security Requirements to Secure Design while Managing Software Evolution.
Ayala-Rincón et al. Interactive Theorem Proving: 8th International Conference, ITP 2017, Brasília, Brazil, September 26–29, 2017, Proceedings
Tulinayo et al. Integrating system dynamics with object-role modeling and petri nets

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant