31
JAXA/IPA クリティカル ソフトウェアワークショップ (WOCS)言語系発表とその後 proofsummit@京都大学 技術士(情報工学)・ 博士(工学) 名古屋市工業研究所・ 岐阜大学非常勤講師 @kaizen_nagoya, 小川清

Language presentations at WOCS and after

Embed Size (px)

Citation preview

Page 1: Language presentations at WOCS and after

JAXA/IPA クリティカル ソフトウェアワークショップ (WOCS)言語系発表とその後

proofsummit@京都大学

技術士(情報工学)・

博士(工学)

名古屋市工業研究所・

岐阜大学非常勤講師

@kaizen_nagoya, 小川清

Page 2: Language presentations at WOCS and after

発表の目的   理論的、研究的に面白いことが、産業界とうまくつながらない。

  軍事、航空宇宙では、低価格化のため、国際規格、民生品を使う方向に舵をきる(ソ連崩壊後)。   Adaはある分野ではやめ。Adaに基づいたVHDLの行方は?

  国際規格にもとづいた技術、自動車で応用している技術を航空宇宙でも採用する可能性がある。

  JAXAと自動車産業を見ていて、産業化の切り口を考察。

  何かをどこかに提案する際、あるいは、何かをどこかから依頼されたら、一声おかけください。

Page 3: Language presentations at WOCS and after

WOCS: Workshop on critical software systems

  JAXAがソフトウェア分野の技術の普及と社会からの還元を期待して始める

  第7回2008年からIPAが共催

  小川清は第6回にパネリストとして参加、第8回からプログラム委員長   言語系の発表を推奨するため過去のProof Summitで要請。

  PPLに参加した際には発表を要請

  名古屋のProof Café参加者などに発表を要請

  名古屋大学結縁研を中心に企業と言語系の研究会に要請

Page 4: Language presentations at WOCS and after

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 

Page 5: Language presentations at WOCS and after

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 

Page 6: Language presentations at WOCS and after

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

Page 7: Language presentations at WOCS and after

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

Page 8: Language presentations at WOCS and after

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

Page 9: Language presentations at WOCS and after

2015.1第12回クリティカルソフトウェアワークショップ

  形式手法と脆弱性評定を組み合わせたセキュリティ評価, アーク・システム・ソリューションズ株式会社, 池田和博https://www.ipa.go.jp/files/000043908.pdf

  MISRA-C2004から2012への移行の課題, 株式会社ヴィッツ, 萩原勝 https://www.ipa.go.jp/files/000043914.pdf

Page 10: Language presentations at WOCS and after

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

Page 11: Language presentations at WOCS and after

議論

  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と比較してください。

Page 12: Language presentations at WOCS and after

作業進捗における図の役割

Uppaalのように図入力からできるものは導入が容易

  Alloyのように図をいろいろ生成するものは考えるための助けになる

  SPINのように、時系列図を自動生成するものは、検討範囲の確認の助けになる

  状態遷移図から状態遷移表を生成すると抜け漏れの発見に役立っている

Page 13: Language presentations at WOCS and after

検討事項   確率分布、時定数の異なる現象・要素を設計する際に、抽象的な理念では欠陥を生成する可能性がある

  ソフトウェア固有の用語で話をすると、論理回路・電気回路の過渡現象・不定状態を網羅できない可能性がある

  状態遷移と状態方程式を組み合わせた模型を検証するための道具

  汎用的な分析手法と個別の具体的な分析結果の間を対応づける

Page 14: Language presentations at WOCS and after

産業界の要請例

  自然言語記述段階での整合性の確認

  模型(model)記述の検証

  プログラミング言語の検査

  連続系と離散系を含むシステムの検証

  各段階での道具間の自動連携・自動生成   手作業での書き直しは不具合発生の素   図からコード

  図から表、表から図   コードから図

Page 15: Language presentations at WOCS and after

  自然言語 図表 検証言語 模型検査 道具類 算譜 応用例

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      

一覧

Page 16: Language presentations at WOCS and after

  自然言語 図表 検証言語 模型検査 道具類 算譜 応用例

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   汎用

Page 17: Language presentations at WOCS and after

名古屋市工業研究所

  名古屋大学結縁研でん研究会の企画   VDM, Z, B, Alloy

  IPAの取り組み(VDM,フェリカ)に協力

ProofCafe/Proof Summitに参加

  SPIN, Event B, Alloy, Uppaalの講習会実施

  SML#, ATS勉強会の開催に協力, Veri Firstの取組を促進

  MISRA C、STARC RTL 設計スタイルガイドの普及

  HAZOPによる自然言語と仕様の精密化

Page 18: Language presentations at WOCS and after

魔法の言葉(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

Page 19: Language presentations at WOCS and after

MISRA C/C++, CERT C/C++

  MISRA C/C++は安全系特に、自動車。CERT C/C++は、安心(security)系主に、ネット。

  自動車のネットからの乗っ取り、自動運転の安全・安心を確保するために、両対応。

Page 20: Language presentations at WOCS and after

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      

Page 21: Language presentations at WOCS and after

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          

Page 22: Language presentations at WOCS and after

RTL 設計スタイルガイド

  Verilog-HDL編, VHDL編がある

  空間と時間の両方の規則がある

  SWEST で優先順位付けの演習を実施

  推奨規則の優先順位が高かった

  学会発表を繰り返す

  規則が発表に基づき、必須・推奨を変更した

Page 23: Language presentations at WOCS and after

16/10/02 (c)[email protected], @kaizen_nagoya

Page 24: Language presentations at WOCS and after

二つの設計指針共通

  各個人で実際の仕事での優先順位をつける   言語処理系

  OS, Network, DBなどサービス処理

  応用ソフトウェア(対人)

  類似の仕事をしている人の間の共通部分を確認する

Page 25: Language presentations at WOCS and after

C/C++とHDL コーディング標準間の違い

  HDLではコードを書くことを設計という   実装は回路の配置・配線

  HDLでは空間と時間の両方の規則がある

  Verilog HDLでは//コメントを推奨し、/* */を排除している。MISRA C 2004までは/* */コメントを推奨し、//コメントを排除していた

Page 26: Language presentations at WOCS and after

お願いしたいこと

  言語の機能、処理についてよく使うこと、その言語固有の便利なことを、順序を示して、順序よく教えること   キラーアプリケーションを題材にして、そこで利用している機能を説明すると興味が湧く

  コンパイルエラー・警告がある場合には、エラー・警告の分類と対応を資料として作ることを推奨すること。

  分析手法で国際規格になっているFTA, FMEA, HAZOPに慣れているとよい

  WOCS, 安全工学シンポジウムのような横断的な行事で発表するとよい

Page 27: Language presentations at WOCS and after

JAXA/IPA 14thクリティカルソフトウェアシステムズワークショップ   2016年12月12日(月)13

日(火)開催

  一般発表募集8月末締切ってます。ごめんなさい。

Page 28: Language presentations at WOCS and after

来年のWOCS

  来年もあったら、ぜひ応募してください。ただし、組織の都合で5月以降しか開催するかどうかが決まります。

Page 29: Language presentations at WOCS and after

おまけ:分析例(WOCS)

  名古屋市工業研究所 小川 清 氏 「一人HAZOPを組み合わせた効率的な分析作業」

  「HAZOPによるTOPPERS/SSPの分析」 名古屋市工業研究所 小川 清 

Page 30: Language presentations at WOCS and after

おまけ: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

Page 31: Language presentations at WOCS and after

おまけ: WOCS名古屋市 工業研究所連名発表

  8回,東芝, 飯田卓郎「製品、作業、人に着目した効率的な作業診断の実践」

  10回,「中小企業における機能安全対応への取り組み」株式会社サニー技研, 尾仲洋和

  12回, SPEAK-IPAを用いた設計指向による公開アセスメントの試み, A&D, 佐藤克

  13回, プロセスアセスメントの分類とアセッサ教育, 株式会社NSD,村上孝