CSP記述によるモデル設計と ツールによる検証 数理情報科学専攻 福永研究室 坂本 達哉 目次 研究背景と意義 今回の研究で触れたツールの紹介 CSP記述 FDR2 UPPAAL ツールによる論理的設計と検証 割り込みルータシステム システムとは 個々の要素が有機的に組み合わされた、 まとまりをもつ全体、体系 ここではある入力を元に演算を行い、 結果を出力する主体とする ex. プログラム 並列処理システムとは 複数のシステムが互いに連携しながら、 全体として一つのシステムを 成立させているもの システム1 初期値を入力 演算 システム2に演算結果を出力 演算 システム2から演算結果を入力 演算 演算結果を出力 システム2 システム1から初期値を入力 演算 システム1に演算結果を出力 deadlockとは 並列処理システム全体が連携の不具合 によって停止してしまった状態 設計の段階で排除されなければならない システム1 初期値を入力 演算 システム2に演算結果を出力 演算 システム2に演算結果を出力 演算 演算結果を出力 システム2 × システム1から初期値を入力 演算 システム1に演算結果を出力 deadlock リアルタイムシステムとは 各プロセスごとに時間的制約があるもの システムの連携関係だけでなく、時間経過 も念頭に置いて設計しなければならない TPCOREとは 当研究室では並列処理に対応したCPU プロセッサTPCOREを研究開発した 開発した並列処理システムは TPCOREでの実装をねらっている つまりTPCOREで実装可能な (並列処理リアルタイム)システムを 設計しなければならない 研究の意義 並列処理システムは 複数のシステムが結びついているため、 全体としてのデバッグが困難である そのためあらかじめシステムが正当性を もつように設計することが重要になる そのためにはシステムのモデリングを導入 して形式設計をする必要がある CSP記述(Communicating Sequential Process) A.Hoare(1978)らによって 理論展開されたシステム論 理で、並列処理システムを 独特の文法で記述すること ができる 連続運転されるシステムを、 イベントによるプロセスの 状態遷移としてとらえる 状態 イベント CSP記述における文法の例 内部選択 プロセスの選 択権はプロセ ス自身にある 外部選択 発生したイベント によって選択が 決定する 並列処理 イベントで同期通信処理をとる CSP記述における演算 状態遷移の可能性について 数学的演算による推論が可能 ex.全ての状態遷移の可能性が 否定された状態がdeadlockに相当する FDR2(Failures Divergences Refinement checker) B.Roscoe(94)によって開発された CSP記述に準拠した検証ソフトウェア deadlock、livelock、determinismの有無、 refinementの関係にあるかどうかを PC上でソフトウェア的に検証できる 入力: CSP記述に準拠したソースコード 出力: deadlockの可能性の有無など FDR2検証画面 検証項目 今はdeadlockが選択 されている 検証結果 TEAMはdeadlock の可能性があり、 TEAM’はdeadlock の可能性がないこ とが分かる UPPAAL Uppsala University groupと Aalborg University group(95)により 協同開発された、システムの検証に 時間の概念を導入可能にしたソフトウェア 一つのイベントで経過する時間などを 入力設定する ある状態への到達可能性や 到達までの経路、時間を網羅的に調査 UPPAALでの描画 CSP記述の概念図 をそのまま 描画する 他の多くのCSP記 述の概念もそのま ま描画することが できる ex. 同期通信 CSP記述 の概念図 UPPAAL での描画 UPPAAL検証画面 実際に描画したシステム この直後可能 な選択を列挙 したもの この時点での時 間を含む各変数 の値 検証成功例の経路と それを図示したもの 割り込みルータシステムの設計 CSP記述、FDR2、UPPAALを総合的に応用 する方法として、実際に与えられた要件を 満たすTPCOREに実装可能な並列処理 リアルタイムシステムを開発、検証した 実装をする前に設計の段階でシステム全 体の並列処理の正当性や、 時間的制約の成立性を証明しようとしたこ とが新しい試み 割り込みルータシステム 60本のシグナルがそれぞれ 数百~数千μs周期で発生する ルータはこのシグナルを統合管理して 上位モジュールへと伝達する 一つのCPUプロセッサに60本全てを処理さ せるのは負担が大きいので、少ない本数 ずつ複数のプロセッサに並列で処理させる ROUTER1イメージ図 結局最上位モジュール に過度の負担がかかる 60本の端子からシ グナルが入力される これら一つ一つの モジュールに 一つのTPCOREを 対応させる 要求される処理速度:5.1μs TPCOREの処理速度:22μs (シグナル1本あたり) ROUTER2イメージ図 出力端子も複数 にすることで 上位モジュール の負担減 与えられた要件を満 たす範囲内で適当に グルーピング ROUTER2の方が より実現性が高い 要求される処理速度:95μs TPCOREの処理速度:22μs (シグナル1本あたり) CSP記述による設計 FDR2による検証結果 研究結果 CSP記述によるモデル設計、その正当性を 支えるFDR2、UPPAALといったツールを 使ってのシステム構築に成功 設計段階でシステムの正当性が 保証される一例を示せた CSP記述に時間的制約を加えた Timed CSPによって、 さらに精度の高い検証が期待される
© Copyright 2024 ExpyDoc