マスワークスのモデルベース開発環境「MATLAB/Simulink」は半年に1回のアップデートを行うことで知られている。2023年9月発表の「R2023b」ではテスト/解析関連の機能を大幅に拡充した。
マスワークス(MathWorks)のモデルベース開発環境「MATLAB/Simulink」は半年に1回のアップデートを行うことで知られている。2023年9月に発表した「Release 2023b(以下、R2023b)」ではテスト/解析関連の機能を大幅に拡充した。故障注入テストのフロントローディングを実現する「Simulink Fault Analyzer」や、組み込みソフトウェアのテストツール「Polyspace」において動的テストを可能にする「Polyspace Test」を追加した。
自動車や産業機器をはじめ高い安全性を求められる制御システムは機能安全規格への準拠が必要になっている。機能安全規格では、制御システムに何らかの故障が発生しても安全に停止することが求められるが、そういった動作の堅牢性を検証するために行われているのが故障注入テストだ。例えば、自動車向け機能安全規格のISO 26262でもシステムレベルの故障注入テストが推奨されている。
このシステムレベルの故障注入テストに用いられているのがHILS(Hardware in the Loop Simulator)である。HILSは、自動車をはじめとする制御システム開発で一般的なV字プロセスの下流、実機テストの1つ前の最終段階で用いられている。「HILSの故障注入テストで問題が見つかると上流への手戻りが大きい。できればもっと早い段階でこの問題を見つけ出せるようにしたいという要望がある」(MathWorks Japan アプリケーションエンジニアリング部(自動車東日本地区担当) 部長の宅島章夫氏)。
Simulink Fault Analyzerは、V字プロセスの中盤に当たる安全設計からシステムシミュレーション、コンポーネントレベルでの故障注入テストを、モデルベース開発で広く用いられているSimulink上で行えるようにするオプション製品である。機能は、「実装モデルを変更しない故障状態のシミュレーション」「複数のドメインにわたる故障の管理」「故障による影響の効率的な調査/分析」「シミュレーションを使用した体系的な安全性分析」の4つだ。
「実装モデルを変更しない故障状態のシミュレーション」は、設計中の制御システムのモデルを変更することなく、別途作成した故障状態のモデルを使ってシミュレーションを行える機能である。従来のモデルベース開発における故障注入モデリングは、設計中のモデルに故障注入用のロジックを追加するという変更を加える必要があった。この場合、表現できる故障がシンプルなものに限られ、故障注入による影響の解析が難しく、ハザード(不具合)と故障の関連付けもしづらいこと課題になっていた。
Simulink Fault Analyzerを使えば、設計モデルと故障モデルを分けて作成/管理できるとともに、故障注入ワークフローも自動化できる。また、故障モデルを「Fault Table」によって管理して、故障モデルや故障モデル内のロジックの有効無効などを設定して、故障注入の条件を自在に変更し、HILSによる故障注入テストの前に問題を徹底的に洗い出すことが可能になる。
「複数のドメインにわたる故障の管理」では、シミュレーションツールの「Simscape」やMBSE(Model Based Systems Engineering)に対応するモデリングツール「System Composer」を用いて、複数ドメインにまたがる共通の故障モデリングフレームワークを適用できるようになる。なお、Simscapeについては、電気/電子回路モデリング向けの「Simscape Electrical」のみの対応となっているが、今後段階的にサポートするSimscapeシリーズのツールを広げていく予定だ。
「故障による影響の効率的な調査/分析」では、逐次的、網羅的な故障モデルの組み合わせに基づいて複数回のシミュレーションを自動実行でき、オプションの「Parallel Computing Toolbox」を用いた複数シミュレーションの並列実行にも対応する。「シミュレーションを使用した体系的な安全性分析」は、故障モデルと関わるロジックやSimulink要素などをまとめた帳票データを作成できる「Safety Analysis Manager」によって実現可能になる。オプションの「Requirements Toolbox」と連携して機能安全の要件定義プロセスと連携させることも可能だ。
Copyright © ITmedia, Inc. All Rights Reserved.