1
「安全、危険」から「どれくらい安全か」へ 連絡先: 和賀 正樹 国立情報学研究所 アーキテクチャ科学研究系 TEL : 03-6273-4886 FAX : 03-6273-4886 Email : [email protected] 物理情報システムのモニタリング 和賀 正樹 総合研究大学院大学 / NII / ERATO MMSD project 参考資料 Étienne André, Ichiro Hasuo, and Masaki Waga, Offline timed pattern matching under uncertainty. Proc. ICECCS 2018, IEEE. (Best paper award) Masaki Waga and Étienne André, Online Parametric Timed Pattern Matching with Automata-Based Skipping. Proc. NFM 2019, LNCS 11460, pp. 371-389. • ParamMONAA (https://github.com/MasWag/monaa/tree/PTPM) 物理情報システム: 自動車、飛行機、ロボット物理 (メカ) + 情報 (コンピュータ、プログラム) 物理情報システムでは「安心・安全」が大事 万が一事故が起こると大変 : 自動ブレーキが止まらないと困る エンジニアは頑張って安全であることを調べる : 100万回ギリギリの状況で確かめた。毎回十分余裕をもって止まった。 目視だと大変。自動化したい。 どんな研究? 今までの方法: ぶつかりそう or 十分余裕がある 余裕がありすぎるのも、なさすぎるのも困る。 どれくらいが丁度良いのかは状況次第 もっと細かく、どれくらいの余裕か知りたい 我々の方法: どれくらいの余裕があるのかを調べることができる : ○○の状況だと△△くらい、□□の状況だと☆☆くらいの余裕があった。 エンジニアの研究・開発サイクルが速くなる 新しい技術がより早く市場に出てくる様になる : より高度な自動ブレーキ、自動運転 例えばどう役に立つ? どういうことができる? パラメタ付き時間パターンマッチング (Parametric Timed Pattern Matching) その他のできること 入力1 (仕様): p秒間に3回以上の加減速は異常 パラメタ付き時間制約!! t 0 Accel 1 Brake 8 Accel 15 Brake 20 Accel 23 Brake 27 Accel 30 Brake 34 Accel 40 入力2 (ログ): 出力: 区間 + パラメタの値の制約式で出力 {(t, t, p) | 0 t < 1, 27 < t30, p = 26} {(t, t, p) | 0 t < 1, 34 < t40, p = 33} {(t, t, p) | 8 t < 15, 34 < t40, p = 19} 例えば • 0.7秒から28秒でp=26で異常!! • 14.5秒から34.4秒でp=19で異常!! いつ、どれくらいの密度で加減速が あったかが検出できる! 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0 20 40 60 80 100 120 140 160 Execution Time [s] Number of Events [100] No Skip Parametric Skip Non-Parametric Skip 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0 50 100 150 200 250 300 Execution Time [s] Number of Events [100] No Skip Parametric Skip Non-Parametric Skip 1800 0.7 Gear Accel ログの長さの一次関数! ログが長くなってもあまり遅くならない 入力1 (仕様): start V 0 A 0 A V 3 AS /x := 0 VS /x := 0,y := 0 VS, x<p 2 ,t< 10 /x := 0,y := 0 AS, x<p 1 ,t< 10 /x := 0 AS, x<p 1 ,t< 10/x := 0 VS, x<p 2 ,p 3 <y<p 4 ,t< 10/x := 0,y := 0 $,t< 10 $,t< 10 間隔: 間隔: t AS VS AS VS AS VS AS VS AS 0.1 0.3 0.7 0.8 1.4 1.6 8.5 9.0 10.5 入力2 (ログ): {(t,t,v) | t [0,0.1), t(1.4, 1.6], v(p 1 ) > 0.6, v(p 2 ) > 0.2, …} {(t,t,v) | t [1.6, 8.5), t(10.5,), v(p 1 ) > 1.5,v(p 2 ) > 0.5} 出力: いつ、どれくらいの密度でASVSが起こったかがわかる! 例えば心拍数の移り変わりを検出できる 2: 未知の周期の同定 1: 高頻度な加減速の検出 どれくらい速い?

「安全、危険」から「どれくらい安全か」へ 物理情 …...「安全、危険」から「どれくらい安全か」へ 連絡先: 和賀 正樹 国立情報学研究所

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 「安全、危険」から「どれくらい安全か」へ 物理情 …...「安全、危険」から「どれくらい安全か」へ 連絡先: 和賀 正樹 国立情報学研究所

「安全、危険」から「どれくらい安全か」へ

連絡先: 和賀 正樹 国立情報学研究所 アーキテクチャ科学研究系TEL : 03-6273-4886 FAX : 03-6273-4886 Email : [email protected]

物理情報システムのモニタリング和賀 正樹 総合研究大学院大学 / NII / ERATO MMSD project

参考資料• Étienne André, Ichiro Hasuo, and Masaki Waga, Offline timed pattern matching under uncertainty. Proc. ICECCS 2018,

IEEE. (Best paper award) • Masaki Waga and Étienne André, Online Parametric Timed Pattern Matching with Automata-Based Skipping. Proc.

NFM 2019, LNCS 11460, pp. 371-389. • ParamMONAA (https://github.com/MasWag/monaa/tree/PTPM)

• 物理情報システム: 自動車、飛行機、ロボット…

• 物理 (メカ) + 情報 (コンピュータ、プログラム)• 物理情報システムでは「安心・安全」が大事• 万が一事故が起こると大変

例: 自動ブレーキが止まらないと困る

• エンジニアは頑張って安全であることを調べる

例: 100万回ギリギリの状況で確かめた。毎回十分余裕をもって止まった。

→ 目視だと大変。自動化したい。

どんな研究?• 今までの方法: ぶつかりそう or 十分余裕がある• 余裕がありすぎるのも、なさすぎるのも困る。• どれくらいが丁度良いのかは状況次第

→ もっと細かく、どれくらいの余裕か知りたい

• 我々の方法: どれくらいの余裕があるのかを調べることができる

例: ○○の状況だと△△くらい、□□の状況だと☆☆くらいの余裕があった。

• エンジニアの研究・開発サイクルが速くなる• 新しい技術がより早く市場に出てくる様になる

例: より高度な自動ブレーキ、自動運転

例えばどう役に立つ?

どういうことができる?

パラメタ付き時間パターンマッチング (Parametric Timed Pattern Matching)

その他のできること

• 入力1 (仕様): p秒間に3回以上の加減速は異常 ↑ パラメタ付き時間制約!!

t0

Accel

1

Brake

8

Accel

15

Brake

20

Accel

23

Brake

27

Accel

30

Brake

34

Accel

40

• 入力2 (ログ):

•出力: 区間 + パラメタの値の制約式で出力 {(t, t′, p) | 0 ≦ t < 1, 27 < t′ ≦ 30, p = 26}∪ {(t, t′, p) | 0 ≦ t < 1, 34 < t′ ≦ 40, p = 33}∪ {(t, t′, p) | 8 ≦ t < 15, 34 < t′ ≦ 40, p = 19}

例えば

• 0.7秒から28秒でp=26で異常!!

• 14.5秒から34.4秒でp=19で異常!! ⋮

いつ、どれくらいの密度で加減速があったかが検出できる!

Table 2: Execution time for Gear [s]

|w| No SkipNon-Param. Param.

IMITATORSkip Skip

1467 0.04 0.05 0.05 1.7812837 0.0725 0.0805 0.09 3.3194595 0.124 0.13 0.1405 5.5125839 0.1585 0.156 0.17 7.1327301 0.201 0.193 0.2115 8.9098995 0.241 0.2315 0.2505 10.76810315 0.2815 0.269 0.2875 12.77811831 0.322 0.301 0.325 14.72413183 0.3505 0.3245 0.353 16.45314657 0.392 0.361 0.395 18.319

Table 3: Execution time for Accel [s]

|w| No SkipNon-Param. Param.

IMITATORSkip Skip

2559 0.03 0.0515 0.06 2.3324894 0.0605 0.0605 0.0705 4.6637799 0.1005 0.071 0.08 7.53210045 0.13 0.08 0.09 9.73112531 0.161 0.09 0.1 12.50315375 0.1985 0.1005 0.113 15.58317688 0.2265 0.1095 0.1215 17.75420299 0.261 0.115 0.1325 21.04022691 0.288 0.121 0.143 23.04425137 0.3205 0.1315 0.159 25.815

Table 4: Execution time for Blowup [s]

|w| No SkipNon-Param. Param.

IMITATORSkip Skip

2000 66.75 68.0125 67.9735 OutOfMemory4000 267.795 271.642 269.084 OutOfMemory6000 601.335 611.782 607.58 OutOfMemory8000 1081.42 1081.25 1079 OutOfMemory10000 1678.15 1688.22 1694.53 OutOfMemory

Table 5: Execution time for OnlyTiming [s]

|w| No SkipNon-Param. Param.

IMITATORSkip Skip

1000 0.0995 0.1305 0.11 1.6902000 0.191 0.23 0.191 3.5183000 0.2905 0.3265 0.273 5.4994000 0.3905 0.426 0.3525 7.3965000 0.488 0.5225 0.4325 9.1236000 0.588 0.6235 0.517 11.005

00.050.10.150.20.250.30.350.4

0 20 40 60 80 100 120 140 160

Execution

Tim

e[s]

Number of Events [⇥100]

No SkipParametric Skip

Non-Parametric Skip

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0 50 100 150 200 250 300

Execution

Tim

e[s]

Number of Events [⇥100]

No SkipParametric Skip

Non-Parametric Skip

020040060080010001200140016001800

20 30 40 50 60 70 80 90 100

Execution

Tim

e[s]

Number of Events [⇥100]

No SkipParametric Skip

Non-Parametric Skip

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

10 20 30 40 50 60

Execution

Tim

e[s]

Number of Events [⇥100]

No SkipParametric Skip

Non-Parametric Skip

Fig. 4: Execution time for the benchmarks with parameters which MONAA cannothandle: Gear (above left), Accel (above right), Blowup (below left), andOnlyTiming (below right)

Gear Accel

ログの長さの一次関数!⇒ ログが長くなってもあまり遅くならない

• 入力1 (仕様):

start V 0

A0

A V

3

AS /x := 0

VS /x := 0, y := 0

VS, x < p2, t < 10/x := 0, y := 0

AS, x < p1, t < 10/x := 0

AS,x < p1, t < 10/x := 0

VS, x < p2, p3 < y < p4, t < 10/x := 0, y := 0

$, t < 10$, t < 10

間隔: 短 間隔: 長

t

AS VS AS VS AS VS AS VS AS…

0.1 0.3 0.7 0.8 1.4 1.6 8.5 9.0 10.5

• 入力2 (ログ):

{(t,t′,v) | t ∈ [0,0.1), t′ ∈ (1.4, 1.6], v(p1) > 0.6, v(p2) > 0.2, …}

∪ … ∪ {(t,t′,v) | t ∈ [1.6, 8.5), t′ ∈ (10.5,∞), v(p1) > 1.5,v(p2) > 0.5}

•出力:

いつ、どれくらいの密度でASとVSが起こったかがわかる!⇒ 例えば心拍数の移り変わりを検出できる

例2: 未知の周期の同定

例1: 高頻度な加減速の検出 どれくらい速い?