LTS综述<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

标记变迁系统LTSLabeled Transition System)是一种传统的被广为接受的基于抽象状态机的状态变迁模型. 标记变迁系统最先分别由 8]和 n[ 9]两人提出来, 而后P n在此基础上将变迁系统中增加了一个元: 标记( 动作) 0]. S是形式化一致性测试的一个重要研究方向[ 1], 它常常用于形式化地描述分布式系统和协议的行为, 成为这些系统说明、 实现和测试研究的有力工具, 同时也可以对安全协议进行验证[ 2]. 另外, S还能作为许多形式描述语言的语义模型, 如C S、 P、 OTO S、 E、 L等.

[2008]Model Based Testing with Labelled Transition Systems

模型化测试的分类,依据:模型使用的种类、测试关注的特性方面、涉及的形式化的度、系统的访问和观测度。因此,可分为:形式化的、基于规范的、活跃的、黑盒的、功能性的等测试。

测试的基础是协议规范。 IUT 是个黑盒,我们并不知道其内部细节。 ioco :定义规范和实现间一致性的形式化关系。

形式化测试

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />

关于一致性,假设任何 IUT 的现实实现都可以用 iIUT 被模型化。这里有个 trick MOD 是先验选择的,指向一些通用的实现,一般认为是测试假设。也就是说在 MOD 集合内,存在一个合法的 iIUT ,但不是说这个模型是先验的。

imp є IMPS × SPECS

s SPEC if  i imp s

T TEST i passes T ⇔∀ t T : i passes t.

i MOD : i imp s ⇐⇒ i passes Ts

完全的测试是无限的,最终也是现实上不可能实现的。因此,通常测试集上较弱的实现一般这么说:他们是合理的,那意味着所有正确的实现和一些不正确的实现都可能通过。测试致力于发现错误,而不能保证完全没有错误,完全发现错误是一直耗尽行为。 SOUND exhaustive

genimp SPEC P(TEST)

 

标号变迁系统:

定义:标号变迁系统是一个四元组 < S, L , T, s0 >   

S 是非空有限状态集合;

L 是一个有限的标号集合;

是转换关系;

是初始状态。

标号集合 L 表示系统所有的可观察动作, 特殊的标号 表示不可观察的内部动作。

T 中的元素是一个三元式 ,其中 ,也可以写成 ,表示系统在动作 下从状态 s 到达状态 s ’。将 L 上的所有标号变迁系统记为 LTS L )。

迹( Traces )是 LTS 理论中的重要概念,它是系统可观察动作的一个有限序列。 L 上所有迹的集合用 L* 表示, 表示空序列。

基本跟 LTS 中文版一样。

 

如上可以看到, LTS 用树或图来表示并不那么灵活,现实的系统往往有上 billions 的状态,所有完全画出或枚举出他们来是不现实的。因此,定义一种使用 LTS 的语言来表示。称这种语言为 process language (处理语言)

 hide G in B | P
这里 L 是一个标号,B是表示一个行为, 表示行为的一个可数集合, G L 是标号的一个集合,P是进程名。
动作前缀标定  ; B 定义一个行为没能指显动作 ,然后表现为BiB  ; B 相似,但i表示内部动作
选择表达 表示行为的选择,表现为集合 中的一个处理,这个选择取决于前面已经做的第一个转换。使用 表示 的缩写,即表示行为可表现为B1,也可以表现为B2stop 的缩写,例如那些不能做任何动作的行为就可以称为死锁进程。
仔细看中文版
输入输出变迁系统IOTS
见中文版。
       {S, Lu, LI{θ},T,s0}IOTS(LU,LI {θ})
T是有限状态,S表示两个特定的状态passfail
3.6提要
LTS是形式化理论中一个基础模型。IOTS类似input/output automata(IOA)Input-Output State Machines,但他们与经典的FSMMealy Machine是不同的。但IOTSIOA也有不同,区别在于输入使能上面,看参考其他文献。
4实现关系
一般意义上IOTSLI,LU)与LTSLI,LU)之间的关系可看做一种实现关系。
主要讲ioco
见中文<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />4.2.1
ioco的其他变种包括:TGV-iocomiocotiocotiocosioco等,
记得翻译4.3的提要

5使用LTS进行测试
首先介绍测试执行。