形式手法に基づく CONPASU 並行処理可視化ツールの紹介 ~CSP モデルベース開発のすすめ ~ 磯部祥尚 * 1, 大岩寛 * 1, 高橋孝一 * 1, 田中純 * 2 産業技術総合研究所 * 1 セキュアシステム研究部門, * 2 イノベーション推進本部 ET2012 展示会場内 IPA 出

Similar documents
背景 並行システム : 協調する複数の処理 ( プロセス ) から構成されるシステム 並行システムの例 ( 昇降舵のフライバイワイヤ ) 操縦桿 x2 角度 x3x2 ジャイロ x3 重量計 x4 フラップ LVDT IRU WOW FSACE PB 優先ボタン x2 MON モニタ COM コマン

TopSE並行システム はじめに

CSPの紹介

CONPASU-tool

Vol. 32 No. 1 Feb Processes) [6] [13] CSP CSP [7] CSP CSP PAT [14] FDR2 [4] [7] SD2CSP SD2CSP SDVerifier SDVerifier SD2CSP : 3. 1 : create (

Microsoft PowerPoint - 【最終提出版】 MATLAB_EXPO2014講演資料_ルネサス菅原.pptx

はじめに : ご提案のポイント

7 ソフトウェア工学 Software Engineering モデル検査 MODEL CHECKING 1 モデル検査の概要 並行システム : 相互排他, デッドロック, スタベーションなどの現象 入出力関係に着目した 停止性 + 部分正当性 のみでは正当性を言えない 振る舞い ( 途中の状態遷移

目次 ペトリネットの概要 適用事例

CSP研究会 プロセス代数の基本と関連ツールの紹介

Microsoft PowerPoint - Wmodel( ) - 配布用.pptx

CANapeを用いたラピッドコントロールプロトタイピングのバイパス手法による制御モデル開発

2013 年年度度ソフトウェア 工学分野の先導的研究 支援事業 抽象化に基づいた UML 設計の検証 支援ツールの開発 公 立立 大学法 人岡 山県 立立 大学情報 工学部情報システム 工学科 横川智教 Circuit Design Engineering Lab. - Okayama Prefec

ビッグデータ分析を高速化する 分散処理技術を開発 日本電気株式会社

PowerPoint プレゼンテーション

個人依存開発から組織的開発への移行事例 ~ 要求モデル定義と開発プロセスの形式化 による高生産性 / 高信頼性化 ~ 三菱電機メカトロニクスソフトウエア ( 株 ) 和歌山支所岩橋正実 1

Microsoft PowerPoint - sakurada3.pptx

Using VectorCAST/C++ with Test Driven Development

3. 回路図面の作図 回路図の作成では 部品など回路要素の図記号を配置し 要素どうしを配線するが それぞれの配線には 線番 などの電気的な情報が存在する 配線も単なる線ではなく 信号の入力や出力など部品どうしを結び付ける接続情報をもたせることで回路としての意味をもつ このように回路図を構成する図面は

2008年度 設計手法標準化アンケート 集計結果

2015 TRON Symposium セッション 組込み機器のための機能安全対応 TRON Safe Kernel TRON Safe Kernel の紹介 2015/12/10 株式会社日立超 LSIシステムズ製品ソリューション設計部トロンフォーラム TRON Safe Kernel WG 幹事

<4D F736F F F696E74202D D4C82F08A B582BD A A F2E707074>

f2-system-requirement-system-composer-mw

2008年度 設計手法標準化アンケート 集計結果

CW6_A1441_15_D06.indd

Presentation Title

040402.ユニットテスト

Microsoft PowerPoint - 教材サンプル1&2.ppt

目次 取組み概要 取組みの背景 取組みの成果物 適用事例の特徴 適用分析の特徴 適用事例の分析結果から見えたこと JISAによる調査結果 どうやって 実践のヒント をみつけるか 書籍発行について紹介 今後に向けて 2

はじめに : ご提案のポイント

Łñ“’‘‚2004

プリント


Linkexpress トラブル初期調査資料 採取コマンド使用手引書

リソース制約下における組込みソフトウェアの性能検証および最適化方法

Microsoft PowerPoint - B3-3_差替版.ppt [互換モード]

ホンダにおける RT ミドルウェア開発と標準化活動 株式会社本田技術研究所基礎技術研究センター関谷眞

機能検証トレーニング コース一覧

IPSJ SIG Technical Report Vol.2015-SE-189 No /7/23 iarch-u 1,a) 1,b) 1,c) 1,d) Archface-U iarch-u Partial Model !" %&)*+,-./ :;<

製品開発の現場では 各種のセンサーや測定環境を利用したデータ解析が行われ シミュレーションや動作検証等に役立てられています しかし 日々収集されるデータ量は増加し 解析も複雑化しており データ解析の負荷は徐々に重くなっています 例えば自動車の車両計測データを解析する場合 取得したデータをそのまま解析

2 概要 市場で不具合が発生にした時 修正箇所は正常に動作するようにしたけど将来のことを考えるとメンテナンス性を向上させたいと考えた リファクタリングを実施して改善しようと考えた レガシーコードなのでどこから手をつけて良いものかわからない メトリクスを使ってリファクタリング対象を自動抽出する仕組みを

EnSightのご紹介

PowerPoint プレゼンテーション

D5-2_S _003.pptx

智美塾 ゆもつよメソッドのアーキテクチャ

2014 年 11 月 20 日 ET2014 スペシャルセッション C-2 mruby プログラム言語 Ruby による組込みソト開発 九州工業大学田中和明 軽量 Ruby フォーラム Ruby アソシエーション

エンジニアリング・サービスから見たMBD導入の成功・失敗


MATLAB EXPO 2019 Japan プレゼン資料の検討

NEXCESS基礎コース01 組込みソフトウェア開発技術の基礎 ソフトウェア開発プロセス編

講義の進め方 第 1 回イントロダクション ( 第 1 章 ) 第 2 ~ 7 回第 2 章 ~ 第 5 章 第 8 回中間ミニテスト (11 月 15 日 ) 第 9 回第 6 章 ~ 第 回ローム記念館 2Fの実習室で UML によるロボット制御実習 定期試験 2

C#の基本

Sol-005 可視化とRCSA _ppt [互換モード]

POSIXスレッド

目次 1. システム概要 設置手順 注意事項 動作環境 初期設定 システム設定 ( 環境設定 ) システム設定 ( ログインパスワード変更 ) システム設定 ( ファイルのパスワード変

並列計算導入.pptx

目次 1: 安全性とソフトウェア 2: 宇宙機ソフトウェアにおける 安全 とは 3:CBCS 安全要求とは 4: 宇宙機ソフトウェアの実装例 5: 安全設計から得た新たな知見 6: 今後 2

IBIS Quality Framework IBIS モデル品質向上のための枠組み

arduino プログラミング課題集 ( Ver /06/01 ) arduino と各種ボードを組み合わせ 制御するためのプログラミングを学 ぼう! 1 入出力ポートの設定と利用方法 (1) 制御( コントロール ) する とは 外部装置( ペリフェラル ) が必要とする信号をマイ

組込みシステムにおける UMLモデルカタログの実践研究

PowerPoint Presentation

1(FST ) FST FST FST 2(FST ) FST FST 4 FST MMDAgent FST FST 5 MMDAgent FST FST FST MMDAgent FST FST FSTFST 状態番号, 遷移先状態番号, 遷移条件, 出 FST 例 / ε ε / ε / は 1

OPN Terminalの利用方法

IPSJ SIG Technical Report Vol.2015-SE-187 No /3/ Checking the Consisteny between Requirements Specification Documents and Regulations A

モデリングとは

PowerPoint プレゼンテーション

reply_letter

Microsoft PowerPoint - 08LR-conflicts.ppt [互換モード]

プログラミング基礎

JTAG バウンダリスキャンテストの容易化設計を支援する OrCAD Capture の無償プラグイン 21 July 2017 ( 富士設備 / 浅野義雄 )

変更の影響範囲を特定するための 「標準調査プロセス」の提案 2014年ソフトウェア品質管理研究会(30SQiP-A)

PowerPoint プレゼンテーション

X 線天文衛星ひとみ (ASTRO-H) への FRAM 適用 有人宇宙システム株式会社 IV&V 研究センター道浦康貴 宇宙航空研究開発機構第 3 研究ユニット片平真史 石濱直樹有人宇宙システム株式会社 IV&V 研究センター野本秀樹 道浦康貴 JAXA All Rights

アナリシスパターン勉強会 責任関係事例紹介 株式会社オーエスケイ小井土亨 (CBOP COM 分科会主査 ) 2000/07/19 1

Oracle Business Rules

<4D F736F F F696E74202D C190DD B A CB48D65208E DC58F49205B8CDD8AB B83685D>

メンバーの紹介 日本科学技術連盟ソフトウェア品質管理研究会 2010 年度第 6 分科会 B グループ リーダー関野浩之 アズビル株式会社 ( 発表者 ) 大坪智治 株式会社インテック 外谷地茂 キヤノンITソリューションズ株式会社 メンバーの特徴 開発案件のほとんどが派生開発 ( 組み込み系 :1

Microsoft PowerPoint - OS07.pptx

ET2014 ミニセミナー フィーチャー図と BricRobo で 簡単プロダクトライン 2014/11/19~21 ( 株 ) 富士通コンピュータテクノロジーズ伊澤松太朗 1294karch01 Copyright 2014 FUJITSU COMPUTER TECHNOLOGIES LIMITE

周波数特性解析

Viewgo波形の連続格納ソフト

研究レビューミーティング プレゼン資料 テンプレート

Microsoft PowerPoint - ETEC-CLASS1資料 pptx


NetworkVantage 9

インターリーブADCでのタイミングスキュー影響のデジタル補正技術

HIGIS 3/プレゼンテーション資料/J_GrayA.ppt

先進的な設計 検証技術の適用事例報告書 2015 年度版 2015 年 11 月

発表内容 背景 コードクローン 研究目的 4 つのテーマ 研究内容 テーマ毎に, 概要と成果 まとめ 2

スライド 1

講義「○○○○」

テスト設計コンテスト

オートマトン 形式言語及び演習 3. 正規表現 酒井正彦 正規表現とは 正規表現 ( 正則表現, Regular Expression) オートマトン : 言語を定義する機械正規表現 : 言語

スライド 1

無線LAN JRL-710/720シリーズ ファームウェアバージョンアップマニュアル 第2.1版

モータ HILS の概要 1 はじめに モータ HILS の需要 自動車の電子化及び 電気自動車やハイブリッド車の実用化に伴い モータの使用数が増大しています 従来行われていた駆動用モータ単体のシミュレーション レシプロエンジンとモータの駆動力分配制御シミュレーションの利用に加え パワーウインドやサ

発表の流れ 1. 研究の背景と目的 2. 相互接続の概観 3. ワームホールデバイスの動作の概要 4. 実験 性能評価 5. まとめ DICOMO2007 2

TOPPERS 活用アイデア アプリケーション開発 コンテスト 部門 : 活用アイデア部門アプリケーション開発部門 作品のタイトル : Toppers_JSP と Scicos_lab / (Scilab でも可 ) による 組込みメカトロニクス制御シミュレーション 作成者 : 塩出武 ( シオデタ

NUMAの構成

JBoss と Arquillian で実現する 究極のテスト環境 レッドハット株式会社 JBoss サービス事業部 コンサルタント 山 田義和

Transcription:

形式手法に基づく CONPASU 並行処理可視化ツールの紹介 ~CSP モデルベース開発のすすめ ~ 磯部祥尚 * 1, 大岩寛 * 1, 高橋孝一 * 1, 田中純 * 2 産業技術総合研究所 * 1 セキュアシステム研究部門, * 2 イノベーション推進本部 ET2012 展示会場内 IPA 出展ブースプレゼンテーション 2012 年 11 月 15 日 この資料の一部またはすべての内容について 作成者の許可なき使用 複製 配布を固くお断りします 1

目次 はじめに 背景 目標 pp.5-11 CONPASUツールの特徴 並行システムの解析例 協調動作の可視化 モデル検査との違い pp.12-16 CONPASUの適用 既存ツールとの連携 CSPモデルベース設計工程 おわりに まとめ 今後の課題 2

背景 並行システム : 協調する複数の処理 ( プロセス ) から構成されるシステム 並行システムの例 ( 昇降舵のフライバイワイヤ ) 操縦桿 x2 角度 x3x2 ジャイロ x3 重量計 x4 フラップ LVDT IRU WOW FSACE PB 優先ボタン x2 MON モニタ COM コマンド 協調 フライト制御 x4 アクチュエータ x4 ACE, PCU センサプロセッサアクチュエータ ( エンブラエル社レガシー ) なぜ並行システム? センサに対する応答性 故障時に対する冗長性 制御情報の通信 ( 共有 ) 背景 : ネットワークやマルチコアの普及によって 並行処理が身近になっている 課題 : 全体で正しく並行処理するように 個々のプロセスを設計するのは難しい 3

目標 目標 : 設計モデルの協調動作を理論的に解析するツール CONPASU の開発 効果 : 信頼性の向上 手戻りコストの削減 解析結果 設計レビュー支援 解析 フィードバック 並行システムのモデル 要求分析 設計 手戻りコスト削減 受入テスト 結合テスト CONPASU-tool SQ REM SUM 実装 単体テスト 4

CONPASU ツールの特徴 並行システムの解析例 協調動作の可視化 モデル検査との違い 5

並行システムの解析例 並行システム全体の動作を把握するのは難しいので? upload cancel complete UI input ok ng quit0 succ Sender start net term quit1 ack Receiver output 構造 UI Sender 振舞い Receiver 通信 通信 6

並行システムの解析例 並行システム全体の動作の可視化するツール CONPASU [1] を開発中! CONPASU-tool upload cancel complete 入力 : 並行システムの構造 各プロセスの振舞い UI UI input ok ng quit0 succ Sender Sender start net term quit1 Receiver τ[#ds0>0] /ds0:=tail(ds0), ack ds1:=ds1^<head(ds0)> @(0(11)) Receiver output 構造 振舞い 出力 : 全体の振舞い 処理 : 並行合成 状態数削減 CONPASU( 産総研知財管理番号 :H24PRO-1409) 並行システム通信全体の振舞い 通信デッドロック 7

協調動作 ( 並行処理 ) の可視化 既存のツール ( 例 :PAT [10], LTSA [11] ) でも状態遷移図を表示できる 入力値は具体化されるため状態数が多くなる CONPASU パイプライン並列計算の例 in.1 in.0 PAT in?x1 SQ REM SUM LTSA 状態数 : 8 遷移数 : 12 状態数 : 105 遷移数 : 160 入力値 : 無制限入力回数 : 任意 状態数 : 42 遷移数 : 67 入力値 :{0,1} 入力回数 :3 8

状態遷移図の抽象化 CONPASU では興味のあるイベントに着目した状態数の削減が可能 状態数 : 3 遷移数 : 3 CONPASU CONPASU-tool 途中結果の表示を隠蔽 状態数 : 8 遷移数 : 12 in?x1 [n>0] / y:=y+(x1*x1)%10,n:=n-1 @ ((11)1) SQ REM SUM ( 計算式が見える!) 9

計算過程の可視化 CONPASU では任意の入力値に対する計算過程 ( 計算式 ) を確認できる in?x1 状態数 : 3 遷移数 : 3 状態数 : 105 遷移数 : 160 in.1 in.0 比較 in.1 式 CONAPSU 入力値 : 無制限入力回数 : 任意 入力値 :{0,1} 入力回数 :3 prts.2 10 PAT 値

モデル検査との違い CONPASU では検証用の性質 ( 時相論理式など ) を記述する必要がない 性質 ( 逐次動作 ) は CONPASU が抽出する 両ツールを併用すると効果的 in の後にいつか ack が起きる? この性質を記述 in ack 並行システムの設計モデル Snd c1 Rcv out Ack c2 性質 ( 時相論理 ) (in ack) 逐次動作 in in in in c1 c2 ack c1 out ack ack ack c2 in と ack の関係は? in と ack を選択 11

CONPASU の適用 既存ツールとの連携 CSP モデルベース設計工程 12

既存のモデル / ツールとの連携 CONPASU は形式手法 CSP* 1[2,3] に基づく解析ツール CONPASU の入力言語には形式言語 CSP M * 2 を採用 ( 例 : モデル検査器 FDR と連携して UML モデルを解析可能 ) FDR モデル検査器 [8] ( オクスフォード大学 ) UML Activity UML State M. 変換器 UML CSP M ( サリー大学 [7] ) 変換器 SimuLink CSP M 状態遷移図 意味論 Snd = in -> c1 -> Snd Rcs = c1 -> out -> c2 -> Rcv Ack = Sys = ((Snd Ack) [ ]Rcv) \{ } ProB モデル検査器 [9] デュッセルドルフ大学 サウサンプトン大学 MATLAB/Simulink ペルナンブコ連邦大学 エンブラエル社 [6] CSP M 言語 CONPASU * 1 CSP : 並行システムを記述し 解析するための理論 ( プロセス代数 ) * 2 CSP M : CSP の代表的なモデル検査器 FDR の入力言語 ( 関連研究が多い ) モデル解析器 [1] ( 産総研 ) 13

形式手法 CSP CSP モデルは同期型メッセージパッシング通信を採用 協調部 ( 並行処理 ) とデータ部を分割して設計しやすい プロセス チャネル in?x f x, y, z = x + y z C UI in x z CNTL back out y back?z y:=f(x,y,z) out!y 協調部 ( 振舞い ) データ部 ( 関数 ) 協調部 ( 構造 ) 共有メモリ通信よりも並行処理がわかりやすい 設計ミスの削減 CSP の解析ツールによって効果的に解析できる 設計ミスの検出 設計工程を階層的に分割しやすい 役割分担の明確化 14

CSP による組込みシステム開発事例 農水産物加工向け全周 3 次元形状計測システム ( 株式会社ニッコー, 産業技術総合研究所 ) ステレオカメラを用いて 農水産物の全周 3 次元形状を高速 高精度に計測するシステム http://www.aist.go.jp/aist_j/press_release/pr2011/pr20110606/pr20110606.html 開発初期 並列処理を共有メモリ通信で設計して試作 計測結果が正しくない誤動作が低い確率で発生 ( 再現性がないため 誤動作の原因究明は困難 ) この問題を解消するため 並列処理を CSP で設計し直し モデル検査器で検証してから実装 高信頼 高速な並列処理を実現 マルチスレッドによる高速処理 UI 画像入力 制御 画像処理画像処理画像処理 設計検証実装 並列 SW の CSP モデル CSP モデル検査器 プログラム (CSP ライブラリ ) 修正 CSP モデルを用いた並列ソフトウェアの開発 全周 3 次元形状計測システム概観 15

CSP モデルベースの設計工程 CSP では協調部 ( 並行処理 ) とデータ部を分割して設計 解析しやすい 概念モデル 間違えやすい協調部は網羅的解析 (CONPASU に実装中 ) 設計工程 網羅的解析 解析工程 協調部 データ部 構造図 ( コンポーネント図 ) 振舞い図 ( ステートマシン図 ) 協調部 データ部 ( 関数定義等 ) int fact(n){... } 解析済の CSP モデル シミュレーション 状態数の多いデータ部はシミュレーション解析 (CONAPSU に実装予定 ) 16

おわりに まとめ 今後の課題 17

まとめ CONPASU 研究のポイント ネットワークやマルチコアの普及によって 並行処理が身近になっている 複雑な並行処理の全体像を解析して 簡潔に可視化するツールを開発 並行処理も解析可能で 既存の開発工程への導入が容易 信頼性の向上 手戻りコストの削減 モデルベース開発工程への導入 CSP モデルベース開発工程の採用 解析モデル 要求分析 設計モデル 手戻りコスト削減 受入テスト 結合テスト 解析 CSP/UML 要求分析 設計 CSP/UML 解析 CSP (CONPASU) 実装 単体テスト (CONPASU) 並行処理の明確化 検証効率の向上 実装 18

今後の課題 解析結果のフィードバック方法 見やすい解析結果の表示方法 解析結果ともとのモデルとの対応表示方法 他 設計モデル 解析結果 解析 フィードバック 解析能力の向上 さらなる状態数削減方法の研究 19

補足 :CONPASU の仕組み 記号処理 20

CONPASU の機能 CONPASU は並行処理の全体像を解析して可視化するツール 逐次化機能 : 並行処理を記号的意味論によって逐次処理に展開する機能 状態数削減機能 : 振舞いの等しさを保ったまま状態数を減らす機能 状態数 : 8 状態数削減 (CONPASU) CONPASU 並行システムの設計モデル 状態数 : 4 in c1 c2 out B0 B1 B2 in c1 c1 c2 c2 out 逐次化 (CONPASU) 容量 3 のバッファ 21

記号的意味論 プロセス代数の記号的意味論 [4,5] は 1995 年頃から研究が行われている CSP モデル Proc = in?x out!(x 2) ack Proc ( 普通の ) 意味論記号的意味論 入力値 x {0,, 9} 値 変数 in.0 in.1 in.2 in.9 out.0 out.2 out.4 out.18 ack in?x out!(x 2) ack 状態数の増加を抑えられる 解析 ( 等価性判定など ) は難しい 振舞いを変えずに 変数を含む状態遷移図の状態数を削減する方法を考案 22

並行システムの解析例 並行システム全体の動作の可視化するツール CONPASU を開発中! upload cancel 普通の意味論で状態遷移図 UI を作成した場合 complete (FDR 使用 ) 状態数 : 約 12 万 CONPASU-tool UI データ種類 :4 種類入力 : 転送回数 :4 回 並行システムの構造 各プロセスの振舞い input ok ng quit0 succ Sender Sender start net term 状態数 Receiver : 8 quit1 ack Receiver output 構造 振舞い 出力 : 全体の振舞い 処理 : 並行合成 状態数削減 通信 通信 23

参考文献 1. (CONPASU)Y. Isobe, CONPASU-tool: A Concurrent Process Analysis Support Tool based on Symbolic Computation, CPA2011, WoTUG-33, IOS Press, pp.341-362, 2011. http://staff.aist.go.jp/y-isobe/conpasu/ 2. (CSP)C. A. R. Hoare, Communicating Sequential Processes, Prentice Hall, 1985. http://www.usingcsp.com/cspbook.pdf 3. (CSP)A. W. Roscoe, The Theory and Practice of Concurrency, Prentice Hall, 1998. http://www.cs.ox.ac.uk/people/bill.roscoe/publications/68b.pdf 4. ( 記号的意味論 )Z. Li and H. Chen, Computing strong/weak bisimulation equivalences and observation congruence for value-passing processes, TACAS '99, LNCS 1579, Springer, pages 300-314, 1999. 5. ( 記号的意味論 )M. Hennessy and H. Lin, Symbolic bisimulations, Theoretical Computer Science, Volume 138, Issue 2, pp.353-389, 1995. 6. (Simulink-CSP)J. Jesus, A. Mota, A. Sampaio, and L. Grijo, Architectural Verification of Control Systems Using CSP, ICFEM 2011, LNCS 6991, Springer, pp.323-339, 2011. 7. (UML-CSP)I. Abdelhalim, S. Schneider, and H. Treharnea, Towards a Practical Approach to Check UML/fUML Models Consistency Using CSP, ICFEM 2011, LNCS 6991, Springer, pp.33-48, 2011. 8. (FDR)Formal Systems (Europe) Limited, Failures-divergence refinement: FDR2, http://www.fsel.com/ 9. (ProB)Universität Düsseldorf and University of Southampton, The ProB Animator and Model Checker. www.stups.uni-duesseldorf.de/prob/ 10. National University of Singapore, PAT: Process analysis toolkit. http://www.comp.nus.edu.sg/~pat/ 11. Imperial College London, LTSA - labelled transition system analyser. http://www.doc.ic.ac.uk/ltsa/ 24