【精品】实时系统的形式模型与形式验证教学课件
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
: :x c |x c |x c |x c | 1 2Linovcaartiiaonnt
n x<=5
Location invariants
States (,) 其中 为loca,ti为 on时钟解Linovc释 aartiiaonnt
且v应满的 足 invairant
x<=5 y>3 a x := 0
2 )对 . a 于 1 2 ,若 ( li,i,a ,i,l'i) E i(i 1 ,2 ), 则 E 包 ( (l1 ,l含 2 ) ,1 2 ,a ,1 2 ( ,l'1 ,l'2 ) ) .
3)对 . a于 12,若 ( l1,1,a,1,l'1) E 1成立, 则对 l2 任 L 2,E 意 包( (含 l1,l2 ) ,1,a,1( , l'1,l2 ) ) .
– 引入有界时序算子。 如 [p ] ( ( 2 ,4 )q ) [p ] ( [( 0 ,5 ] ] q )
– 引入(全局)时钟变量T,其值(非严格)单调递增。 如:
x .[p ] ( T (x ) (q x 2 T x 4 )) x .[p ] ( T (x ) []x (T ( x 5 ) q ))
例 (x : 2.1,y3.4)
记号: 1). v d 2 ). v [Y : 0 ]
n x<=5
x<=5 y>3 a x := 0
m y<=10
例 ( x 2 . 1 ,y : 3 . 4 ) 1 . 4 ( x 3 . 5 ,y 4 . 8 )
时间自动机: 基本概念
Clock constraints 集合C(X)
transitions.
例子:节能灯
L={off,on}, L0={off}, ={press}, X={x} I={off true, onx<=2} E={(off,true,press,{x},on),(on,x=2, ,,off)}
X=2
Off
press X:=0
on
X<=2
时间自动机: (连续时间)语义
Off
Light
Bright
press X>3
时间自动机: 基本概念
Locations Initial locations Clocks x, y, z, …
far
approach near x:=0 x<=5
x>=4
exit
x:=0
passing
x<=2
时间自动机: 基本概念
Clock interpretations Val(X) :X R0
*******************************************************************
[]<>p --- p无限多次为真 <>[]p --- 从某个时刻起, p一直为真。
用LTL公式表示系统性质: 例
对于电梯的控制系统,我们可能要求; 1).电梯在开动的时候,门是不能打开的 [] ┐(door_open /\ moving)
这里:q0 Q0, 且对任意非负整数i 有: (qi, ai , q(i+1))T
举例2: 标号迁移系统:
(Q,Q0,,T )
– Q={on, off}, Q0 ={on},
– ={a, b} (设想a 表示‘开灯’事件, b 表示‘关灯’ 事件)
– T={(on,a,on),(on,b,off), (off,a,on),(off,b,off)}
例子1:节能灯
灯打开2分钟后自动关掉 引进时钟变量
X=2
Off
press X:=0
on
X<=2
例子2:智能灯控
要求:当灯处于off状态,若按一次开关,则转入 light状态,若连续按两次开关则转入bright状态. 假定间隔不大于 3秒看作是连续两次.
press
press X:=0
press X<=3
3). is a finite set of synchronization labels,
4). X is a finite set of clocks,
5). I: LC(X) is a mapping from locations to
clock constraints, and
6). ELC(X) P (X) L is the set of
m y<=10
时间自动机: 基本概念
Transitions
(l0,g,a,,l1)
g; a;
l0
l1
n x<=5
guard, 使能条件 label, 同步标号
reset, 时钟重置
x<=5 y>3
a x := 0
g 是使能条件, a 是同步标号, 是该迁移要重置的时钟的集合.
m y<=10
LTL: 语义
时序算子:
– <>p: p 在以后某个时刻会真.
p – []p :从当前时刻起, p一直为真.
ppp p p p p – Op: p在下一时刻为真
p
pp
用LTL公式表示系统性质
•安全性: []¬p •可达性: <>p •响应性: [](p <>q) •(弱)公平性: <>[]p []<>q •(强)公平性: []<> p []<>q
m y<=10
2. Delay transitions
1.1
( n , x=2.4 , y=3. 5 )
( n , x=3.5 , y=4.6 )
满足不变量
时间自动机(TA): 定义
定义. A timed automaton A is a tuple <L,L0,,
X,I,E>, where 1). L is a finite set of locations, 2). L0 L is a set of initial locations,
T Q Q为迁移关系
F Q为接受状态.
计算序列: F 中的状态在序列中要出现无穷多次.
举例3: Büchi automata
(Q,Q0,,T,F)
– Q={on, off}, Q0 ={on}, ={a, b}, – T={(on,a,on),(on,b,off), (off,a,on),(off,b,off)} – F={off}
形式化方法?untimedsystems的形式模型状态迁移系统?untimedsystems的性质表示时序逻辑ltl?实时系统的形式模型时间自动机?实时系统的性质表示实时逻辑?实时系统的形式验证模型检测?模型检测工具uppaal简介?我们正在进行的部分工作介绍
实时系统的形式 模型与形式验证
大纲
导言:形式化方法 Untimed systems 的形式模型(状态迁移系统) Untimed systems 的性质表示(时序逻辑LTL) 实时系统的形式模型(时间自动机) 实时系统的性质表示(实时逻辑) 实时系统的形式验证(模型检测) 模型检测工具UPPAAL简介 我们正在进行的部分工作介绍
– 引入freeze量词 x.
(省略) -演算 (省略)
LTL: 语法
设P是一个命题集,LTL公式由以下规则生成: ::= p | (¬) | ( /\ ) ( \/ ) ( ) ( ) |(O )
其中,pP。 “always”, “forever” “eventually”, “sometimes” O “nexttime”
2). 到第i层去的请求会被满足.
[](elevator_at[j] /\ request_for[i] /\ ij <> (elevator_at[i] /\door_open))
系统满足性质
设M是一个(迁移)系统, 是一个LTL 公式; 若M 的每一个计算序列都满足, 则称 系统M满足性质, 记作 M |= .
形式验证 符号化模型检测技术及工具
时间自动机(Timed Automata)
Timed Automata = -automata + clocks Clocks: 时钟变量, 用来表示系统中的时间约束,
如事件的响应时间等 时间模型
1. 连续时间: 以非负实数模拟时间 2. 整数时间: 以非负整数模拟时间
实时系统的形式理论
实时系统的形式模型 时间自动机(Timed Automata) Timed transition systems, Timed CSP, ……。
性质规约 实时逻辑: TCTL(Timed Computation Tree Logic, MTL(Metric Temporal Logic), DC(Duration Calculus)等
迁移系统(Transition Systems)
(Q,Q0, T ), 其中:Q是状态集合,Q0Q为初始状态集, T QQ为迁移关系.
系统行为
(无穷)计算序列:q0,q1,q2,….., 满足: (1)q0 Q0; (2) 对于任意i0有, (qi, q(i+1))T .
Untimed systems: 系统建模(2)
4 ). T由下面的两种迁移构成
-- Delay transitions: (l,v) d (l,vd),
其 d 中 R 0 ,且对 0 d 任 有 (v 意 )满 I(l)足 .
-- Discrete transitions: (l1,v) a (l2,w),
若存 (l1,g,在 a,,l2) E 使v满 得g足 , w 满I(足 l2)且 , wv[:0].
4)对 . a 于 2 1,情况 3 )与 类 . 似
多个时间自动机的并发—例
实时性质与实时逻辑
实时性质
– 有界响应性。如:若p发生,则q必在2个时间单位内 发生。
– 有界安全性。如:若p发生,则q在2个时间单位内不 会发生。
– …..
实时性质与实时逻辑
在时序逻辑中引进时间表达能力的方式
状态迁移
(l1,v1) (l2,v2)?
n x<=5
设(l1,v1)和(l2,v2)是两个状态,什么x<=5 y>3
情况下可(l1从 ,v1)迁移到 (l2,v2)?
a x := 0
1. Discrete transitions
( n , x=2.4 , y=3.5 ) a
( m , x=0 , y=3.5 )
语义-例子
多个时间自动机的并发
设 A i (L i,L 0 i, i,X i,Ii,E i)(i=1,2)是两个时间 自动机,且 X1X2,则 A1 || A2是如下定义的 一个时间自动机
( L 1 L 2 ,L 0 L 1 0 , 2 1 2 ,X 1 X 2 ,I ,E )
1 )I.(l1 ,l2 ) I1 (l1 ) I2 (l2 )
计算序列:
on a on b off b off a ….
a on
a
b
off
b
Untimed systems: 系统建模(3)
-automata (无穷字上的有限状态自动机)
Büchi automata:(Q,Q0,,T,F), 其中: Q是有穷的状态集, Q0 Q为初始状态集, 是一个有限字母集,
计算序列: (状态off要出现无穷次) 接受: on b off a on b off a ….
不接受: on a on a on a on a ….
a
a
b
on
off
b
Untimed systems: 性质表示
时序逻辑(Temporal Logic )
用于表示时序关系的逻辑语言
线性时序逻辑(LTL, Linear Temporal Logic ) 分支时序逻辑 CTL(Computation Tree Logic),
标号迁移系统(Labeled Transition Systems, LTS ) (Q, Q0, , T ) 其中:
– Q 是状态集合, Q0Q为初始状态集, – 是一个有限的 标号集合(字母集), 通常用来事件、动
作或变量的取值,
– T Q Q为迁移关系.
(无穷)计算序列: q0 a0 q1 a1 q2 a2 q3 a3 ….
导言: 系统分析的形式化方法
形式化方法:
一系列基于严格数学理论的用来描述和分 析系统性质和行为的符号、技术和手段。
1. 形式模型:系统的数学模型及建模语言(一 般基于状态迁移系统、自动机等) 2. 形式规约:性质描述及规约语言(一般基于 逻辑) 3. 形式验证:定理证明或模型检测
Untimed systems: 系统建模(1)
定义. 设 A(L ,L 0, ,X,I,E )是一个TA, A的 语义是如下定义的一个LTS: (S,S0,R0,T)
1)S . :{l(,v)|lL,v是 X上的时钟 v满解 I足 (l)}释且
2 )S .0: {l,v ()|l L 0 且对 x X 有 任 v (x ) 0 } 意 3). R0是正实数的集合