CSP記述によるモデル設計と ツールによる検証

Slides:



Advertisements
Similar presentations
並列プログラミング言語による Dining Philosophers Problem の検証 大井 謙 数理科学コース 4 年 福永研究室 2010 年 3 月 4 日 ( 木 ) 1.
Advertisements

Division of Process Control & Process Systems Engineering Department of Chemical Engineering, Kyoto University
OWL-Sを用いたWebアプリケーションの検査と生成
モデル検査の応用 徳田研究室 西村太一.
区間グラフにおける区間表現からMPQ-treeを効率よく構成するアルゴリズム
3次元nクイーン問題の 解に関する研究 論理工学研究室 伊藤精一
東京工科大学 コンピュータサイエンス 亀田弘之
表計算ソフトで動作するNEMUROの開発
班紹介 描画班一同.
ビジネスパターンに基づく クラウドシステムのサービスレベル設計
このPowerPointファイルは、 情報処理演習用に作った フィクションです。
リンクパワーオフによる光ネットワークの省電力化
首都大学東京 都市教養学部数理科学コース 関谷博之
セマンティクスを利用した 図書検索システム
Ibaraki Univ. Dept of Electrical & Electronic Eng.
第5回 CPUの役割と仕組み3 割り込み、パイプライン、並列処理
Systems and Software Verification 10. Fairness Properties
システムプログラミング 第11回 シグナル 情報工学科  篠埜 功.
オープンソフトウェア利用促進事業 第3回OSSモデルカリキュラム導入実証
 データベースによる並列処理 情報論理工学研究室  三宅健太.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
UML入門 UML PRESS vol.1 より 時松誠治 2003年5月19日.
MPIによる行列積計算 情報論理工学研究室 渡邉伊織 情報論理工学研究室 渡邉伊織です。
プログラム実行履歴を用いたトランザクションファンクション抽出手法
イーサネット.
マルチTPcoreによる並列コンピュータ
Occam言語による マルチプリエンプティブシステムの 実装と検証
概要 Boxed Economy Simulation Platform(BESP)とその基本構造 BESPの設計・実装におけるポイント!
OpenMPハードウェア動作合成システムの検証(Ⅰ)
MPIによるwavからmp3圧縮の検証 情報論理工学研究室 04‐1‐47‐200 木村 惇一.
RT-Linuxを用いた 多入力パルス波高分析システムの開発
高速剰余算アルゴリズムとそのハードウェア実装についての研究
MPIを用いた最適な分散処理 情報論理工学研究室 角 仁志
その他の図 Chapter 7.
組込みシステムの外部環境分析のためのUMLプロファイル
「iQUAVIS」 によるハード・ソフトの 横断的な構想検討
グラフアルゴリズムの可視化 数理科学コース 福永研究室 高橋 優子 2018/12/29.
只見町 インターネット・エコミュージアムの「キーワード」検索の改善
社会シミュレーションのための モデル作成環境
参照モデルを利用したプロセスフローの調査・記述の手法
ゲーム開発モデルの基礎.
情報システムの基礎概念 (1) 情報システムとは
オープンソース開発支援のための ソースコード及びメールの履歴対応表示システム
情報処理 タイマの基礎 R8C タイマの基礎.
知能情報システム特論 Introduction
Ibaraki Univ. Dept of Electrical & Electronic Eng.
背景 課題 目的 手法 作業 期待 成果 有限体積法による汎用CFDにおける 流体構造連成解析ソルバーの計算効率の検証
ソフトウェア保守のための コードクローン情報検索ツール
コードクローン分類の詳細化に基づく 集約パターンの提案と評価
関数型言語による Timed CSP 検証技法の提案
明星大学 情報学科 2012年度前期     情報技術Ⅰ   第1回
並列処理プロセッサTPCOREの 組み込みシステムへの応用 理工学研究科数理情報科学専攻 福永 力,岩波智史,情報システム研究室.
INTRODUCTION TO SOFTWARE ENGINEERING
Handel-Cを用いた パックマンの設計
保守請負時を対象とした 労力見積のためのメトリクスの提案
卒業研究 JCSPを用いたプログラム開発  池部理奈.
Cソースコード解析による ハード/ソフト最適分割システムの構築
GSTOS コマンド計画検証ソフトウェアの開発
MPIを用いた並列処理計算 情報論理工学研究室 金久 英之
プログラムの一時停止時に 将来の実行情報を提供するデバッガ
情報数理Ⅱ 第10章 オートマトン 平成28年12月21日.
システムプログラミング 第11回 シグナル 情報工学科  篠埜 功.
MPIを用いた 並列処理 情報論理工学研究室 06‐1‐037‐0246 杉所 拓也.
明星大学 情報学科 2014年度前期     情報技術Ⅰ   第1回
情報処理の概念 #0 概説 / 2002 (秋) 一般教育研究センター 安田豊.
並列処理プロセッサへの 実数演算機構の開発
オブジェクト指向メトリクスを用いた 開発支援に関する研究 --- VC++とMFCを用いた開発を対象として ---
ベイジアンネットワークと クラスタリング手法を用いたWeb障害検知システムの開発
北大MMCセミナー 第17回 Date:2013年12月16日(月) 16:30~18:00 ※通常とは曜日が異なります
P2Pによる協調学習システム 唐澤 信介   北海道工業大学 電気工学専攻.
Presentation transcript:

CSP記述によるモデル設計と ツールによる検証 数理情報科学専攻 福永研究室 坂本 達哉

目次 研究背景と意義 今回の研究で触れたツールの紹介 ツールによる論理的設計と検証 CSP記述 FDR2 UPPAAL 割り込みルータシステム

システムとは 個々の要素が有機的に組み合わされた、まとまりをもつ全体、体系 ここではある入力を元に演算を行い、 結果を出力する主体とする ex. プログラム

並列処理システムとは 複数のシステムが互いに連携しながら、 全体として一つのシステムを 成立させているもの システム1 システム2   初期値を入力   演算   システム2に演算結果を出力   システム1から初期値を入力   演算   演算   システム2から演算結果を入力   システム1に演算結果を出力   演算   演算結果を出力

deadlockとは 並列処理システム全体が連携の不具合 によって停止してしまった状態 設計の段階で排除されなければならない × システム1 システム2   初期値を入力   演算   システム2に演算結果を出力   システム1から初期値を入力   演算   演算   システム2に演算結果を出力   システム1に演算結果を出力   演算   演算結果を出力 × deadlock

リアルタイムシステムとは 各プロセスごとに時間的制約があるもの システムの連携関係だけでなく、時間経過も念頭に置いて設計しなければならない

TPCOREとは 当研究室では並列処理に対応したCPUプロセッサ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. 同期通信

UPPAAL検証画面 実際に描画したシステム この直後可能な選択を列挙したもの この時点での時間を含む各変数の値 検証成功例の経路とそれを図示したもの

割り込みルータシステムの設計 CSP記述、FDR2、UPPAALを総合的に応用する方法として、実際に与えられた要件を満たすTPCOREに実装可能な並列処理 リアルタイムシステムを開発、検証した 実装をする前に設計の段階でシステム全体の並列処理の正当性や、 時間的制約の成立性を証明しようとしたことが新しい試み

割り込みルータシステム 60本のシグナルがそれぞれ 数百~数千μs周期で発生する ルータはこのシグナルを統合管理して 上位モジュールへと伝達する 一つのCPUプロセッサに60本全てを処理させるのは負担が大きいので、少ない本数ずつ複数のプロセッサに並列で処理させる

ROUTER1イメージ図 結局最上位モジュールに過度の負担がかかる 60本の端子からシグナルが入力される これら一つ一つのモジュールに 一つのTPCOREを対応させる 要求される処理速度:5.1μs TPCOREの処理速度:22μs  (シグナル1本あたり)

ROUTER2イメージ図 出力端子も複数にすることで 上位モジュールの負担減 与えられた要件を満たす範囲内で適当にグルーピング 要求される処理速度:95μs TPCOREの処理速度:22μs  (シグナル1本あたり)

CSP記述による設計

FDR2による検証結果

研究結果 CSP記述によるモデル設計、その正当性を支えるFDR2、UPPAALといったツールを使ってのシステム構築に成功 設計段階でシステムの正当性が 保証される一例を示せた CSP記述に時間的制約を加えた Timed CSPによって、 さらに精度の高い検証が期待される