LTS綜述
標記變遷系統LTS(Labeled Transition System)是一種傳統的被廣爲接受的基於抽象狀態機的狀態變遷模型. 標記變遷系統最先分別由 K e l l e r [ 8]和 L i e n[ 9]兩人提出來, 而後P l o t k i n在此基礎上將變遷系統中增加了一個元: 標記( 動作) [ 1 0]. L T S是形式化一致性測試的一個重要研究方向[ 1 1], 它常常用於形式化地描述分佈式系統和協議的行爲, 成爲這些系統說明、 實現和測試研究的有力工具, 同時也可以對安全協議進行驗證[ 1 2]. 另外, L T S還能作爲許多形式描述語言的語義模型, 如C C S、 C S P、 L OTO S、 E S T E L L E、 S D L等.
[2008]Model Based Testing with Labelled Transition Systems
模型化測試的分類,依據:模型使用的種類、測試關注的特性方面、涉及的形式化的度、系統的訪問和觀測度。因此,可分爲:形式化的、基於規範的、活躍的、黑盒的、功能性的等測試。
測試的基礎是協議規範。IUT是個黑盒,我們並不知道其內部細節。ioco:定義規範和實現間一致性的形式化關係。
形式化測試
關於一致性,假設任何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(處理語言)
這裏 L是一個標號,B是表示一個行爲, 表示行爲的一個可數集合,G L是標號的一個集合,P是進程名。
動作前綴標定 ; B定義一個行爲沒能指顯動作 ,然後表現爲B。i;B與 ; B相似,但i表示內部動作 。
選擇表達 表示行爲的選擇,表現爲集合 中的一個處理,這個選擇取決於前面已經做的第一個轉換。使用 表示 的縮寫,即表示行爲可表現爲B1,也可以表現爲B2,stop是 的縮寫,例如那些不能做任何動作的行爲就可以稱爲死鎖進程。
仔細看中文版
輸入輸出變遷系統IOTS
見中文版。
{S, Lu, LI∪{θ},T,s0}∈IOTS(LU,LI ∪{θ})
T是有限狀態,S表示兩個特定的狀態pass和fail。
3.6提要
LTS是形式化理論中一個基礎模型。IOTS類似input/output automata(IOA)和Input-Output State Machines,但他們與經典的FSM和Mealy Machine是不同的。但IOTS與IOA也有不同,區別在於輸入使能上面,看參考其他文獻。
4實現關係
一般意義上IOTS(LI,LU)與LTS(LI,LU)之間的關係可看做一種實現關係。
主要講ioco
見中文4.2.1
ioco的其他變種包括:TGV-ioco、mioco、tioco、tioco、sioco等,
記得翻譯4.3的提要
5使用LTS進行測試
首先介紹測試執行。