• 検索結果がありません。

修 士 論 文 概 要 書 Summary of Master’s Thesis

N/A
N/A
Protected

Academic year: 2021

シェア "修 士 論 文 概 要 書 Summary of Master’s Thesis"

Copied!
2
0
0

読み込み中.... (全文を見る)

全文

(1)

専攻名(専攻分野)

Department

研究指導名 Research guidance

氏名 Name 学籍番号 Student ID

number

指 導 教 員 Advisor

印 Seal

研究題目 Title

Date of submission: 1 / 31 / 2012 (MM / DD / YYYY)

修 士 論 文 概 要 書

Summary of Master’s Thesis

CD 5110B063 – 9 情報理工学

並列知識情報処理

清水 涼子

上田 和紀

     Explicit-time methodに基づくモデル検査器SLIMのリアルタイムシステムモデル検査器への拡張

1 研究の背景と目的

システムの挙動に関して実時間制約をもつリアルタイ ムシステムは, 手作業による検証が容易でないことから,

ツールによる検証が重要になってくる.リアルタイムシ ステムのモデリングには,implicit-time methodとexplicit-

time methodに大別される.前者は,時間の概念が組み込

まれた表現体系を利用するもので,既存のリアルタイムモ デル検査器の多くはこちらの手法を基礎にしている.一方 後者は,リアルタイムシステム向けでない通常の言語・モ デル検査器の上で,現在時刻を明示的に表す変数を用い てモデリングを行う.本研究の目的は,そのモデル検査器 SLIM上でExplicit-time methodを使用したリアルタイム モデル検査を行うための拡張を行い,その評価をすること である.

2 モデリング言語 LMNtal とモデル検 査器 SLIM

LMNtalは,データ構造をルールと呼ばれるプロセスが

書き換えていくことで処理が進行する.LMNtalコンパイ ラはソースコードをLMNtal抽象機械の中間命令列に変換 する.SLIMはこの中間命令列を解釈実行するほか,すべ ての書換え方法を試みて全状態空間を構築する非決定実行 機能と,本機能を拡張したLTLモデル検査機能が備わって いる.非決定実行機能とLTLモデル検査器機能は共有メ モリ計算機向けの並列化が施され,良好な並列効果が達成 している.

3 Explicit-time method

Explicit-time methodを簡潔に説明すると,現在時刻を インクリメントするプロセスTickをモデルへ導入し,これ らにより時間の経過を制御するというものである.Tickは システムの仕様が離散時間である場合1ずつ時刻をインク リメントする.時間の制約はカウントダウンタイマー変数 によって表現する.

if(∀tThread(ubTimer[t]>d))then atomic{

now=now+d;

foreach(t)

if(ubTimer[t]=∞)then ubTimer[t]=∞;

elseubTimer[t]=ubTimer[t]d;

foreach(t)

lbTimer[t]=max(lbTimer[t]−d,0);

}

図1 Tickアルゴリズムの例

4 リアルタイムシステムのエンコード

Explicit-time methodを使用し,代表的なリアルタイム システムの例題のLMNtalにおける記述を行いSLIMで モデル検査を行えることを確認した.エンコードをした 例題は,Fischerのアルゴリズム,Leader election protocol, train-gate, PAR protocol ,FDDI protocolである.その際に,

LMNtalでの記述に問題があった.

4.1 問題点

LMNtalの言語仕様では,プロセスTickのアルゴリズム

が簡潔に記述できなかった.Tickアルゴリズムの一例を図

1に示す.LMNtalで図1を実装するには,複数のルール

で記述しなくてはならない.しかし,ルールはそのままで は非決定的に実行されてしまう.また,プロセスT ickは モデル検査の観点から,1ステップで実行するのが望まし かったため,複数のルールを中間命令列にコンパイルした 後,図1の振る舞いをするよう,中間命令列を手で書き変 えていた.さらに,Tickでは全てのタイマーを参照・更新 するため,記述が冗長になりがちである.

4.2 LMNtal 拡張言語の導入

これらの問題を解消すべく,LMNtal 拡張言語を導入 した.

■集合記法 同一構造のLMNtalプロセスを繰り返し記述 するときに,この集合記法を使うとプログラムコードが簡 略化できる.この集合記法は次のように記述する.

(2)

#If

##[[ubTimer(%i)=T%i]]| i in 0..5 ## , \ :-

##[[T%i>1]]|i in 0..5 ##| .

#Then

##[[ (lbTimer(%i)=T1 :- T1>0, T2=T1-1 | lbTimer(%i)=T2),

(ubTimer(%i)=T1 :- T1=\=1000, T2=T1-1|

ubTimer(%i)=T2 ]]| i in 0..5 ##.

#End If

図2 LMNtalマクロを使用して記述したTick

"!"

#$%$ &&('

)%'+*

図3 Fischerのアルゴリズムのsafetyの実行時間

##[[process|set]]##

process中の置換指定子の部分を,setの要素で置換したも

のを全ての要素について列挙する.

■中間命令列制御構造 Tickを実装するための手作業を自 動化するため,次のような中間命令列操作のための制御構 造を用意した.この構造を適用すると,guardruleは全体 の実行をガード条件的なルールになり,guardruleの適用 に成功するとThen以下のルールが並び順に1回ずつ,そ れぞれの成否にかかわらずrulemまで実行される1ステッ プのルールのように実行される.

#Ifguardrule #Thenrule1. . .rulem(m>0) #End If 図1をこのマクロ言語を使用して記述したものを図 2で ある.

5 評価

記述したリアルタイムシステムの例題のうちFishcer の ア ル ゴ リ ズ ム と leader election protocol に つ い て , SLIMとリアルタイムモデル検査器であるUPPAAL[2],

TLC[3]の間でモデル中のパラメータを変化させ時間性

能の測定を行い比較した.実験は,OS CentOS 5.4, CPU AMD Opteron(tm) Processor 6176 SE, 48CPUsメモリ容量

256GBである共有メモリ並列計算機にて行った.

■Fischerのアルゴリズム Fischerのアルゴリズムは,極 めてシンプルな時間制約を利用した,スレッドの排他制御 のアルゴリズムである.この例題に関し,safetyの実験結 果を図3に掲載する.

図3より,TLCとSLIMの実行時間が同様に推移してい

! #"%$'&

)(*,+-. /0(2143/57689 :4;'(, -5<6=89:>

?A@4B CD

EF@4B CD

EHG@4BCD

GJIJ@4BCD

K;LNM

OPJPAQQL

図4 Leader election protocolのsafetyの状態数と実行時間[s]

ることから,SLIMへのexplicit-time methodによるリアル タイムシステムのモデル検査が妥当に行われたといえる.

UPPAALは,パラメータに依存せずごく短い時間で検査で

きる一方,explicit-time methodによる検査はパラメータが 大きくなると,状態数が増加するので,時間も増加する.

図3から,SLIMは使用するコア数に比例した時間性能に なっている.

■Leader election protocol Leader election protocolは文 献[1]にて取り上げられているネットワークの分散アルゴ リズムの例題である.この例題では,十分な時間が経過し たときにアルゴリズムが安定状態になるかについて到達性 検査を行う.

図4に実験結果を示す.UPPAALの測定結果の中で,3 つのケースでout of memoryにより検証中止になってい る.全体的にみてもUPPAALをほとんどのパラメータで SLIMやTLCが時間性能で上回った.UPPAALの性能は,

並行に動作しているタイマー数に依存するため,モデル中 のタイマーの数が増えると性能が悪化するためと考察され ている[1].

6 まとめと今後の課題

Explicit-time methodを使って代表的なリアルタイムシ ステムの例題をLMNtalへエンコードすることで,SLIM でリアルタイムモデル検査が行えることを確認した.そ の上で,リアルタイムシステムモデル検査を簡単に行える

LMNtalマクロ言語を設計・実装した.

今後の課題点としては,まず,今回用意したマクロだけ では十分に記述できない例題もあるので,その部分に対 する対応を考えたい.さらなる課題点としては,今後この SLIMのリアルタイム拡張を発展させていくため,処理系 の中で時間概念を特別扱いし,それに対するモデル検査ア ルゴリズムを用意することが考えられる.

参考文献

[1] Lamport, L., Real time is really simple.

TechnicalReport MSR-TR-2005-30, Microsoft Research, March 2005.

[2] Larsen, K. G., Pettersson, P. Yi, W., UPPAAL in a nutshell.

Int. J. of Software Tools forTechnology Transfer, Vol. 1, No. 1–2, pp. 134–152, 1997.   

[3] http://www.tlaplus.net/tools/tla-tools/The

図 4 Leader election protocol の safety の状態数と実行時間 [s]

参照

関連したドキュメント

従来方式[1]では,レイヤ間予測として TM の逆処理 である Inverse Tone Mapping(ITM)による 1 対 1

ブログには他のブログ運営者の交流の手段とし

1 Mobile IPv6 について 1.1 Mobile IPv6 の機能 インターネットで通信に用いられるIP アドレスは、

1. 本研究の背景と目的 昨今のインターネットの普及により,マルウェアの脅 威が広がっている.マルウェアとは悪意のあるソフトウ

研究の背景と目的 近年,インターネットなどの通信技術の発達によ り,機密情報を扱う業務もネットワーク上で行われる

実験には、 SONY 社製 Bravia KDL-52LX900 (52inch, 解像度 1920 × 1080 ピクセル)を使用し、3DTV

各 3D 映画に対して毎秒 1 フレームで,フレーム 毎に含まれる視差角を算出した.視差分析の結果で は,各フレームの 90%ile , 50%ile , 10%ile

輻輳操作時の被写体の影響を検討するため、上述 した輻輳操作条件に加え、コンテンツ条件として 4 つの 条件を定めた。1 つめはコンテンツ内容が背景のみ の条件(Control