システム検証技術を社会へ-組込みシステム産業の検証高度化支援

計測フロンティア研究部門
システム検証技術を社会へ
組込みシステム産業の検証技術高度化支援
大崎人士
産業技術総合研究所
1
計測フロンティア研究部門
組込みシステム産業を取り巻く問題
脱化石燃料化
グローバル化
複雑化
国際分業化
組込みソフト開発費
組込みソフトウェア産業活性化プラン
2.1兆円 → 4.2兆円
(2004)
(2009)
国産化
地域化
上流化
全体最適化
情報通信白書
外部開発委託
636億円→1995億円
(2005)
設計 約20%
検証 約50%
急増
ツール依存度
欧米主導
人材不足
企業
企業
重点的に育成
すべきキャリア
プロダクト
マネージャ
空洞化
経済流出
(2010)
事業
事業
(ドメイン)
(ドメイン)
(ハイレベル)
プロジェクト横断
QA
スペシャリスト
開発プロセス
改善スペシャリスト
開発環境
エンジニア
プロダクト
ドメインスペシャリスト
高コスト
マネージャ
プロジェクト
プロジェクト
(ミドルレベル)
(製品システム)
(製品システム)
システム
アーキテクト
育成
プロジェクト
プロジェクト プロジェクト
マネージャ
(ソフトウェア)
(ソフトウェア)
ブリッジSE
機能モジュール
機能モジュール
ソフトウェア
エンジニア
テスト
エンジニア
2
計測フロンティア研究部門
ソフトウェアは悪ものか?
複雑化
大規模化
ソフトウェア
58.8%
おもな不具合原因
組込みソフトウェア産業実態調査報告書(2010)
車載組込みシステムの
コード量は10年で10倍(≒1.25^10)
電動サスペンション
ABS
VSC(横滑り防止)
電動パーキングブレーキ
自動防眩バックミラー
駆動用モータ
回生ブレーキ
組込みネットワーク
電動ミラー
ワイパー
エアコン用ブロア、ルーバ
エアコン用コンプレッサ
アクティブフロントステアリング
AFS
ヘッドランプクリーナー
パワーシート
後軸ステアリング
後輪駆動
電動サンルーフ
アンテナリフト
電動テールゲート
電動ドア
パワーウインドウ
シートベルト・プリテンショナー
3
コード量(新規開発と既存部分の)合計
計測フロンティア研究部門
仕様から品質低下が始まる
■ 背景
大規模化する鉄道システム。
駅務機器(改札機等)も大規模化、複雑化。
駅務機器
■ 問題点
寿命の長い駅務機器は、仕様の品質維持が課題。
■ 形式手法 の仕様への適用とその効果
対象となる駅:1500駅程度
対象となる路線:120路線
効果1
暗黙知の明示化
駅務処理
仕様書
明文化されて
いない知識
外部
データ
6400行
(自然言語)
効果5
テスト工程で利用し
コストダウン
要求
形式記述
暗黙知
共通ルール
(仕様書)
特殊ルール
(仕様書)
外部データ
1400行
(VDM++)
1400行
(VDM++)
6600行
(VDM++)
80万行相当
(VDM++)
要求分析
効果4
上流の品質向上
効果2
仕様書の構造化
効果3
仕様書の不備発見
形式記述した
仕様書
実装
4
システム
テスト
単体・結合
テスト
設計
ユーザー
テスト
計測フロンティア研究部門
ささい
些細なリスク要因に 開発の成否が左右される
ピークコストが
許容上限を超える
コスト
許容
上限
要求
ピークコスト減少
開発のリスク軽減
ユーザー
テスト
システム
テスト
要求分析
設計
結合テスト
詳細設計
単体テスト
実装
現状
目標
時間
上流工程の品質向上
製品の品質低下を防ぐ
5
計測フロンティア研究部門
その負荷テストは妥当か?
■ 背景
AUTOSAR 準拠の車載OS検証技術の研究開発
* 企業との共同研究(2010.4~2012.3)
■ 問題点
負荷テストの妥当性: 保証内容が不明
* 負荷テスト:テストケースを入力し、割込みランダムに発生させつつ
一定時間動作させ続け、異常停止しないかを観察するテスト。
1. テスト入力の妥当性
2. 観察方法の妥当性
出力
技術者の勘と経験に依存
内部での動作状況が不明
観察
入力
ス マ ー ト 負 荷 テ ス ト
フィーチャ指向テスティング(FOT)
車載 OS (実機)
詳細なテスト実施報告が可能な環境
ランダム割込み発生
6
計測フロンティア研究部門
FOT (Feature Oriented Testing)
■ OS テスト設計の難しい点とその解決法
1. 振舞いが複雑
→ 機能 ⇒ 要求工学のゴール分析
状況 ⇒ プロダクトライン工学の
フィーチャ分析
2. テストケースを手動作成
→ 数理モデルによる自動化
FOTによる AUTOSAR テスト設計例
ツール化
7
7
計測フロンティア研究部門
Before
重複
漏 れ
テスト
関心事
手動
生成
技
術
現状のテスト設計イメージ
車載 OS
者
:テストすべき箇所
:テストの実行
1. 保証内容の明示化
テスト
関心事
自動生成
分析
FOTを用いたテスト設計イメージ
技 術 者
FOTによるテスト設計
3. テストケース生成自動
After (FOT を用いた負荷テスト)
8
2. テスト漏れ・重複の回避
車 載
O S
計測フロンティア研究部門
「最先端治療」 としての 「形式手法」
大学病院
= 研究所・研究室
難病治療
少ない公開情報
病気
= 不具合
効果の有無
(実験では有効だが…)
治療
専門家は
専門の事しか
興味ない
予防
偏った情報源
町のお医者さん
= ツール、商用サービス
最先端治療
コストの見積り
導入・運用にリスク
難しい
9
=
形式手法
計測フロンティア研究部門
形式手法に何を求めるのか
品質
すべてを満足する唯一の方法はない
コスト
リスク
伝統的な形式手法
規格の中の形式手法
モダン形式手法
適用の仕方には言及しない
単機能化してより広範囲へ適用
10
計測フロンティア研究部門
技術マップ
自動検証
対話型検証
モデル検査
定理証明
SPIN
SMV
Isabelle/HOL
UPPAAL
Coq
PVS
Agda
抽象実行を伴う
静的解析
Coverity Klocwork
制約解消
SAT
SMT
QBF
テスト・シミュレーション
形式記述
VDM
B
仕様(アーキテクチャ)記述
Matlab
SCADE
Simulink
Z
ZIPC
UML
AADL
モデリング
11
SysML
テスト生成
TVEC
計測フロンティア研究部門
モデル検査
・ モデルの振舞いを総当たり的に検査法
・ ソフトウェアを検査対象とする場合、
モデル ← 設計仕様書やソースコード
検査式 ← 要求仕様や要件定義
if (a<0) {
・・・
}
x++;
・ モデル検査ツールごとに仕様記述言語
状態爆発と抽象化
青、青点滅、赤
車信号(34)×歩行者信号(38)×押ボタン(28)
抽象化
車信号(32)×歩行者信号(32)
12
計測フロンティア研究部門
モデル検査の3つの工程
モデル化
教科書に書いてない
モデル検査の常識
if (a<0) {
・・・
}
x++;
反例解析
検査式作成
まれ
・ 「モデル化」 「検査式作成」 「反例解析」 の手順で行くのは稀
・ 検査コストは 反例解析
>
> モデル化
> 検査式作成 の順
・ 不具合発見は モデル化 >> 反例解析 の順
13
モデル化だけでも効果大
計測フロンティア研究部門
モデル検査の難しさは 検査式を作る難しさ
P
(init)
P
(init)
◇P : いつか P が成り立つ
□P : ずっと P が成り立つ
P
P
(init)
いつでも いつか P が成り立つ
いつかは ずっと P が成り立つ
視点 (不定,固定)
結果
時点
「~が成り立つ」
図示記法
スイッチA押下すると
リセット
□(P→◇Q)
Q
条件
「~のときは」
P
© AIST
14
□◇P,◇□P
どう違う?
計測フロンティア研究部門
ふと、立ち止まって考えてみる
① システムからモデルを作る
④ システム上でテストケースを
実行する
② モデルから抽象テストケースを作る
③ 抽象テストケースから実行用テストケースを作る
Model-based testing
(Wikipedia http://en.wikipedia.org/wiki/Model-based_testing)
15
計測フロンティア研究部門
形式手法の産業界応用のために
• システム検証研究ラボ(2003)、システム
検証研究センター(2004-2009)を経て、
組込みシステム技術連携研究体(2008現在)まで、形式手法にもとづく最先端の
システム検証技術を産業界へ適用する事
例研究を実施。
• 2003年からの8年間で企業との共同研究
は20事例を超え、世界レベルの実績。
• 検証対象は、組込みシステム、業務アプリ
ケーション、通信プロトコルなどと広範囲で、
検証手法も、形式手法を基盤としたモデル
検査、定理証明、モデル指向テスト、それ
らのハイブリット技術など、様々。
• 検証対象は組込み分野を中心とした様々
なシステムの上位仕様からソースコードま
での広範囲。
• 研究成果や検証事例は、あらゆる機会を
通じて情報発信。(右図)
検証事例報告集
16
各種セミナー・ワークショップ
書籍
計測フロンティア研究部門
検証サービス
• 「組込みシステム検証施設整備事業」(経産省)としてクラス
タシステムの建設を2007年に計画。
• 2009年6月から試験運用を開始。
• 2010年7月から組込みシステム産業振興機構との合同事
業「開発支援事業(右図)」の中で検証サービスを支える基
幹システムとして活用。
• 2011年1月から「さつき」をもちいた検証サービス(有料)を
提供開始。
• 2011年6月以降、「検証サービス」「さつき利用」を分離予定。
利用者の目的に応じて組合せ自由なサービスに。
検証クラスター「さつき」の構成
環境1) モデル検査やSATソルバーなど大容量のメ
モリーを使用する検証向けの環境
ソフトウェア環境
大容量メモリークラスター (Thin Node Cluster)
グループ
メモリー
CPU
クロック
X
3.0GHz
Y
2.9GHz
総数
通信
OS
台数
コア数
16
Linux
検証ツール
256GB
10G
64
1TB
10G
480
10TB
28
3
31
SAT ソルバー
minisat2
pmsat
sat4j
環境2)ネットワークで接続された多数の機器の動作テ
ストなどに適した環境
モデル検査
NuSMV
大規模演算クラスター (Thin Node Cluster)
グループ
メモリー
CPU
クロック
通信
spin
台数
コア数
divine
prism
A
3.3GHz
2
8GB
1G
112
B
3.0GHz
8
24GB
1G
16
agda
C
3.0GHz
8
48GB
1G
16
数理的仕様記述
480
2TB
総数
144
プルーフアシスタント
vdmtool
17
計測フロンティア研究部門
技術を社会へ
産総研関西センター 組込みシステム技術連携研究体
【産総研 関西センター】
・ 形式手法を産業へ最先端応用
- 世界有数の検証事例の蓄積
- 検証施設「さつき」の産業利用
- 日本語モデル検査教材はじめ
検証教材の独自開発
【大学】
【メーカー】
・ ソフトウェア工学の研究者が多い
・ 産業の集積化
- 教育カリキュラム,教材の充実
- 受発注が地域で完結
・ “実”学主義
- 開発拠点の関西集積化
- 産業界のニーズに合った人材の輩出
・ 高度開発人材の獲得に有利
【地域組織(横串)】
・組込みシステム産業振興機構
18
「平成22年度新成長産業分野IT経営モデル事業調査報告書
関西における組込みシステム産業競争力強化に向けて」(近経局)
計測フロンティア研究部門
組込みシステム産業振興機構
組込みソフト産業推進会議で3年間、検討・展開してきた成果を、更に具体的な事業として
深化・発展させ、発注側と受注者双方に実効のある事業展開により、将来的な産業集積化
を実現していくための、新たなプラットフォーム。
組込みシステム産業振興機構
組込みソフト産業推進会議
総
会
総
会
副理事長
理事会
理事会
幹事会
第1部会
ダイキン工業
シャープ
パナソニック
西日本電信電話
代表取締役会長兼CEO
代表取締役会長
代表取締役副会長
相談役
井上礼之
町田勝彦
松下正幸
森下俊三
高度組込みソフト技術者育成プログラム検討部会
WG
第2部会
理事長 情報通信研究機構 宮原秀夫
企画運営委員会
STC(Software Training Center)検討部会
機構全体の戦略立案や広報活動を実
施する。
事業推進部会の運営を行う。
WG
第4部会
組込みソフト開発機構検討部会
会
員
教育事業推進部会
WG
WG
WG
WG
第5部会
資格認定評価制度検討部会
第0部会
組込みソフト開発機構設立検討部会
開発支援事業推進部会
支援
関西経済連合会
19
教育事業、開発
支援事業により提
供するサービスの
企画・運営を行う。
WG
参画
アジア開発リソース検討部会
参画
第3部会
会
員
74団体
(52企業)
支援
協力
関西経済連合会
産業技術総合研究所
計測フロンティア研究部門
教育事業推進部会
◆ 組込みシステム技術者の輩出に向けた人材育成サービスの提供
◆ 会員企業のニーズに合致した教育カリキュラムの企画
◆ 組込みシステム技術者の育成に関する会員への情報提供
重点目標(具体的な取り組み内容)
「組込み適塾」による高度組込みシステム技術者の輩出および「指導者育成研修」による初・中級の
組込みシステム技術者の裾野拡大を図る。
⇒ 各研修のアンケート結果を元に、カリキュラムや運営方法の見直しを行うことで、質の高い人材
育成サービスへと改善する。また、会員ニーズに基づいた新たなカリキュラムの企画を行う。
組込みシステム技術者育成をテーマに、先進的な事例や他団体における取組みなど、講演会等を通じて会員へ
情報提供を行う。
組込み適塾
(1)6月23日から8月9日まで23日間、23科目の講義を実施
⇒本年度は、マネージメントに関する科目を追加
(2)23名を輩出(参考 2009年度:22名 2008年度:30名)
修了式
◆ 実践演習コース
講義風景
実践的モデル検査・・産業技術総合研究所/大阪学院大学
・9月1日より3日間、4名が受講
関澤先生
実践的クラス設計演習(アンドロイド)・・兵庫県立大学
・8月25日より週1回、計6日間、5名が受講
中本先生
リバースエンジニアリング&リファクタリング・・大阪市立大学
・9月10日より週1回、計6日間、4名が受講
20
柳原先生
計測フロンティア研究部門
開発支援事業推進部会
◆ 組込みシステム開発におけるQCD向上、受発注の活性化、企業育成に資する開発支援サービスの
企画検討及び提供
◆ 組込みシステム産業における技術動向、トレンドなどに関する会員への情報提供
重点目標(具体的な取り組み内容)
「組込みソフト開発の品質向上や受発注機会の拡大につながるサービス」を提供し、組込みシステム開発にお
けるQCD向上、受発注の活性化、企業育成を行う。
各サービスの提供状況、会員からの要望などを元に、各サービスの見直しや新たなサービスを企画し、効果の
高い開発支援サービスの提供を行う。
組込みシステム開発、ビジネスマッチング、企業育成などをテーマに先進的な開発手法や他団体における取り
組み等に関する講演会を開催し、会員へ情報提供を行う。
◆ 推進会議(3年間)で顕在化した課題について、具体的な活動へと展開を検討するWGを設立
◆ 新たに機構にて提案された組込みソフト製品に関する認証ビジネスを検討するWGを新設
【
課
題
】
・ツールを用いた開発支援(保有型)
・事業共同組合マッチング
開発サービス検討WG
(主査:産業技術総合研究所 大崎)
事業共同組合設立検討WG (主査:グローバルサイバーグループ 辰巳)
・シーズ・ニーズマッチング
・人材マッチング
企業マッチング検討WG
(主査:コア 西山氏)
・資格認定制度運用
アジア諸国との連携共創WG(主査:システムセンター・ナノ 吉田)
・海外進出サポート
組込みソフト製品認証WG (主査:iTest 上島)
21
計測フロンティア研究部門
開発サービス検討WGの担当事業(抜粋)
◆「さつき」による検証サービス(産業技術総合研究所)
産業技術総合研究所関西センターの検証施設「さつき」を利用した高度な検証サービス。
大容量メモリ高速演算クラスタと大規模演算クラスタを利用することで、従来不可能であった大規模なモデル検査が実施可能。
機構会員が利用する場合には、利用期間やコスト面でのメリットがある。
組込みシステム
産業振興機構
●「さつき」利用
サポート
・受付
・講習会開催
共同研究
契約
研究資金
一括提供
産総研
関西センター
●「さつき」による
検証
・検証計画
・検証実施
●施設維持管理
契約
会員
◆ ツールを用いた開発支援(富士通ミドルウェア、シー・イー・シー、ベリサーブの協力)
コーディング規約適合性等の診断(PGRelief,Klocwork)、日本語で書かれた仕様書の曖昧性診断(ClearDoc)、OSSコンプライア
ンス検証(BlackDuck)など、ソフトウェア開発を支援するツールの有償/無償提供サービス。
ツールの基本操作説明、導入効果紹介など導入支援サービスも提供する。機構会員が利用する場合は、導入時のサポートとコスト
面でのメリットがある。
22
計測フロンティア研究部門
安心、安全、高信頼 を社会へ
検証サービス
統合検証環境 Agda-IVE
Agda言語を使うと、プログラム、プログラムの仕様、プログラムが仕様を満
たすことの証明を、一つの枠組で記述することができます。
組込みシステム検証試験施設の供用を開始
Agdaシステムは、Agda言語による記述の構文エディタ、Agda言語による証
明記述の証明検査器、Agda言語によるプログラム記述のコンパイラなどを
提供します。
~ ソフトウェア信頼性技術の中核施設 ~
仕様の
仕様の
形式モデル
形式モデル
評価技術
モデルに
モデルに
基づくテスト
基づくテスト
利用者指向ディペンダビリティ
プログラミング
研究内容:
1. 概念化, 2. 規格化, 3. 適合性評価, 4. システムライフサイクル技術
claim の証明・説得
e.g.
e.g.
発火し
発火し
ません
ません
・・・・
・・・・
as s uranc e c as e
実装
ワンクリックインストーラーで気軽に体験できます。
ツール開発
納得
利用
製品仕様書(利用マニュアル)
R is k management の枠組みがない
Agda 入手先: http://appserv.cs.chalmers.se/users/ulfn/wiki/agda.php
claim の合意
(リスク分析含む)
安全性など
• 発注者は非機能要件を確かめられない
• 事故が起こったとき、開発者は無限責任を
負わされかねない
デモシステムのAssurance Case
2009年9月4日
DEOS中間報告会より
組込みシステム
検証試験施設
特殊利用
(予定)
共同研究
一般企業
教育サービス
高度人材育成
システム
アーキテクト
体系的な知識
産業界・学界の組織と共同で,技術移転,人材育成を進めています.
• 高度人材育成プログラム「組込み適塾」
(組込みソフト産業推進会議と共催)
• Agda, SAT など先端的な検証技法の研修教材の開発作成
• モデル検査知識体系(MCBOK) の策定
現場で即活用
できる技術
組込みソフト産業
推進会議
組込みソフト
技術者
全体の要件
分解
・・・
要件n
C1
C2
・・・
Cn
❏ 各モジュールの要件を整合的に管理
 プログラム改変時の組合せバグ混入が発見可能
Cソースコード
H/W
適用
教材・事例の提供
メルコ・
パワー・
システムズ
産総研
CVS教程の特色
• 数理的技法を実際の開発に適用するため
の基礎知識の研修
• 本質をついた具体例による,理論の理解
• 演習環境を準備.「手を動かして」学ぶこと
で真の理解と内容の定着を図る
• CVS/AIST の研究成果,研修ノウハウを
背景とした質の高い研修
• CVS 教程に沿った教授法の同時開発
モデル検査は
難しい!?
❏ 2つの数理的技法を組み合わせて検証
関西電力
カリ
キュラ
ム
モデル検査上級編:
モデル検査初級編:
【株式会社デンソー殿との共同研究】
要件2
NII
モデル検査
理論
技術者のための
検証技法教育
事例:組込みシステム差分開発へ対応する検証の枠組み
JAIST
モデル検査に関する知識をMCBOK
(ModelChecking Body Of Knowledge) として整理.
モデル検査教育の土台として機能する.
システム開発現場で直面する問題点を企業等と共同で明確にし、
開発現場の改善を目的とする活動です。 概要とより詳細な情報
へのポインターは「システム検証の事例報告集」にまとめています。
要件1
技術者のための
モデル検査教育プログラム構築
MCBOK
産総研
システム検証のフィールドワーク
組込みシステムの差分開発
施設利用
推進会議参加企業
組込み適塾
検証事例
• 全体を複数のモジュールに分けて開発
• モジュールの組合せにより目的の製品を生産
 組合せ時に問題が起こりやすい
システム検証
研究センター
(CVS)
施設利用
CVS教程
共同研究
サービス
設計仕様書
claim の合意
(リスク分析含む)
定理証明
定理証明
(形式的検証)
(形式的検証)
Agdaはスウェーデン・シャルマース工科大学と産総研シ
ステム検証研究センターが共同で開発しています。
システム発注者
(S takeholder)
設計
包括協定
(予定)
加入
研究開発
要求
システム開発者
証明
証明
依存型付き
依存型付き
函数プログラミング
函数プログラミング
要求仕様書
組込みソフト産業
推進会議
<大規模ネットワークシミュレーショ
ン環境>
-144ノード
-ネットワークで接続された多数の
機器の
エミュレーションを想定した環境
-STARBED2(NICT北陸)と同様
の環境
研究開発
証明記述
プログラム
プログラム
合意形成のためのAssurance Case利用
要求獲得・分析
研究ニーズの発掘
Agda
JST-CREST 「実用化を目指した組込みシステム用
ディペンダブル・オペレーティングシステム」 研究領域にて2008年度より実施中
技術移転
人材育成
組込み適塾 共催
連携検証施設
形式的
形式的
仕様書
仕様書
<大容量高速自動検証環境>
-1TB;3ノード+256GB;28ノード
-モデル検査やSAT solverなどの
数理的
技法による検証を想定した環境
産総研
仕様書検証
仕様書検証
仕様記述
計算機環境
モデル検査の概要と
ツール(NuSMV, Spin)の
基本操作を身につける.
マネージャが概観を得るのに
も最適
モデル検査の標
準的技術,独力で
検査するための
基礎を身につける.
エンジニアの基礎
固めを図る.
Agda 研修:
SAT 研修:
仕様記述の概要と実際をツー
ル Agda を使って身につける.
SAT を使った検査の概要と
ツール(Minisat)の基本操作
を身につける.
•関数と型による仕様記述
•代数データ型
•対話的な入力
•仕様の「証明」
•整合的な詳細化
• 充足可能性判定(SAT)
• SMT
• miniSAT/CBMC
① モデル検査
• 設計レベルの検証  バグの早期発見
② 模倣検査
• 検査用モデルと実装(プログラム)に「ずれ」が無いことを検査
• 小さな検査用モデルを使い、モデル検査のコストを抑える
何見て勉強すれ
ばいいの!?
23
CVS 教程