リアルタイム制御のセミナー・研修・出版物 https://tech-seminar.jp/taxonomy/term/685/all ja PAT3によるモデル検証 https://tech-seminar.jp/publication/PAT3%E3%81%AB%E3%82%88%E3%82%8B%E3%83%A2%E3%83%87%E3%83%AB%E6%A4%9C%E8%A8%BC <div itemscope itemtype="http://schema.org/Product"> <div class="field"> CSP : Communicating Sequential Processes</div> <h1 itemprop="name">PAT3によるモデル検証</h1> <div class="field field-pub-subtitle"> <span class="subtitle">~PAT3サンプルプログラム付~</span> </div> <div class="clear-block"> <div class="terms"> <ul class="links inline"> <li class="term first"><a href="/taxonomy/term/29" rel="tag" title="ソフトウェア開発">ソフトウェア開発</a></li><li class="term"><a href="/taxonomy/term/628" rel="tag" title="制御">制御</a></li><li class="term"><a href="/taxonomy/term/685" rel="tag" title="リアルタイム制御">リアルタイム制御</a></li><li class="term"><a href="/taxonomy/term/1451" rel="tag" title="ロボット">ロボット</a></li><li class="term"><a href="/taxonomy/term/92" rel="tag" title="組み込みシステム">組み込みシステム</a></li></ul> </div> </div> <div class="clear-block"> <div class="terms"> <a href="/node/9093/similar">関連するセミナー・出版物</a> </div> </div> <div class="field"> <div class="contact"><a href="/order/triceps.co.jp/publication?id=9093&title=PAT3%E3%81%AB%E3%82%88%E3%82%8B%E3%83%A2%E3%83%87%E3%83%AB%E6%A4%9C%E8%A8%BC">出版物を購入する</a></div> </div> <div class="field field-type-text field-pub-introduction"> <h3 class="field-label">ご案内</h3> <div class="field-items"> <div class="field-item"> <p> 大規模高度システムのための組み込みソフトウェア開発では、安全性と信頼性が大きな問題となっています。とりわけ、自動車、エレベータ、ロボット、鉄道、医療、宇宙機器などの産業機器、或いは民生機器では高信頼化が要求されています。組み込みシステムでの機能安全規格として、<acronym title="機能安全規格">IEC61508</acronym>、<acronym title="自動車">ISO26262</acronym> などの上位レベルでは形式手法(<span class="caps">CCS</span>,CSP,HOL,LOTOS,OBJ,VDM,Z, 時相論理, 他) を使う事を高く推奨(HR) されています。従って証明されたシステム設計方法は特別なものではなく、ヨーロッパでは当然のように実施されています。<br />  自動車、列車の制御、通信、制御、ロボットなどの様に高機能で高性能な領域に入りますと、リアルタイム処理、高度で複雑な並行処理プログラミング技法が要求されます。一般に使われていますZ/B/Event-B/Alloy/ <span class="caps">VDM</span> などの形式手法ツールでは要求仕様の検証が主であり、リアルタイム処理、並行処理、通信、割り込み等の振る舞いの検証は十分でないだけでなくアーキテクチャーの検証は非常に難しいです。そこで注目されるのがCSP モデルです。<br />   <acronym title="Communicating Sequential Processes"><span class="caps">CSP</span></acronym> は、元Oxford 大学のTony Hoare が1978 年 に考案し英国を中心に欧州で研究実用化が進められ、その結果としてInmos 社から並列処理言語occam と並列プロセッサTransputerが生み出されました。90 年代後半にTransputer が消えてからも、2000 年以降CSP モデルを採用したハードウェア、ソフトウェアは数多く見られる様になりました。この背景には、アプリケーションが複雑化するにつれて、CSP モデルの有効性が再注目されている様に思います。<br />  CSP はプロセス代数の一つでありプロセスの振る舞いを数学的に記述できする事ができます。その後にモデル検証ツールを用いてモデルが正しいかどうかの検証をします。CSP モデルの検証ツールには、LTSA/SPIN/FDR2 /PAT3/Verum/Moby/ProB/CONPASU/CSP-Prover などがあります。特にPAT3 はReal-Time <span class="caps">CSP</span> などサポートされていますので、組み込み系のアプリケーションのモデル検証として使えます。<br />  PAT3 には多くの機能が用意されていますが、とりわけCSP モデルが中心となってますので、ある程度 <span class="caps">CSP</span> の理解が必要とされます。従ってこのテキストでは、第1章でCSP プロセス概論、第2章でトレースとその意味、第3章で拒否、失敗、失敗発散、第4章でPAT3 の構文と使い方、第5章でCSP モデルのデザインパターンとPAT3 の基本的な使用方法、第6章でTimed-<span class="caps">CSP</span> 概要、第7章でTimed-<span class="caps">CSP</span> によるPAT3 の事例、第8章でUML 図へのPAT3 の事例、第9章でStateflow 図へのPAT3 の事例について説明します。<br />  テキストの構成は、英国Surrey 大学のSteve Schneider 教授のテキスト「Concurrent and Real-timeSystems – The <span class="caps">CSP</span> Approach」を主として使い、CSP のデザインパターンを用意し、それらをPAT3 のコードに書き直す事から入ります。<br />  このデザインパターンはプログラミングの構造と同じなのでoccam-π/JCSP/XC などのプログラミング技法へと展開する事ができます。基礎的なデザインパターンの構造が理解できますと、更に複雑なプロセスモデルを考える事ができます。この操作はLEGO マシンの仕組みと同じです。プロセスの遷移法則と代数的法則はプログラム言語の意味を理解するのに役立ちますので添付いたしました。<br />  CSP コンストラクタの法則性に関してTony Hoare、Bill Roscoe、Steve Schneiderのテキストには書かれていますが、もう少し基本的で有益な内容がTony Hoare、Jim Woodcock、Xinbei Tangらの資料の中にありますので、その中から抽出し追加致しました。</p></div> </div> </div> <div class="field field-type-text field-pub-contents"> <h3 class="field-label" id="field-pub-contents">目次</h3> <div class="field-items"> <div class="field-item"> <h4>まえがき</h4> <h4>第1章 CSPプロセス概論</h4> <ul> <li>1.1 <span class="caps">CSP</span> プロセスとは</li> <li>1.2 アルファベット(Alphabet)</li> <li>1.3 正常終了(<span class="caps">SKIP</span>)</li> <li>1.4 停止(<span class="caps">STOP</span>)</li> <li>1.5 <span class="caps">RUN</span></li> <li>1.6 混乱(<span class="caps">CHAOS</span>)</li> <li>1.7 イベントの定義</li> <li>1.8 接頭辞(Prefix)イベント</li> <li>1.9 推論規則(Inference Rules)</li> <li>1.10 Prefix選択</li> <li>1.11 ラベル付き状態遷移</li> <li>1.12 LTSの定義</li> <li>1.13 チャネル(Channel)の入出力</li> <li>1.14 再帰(Recursion)</li> <li>1.15 条件(IF コンストラクタ)</li> <li>1.16 繰り返し(<span class="caps">WHILE</span> コンストラクタ)</li> <li>1.17 選択(Choice)</li> <li>1.18 ガード(Guard) 付き選択</li> <li>1.19 外部選択(External Choice) コンストラクタ</li> <li>1.20 内部選択(Internal Choice) コンストラクタ</li> <li>1.21 逐次(Sequence) コンストラクタ</li> <li>1.22 並行(Concurrent) コンストラクタ</li> <li>1.23 隠蔽(Hiding)</li> <li>1.24 リネーム(Renaming)</li> <li>1.25 パイプ(Pipe)</li> <li>1.26 奴隷化(Enslavement)</li> <li>1.27 優先度(Priority)</li> <li>1.28 割り込み(Interrupt)</li> <li>1.29 索引(Index) 付き付き並列、選択、インターリーブ</li> </ul> <h4>第2章 トレースとその意味</h4> <ul> <li>2.1 トレース(Traces)</li> <li>2.2 連結(Catenation)</li> <li>2.3 制限(Restriction)</li> <li>2.4 頭尾(Head and tail)</li> <li>2.5 スター(*Star)</li> <li>2.6 順序(Ordering)</li> <li>2.7 長さ(Length)</li> <li>2.8 選抜(Selection)</li> <li>2.9 initials/after</li> <li>2.10 トレースと実行</li> <li>2.11 充足(Satisfaction)</li> <li>2.12 <span class="caps">TRACE</span> の定義</li> <li>2.13 <span class="caps">STOP</span></li> <li>2.14 <span class="caps">SKIP</span></li> <li>2.15 <span class="caps">RUN</span></li> <li>2.16 Prefixイベント</li> <li>2.17 Prefix選択</li> <li>2.18 チャネル</li> <li>2.19 条件</li> <li>2.20 隠蔽</li> <li>2.21 再帰</li> <li>2.22 逐次</li> <li>2.23 選択</li> <li>2.24 アルファベット並列</li> <li>2.25 インターフェース並列</li> <li>2.26 インターリーブ</li> <li>2.27 割り込み</li> <li>2.28 トレース等価性</li> </ul> <h4>第3章 拒否、失敗、失敗発散</h4> <ul> <li>3.1 拒否(Refusals)</li> <li>3.2 拒否の法則</li> <li>3.3 安定した拒否(Stable Refusals)</li> <li>3.4 失敗(Failures)</li> <li>3.5 安定な失敗(Stable Failures)</li> <li>3.6 失敗の法則</li> <li>3.7 失敗・発散・無限のトレース</li> <li>3.8 詳細化(Refinement)</li> </ul> <h4>第4章 PAT3の構文と使い方</h4> <ul> <li>4.1 PAT3のインストール</li> <li>4.2 PAT3のアーキテクチャ</li> <li>4.3 PAT3のモデルチェック</li> <li>4.4 定数</li> <li>4.6 変数</li> <li>4.6 チャネル</li> <li>4.7 命題</li> <li>4.8 Skip、Stop</li> <li>4.9 Prefixイベント</li> <li>4.10 アルファベット</li> <li>4.11 データの操作</li> <li>4.12 条件、選択</li> <li>4.13 case文</li> <li>4.14 while文</li> <li>4.15 atomic文</li> <li>4.16 急ぐイベント(Urgent Event)</li> <li>4.17 外部選択/内部選択</li> <li>4.18 逐次合成/並列合成</li> <li>4.19 インターリーブ</li> <li>4.20 隠蔽</li> <li>4.21 ガード(Guard)</li> <li>4.22 プロセスの引数とグローバル変数</li> <li>4.23 表明(Assertion) の式</li> <li>4.24 線形時相論理(Linear Temporal Logic)</li> </ul> <h4>第5章 デザインパターンとPAT3の使用方法</h4> <ul> <li>5.1 碁盤の移動</li> <li>5.2 到達性(Reaches)</li> <li>5.3 チャネル入出力</li> <li>5.4 簡単な通信プロトコル</li> <li>5.5 プロセスCOPY</li> <li>5.6 並行</li> <li>5.7 アルファベットに同期した並行処理</li> <li>5.8 Stop-and-Wait Protocol</li> <li>5.9 バッファ</li> <li>5.10 スタック(Stack)</li> <li>5.11 <acronym title="Alternating Bit Protocol"><span class="caps">ABP</span></acronym></li> <li>5.12 パイプ(Pipe)</li> <li>5.13 プロセスの選択</li> <li>5.14 多重化されたバッファ</li> <li>5.15 One2One チャネル(One2N,N2One)</li> <li>5.16 共有チャネル(One2Any、Any2One、Any2Any)</li> <li>5.17 同期送信(parSend)と同期受信(parRead)</li> <li>5.18 インターリーブ</li> <li>5.19 マトリックスの掛け算</li> <li>5.20 円卓の哲学者</li> <li>5.21 PAT3における詳細化</li> </ul> <h4>第6章 Timed CSPの概論</h4> <ul> <li>6.1 <span class="caps">CSP</span> モデルの階層化</li> <li>6.2 Timed CSPの表記</li> <li>6.3 Timed <span class="caps">CSP</span> とPAT3</li> <li>6.4 時間の間隔(Intervals of Time)</li> <li>6.5 時間付きイベント(Timed Event)</li> <li>6.6 時間付きトレース(Timed Traces)</li> <li>6.7 時間付き拒否(Timed Refusals)</li> <li>6.8 時間付き失敗(Timed Failures)</li> <li>6.9 時間詳細化(Timewise Refinement)</li> </ul> <h4>第7章 Timed-CSPによるPAT3の適用</h4> <ul> <li>7.1 時間オートマタ(Timed Automata)</li> <li>7.2 タイマーとの同期</li> <li>7.3 時間付きチャネル出力(Timed Output)</li> <li>7.4 耐故障システム(Fault Tolerance)</li> <li>7.5 時間付きバッファ(Timed Buffer)</li> <li>7.6 列車の踏み切り制御</li> </ul> <h4>第8章 UML図へのPAT3の適用</h4> <ul> <li>8.1 コンポーネント要素</li> <li>8.2 遷移</li> <li>8.3 シーケンス</li> <li>8.4 シーケンス図</li> <li>8.5 並行処理</li> <li>8.6 パラレル図(1)</li> <li>8.7 パラレル図(2)</li> <li>8.8 alt図</li> <li>8.9 通信図</li> <li>8.10 アクティビティ図</li> <li>8.11 状態マシン図</li> <li>8.12 タイミング図</li> <li>8.13 CDプレーヤー</li> </ul> <h4>第9章 Stateflow図へのPAT3の適用</h4> <ul> <li>9.1 Stateflow図とは</li> <li>9.2 排他的(OR)な遷移</li> <li>9.3 自己ループル遷移</li> </ul> <h4>付録</h4> <ul> <li>付録: 稲盛財団京都賞受賞</li> <li>付録: 数学的背景</li> <li>付録: CSPで使用される記号と意味</li> </ul> <h4>参考文献</h4></div> </div> </div> <div class="topnav"> <a href="#header-region">ページのトップヘ</a> </div> <div class="field field-type-text field-pub-author"> <h3 class="field-label" id="field-pub-author">執筆者</h3> <div class="field-items"> <div class="field-item"></div> <a href="/lecturer/%E6%9D%BE%E4%BA%95-%E5%92%8C%E4%BA%BA">松井 和人</a> </div> </div> <div class="topnav"> <a href="#header-region">ページのトップヘ</a> </div> <div class="field field-type-text field-pub-company"> <h3 class="field-label">出版社</h3> <div class="field-items"> <div class="field-item" itemprop="brand" itemscope itemtype="http://schema.org/Organization"> <a href="/company/triceps.co.jp">株式会社 トリケップス</a> <meta itemprop="name" content="株式会社 トリケップス" /> <meta itemprop="telephone" content="042-439-9968" /> <meta itemprop="url" content="triceps.co.jp" /> <div itemprop="address" itemscope itemtype="http://www.schema.org/PostalAddress"> <meta itemprop="addressCountry" content="日本" /> <meta itemprop="postalCode" content="112-0012" /> <meta itemprop="addressRegion" content="東京都" /> <meta itemprop="addressLocality" content="西東京市" /> <meta itemprop="streetAddress" content="ひばりが丘1-6-14" /> </div> </div> <div class="field-item">お支払い方法、返品の可否は、必ず注文前にご確認をお願いいたします。</div> </div> </div> <div class="field"> <h3 class="field-label">お問い合わせ</h3> <div class="field-item">本出版物に関するお問い合わせは <a href="https://tech-seminar.jp/contact/webadmin">tech-seminar.jpのお問い合わせ</a>からお願いいたします。</div> <div class="field-item">(出版社への直接のお問い合わせはご遠慮くださいませ。)</div> </div> <div class="field field-type-number-integer field-pub-page field-pub-appearance"> <h3 class="field-label">体裁・ページ数</h3> <div class="field-items"> <div class="field-item">A4判 並製本 202ページ</div> </div> </div> <div class="field field-type-date field-pub-publish-date"> <h3 class="field-label">発行年月</h3> <div class="field-items"> <div class="field-item">2013年3月</div> </div> </div> <div itemprop="offers" itemscope itemtype="http://schema.org/Offer"> <div class="field field-type-text"> <h3 class="field-label">販売元</h3> <div class="field-items"> <div class="field-item" itemprop="seller">tech-seminar.jp</div> </div> </div> <div class="field field-type-number-integer field-pub-price"> <h3 class="field-label" id="field-pub-price">価格</h3> <div class="field-items"> 48000円 (税別) / 52,800円 (税込) <meta itemprop="price" content="48000" /> <meta itemprop="priceCurrency" content="JPY" /> </div> </div> <link itemprop="itemCondition" href="http://schema.org/NewCondition" /> <link itemprop="availability" href="http://schema.org/InStock" /> </div> </div> <div class="field"> <div class="contact"><a href="/order/triceps.co.jp/publication?id=9093&title=PAT3%E3%81%AB%E3%82%88%E3%82%8B%E3%83%A2%E3%83%87%E3%83%AB%E6%A4%9C%E8%A8%BC">出版物を購入する</a></div> </div> <div class="topnav"> <a href="#header-region">ページのトップヘ</a> </div> <div id="nav-fixed"> <h2>ページ内で移動</h2> <ul> <li><a href="#header-region">ページのトップ</a></li> <li><a href="#field-pub-contents">目次</a></li> <li><a href="#field-pub-price">価格</a></li> <li><a href="/order/triceps.co.jp/publication?id=9093&title=PAT3%E3%81%AB%E3%82%88%E3%82%8B%E3%83%A2%E3%83%87%E3%83%AB%E6%A4%9C%E8%A8%BC">出版物を購入する</a></li> <li><a href="/contact/webadmin?id=9093&title=PAT3%E3%81%AB%E3%82%88%E3%82%8B%E3%83%A2%E3%83%87%E3%83%AB%E6%A4%9C%E8%A8%BC">この出版物について<br />問い合わせる</a></li> <li><a href="/node/9093/similar">関連セミナー・出版物</a></li> </ul> </div> ソフトウェア開発 制御 リアルタイム制御 ロボット 組み込みシステム Mon, 01 Apr 2013 03:57:59 +0000 admin 9093 at https://tech-seminar.jp