Upload
kiyoshi-ogawa
View
143
Download
6
Embed Size (px)
Citation preview
JAXA/IPA クリティカル ソフトウェアワークショップ (WOCS)言語系発表とその後
proofsummit@京都大学
技術士(情報工学)・
博士(工学)
名古屋市工業研究所・
岐阜大学非常勤講師
@kaizen_nagoya, 小川清
発表の目的 理論的、研究的に面白いことが、産業界とうまくつながらない。
軍事、航空宇宙では、低価格化のため、国際規格、民生品を使う方向に舵をきる(ソ連崩壊後)。 Adaはある分野ではやめ。Adaに基づいたVHDLの行方は?
国際規格にもとづいた技術、自動車で応用している技術を航空宇宙でも採用する可能性がある。
JAXAと自動車産業を見ていて、産業化の切り口を考察。
何かをどこかに提案する際、あるいは、何かをどこかから依頼されたら、一声おかけください。
WOCS: Workshop on critical software systems
JAXAがソフトウェア分野の技術の普及と社会からの還元を期待して始める
第7回2008年からIPAが共催
小川清は第6回にパネリストとして参加、第8回からプログラム委員長 言語系の発表を推奨するため過去のProof Summitで要請。
PPLに参加した際には発表を要請
名古屋のProof Café参加者などに発表を要請
名古屋大学結縁研を中心に企業と言語系の研究会に要請
2011.1第8回クリティカルソフトウェアワークショップ
サニー技研, 米田真之「中小企業の形式手法への取り組み」http://www.ipa.go.jp/files/000005327.pdf
産業技術総合研究所, 水口大知「簡易な形式仕様記述と状態遷移表を併用した要求仕様のレビュー方法」http://www.ipa.go.jp/files/000005328.pdf
有人宇宙システム, 中尾春香「MODELING AND HAZARD ANALYSIS USING STPA」http://www.ipa.go.jp/files/000005329.pdf
豊田中央研究所, 稲森豊「検出漏れのない割込み干渉検出システムの開発」http://www.ipa.go.jp/files/000005326.pdf
2011.11第9回クリティカルソフト ウェアワークショップ
「状態遷移の種類と形式検証の使いどころ」 アイシン・エィ・ダブリュ株式会社, 久保孝行http://www.ipa.go.jp/files/000005291.pdf
「Bメソッドを用いた組込みソフトウェア自動コード生成の実用性評価」CAPES-B 北海道電子機器株式会社, 和田学
http://www.ipa.go.jp/files/000005292.pdf
「対話的定理証明支援系によるミドルウェア検証」有限会社ITプランニング, 今井敬吾 http://www.ipa.go.jp/files/000005293.pdf
「フォーマルメソッドを活用したソフトウェアIV&V」有人宇宙システム株式会社, 星野伸行http://www.ipa.go.jp/files/000005294.pdf
2011.11第9回クリティカルソフトウェア ワークショップ(続)
「Model Checking of Services Workflow Reconfiguration: a Perspective on Dependability」University of Tsukuba, Juan Carlos http://www.ipa.go.jp/files/000005295.pdf
「モデル検査の適用プロセスの提案」株式会社フォーマルテック,早水公二 http://www.ipa.go.jp/files/000005296.pdf
「モデルベース開発導入へのチャレンジ ~単体コード検証への適用による導入の加速~」株式会社東海理化, 山口晶広 http://www.ipa.go.jp/files/000005297.pdf
「TOPPERS/SSPへの組込みコンポーネントシステム適用における設計情報の可視化と抽象化」株式会社ヴィッツ, 鵜飼敬幸 http://www.ipa.go.jp/files/000005299.pdf
2012.9第10回クリティカルソフトウェアワークショップ
「モデル検査の検査式作成手法」有人宇宙システム株式会社, 早川浩司 http://www.ipa.go.jp/files/000004112.pdf
「宇宙機におけるハイブリッドシステムの振る舞いに対する検証方法の検討」有人宇宙システム株式会社, 星野伸行 http://www.ipa.go.jp/files/000004113.pdf
「並行システム解析支援ツール ~協調動作の可視化~」産業技術総合研究所, 磯部祥尚http://www.ipa.go.jp/files/000004114.pdf
「Bメソッドによる組込みソフトウェア開発の品質改善効果と開発コストの評価」株式会社リック, 坂本謙治http://www.ipa.go.jp/files/000004117.pdf
2014.1第11回クリティカルソフトウェアワークショップ
強い型によるOSの開発手法の提案, Metasepi Project, 岡部究 http://www.ipa.go.jp/files/000036232.pdf
形式手法を用いた安全・セキュリティ分析手順と要件の抽出方法の提唱, 株式会社ヴィッツ, 和田学 http://www.ipa.go.jp/files/000036224.pdf
形式手法を用いた安全・セキュリティ検証, アーク・システム・ソリューションズ株式会社, 池田和博http://www.ipa.go.jp/files/000036225.pdf
ソフトウェアFMEA を体系的に実施する出発点としてのMISRA-C, 株式会社ヴィッツ, 森川聡久 http://www.ipa.go.jp/files/000036235.pdf
2015.1第12回クリティカルソフトウェアワークショップ
形式手法と脆弱性評定を組み合わせたセキュリティ評価, アーク・システム・ソリューションズ株式会社, 池田和博https://www.ipa.go.jp/files/000043908.pdf
MISRA-C2004から2012への移行の課題, 株式会社ヴィッツ, 萩原勝 https://www.ipa.go.jp/files/000043914.pdf
2016.1 第13回クリティカルソフトウェアワークショップ
表明とタイプ置換原理のムジュラー推論を利用したミッションクリティカルシステムのための開発アプローチの提案 ,HASHIMOTO SOFTWARE CONSULTING, 橋本隆成 https://www.ipa.go.jp/files/000050240.pdf
ATS言語による組込アプケーションの検証, 理化学研究所 計算科学研究機構, 岡部究 https://www.ipa.go.jp/files/000050241.pdf
ソフトウェアモデル作成支援ツール実現のための状態遷移分析手法, アーク・システム・ソリューションズ株式会社, 福井雅彦, https://www.ipa.go.jp/files/000050235.pdf
Pre-Formal メソッドとしてのSTAMP モデリング, 九州大学, 日下部茂, https://www.ipa.go.jp/files/000050238.pdf
議論
11回 強い型によるOSの開発手法の提案, Metasepi Project, 岡部 究 氏http://www.ipa.go.jp/files/000036232.pdf ランタイムは何で書かれていて、どう検証しているか?
ATS言語による組込アプケーションの検証, 理化学研究所 計算科学研究機構, 岡部究 https://www.ipa.go.jp/files/000050241.pdf
VeriFirst, Event/B, Xmosと比較してください。
作業進捗における図の役割
Uppaalのように図入力からできるものは導入が容易
Alloyのように図をいろいろ生成するものは考えるための助けになる
SPINのように、時系列図を自動生成するものは、検討範囲の確認の助けになる
状態遷移図から状態遷移表を生成すると抜け漏れの発見に役立っている
検討事項 確率分布、時定数の異なる現象・要素を設計する際に、抽象的な理念では欠陥を生成する可能性がある
ソフトウェア固有の用語で話をすると、論理回路・電気回路の過渡現象・不定状態を網羅できない可能性がある
状態遷移と状態方程式を組み合わせた模型を検証するための道具
汎用的な分析手法と個別の具体的な分析結果の間を対応づける
産業界の要請例
自然言語記述段階での整合性の確認
模型(model)記述の検証
プログラミング言語の検査
連続系と離散系を含むシステムの検証
各段階での道具間の自動連携・自動生成 手作業での書き直しは不具合発生の素 図からコード
図から表、表から図 コードから図
自然言語 図表 検証言語 模型検査 道具類 算譜 応用例
1 VDM++, Event B, Z, Alloy, SPIN, Uppaal 自動車
2 SLP 状態遷移表 汎用
3 SPIN
Understand, LOCKSMITH, nesC C, Ruby 自動車
4 宇宙
5
状態遷移図、刻時図, Mat lab/Simlink
simulink design verifier 自動車
6 B commenC (自動車)
7 coq json, Ocaml デスクトップ
8 状態遷移表 Uppaal, SpecTRM 宇宙
9 BPMN SPIN セキュリティ
10 仕様書 状態遷移表、時系列
SMV, SPIN, Uppaal 汎用
11 Matlab/Simlink VDM,SPIN
一覧
自然言語 図表 検証言語 模型検査 道具類 算譜 応用例
12 コンポーネント図 TECS C OS
13 SPIN 宇宙
14 Scilab/Scicos Phaver 宇宙
15 状態遷移 CSP CONPASU 航空
16 Event B, Atrier B 自動車
17 Haskel,ahjc OS
18 Event B セキュリティ
19 Event B セキュリティ
20 MISRA C C 自動車
21 Event B セキュリティ
22 MISRA C C 自動車
23 ATS 汎用
24 仕様書 状態遷移 B C 自動車
25 XSTAMPP 汎用
名古屋市工業研究所
名古屋大学結縁研でん研究会の企画 VDM, Z, B, Alloy
IPAの取り組み(VDM,フェリカ)に協力
ProofCafe/Proof Summitに参加
SPIN, Event B, Alloy, Uppaalの講習会実施
SML#, ATS勉強会の開催に協力, Veri Firstの取組を促進
MISRA C、STARC RTL 設計スタイルガイドの普及
HAZOPによる自然言語と仕様の精密化
魔法の言葉(guide word) IEC HAZOP ID �+-;A?D@. ,�I!� -9:E<6C<?>. ��+
G1 ��-:F<BC:>8:.�(no) $0(� G0 76B<8
G2 �� %(reverse) $0(� �� G0 76B<8
G3 (direction) �(other than) ��� / 76B<8
G4 ( �(more) (�� G5 76B<8
G5 (quantity) �(less) (��� G4 76B<8
G6 $ +(as well as) $�� G7 76B<8
G7 (quality) '(part of) $��� G6 76B<8
G8 �) �(early) �)� G9 699<C<?>6=
G9 (time) &(late) �)& G8 699<C<?>6=
GA *� �(before) *��L��M GB 699<C<?>6=
GB (order) �(after) *��L��M GA 699<C<?>6=
2,�I!�L"�#MI��L41JKIHG��I53M
MISRA C/C++, CERT C/C++
MISRA C/C++は安全系特に、自動車。CERT C/C++は、安心(security)系主に、ネット。
自動車のネットからの乗っ取り、自動運転の安全・安心を確保するために、両対応。
5.5.1 MISRA-C++のHAZOP
16/10/02 (c)[email protected], @kaizen_nagoya
無non bool NULL zero
unused
bitwise void
condition
switch/case
exception loop if
empty varid
大
upper case wide size
multiple
number/enum
value/variable
integer cast
constant float
pointer
arithmetic
character
inc/dec
類type standard
compatible rule
conversion cast
exception
前block
external/internal
static/dynamic order
before/after
goto/jump
throw/catch
preprocessor/define
switch/case
exception
exit/terminate
5.6.1 CERT C++のHAZOP
16/10/02 (c)[email protected], @kaizen_nagoya
無if, while for
switch cast
NULL race
atomic
define
return
declear
invalid
reference
return
preprocessor
大
enumeration for case cast
random
namespace value
number
va_arg
constraints
floating
reference
pointer
arguments
類generic
library std cast
safety rule
function
define
exception
macro error file
format type
前domain range
switch signal
asctime
preprocessor
sequence EOF
constractor
RTL 設計スタイルガイド
Verilog-HDL編, VHDL編がある
空間と時間の両方の規則がある
SWEST で優先順位付けの演習を実施
推奨規則の優先順位が高かった
学会発表を繰り返す
規則が発表に基づき、必須・推奨を変更した
16/10/02 (c)[email protected], @kaizen_nagoya
二つの設計指針共通
各個人で実際の仕事での優先順位をつける 言語処理系
OS, Network, DBなどサービス処理
応用ソフトウェア(対人)
類似の仕事をしている人の間の共通部分を確認する
C/C++とHDL コーディング標準間の違い
HDLではコードを書くことを設計という 実装は回路の配置・配線
HDLでは空間と時間の両方の規則がある
Verilog HDLでは//コメントを推奨し、/* */を排除している。MISRA C 2004までは/* */コメントを推奨し、//コメントを排除していた
お願いしたいこと
言語の機能、処理についてよく使うこと、その言語固有の便利なことを、順序を示して、順序よく教えること キラーアプリケーションを題材にして、そこで利用している機能を説明すると興味が湧く
コンパイルエラー・警告がある場合には、エラー・警告の分類と対応を資料として作ることを推奨すること。
分析手法で国際規格になっているFTA, FMEA, HAZOPに慣れているとよい
WOCS, 安全工学シンポジウムのような横断的な行事で発表するとよい
JAXA/IPA 14thクリティカルソフトウェアシステムズワークショップ 2016年12月12日(月)13
日(火)開催
一般発表募集8月末締切ってます。ごめんなさい。
来年のWOCS
来年もあったら、ぜひ応募してください。ただし、組織の都合で5月以降しか開催するかどうかが決まります。
おまけ:分析例(WOCS)
名古屋市工業研究所 小川 清 氏 「一人HAZOPを組み合わせた効率的な分析作業」
「HAZOPによるTOPPERS/SSPの分析」 名古屋市工業研究所 小川 清
おまけ:WOCSお勧め動画 Safety Assessment Method for FlightOperation System.~ Lessons
from “RNPAR approaches” to Haneda Airport., DNVビジネス・アシュアランス・ジャパン株式会社 代表取締役 社長, 前田直樹
制御系セキュリティの国内での取り組み, 技術研究組合制御システムセキュリティセンター 理事長/ 電気通信大学 教授, 新誠一
つながるクルマのセーフティ&セキュリティ, 株式会社デンソー電子基盤技術統括部 DP-情報セキュリティ開発室室長, 早川浩史
Holistic Approach to Finding the Whole Solution: Using Systems Principles and Concepts, Dr.James N. Martin --- Principal Engineer, The Aerospace Corporation
社会とテクノロジーの統合はどうすればデザインできるか?, 慶應義塾大学大学院システムデザイン・マネジメント研究科 准教授, 白坂成功
一覧 https://researchmap.jp/josvhrsga-49935/#_49935
おまけ: WOCS名古屋市 工業研究所連名発表
8回,東芝, 飯田卓郎「製品、作業、人に着目した効率的な作業診断の実践」
10回,「中小企業における機能安全対応への取り組み」株式会社サニー技研, 尾仲洋和
12回, SPEAK-IPAを用いた設計指向による公開アセスメントの試み, A&D, 佐藤克
13回, プロセスアセスメントの分類とアセッサ教育, 株式会社NSD,村上孝