ソフトウェア開発における形式化技術と環境

Slides:



Advertisements
Similar presentations
一階述語論理 (first-order predicate logic) 一階述語論理入門 構文論(論理式の文 法) 意味論(論理式の解 釈) 認知システム論 知識と推論(4) 知識と論理でを組み合わせて問題を解決する.
Advertisements

プログラミング言語論 第10回(演習) 情報工学科 木村昌臣   篠埜 功.
大規模コーパスから獲得した 名詞の出現パターンを用いた 事態名詞の項構造解析
メタモデル記述を用いた成果物間の依存関係追跡手法
モデル検査の応用 徳田研究室 西村太一.
第34回安全工学シンポジウム, 日本学術会議, 安全知の体系化
エンティティ・リレーションシップ・モデル
シーケンス図の生成のための実行履歴圧縮手法
リアルタイムシステムに 上流設計ツールは有効か?
USB2.0対応PICマイコンによる データ取得システムの開発
班紹介 描画班一同.
データ構造と アルゴリズム 理工学部 情報システム工学科 新田直也.
Myoungkyu Song and Eli Tilevich 発表者: 石尾 隆(大阪大学)
3-5 クラス図の関係その3 福本研究室 神田 祐輔.
研究の背景 コードクローン ソースコード中に存在する一致または類似したコード片
9.NP完全問題とNP困難問題.
SSR 産学戦略的研究フォーラム 平成26年度調査研究グループ 「大規模複雑な自己適応システムの 適応進化制御手法に関する調査研究」 研究成果 田原 康之 電気通信大学 2015/3/31.
SS2009 形式手法の適用ワーキング グループの報告
CSP記述によるモデル設計と ツールによる検証
10.通信路符号化手法2 (誤り検出と誤り訂正符号)
ソースコードの変更履歴における メトリクス値の変化を用いた ソフトウェアの特性分析
不完全な知識 不完全な知識に基づく問題解決 フレーム問題 制約条件記述問題 非単調推論 極小限定 常識の定式化 並列極小限定.
組込みシステムの外部環境分析のためのUMLプロファイル
ソフトウェア開発方法論 北陸先端科学技術大学院大学 片山卓也 平成13年3月7日.
オブジェクト指向プログラムにおける エイリアス解析手法の提案と実現
インラインスクリプトに対するデータフロー 解析を用いた XHTML 文書の構文検証
利用関係に基づく類似度を用いたJavaコンポーネント分類ツールの作成
Javaプログラムの変更を支援する 影響波及解析システム
社会シミュレーションのための モデル作成環境
プログラム動作理解支援を目的とした オブジェクトの振舞いの同値分割手法
ソフトウェア設計検証 研究室の紹介 知能情報学部 准教授 新田直也.
オープンソース開発支援のための ソースコード及びメールの履歴対応表示システム
予測に用いる数学 2004/05/07 ide.
 型推論1(単相型) 2007.
UMLモデルを対象とした リファクタリング候補検出の試み
連続領域におけるファジィ制約充足問題の 反復改善アルゴリズムによる解法 Solving by heuristic repair Algorithm of the Fuzzy Constraint Satisfaction Problems with Continuous Domains 北海道大学.
知能情報システム特論 Introduction
Ibaraki Univ. Dept of Electrical & Electronic Eng.
コードクローン分類の詳細化に基づく 集約パターンの提案と評価
UMLの概要とオブジェクト指向の基本概念
知識表現 知識の表現形式 宣言的表現 手続き的表現 プロダクション・ルール フレーム 意味ネットワーク.
モデル検査(5) CTLモデル検査アルゴリズム
並列処理プロセッサTPCOREの 組み込みシステムへの応用 理工学研究科数理情報科学専攻 福永 力,岩波智史,情報システム研究室.
INTRODUCTION TO SOFTWARE ENGINEERING
オブジェクトの協調動作を用いた オブジェクト指向プログラム実行履歴分割手法
ソフトウェア工学 知能情報学部 新田直也.
All Rights Reserved, Copyright © 2004, Kobayashi
統合開発環境によって表現された 言語機構によるコードのモジュール化
設計情報の再利用を目的とした UML図の自動推薦ツール
米澤研究室 全体ミーティング 2010/07/07 M2 渡邊裕貴.
ETPB: Extraction of Context from Pedestrians' Behavior
第7回  命題論理.
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
クローン検出ツールを用いた ソフトウェアシステムの類似度調査
メソッドの同時更新履歴を用いたクラスの機能別分類法
述語論理式の構文と意味 一階述語論理式の構文 一階述語論理式の意味 述語,限量記号 自然言語文の述語論理式表現 解釈 妥当,充足不能
矛盾した知識 デフォルト推論 仮説を用いた推論 準無矛盾推論 デフォルト規則 デフォルト理論の拡張 → デフォルト証明 シナリオ
ソフトウェア工学 知能情報学部 新田直也.
ソフトウェア工学 理工学部 情報システム工学科 新田直也.
UMLモデルを対象とした リファクタリング候補検出手法の提案と実現
ソフトウェア工学 知能情報学部 新田直也.
エイリアス関係を考慮した Javaプログラム用静的スライシングツール
複雑度メトリクスを用いた JAVAプログラム品質特性の実験的評価
コードクローン解析に基づく デザインパターン適用候補の検出手法
知識ベースの試作計画 ●●●研究所 ●●●技術部 稲本□□ 1997年1月.
関数と再帰 教科書13章 電子1(木曜クラス) 2005/06/22(Thu.).
オブジェクト指向言語における セキュリティ解析アルゴリズムの提案と実現
GluonJ を用いたビジネスロジックからのデータベースアクセスの分離
Presentation transcript:

ソフトウェア開発における形式化技術と環境 米崎直樹 東京工業大学情報理工学研究科

リアクティブシステム Request event Environment Service event environment Reactive system Service event

リアクティブシステムの特徴 Safety critical Non-stopping Human interactive Communication oriented  非常に状態数の多いシステムのあらゆる実行の可能性を確かめる必要がある。

リアクティブシステムの形式的 開発方法 仕様記述言語 仕様の検証 再利用 ソフトウェアプロセスへの組み込み  これらをサポートする理論とそれに基づくシステムの実現

仕様記述言語 T 制限された時間論理を使用する。 Nextオペレータを用いない。 (時間の詳細化に対応するため。) 仕様記述言語 T 制限された時間論理を使用する。 (実現不能な記述を出来る限り許さないため。) Nextオペレータを用いない。 (時間の詳細化に対応するため。) オブジェクト指向モジュール構造を持つ。 抽象化、詳細化オペレーションに対応可能であること。 一階述語化、実時間化に対応可能であること。 形式論理式へのトランスレータを持つ。 差分的検証に対応したモジュール構造を持つ。

□All l in Lifts, Exist f in Floors , loc(l,f); Tによる仕様記述例 3階建て、リフトの数が 1個のエレベータシステム system elevator_system(3, 1 ;); class elevator_system(n, m;) {set: Floors = {floor[1..n]}; Lifts = {lift[1..m]}; has: floor[1] : NonTopFloor; floor[2..n_floors-1] : MiddleFloor; floor[n_floors] : NonBottomFloor; lift[1..n_lifts] : Lift; 全てのオブジェクトに対する式を 記述できるように有限領域を定義 □All l in Lifts, Exist f in Floors , loc(l,f); エレベータシステムの 部品を定義

状態の詳細化    開始点・終了点を表す様相↑,↓

例:エレベータシステム stop:エレベータは停止している open:ドアが開く、close:ドアが閉じる を加えて詳細化  を加えて詳細化 新たに追加する仕様  「ドアが開いていたら、動き出す前に閉じる」

例:エレベータシステム

□(Button . Press→Button . Light Until I); Button (I : prop) { Press, Light:prop; service { □(Button . Press→Button . Light Until I);  □(I → Button . Light Until Button . Press); }} ボタンが押されたら、Iに対応するイベントが起きるまで 点灯し続ける。  Iに対応するイベントが起きたら、ボタンが押されるまで 消灯されたままである。

記述実験 エレベータシステム 赤外線通信プロトコルIrLAP オブジェクト数7、約100行 2台、4フロアまで仕様検証可能 オブジェクト数約100、約1000行 プリコンパイラにより187KBの時間論理式が得られた。

検証 いずれも全自動で実行可能 仕様の検証 仕様のより抽象的な仕様に対する検証 実現の仕様に対する検証 無矛盾性、強充足可能性、段階的充足可能性、段階的強充足可能性、実現可能性 これらの判定方法をその正しさと共に示した。 仕様のより抽象的な仕様に対する検証 演繹的証明 (KWに対する完全な検証体系) 適切さの論理の導入 (ER 十分に強く完全で、決定可能な体系) 実現の仕様に対する検証 モデルチェキング 我々のタブローシステムが汎用的に利用可能 いずれも全自動で実行可能

実現可能でない仕様のクラス 仕様の例

バージョン変化と再利用 仕様記述 変更 (実)時間論理式 再利用 検証 自動合成

差分的検証 仕様 1 仕様 2 仕様 n 仕様 n+1 差分 検証 n + 差分 → 検証 n+1 合成 n + 差分 → 合成 n+1 ループチェックの有限表現を持つタブロー

検証の高速化 大規模な仕様の検証では状態爆発が 起こる ・不要な中間状態の省略 ・仕様をモジュールに分割 モジュール間で共有する命題を少なく

タブローの規模が小さく、展開は高速で行える モジュール分割による検証の高速化 モジュール毎にタブローを構成 タブローの規模が小さく、展開は高速で行える モジュール間で共有する命題の制約だけを 統合し、全体を検証 状態数が減少

仕様と外部イベント制約 仕様: 外部イベント制約(要求制約): 外部(要求)イベントの生起パターンと応答イベントの生起パターンの関係 ある外部イベント系列に対し、仕様を満たす応答系列が存在しないとき、仕様は外部イベントを制約するという。

制約の抽出 要求制約式: 要求イベント列の制約を表す式 制約を満たす要求イベント列については、式を満たす応答列が 必ず存在するための最弱の制約式 要求イベント列の制約を表す式 制約 リアクティブ システム 要求イベント列 応答イベント列

充足可能性判定手続き サブモジュール サブモジュール サブモジュール 要求制約式 要求制約式 要求制約式 メインモジュール 充足可能性判定

実効結果 Satisfiability Checking Strong Satisfiability Checking 5000 10000 (sec) (sec) 5000 10000 15000 20000 25000 2 3 4 (the number of floors) Satisfiability Checking Strong Satisfiability Checking

仕様検証に適切な論理 ER 明らかなトートロジを証明しない。 因果関係の無い`ならばの式`を証明しない。 完全性で、決定可能な体系を構築。 ラベル付き推論システムの良い応用。 適切さの論理体系として見た場合にも意義が大きい。 この論理を基礎にした論理体系の研究が、論理学分野の研究者により始められた。

(現実的な検証のための理論) 差分的検証、On the flyでの検証 検証のスケーラビリティ 抽象検証とその再利用性 ループチェックの有限データ表現 検証のスケーラビリティ これについては、一般的な理論構築には至らなかった。 抽象検証とその再利用性 状態の抽象化、詳細化については検証のcompositionalityが保てる。 検証の失敗からの修正情報の抽出 仕様の満たす性質による分類が有効 仕様獲得履歴の形式的表現方法とその理論 仕様の変更 ⇒ 仕様の持つ性質が変化 どのような場合にどのような性質が保存されるかを示した。

(ソフトウェアプロダクト) 仕様記述言語Tのプリコンパイラ。 時間論理タブローシステム。 タブロービューワー。 充足可能性、段階的充足可能性、   強充足性判定システム。 仕様作成支援ツール。

まとめと展望 時相論理による仕様記述が現実的に使える 可能性を示した。 再利用を含めて評価する必要がある。  可能性を示した。 再利用を含めて評価する必要がある。 全く形式的な仕様から現実規模の問題が扱える時期が来つつある。ソフトウェアの開発パラダイムを変える可能性がある。 ラダー設計への適用を行う。 理論的にも興味ある様相体系を与えた。

外部への発表 学術論文誌              17 国際会議(フルペーパ査読付き)  41 研究会等                30 関係する招待講演           7