制 御 モデルを 活 用 した 量 産 / 組 み 込 みソフト 開 発 ソリューション MathWorks Japan アプリケーションエンジニアリング 部 ( 制 御 ) シニアアプリケーションエンジニア 山 本 順 久 2015 The MathWorks, Inc. 1
はじめに: 本 講 演 でお 話 しする 内 容 Simulinkモデルを 用 いた 量 産 / 組 み 込 み 制 御 ソフト 開 発 について 紹 介 します RCP Rapid Control Prototyping このエリア JMAAB 検 証 標 準 化 ガイドラインVer1.0 図 1より 引 用 2
モデルベースデザイン/ 開 発 (MBD)が 量 産 制 御 ソフト 開 発 に 求 められる 背 景 課 題 解 決 策 効 果 ソフト 規 模 の 巨 大 化 検 証 項 目 の 増 加 開 発 期 間 の 維 持 短 縮 モデル&シミュレーションを 通 じた 設 計 検 証 の 前 倒 し コード 自 動 生 成 ツールや 検 証 ツールを 用 いた 省 力 化 早 期 の 制 御 仕 様 確 定 開 発 効 率 向 上 ソフト 信 頼 性 向 上 品 質 価 格 納 期 産 学 連 携 ソフトウェア 工 学 実 践 事 業 図 1-2より 引 用 http://www.meti.go.jp/committee/summary/0001640/035_05_04.pdf 3
モデル 自 動 生 成 コードは 様 々な 分 野 で 利 用 されています DaimlerChrysler クルーズコントロール 制 御 ミツバ リバーシングワイパー 制 御 小 野 測 器 高 精 度 車 速 計 General Motors ハイブリッド 制 御 Wärtsilä 産 業 用 ディーゼルエンジン Alstom 鉄 道 用 電 力 変 換 システム 量 産 / 組 み 込 み 実 装 用 コード 生 成 ツールEmbedded Coder 利 用 例 4
量 産 / 組 み 込 み 実 装 向 けMBDのご 利 益 機 能 検 証 不 具 合 修 正 の 前 倒 し 制 御 設 計 検 証 ヌケモレ/エラー 混 入 防 止 実 装 統 合 設 計 検 証 実 装 単 体 設 計 検 証 修 正 ループ 高 速 化 ソフト 信 頼 性 向 上 ソフト 単 体 検 証 ソフト 統 合 検 証 実 機 検 証 上 流 テストデータの 再 利 用 コード 生 成 ソフト 開 発 の 省 力 化 仕 様 通 り 誤 り 無 く 動 作 するモデルを 開 発 する 仕 様 通 り 誤 り 無 く 動 作 するソフトを 開 発 する 5
例 題 :ドアロック 制 御 ソフト 開 発 ドアロック 制 御 車 両 走 行 時 に 自 動 ロック 緊 急 時 に 自 動 ロック 解 除 6
MBDソリューション:モデル 設 計 検 証 制 御 設 計 検 証 実 装 統 合 設 計 検 証 仕 様 通 り 誤 り 無 く 動 作 する モデルを 開 発 する 実 装 単 体 設 計 検 証 グラフィカルモデリングで 制 御 ロジック 開 発 効 率 向 上 シミュレーションで 機 能 テストを 前 倒 し テスト 自 動 化 で テスト 作 業 を 合 理 化 モデル 仕 様 書 間 リンクで トレーサビリティ 確 保 修 正 範 囲 特 定 モデルアドバイザーで モデル 品 質 確 認 デザインレビュー 改 善 7
グラフィカルモデリングで 制 御 ロジック 開 発 効 率 向 上 ブロック 線 図 状 態 遷 移 図 による 診 断 処 理 制 御 指 令 算 出 機 能 診 断 機 能 Simulink :ブロック 線 図 モデリング Stateflow : 状 態 遷 移 図 / 表 /フローチャート 8
シミュレーションで 機 能 テストを 前 倒 し 豊 富 な 入 出 力 で 開 / 閉 ループテストが 可 能 実 機 では 困 難 な 故 障 異 常 処 理 の 事 前 テスト Simulink Dashboardライブラリを 用 いたON/OFFテスト 例 Signal BuilderによるExcelシート データの 取 り 込 み テスト 対 象 モデルの 呼 び 出 し 定 数 値 切 り 替 え 結 果 表 示 9
テスト 自 動 化 でテスト 作 業 を 合 理 化 モデル テストハーネス テストマネージャー 複 数 テスト 一 括 実 行 結 果 表 示 増 大 する 検 証 項 目 を 自 動 化 でカバー より 知 的 な 生 産 に 重 点 をシフト レポート 作 成 テスト 入 力 データ 出 力 期 待 値 Simulink Test :テストマネージャー 10
モデル 仕 様 書 間 リンクで トレーサビリティを 確 保 仕 様 修 正 の 影 響 範 囲 を 特 定 ハイパーリンク モデル 仕 様 書 間 リンク Simulink Verification & Validation :モデル 仕 様 書 間 リンク ハイパーリンクはSimulink 標 準 機 能 11
モデルアドバイザーでモデル 品 質 確 認 デザインレビュー 改 善 MATLABヘルプ モデルアドバイザー Simulink :モデルアドバイザー モデリングガイドライン 提 供 Simulink Verification & Validation :モデルアドバイザー 拡 張 MAAB/ISO26262/IEC61508/DO178C 用 ルール 自 作 ルール 追 加 12
MBDソリューション: 実 装 モデル 設 計 検 証 制 御 設 計 検 証 実 装 統 合 設 計 検 証 実 装 単 体 設 計 検 証 D1/C1 MCDC カバレッジ 測 定 で テストのヌケモレ 発 見 フルカバレッジ 入 力 データ 生 成 で ユーザテスト 入 力 を 補 充 ランタイムエラー 検 出 で テスト 困 難 な 不 具 合 混 入 の 防 止 仕 様 通 り 誤 り 無 く 動 作 する モデルを 開 発 する 13
カバレッジ 測 定 でテストのヌケモレ 発 見 テストをスルーした 未 実 行 パスが 引 き 起 こす 不 具 合 の 防 止 に 貢 献 モデルカバレッジ S-Functionコードカバレッジ テスト 入 力 データ シミュレー ション 未 達 箇 所 色 分 け 表 示 計 測 可 能 カバレッジ 例 ステートメント(C0): コードのみ 条 件 (C1) 判 定 (D1) MCDC 境 界 : モデルのみ Simulink Verification & Validation :カバレッジ 測 定 複 数 テストの 累 積 カバレッジも 計 測 可 能 14
フルカバレッジ 入 力 データ 生 成 でユーザテスト 入 力 を 補 充 レアケースを 自 動 生 成 テスト 品 質 向 上 に 貢 献 モデル 生 成 コードの 網 羅 的 な 等 価 性 検 証 にも 利 用 可 能 テストモデル 解 析 シミュレー ション モデル フルカバレッジ 入 力 データ 生 成 Simulink Design Verifier :フルカバレッジ 入 力 データ 生 成 15
ランタイムエラー 検 出 でテスト 困 難 な 不 具 合 混 入 の 防 止 整 数 オーバーフローリスク 有 り 整 数 オーバーフローリスクを 除 去 解 析 修 正 モデル 検 出 可 能 エラー 例 整 数 演 算 オーバーフロー ゼロ 除 算 配 列 の 範 囲 外 アクセス デッドロジック Simulink Design Verifier : 設 計 エラー 検 出 16
MBDソリューション:コード 生 成 単 体 検 証 実 機 検 証 仕 様 通 り 誤 り 無 く 動 作 する ソフトを 開 発 する コード 生 成 ソフト 単 体 検 証 ソフト 統 合 検 証 モデルからのコード 自 動 生 成 で ソフト 開 発 効 率 化 ミス 削 減 コード 生 成 レポートで 快 適 なコードレビュー モデル 生 成 コード 等 価 性 検 証 で コードの 動 作 保 証 性 能 評 価 モデル 生 成 コード 等 価 性 検 証 自 動 化 で 検 証 作 業 の 合 理 化 17
モデルからのコード 自 動 生 成 でソフト 開 発 効 率 化 ミス 削 減 モデル(ロジック) + コード 生 成 量 産 / 組 み 込 みに 適 した 可 読 性 効 率 性 if (LeftDPos > 4.0F) { rtb_switch1_idx_0 = LOCK; } else if (LeftDPos < 1.0F) { rtb_switch1_idx_0 = UNLOCK; } else { rtb_switch1_idx_0 = NEUTRAL; } ソフト 仕 様 関 数 名 前 引 数 変 数 / 定 数 属 性 名 前 記 憶 クラス データ 型 コード 書 式 Embedded Coder : 量 産 / 組 み 込 みコード 自 動 生 成 18
モデル 生 成 コード 等 価 性 検 証 でコードの 動 作 保 証 性 能 評 価 モデル SIL (Software In the Loop) PC CPU 上 でコード 実 行 テスト 入 力 等 価 性 チェック PIL (Processor In the Loop) MCU/シミュレータ エミュレータ 上 でコード 実 行 PIL 対 応 しているかはMCU/IDEによって 状 況 が 異 なるので 要 確 認 モデル&コードの 動 作 等 価 性 コード 生 成 ツール 設 定 ミス コード 生 成 ツール 不 具 合 コンパイラ 不 具 合 モデル 生 成 コード 処 理 系 依 存 動 作 メモリ 消 費 量 評 価 実 行 速 度 評 価 PILのみ 19
モデル 生 成 コード 等 価 性 検 証 自 動 化 で 検 証 作 業 の 合 理 化 フルカバレッジテスト 入 力 (Simulink Design Verifier 利 用 ) テストマネージャー 出 力 値 タイミングずれをチェック ノーマル(モデル)とSIL/PILの 結 果 を 比 較 Embedded Coder :SIL/PILモード Simulink Test :テストマネージャー 20
マスワークスソリューションは 各 種 規 格 に 対 応 しています ISO26262/IEC61508 リファレンスワークフローに 沿 ってTÜV SÜDよりツール 認 証 取 得 済 み ISO26262 ASIL A-D 対 応 IEC61508 MISRA-C ほとんどのルールに 対 応 ( 一 部 例 外 有 り) 技 術 サポートから 対 応 表 を 取 得 可 能 http://www.mathworks.com/matlabcentral/answers/102532-misra-c AUTOSAR 標 準 機 能 としてR2008aより 対 応 Webセミナー http://www.mathworks.co.jp/videos/autosar-and-mathworks-solution-82333.html 21
まとめ:MBDは 制 御 ソフト 開 発 のQCD 向 上 / 各 種 規 格 対 応 に 貢 献 します 量 産 / 組 み 込 み 向 けMBDソリューション 効 果 グラフィカル モデリング D1/C1 MCDC ヌケモレ 検 出 テスト 生 成 早 期 の 制 御 仕 様 確 定 開 発 効 率 向 上 シミュレーション モデルアドバイザ ソフト 信 頼 性 向 上 テスト 自 動 化 コード 自 動 生 成 品 質 要 件 リンク エラー 検 出 価 格 納 期 22