26
~ヴィッツの”新しい“は世の中の”新しい”~ 2018/1/9 1 株式会社ヴィッツ 基盤技術部先進技術開発室 大村俊訓 WITZ Coporation Toshinori Omura はじめてのFRAM ~組込みシステムのモデリングを事例に~

~組込みシステムのモデリングを事例に~~ヴィッツの”新しい“は世の中の”新しい”~ 2018/1/9 1 株式会社ヴィッツ 基盤技術部先進技術開発室

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

  • ~ヴィッツの”新しい“は世の中の”新しい”~

    2018/1/9 1

    株式会社ヴィッツ

    基盤技術部先進技術開発室

    大村俊訓

    WITZ Coporation

    Toshinori Omura

    はじめてのFRAM~組込みシステムのモデリングを事例に~

  • 2

    人工知能が使われた自動運転に安心して乗れますか?

    画像引用 CNBC “ Man reportedly caught sleeping behind the wheel of a self-driving Tesla”

  • 多くの人が自動運転に対して不安に感じている

    2018/1/9 3引用 ZUU online 2016/03/07 https://zuuonline.com/archives/99473

  • 人工知能を使った自動運転の課題• 2016年3月にGoogle社が開発していた自動運転車両が交通事故を起こした。

    • 事故当時、自動運転カーは前方の交差点を右に曲がるため、赤信号で待機中の他車両が並んでいる直進車線から右の車線に移動しようとしたところ、前方に砂袋を発見して一旦停止。

    • 信号が青に変わると、自動運転カーはバックで直線車線に戻って砂袋を回避しようとしたが、市営バスが後方から直進車線を走行してきて、自動運転カーと衝突した。

    2018/1/9 4引用 http://gigazine.net/news/20160301-google-car-hit-bus/

  • これまでの安全設計 – 機能安全• 機能安全規格 (ISO 26262、IEC61508)では明確に

    自動車制御に人工知能の活用を禁止している。

    2018/1/9 5

    人工知能は、以下の特性の達成を困難にする可能性があるとされている- ソフトウェア安全要求仕様の正確性- 固有の設計故障がない- 単純さ及びわかりやすさ- 挙動の予測可能性- 検証及び試験可能な設計

  • ヴィッツのチャレンジパフォーマンスの変動が予測される人工知能を使用した

    自動運転システムの安全性の立証を行う必要がある

    2018/1/9 6

    FRAMを使用し、人工知能を搭載した

    自動運転システムが安全であることを立証する

    平成29年度戦略的基盤技術高度化支援事業において研究中

    「自律的自動運転の実現を支える人工知能搭載システムの安全性立証技術の研究開発」

    「積雪寒冷地域の交通弱者移動支援のための雪道走行を可能とする自動運転技術の開発」

  • とはいえ、いきなり自動運転は難しい

    2018/1/9 7

  • 簡単なシステムや、身近な例から

    FRAMにしていこう

    2018/1/9 8

  • これまでに我々が作ったシンプルなFRAMから学んだこと、及びホルナゲル先生の

    アドバイスを紹介します

    2018/1/9 9

  • 自己紹介氏名:大村 俊訓(25)

    ・小樽商科大学商学部にて

    UX(User Experience)を学ぶ

    ・株式会社ヴィッツへ入社後、

    車載ソフトウェア開発に従事

    ・自動運転を支える人工知能搭載

    システムの安全立証技術の研究開発

    に従事2018/1/9 10

  • 株式会社ヴィッツの取り組み• 弊社が開発した自動運転システム

    2018/1/9 11

  • はじめてのFRAM

    2018/1/9 12

  • Nice to meet you!• I am Toshinori Omura.

    • I research FRAM, Safety-Ⅱ and Resilience Engineering with Shuichi Ohnishi, my boss.

    2018/1/9 13

    He is FRAMingo!

    Input of this is “Snap”.Pre-condition is “hold”.Output is “Bulbul”!

    I always explain FRAM with him

  • 2017/06/06 コペンハーゲンにて

    2018/1/9 14

  • 電気回路のFRAMモデル• スイッチを押すとライトがつく電気回路

    – FRAMモデル作成の観点として、電気回路で「スイッチを押してライトが光る」ことを、人が実施することか機械が実施することかに分けて機能を抽出した。

    2018/1/9 15

    Switch

  • ホルナゲル先生へ送ってしまえ!!

    2018/1/9 16

  • 回答をいただけましたOmura-san

    Thank you for sending the request and the illustration of the electric circuit.

    As you know, the FRAM is about understanding functions and how they can be coupled. (And how they can be variable.) In the case of the electric

    circuit, there is really only one function, namely to switch on the light. This has as a consequence that the light is turned on, but that is a state rather than a function.

    The function of switch on the light (To activate light switch) can then be put in some context. I have considered a work context, i.e., that light is needed to carry out work. But it could of course also be simply to test whether the LED worked as it should.

    I have created two small FRAM models that illustrate the two reasons for switching on the light.

    As you can see, there is clearly a difference. I hope that I have understood your question correctly. Otherwise please let me know.

    And you are welcome to send other examples, of course.

    Best regards,

    Erik Hollnagel2018/1/9 17

  • 電気回路FRAMの問題点(ホルナゲル先生のコメントより)

    • 機能を正しく記載していない

    • 6つの側面にシステムの状態を記載していない

    • 状況(Context)を記載していない

    2018/1/9 18

  • 電気回路FRAMモデルの問題点①

    2018/1/9 19

    • 機能を正しく記載していない

    – 「スイッチを押すと、ライトが点灯する」を、それぞれ別の機能として記述した

    – 活動として実施するのは「スイッチを押す」という機能だけで、「ライトが点灯する」は活動の結果

    – 機能は「To do X」のXにあたるもの

  • 電気回路FRAMモデルの問題点②

    2018/1/9 20

    • 6つの側面にシステムの状態を記載していない

    – 機能の出力はシステム(もしくはシステム内のコンポーネント)の状態について記載する

    – 「スイッチをONにする」の出力は、スイッチがONになった結果システムがどうなるのか(状態)を記載するべき

    – スイッチをONにした結果、システム(電気回路)は電気が点灯する

  • 電気回路FRAMモデルの問題点③• 状況(Context)を書いていない

    – FRAMは機能を実行する状況(Context)に依存してモデルの作成や分析を行うため、FRAMを行う際には状況が分かるよう、シナリオの記載が必要

    • シナリオの例(電気回路のチェックシナリオ)トムは電気回路について勉強しており、教科書に記載された演習問題に取り組むところだ。演習問題では、LED、抵抗、電池とスイッチを図のようにブレッドボードに接続し、スイッチを押して正しく接続されているか確認するよう指示があった。

    教科書を読み終えた後、トムはブレッドボードに教科書通りの電気回路を接続し、スイッチを押し、LEDを光らせ、正しく接続していることを確認した。

    2018/1/9 21

    状況を記載すると、FRAMモデルの作成時に、共通認識を得られることや、機能の側面をより忠実に出すことができる。

  • ここで得た教訓• 機能(=活動)を記載すること

    – 動作の詳細を記載するのではなく、動作の目的を考え、

    その動作の目的が機能となる

    • 側面には、システムの状態を記載する

    – 機能からその側面を抽出する際には、機能の結果システムがどのような状態になるのか考え、その状態を出力とする

    • シナリオを記述すること

    – FRAMの実施やモデルの作成時に、状況を記載したシナリオを書くことで、共通理解の獲得や側面の抽出の精度向上に効果

    2018/1/9 22

  • ホルナゲル先生からのアドバイス• FRAMは、システムにおける機能と、そのつながりと、機能の変動を理解

    しするための手法である。

    • 活動を記述し、システムにおいて何がなされるのか理解することがこの手法の目的であり、ゴールである。

    • モデルの詳細度は,振る舞いを正確に記述できるレベルで記述すべきで、ドメインや製品よって違う。

    • 記述した動作をすべての人が理解・合意できるか?理解・合意できるレベルなら,そこで記述をストップして良い。この判断は簡単ではない。

    • 巨大なモデル(100を越えるFunction)では,そのモデルの妥当性を確認することが難しい。それは,ソフトウェアの検証が困難なのと同じ。

    • 何をしたいのか,何を目的としているのか,という視点からFunctionをまず書くことが必要。動作の詳細を最初に書いてはいけない。

    2018/1/9 23

  • まとめと今後の取り組み• 電気回路を例にFRAMモデルを作成した

    • その結果、FRAMモデル作成の際の3つの注意点が分かった

    • 今後、自動運転に関するFRAMモデルを作成していく

    2018/1/9 24

  • ホルナゲル先生が作成した電気回路FRAMモデル①

    2018/1/9 25

  • ホルナゲル先生が作成した電気回路FRAMモデル②

    2018/1/9 26