Upgrade to Pro — share decks privately, control downloads, hide ads and more …

UMLだけじゃない、もやもやを解消するモデリング技術の紹介 その1: GSN

UMLだけじゃない、もやもやを解消するモデリング技術の紹介 その1: GSN

安全性の論証などに使われるモデリング言語GSN(Goal-Structuring Notation、ゴール構造化表現)を紹介します。

toshinoritakai

October 23, 2019
Tweet

More Decks by toshinoritakai

Other Decks in Technology

Transcript

  1. UMLだけじゃない、もやもやを解消 するモデリング技術の紹介 その1: GSN 2019年10月23日@第3回astah関西勉強会 株式会社チェンジビジョン 高井 利憲 1

  2. GSNの簡単な紹介 • GSN = Goal Structuring Notation (ゴール構造化表現) 2 •

    その名の通り、ゴール/ 目的/意図の構造が書ける – ゴールは文脈が大事 • 文脈が書ける – ゴールは達成するもの • 達成の戦略が書ける • 達成見込みの根拠が書ける • 主に、システムの安全性の 論証で使われる
  3. 参考:GSNの要素 • 注: ゴールに記述する内容は、より一般的に「主張」と呼ばれる • 注:全体として、主観的な主張について、客観的な証拠に基づいた論証を記述するよう な構造になる 3

  4. ゴールに記述する主張の例 • 設計が妥当である • 仕様が妥当である • テストケースが十分である • システムが安全である •

    会社の価値は向上できる • プロジェクトの目標は達成できる 4
  5. 設計が妥当であることのGSNの例 • 組込みシステムのソフトウェア の設計パターンがたくさん載っ ている本の例を使います – 2001年頃の本 • 洗濯機の制御ソフトウェアの設 計を考える

    5 https://www.safetty.net/publications/pttes
  6. 洗濯機制御システムのコンテキスト図 ユースケース分析の結果(ここでは省略)、次の ような機能が必要であることが分かった 6

  7. 設計案①: 機能毎にタスクを用意 7 の本では以下のような設計の可能性を紹介 実際にはソースコードの一部を掲載

  8. 設計案②: タスクを一つにする の本では以下のような設計を紹介 実際にはソースコードを掲載 8

  9. • の本では設計案②がよいとする • 理由 – 設計案①の場合、少しだけのことをするタスクが 大量にできる。外部記憶がないこの例の場合は、 RAMメモリを大量消費するので問題になる – あるタスクで参照するフラグについて、どこでセット

    されるかや、他のタスクで似たようなフラグが必要 になるか、といったことが不明 どちらの設計案がよいか? 9
  10. GSNで書いてみる:上位構造 10 そもそもタスクの 設計を考えている 背景を文脈として 書いておく そもそも設計案② でも仕様を実現で きることも妥当性 を言うには必要

  11. GSNの下位構造 11 メモリが豊富に使 える状況では結論 は変わりうること が読み取れる

  12. 仮の証拠を置いてみる 12 例えば、自動的 に網羅検証でき る手法が使える ようになれば結論 が変わりうること が読み取れる

  13. GSNを開発現場に導入することにより期待できること • 設計や仕様などの意図がモデルとして 共有できる – UML/SysMLでは表現しにくいもの • 状況が変わったときに、対応を変更する必要があるか どうかを系統的に判断できる –

    エキスパートに依存しない • 現場の知見を系統的に蓄積できる – チェックリストでは、根拠が見えにくいため、項目が増える 一方になりがち 13
  14. GSNはこんなところで使われています • MISRA Guidelines for Automotive Safety Arguments – https://www.misra.org.uk/Publications/tabid/57/Defa

    ult.aspx#label-gasa – 自動車の機能安全規格ISO26262のガイド • European Aeronautical Information System Database(EAD) Safety Case – https://www.eurocontrol.int/publication/ead-safety- case – ヨーロッパの航空管制システムに関する安全論証 14
  15. GSNがこんなところで使うことが増えそうです • 自動車の自動運転分野 – 意図する機能の安全性に関する公開仕様 • ISO/PAS 21448:2019, Road Vehicles

    – Safety of the intended functionality • プロジェクトマネジメント – ブログ記事『GSN広めよう活動奮闘記』 • 三菱電機エンジニアリング株式会社様 • https://ja.astahblog.com/2019/05/08/case_study_for_gsn/ もし皆さんも、日頃、意図や根拠などの意思疎通が原因 のもやもやを感じられてましたら、GSNを試してみてくだ さい 15