• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
CSPによる並行システムの検証(2)
 

CSPによる並行システムの検証(2)

on

  • 1,002 views

 

Statistics

Views

Total Views
1,002
Views on SlideShare
483
Embed Views
519

Actions

Likes
3
Downloads
5
Comments
0

9 Embeds 519

http://yoriyuki-jp.blogspot.jp 491
http://yoriyuki-jp.blogspot.com 19
http://cloud.feedly.com 2
http://feedly.com 2
http://yoriyuki-jp.blogspot.ca 1
http://yoriyuki-jp.blogspot.com.au 1
http://www.feedspot.com 1
http://yoriyuki-jp.blogspot.de 1
http://yoriyuki-jp.blogspot.com.br 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    CSPによる並行システムの検証(2) CSPによる並行システムの検証(2) Presentation Transcript

    • CSPによる並行システムの検証 (2) 2013年7月10日 大阪大学 山形賴之
    • 講義概要 • モデル検査器PATの紹介 • リアルタイムOSのモデル化 • 研究紹介:ZIPC-to-PAT
    • PAT 第1章
    • PAT • Process Analysis Toolkit – http://www.comp.nus.edu.sg/~pat/ – シンガポール国家大学で開発 – 教育、個人使用は無料 • モデル記述言語CSP#などをサポート
    • PATのアーキテクチャ
    • 検証可能な性質 • デッドロック • ライブロック • アサーション • リファインメント • LTL式
    • デッドロック システムが次の状態に移行できず停止する状態 • 例 1. プロセスA,BがリソースR,Qを占有しようとする 2. AがRを、BがQを占有 3. さらにAはQを、BはRを占有しようとする 4. しかし、それぞれすでにあいてのプロセスにより占 有済 5. デッドロック
    • LTL式 • 時間の経過を記述できる論理式 • 普通の命題論理式に次のオペレーターを追加 – G(lobally): 常に成り立つ – F(uture): いずれ成り立つ – U(ntil): ~までは~ • 例: – G(req_h -> F act_h) – (! act_l) U act_h
    • リアルタイムOSのモデル化 第2章
    • OSとは • 計算機全体を制御するためのソフトウェ ア • アプリケーションやユーザーに環境を提 供 • 構成要素 – カーネル:ハードウェア資源の管理 – スケジューラ:タスクの実行の管理 – GUIなどのユーザーインターフェース – 基本的なアプリケーション • ブラウザなど
    • リアルタイムシステムとは 必要となったタスクが実行されるまでの時間にタ イムリミットがあるもの • ソフトリアルタイムシステム – タイムリミットを過ぎてもシステム自体に致命的と ならないもの • ハードリアルタイムシステム – タイムリミットを過ぎるとシステム自体に致命的と なるもの
    • リアルタイムOSとは • リアルタイムシステムのためのOS • スケジューリングに特徴がある – 優先度の高いタスクが即座に実行される – 割込みが即座に処理される • 例 – VxWorks – μITRON(規格) – REX OS(QualComm のベースバンドプロセッサ 用) – Nucleus
    • モデル • H,M,Lの3つのタスクがある • 優先度はH>M>L • それぞれreq_h, req_m, req_lで実行可能に • 実行可能→フラグwait_h, wait_m, wait_l
    • プロセスの状態遷移 開始 act_h [active == h][active == h] act_h {wait_h = false}
    • コード解説とデモ • OS.csp – 簡単なリアルタイムOS • OS-PrivInv.csp – 優先度逆転現象のシミュレーション • OS-PriInh.csp – Priority Inheritance法(?)のシミュレーショ ン
    • ZIPC-TO-PAT 第3章
    • ZIPC ZIPC C/C++ EHSTM コード生成 シミュレーション キャッツ株式会社で開発された開発ツールおよび手法 ソフトウェアの設計を拡張階層化状態遷移表(EHSTM)で表す 複数の表が同時に動作 表、状態、イベントは階層化されている
    • ZIPC (2) UML以外のモデリングツールとしては日本でトップシェア 49% 40% 6% 6% ZIPC MATLAB/Simulink Rational Test RealTime Rational Rose RealTime JASAによるET2010でのアンケートより
    • ZIPCモデルの自動検証 Garakabu Garakabu2 ZIPC-to-PAT 2002 2007 2011 Garakabu(1,2)とZIPC-to-PATは次の性質を自動検証する • システムがありえない状態に行かないこと • 変数の値が制限を超えないこと • 線形時相論理式で書ける任意の性質 福岡科学技術振興機構 福岡科学技術振興機構 産総研 九州大学 産総研
    • ZIPC-to-PAT ZIPC CSP PAT 変換ルール 〔財〕ふくおかIST様との共同研究 (2010.9~2012.3) Garakabu2より100~100 0倍程度高速 [UML&FM2012, ACM SEN2012] Formal semantics of extended hierarchical state transition matrix by CSP Yoriyuki Yamagata, Weiqiang Kong, Akira Fukuda, Nguyen Van Tang, Hitoshi Ohsaki and Kenji Taguchi シンガポール国家大学で開 発 [Formal Aspects of Computing] Formal semantics of extended hierarchical state transition matrices by CSP#, Accepted
    • 変換ルール EHSTM CSP システム プロセス タスク プロセス イベント階層化 並列合成 マトリックス プロセス 状態 大域変数 履歴 大域変数 イベント イベント イベント仮想フレーム イベント列 式 式
    • Garakabu2との比較 EHSTM 論理式 遷移を有限の深さまで展開 CVC3 検証結果 CSP 並行プロセス言語 PAT 全状態探索 SMTソルバ 手作業(現状)
    • 実験概要 • 実験1 – 複数タスクの場合のパフォーマンス比較 • 実験2 – 複数タスク、イベント階層化の場合のパ フォーマンス比較
    • 実験1 – モデル
    • 実験1-検査式 • 不可セルへの到達可能性 • STC1≡G(returner==ret⇒changer==wait_money_taken) • STC2≡G(changer==wait_request⇒returner==wait) • DYN≡G((changer==wait_requiest && X changer== wait_money_taken)⇒ X returner==ret)
    • 実験1 検査式 結果 PAT Garakabu2 不可セル 不成立 <1 384 STC1 不成立 0.085 26 STC2 不成立 0.13 47 DYN 不成立 0.0094 136 単位:秒
    • 実験1’ Property Verdict PAT Garakabu2 不可セル 成立 0.0094 2716 STC1 成立 0.098 895 STC2 成立 0.098 1573 DYN 成立 0.12 3591 単位:秒
    • 実験2-モデル
    • 実験2-検査式 SSC1 := G(state_ReturnControl == R_ACTIVE -> state_MainControl == M_WAIT_BILL_TAKEN) SSC2 := G(state_MainControl == M_ACTIVE -> state_ReturnControl == R_IDEL) FCF1 := GF(BillOutputAmount > 0) FCF2 := GF(xUserBillTake -> ((BillOutputAmount > 0) -> F UserBillObtained))
    • 実験2-結果 検査式 結果 PAT Garakabu2 不可セル 成立 0.59 1 SSC1 成立 0.58 1 SSC2 成立 0.55 1 FCF1 不成立 0.023 91 FCF2 成立 0.094 83
    • 分析 • PATの利点 – 高速(状態数が少ない時) – 遷移の深さが無制限 • PATの問題点 – 無限状態が扱えない, – スケールするか?
    • 今後 • ZIPC-to-PATの自動化 – ZIPC XMLのパース – 論理的部分の抽出 – CSPへのトランスレーター • スケーラビリティ調査
    • 今日のまとめ • PATの紹介 • PATによる自動検証の実例 – リアルタイムOSの優先度逆転現象 • ZIPC-to-PATの紹介