抽象化に基づいた - IPACircuitDesign’Engineering’Lab.’2’...
Transcript of 抽象化に基づいた - IPACircuitDesign’Engineering’Lab.’2’...
-
Circuit Design Engineering Lab. -‐ Okayama Prefectural University
2013年年度度ソフトウェア⼯工学分野の先導的研究⽀支援事業
抽象化に基づいた UML設計の検証⽀支援ツールの開発
横川 智教
公⽴立立⼤大学法⼈人岡⼭山県⽴立立⼤大学 情報⼯工学部 情報システム⼯工学科
-
Circuit Design Engineering Lab. -‐ Okayama Prefectural University
背景 -‐ 組込みソフトウェア開発の課題
2014/07/29 ETWest2014 IPAブースプレゼン 2
要求分析 設計 実装 テスト
⼿手戻り
組込みソフトウェアの開発プロセス
下流流⼯工程での不不具合の検出
上流流⼯工程への⼿手戻りの発⽣生
⼿手戻りによる開発コスト増⼤大
設計検証の必要性の⾼高まり
-
Circuit Design Engineering Lab. -‐ Okayama Prefectural University
背景 -‐ 組込みソフトウェアの設計検証
2014/07/29 ETWest2014 IPAブースプレゼン 3
設計ドキュメント
どの状態にも いつか必ず到達する
危険な状態には 決して到達しない
ある変数が定められた 値に必ず到達する
UML(状態マシン図) ・・・
作成された設計ドキュメントが 要求仕様を満たしているか?
要求仕様
-
Circuit Design Engineering Lab. -‐ Okayama Prefectural University
背景 -‐ 設計検証の困難さ
2014/07/29 ETWest2014 IPAブースプレゼン 4
理理由 1. 組込みソフトウェアの不不具合が社会に及ぼす影響が甚⼤大であり,信頼性への要求のハードルが⾮非常に⾼高い
2. ソフトウェアの⼤大規模・複雑化により,システムの取り得る状態数が⼈人⼿手でテストを⾏行行う限界を遙かに越えている
従来の枠組み(テスト・レビュー)で組込みソフトウェアの 設計検証を⾏行行うのは⾮非常に困難である
網羅羅的かつ⾃自動検証が可能なモデル検査技術の利利⽤用
-
Circuit Design Engineering Lab. -‐ Okayama Prefectural University
モデル検査
2014/07/29 ETWest2014 IPAブースプレゼン 5
モデル検査とは
状態遷移系でモデル化されたシステムの全数探索索により 求める特性を満たすか否かを⾃自動検証する技術
モデル検査の適⽤用
1. モデル化⾔言語により検査対象システム(仕様書・設計書・回路路図 etc.)を記述
2. 論論理理式として検査項⽬目(要求仕様・試験仕様・基本性質・客先要望 etc.)を記述
3. モデル検査ツールによる⾃自動探索索の実施 4. モデルが検査項⽬目を満たすという証明か,満たさない場合は反例例を出⼒力力
-
Circuit Design Engineering Lab. -‐ Okayama Prefectural University
研究課題
2014/07/29 ETWest2014 IPAブースプレゼン 6
モデル検査を設計検証に導⼊入する上での問題点
問題1.モデル作成の困難さ
対象システムを検証ツール固有のモデル化⾔言語で記述モデル作成には専⾨門的な知識識やノウハウが必要
問題2.状態爆発の危険性
モデル化された対象システムの状態空間を網羅羅的探索索モデル規模によっては検証に莫⼤大な時間を要する
モデル作成を⽀支援するためのツールを開発し問題を解決
-
Circuit Design Engineering Lab. -‐ Okayama Prefectural University
検証⽀支援ツール
2014/07/29 ETWest2014 IPAブースプレゼン 7
1. 対象とする設計記法として,組込みソフトウェア開発に広く利利⽤用されている形式仕様記法UMLを想定する
2. モデル検査ツールとして,モデル記述⾔言語の表現⼒力力および検証速度度に優れたNuSMVを利利⽤用する
ツールの機能
1. SMV⾔言語への⾃自動変換を⽬目的としたUML図の抽象化 2. モデルサイズ削減を⽬目的としたUML図の抽出・分割および抽象化
3. UML図からSMV⾔言語への⾃自動変換
前提
-
Circuit Design Engineering Lab. -‐ Okayama Prefectural University
検証⽀支援ツールの概要
2014/07/29 ETWest2014 IPAブースプレゼン 8
⼊入⼒力力インタフ
ー
ス
UMLモデリングツール astah*
仕様テンプレート要求仕様
UML図(*.asta)
要求仕様(*.ctl)
抽象化・変換モジ
ー
ル
検証モデル(*.smv)
検証結果(*.out)
検証結果(整形済)(*.result)
違反箇所情報(*.ce)
記述制約
UML図
モデル検査ツール NuSMV
出⼒力力インタフ
ー
ス
検証⽀支援ツール外部ツール
l UML図の記述にはastah*を,検証にはNuSMVを⽤用いる l UML図が満たすべき記述制約と,要求仕様を記述するための仕様テンプレートが定められている
-
Circuit Design Engineering Lab. -‐ Okayama Prefectural University
SMV⾔言語による検証モデル⽣生成の流流れ
2014/07/29 ETWest2014 IPAブースプレゼン 9
SPEC AG !(XXX = ccc)SPEC EF(ZZZ = iii)SPEC AF(YYY = fff)
MODULE main VAR XXX : {aaa, bbb, ccc}; YYY : {ddd, eee, fff}; fg1 : boolean; ASSIGN init(XXX) := aaa; next(XXX) := case fg = TRUE : bbb; TRUE : XXX; esac; init(YYY) := ddd; next(YYY) := case fg = FALSE : fff TRUE : YYY; esac; init(fg) := FALSE; next(fg) := case fg = FALSE : {TRUE, FALSE}; TRUE : fg; esac;
状態マシン図
シーケンス図
UML図ファイル(*.asta)
要求仕様ファイル(*.ctl) 検証モデルファイル(*.smv)
モデル
CTL式
モデル⽣生成
CTL式 ⽣生成
safe(xxx = 1) live(message_1) reachable(S)
-
Circuit Design Engineering Lab. -‐ Okayama Prefectural University
事例例適⽤用による評価
2014/07/29 ETWest2014 IPAブースプレゼン 10
l 経緯 – 某ソフトウェア開発企業に事例例提供を打診 – 開発に⽤用いた状態遷移表から UML図(状態マシン図)を作成 – 対象システムは店舗従業員向けの 「商品供給指⽰示システム」
› 売場の端末と商品管理理室のモニターの間で, 商品供給のための通信を⾏行行う
l 検査項⽬目 – 検査1:仕様テンプレートを⽤用いた基本特性の検査 – 検査2:事例例提供元より要望のあった特性の検査
-
Circuit Design Engineering Lab. -‐ Okayama Prefectural University
検査対象となるUML図
2014/07/29 ETWest2014 IPAブースプレゼン 11
2台の売場端末とモニター表⽰示の動作の状態マシン図 (状態遷移表を元に作成)
UML図ファイル R_CDS.asta
端末A 端末B
モニター
-
Circuit Design Engineering Lab. -‐ Okayama Prefectural University
検査1
2014/07/29 ETWest2014 IPAブースプレゼン 12
仕様テンプレートを⽤用いて4つの基本特性を記述 検査項⽬目 テンプレート ツールへの⼊入⼒力力
状態の到達可能性 reachable(s)
reachable(Terminal_A = send) reachable(Terminal_A = receive)reachable(Terminal_A = com)
reachable(Terminal_B = send) reachable(Terminal_B = receive)reachable(Terminal_B = com)
通信モードの到達可能性 reachable(x,a)
reachable(MD_A, 1) reachable(MD_A, 2)
reachable(MD_B, 1) reachable(MD_B, 2)
通信モードの安全性 safe(x,a)
safe(MD_A, 3) safe(MD_A, -‐1)
safe(MD_B, 3) safe(MD_B, -‐1)
モニターの到達可能性 reachable(s)
reachable(Ctl_Monitor = surplus) reachable(Ctl_Monitor = sufficient) reachable(Ctl_Monitor = opdmal) reachable(Ctl_Monitor = few) reachable(Ctl_Monitor = short)
要求仕様 ファイル BASIC.ctl
-
Circuit Design Engineering Lab. -‐ Okayama Prefectural University
本ツールの適⽤用結果(検査1)
2014/07/29 ETWest2014 IPAブースプレゼン 13
本ツールを⽤用いて SMVファイルを⽣生成
R_CDS.asta BASIC.ctl
R_CDS_BASIC.smvモデル検査器 NuSMVで検査
R_CDS_BASIC.out
R_CDS_BASIC.result
検査結果の 整形
(001) EF Terminal_A = send is true (002) EF Terminal_A = receive is true (003) EF Terminal_A = com is true (004) EF Terminal_B = send is true (005) EF Terminal_B = receive is true (006) EF Terminal_B = com is true (007) EF MD_A = 1 is true (008) EF MD_A = 2 is true (009) EF MD_B = 1 is true (010) EF MD_B = 2 is true (011) AG !(MD_A = 3) is true (012) AG !(MD_A = -‐1) is true (013) AG !(MD_B = 3) is true (014) AG !(MD_B = -‐1) is true (015) EF Ctl_Monitor = surplus is true (016) EF Ctl_Monitor = sufficient is true (017) EF Ctl_Monitor = opdmal is true (018) EF Ctl_Monitor = few is true (019) EF Ctl_Monitor = short is true
R_CDS_BASIC.result
全ての結果がTRUE 誤りは存在しない
-
Circuit Design Engineering Lab. -‐ Okayama Prefectural University
検査2
2014/07/29 ETWest2014 IPAブースプレゼン 14
事例例提供元より要望のあった特性を直接検査式として記述 1. 端末が待機状態であり,かつ通信モードが通話無しでない
状態への到達可能性 2. 端末が着信中状態であり,かつ通信モードが2回線通話である
状態への到達可能性 3. 端末が通話中であり,かつ通信モードが通話無しである
状態への到達可能性
1A: SPEC !EF(Terminal_A = wait & !(MD_A = 0)) 2A: SPEC !EF(Terminal_A = receive & MD_A = 2) 2A: SPEC !EF(Terminal_A = com & MD_A = 0) 1B: SPEC !EF(Terminal_B = wait & !(MD_B = 0)) 2B: SPEC !EF(Terminal_B = receive & MD_B = 2) 3B: SPEC !EF(Terminal_B = com & MD_B = 0)
要求仕様ファイル R_CDS_REQ.ctl
-
Circuit Design Engineering Lab. -‐ Okayama Prefectural University
本ツールの適⽤用結果(検査2)
2014/07/29 ETWest2014 IPAブースプレゼン 15
R_CDS.asta R_CDS_REQ.ctl
R_CDS_REQ.smv
R_CDS_REQ.out
R_CDS_REQ.result R_CDS_REQ.ce
(001) !(EF (Terminal_A = wait & !(MD_A = 0))) is true (002) !(EF (Terminal_A = receive & MD_A = 2)) is true (003) !(EF (Terminal_A = com & MD_A = 0)) is false …
R_CDS_REQ.result(⼀一部)
(003) !(EF (Terminal_A = com & MD_A = 0)) is false -‐> State: 1.1
-
Circuit Design Engineering Lab. -‐ Okayama Prefectural University
本ツールの適⽤用結果(検査2)
2014/07/29 ETWest2014 IPAブースプレゼン 16
特性3Aに対する反例例の解析1 2 3 4 5
Event_A emp emp report response emp
MD_A 0 0 0 0 0
Terminal_A inidal inidal wait send com
端末が通信中(Terminal_A=com)であるにもかかわらず, 通信モードが通話無し(MD_A=0)となる状態に到達している
• UML図による設計の誤りを正しく検出できた • 反例例を元に誤り箇所を特定することができた
原因:状態遷移表のアクションの1つが UML図に正しく転記されていなかった
-
Circuit Design Engineering Lab. -‐ Okayama Prefectural University
まとめ
2014/07/29 ETWest2014 IPAブースプレゼン 17
ツールデモ
本ツールのデモを岡⼭山県⽴立立⼤大学の ブース(U-‐06)内にて実施しています. お気軽にお越しください.
オムロンソフトウェア
ウルトラエックス
バルテス・モバイルテクノロジー
テレダイン・レクロイ・ジャパン
ベリサーブバルテス
ユニダックス アバールデータ
RITAエレクトロニクス
A-12
A-08
A-07
A-06
A-11
A-10
A-09
A-05
組込みシステム産業振興機構
A-04
アドバンスド・データ・コントロールズ
A-01
九州工業大学
大阪電気通信大学大学院GENET/奈良工業
高等専門学校 ユニバーシティパビリオン
展示会登録所
BEMS/FEMS/HEMS/MEMSゾーン
IoT ゾーン
U-01 U-01 U-01
イーソル
GENUSION
星和電機 近藤電子工業
アズマ窓飛
ビットラン
B-14
B-10
B-09
B-08
B-13
B-12
B-11
B-07ノリタケ伊勢電子
イー・フォース
暁電機製作所
ナムコール製作所
金沢工業大学・北陸先端科学技術大学院大学
iTestアイエーアール・システムズ
プライムゲート
C-26
グレープシステム
C-18
C-22
C-21
C-20
C-25
C-24
C-23
C-13
オンテック
とめ研究所
日本キャステム
TOPPERSプロジェクトNSCore
C-15
C-14
C-17
C-16
C-13
三菱電機インフォメーションシステムズ
C-06
アルゴシステム
スパークスシステムズジャパン
HMSインダストリアルネットワークス
セカンドセレクションレジェンド
C-03
C-02
C-05
C-04
C-01
アイティアクセスB-06
中央電子
ファームウェアシステム
共和電子製作所
シグマ電子工業アトラシアン
B-03
B-02
B-05
B-04
B-01
日本システムウエア
東京コスモス電機
長野日本無線
東海ソフト
Bee
日本マイクロシステムズ山電器
日新システムズ
D-10
D-06
D-05
D-04
YAMABISHI
スマートジャパン
アライアンス
富士経済
エブリ
D-16
D-17
D-15
D-14
dSPACEJapan
D-13
イメディオパビリオン
関西積乱雲プロジェクト
D-12
D-11
D-09
D-08
D-07
D-03
本田技研工業
D-02
日本アルテラ
D-01
キヤノンソフトウェア
フリースケール・セミコンダクタ・ジャパン
エルイーテック
日立ソリューションズ
コアスタッフ
ベリフィケーションテクノロジー
B-22
B-17
B-21
B-20
B-19
B-18
アルファプロジェクト
ARKUS
日本パルスモーター
イノテック
C-12
C-11
C-10アドバネット
Chips &Media
C-09
C-08
C-07
コア
B-16
たけびし
EMS-JPグループ
Spansion ハギワラソリューションズ情報処理推進機構
(IPA)ディジ
インターナショナル日比谷総合設備
ルーム2+3 基調講演
ルーム1 IPAセミナー
ルーム4商談ルーム
ルーム5 ヒートアップセッション/知財のセミナー/JASAセミナー
ルーム7 スマートエネルギーセミナー/
出展社セミナー/Digi M2M CONFERENCE
2014 Osaka
ルーム8 IoTトラック/出展社セミナー
ルーム9 テクニカルセッション/出展社セミナー
C-28C-27B-23B-15A-13
A-03
A-02
立命館大学電子情報工学科ネットワークLSIシステム研究室
岡山県立大学情報工学部情報システム工学科回路デザイン研究室
名古屋大学大学院情報科学研究科付属
組込みシステム研究センター
ユニバーシティパビリオン
U-04 U-05 U-06
2014年 7月29日(火)-30日(水) グランフロント大阪 コングレコンベンションセンター
オムロンソフトウェア
ウルトラエックス
バルテス・モバイルテクノロジー
テレダイン・レクロイ・ジャパン
ベリサーブバルテス
ユニダックス アバールデータ
RITAエレクトロニクス
A-12
A-08
A-07
A-06
A-11
A-10
A-09
A-05
組込みシステム産業振興機構
A-04
アドバンスド・データ・コントロールズ
A-01
九州工業大学
大阪電気通信大学大学院GENET/奈良工業
高等専門学校 ユニバーシティパビリオン
展示会登録所
BEMS/FEMS/HEMS/MEMSゾーン
IoT ゾーン
U-01 U-01 U-01
イーソル
GENUSION
星和電機 近藤電子工業
アズマ窓飛
ビットラン
B-14
B-10
B-09
B-08
B-13
B-12
B-11
B-07ノリタケ伊勢電子
イー・フォース
暁電機製作所
ナムコール製作所
金沢工業大学・北陸先端科学技術大学院大学
iTestアイエーアール・システムズ
プライムゲート
C-26
グレープシステム
C-18
C-22
C-21
C-20
C-25
C-24
C-23
C-13
オンテック
とめ研究所
日本キャステム
TOPPERSプロジェクトNSCore
C-15
C-14
C-17
C-16
C-13
三菱電機インフォメーションシステムズ
C-06
アルゴシステム
スパークスシステムズジャパン
HMSインダストリアルネットワークス
セカンドセレクションレジェンド
C-03
C-02
C-05
C-04
C-01
アイティアクセスB-06
中央電子
ファームウェアシステム
共和電子製作所
シグマ電子工業アトラシアン
B-03
B-02
B-05
B-04
B-01
日本システムウエア
東京コスモス電機
長野日本無線
東海ソフト
Bee
日本マイクロシステムズ山電器
日新システムズ
D-10
D-06
D-05
D-04
YAMABISHI
スマートジャパン
アライアンス
富士経済
エブリ
D-16
D-17
D-15
D-14
dSPACEJapan
D-13
イメディオパビリオン
関西積乱雲プロジェクト
D-12
D-11
D-09
D-08
D-07
D-03
本田技研工業
D-02
日本アルテラ
D-01
キヤノンソフトウェア
フリースケール・セミコンダクタ・ジャパン
エルイーテック
日立ソリューションズ
コアスタッフ
ベリフィケーションテクノロジー
B-22
B-17
B-21
B-20
B-19
B-18
アルファプロジェクト
ARKUS
日本パルスモーター
イノテック
C-12
C-11
C-10アドバネット
Chips &Media
C-09
C-08
C-07
コア
B-16
たけびし
EMS-JPグループ
Spansion ハギワラソリューションズ情報処理推進機構
(IPA)ディジ
インターナショナル日比谷総合設備
ルーム2+3 基調講演
ルーム1 IPAセミナー
ルーム4商談ルーム
ルーム5 ヒートアップセッション/知財のセミナー/JASAセミナー
ルーム7 スマートエネルギーセミナー/
出展社セミナー/Digi M2M CONFERENCE
2014 Osaka
ルーム8 IoTトラック/出展社セミナー
ルーム9 テクニカルセッション/出展社セミナー
C-28C-27B-23B-15A-13
A-03
A-02
立命館大学電子情報工学科ネットワークLSIシステム研究室
岡山県立大学情報工学部情報システム工学科回路デザイン研究室
名古屋大学大学院情報科学研究科付属
組込みシステム研究センター
ユニバーシティパビリオン
U-04 U-05 U-06
2014年 7月29日(火)-30日(水) グランフロント大阪 コングレコンベンションセンター
成果
• モデル検査によるUML設計の検証⽀支援ツールの開発 • 開発現場における事例例への適⽤用に基づく評価
• ⾃自動検証による⼈人的・時間的コストを削減 • ソフトウェア信頼性の担保
-
Circuit Design Engineering Lab. -‐ Okayama Prefectural University
謝辞
2014/07/29 ETWest2014 IPAブースプレゼン 18
本発表は,独⽴立立⾏行行政法⼈人情報処理理推進機構・技術本部 ソフトウェア⾼高信頼化センター(IPA/SEC)が実施した, 「2013年年度度ソフトウェア⼯工学分野の先導的研究⽀支援事業(RISE)」の⽀支援を受けて, 公⽴立立⼤大学法⼈人岡⼭山県⽴立立⼤大学(研究責任者・有本和⺠民)が⾏行行った 研究成果の⼀一部を取りまとめたものです.