ソフトウェアは車両の機能を定義する上で不可欠なものとなり、SDV (ソフトウェア・ディファインド・ビークル) の台頭につながりました。こうした変化が車両のライフサイクル全体に機能を追加する機会をもたらしています。頻繁なソフトウェア アップデートを可能にするために、車両は新しい電気/電子 (E/E) アーキテクチャに向けて進化しています。これには、一元管理された高性能計算 (HPC) プラットフォーム、サービス指向アーキテクチャ (SOA)、継続的インテグレーションと継続的デリバリー (CI/CD) を用いた "ソフトウェア ファクトリー" の手法が求められます。車戴ソフトウェアがさらに複雑化すれば、ソフトウェアの設計、再利用、統合に新たな能力も必要になります。
モデルベースデザインは、こうした課題に取り組む際に、以下のアプローチを通じてエンジニアリング チームを支援します。
- HPC、ゾーンコントローラー、ECU 全体でソフトウェアを再利用する
- 自動化を通じて安全性と品質の要件を満たす
- シミュレーションによる早期検証とソフトウェア統合を通じてシフトレフトを実現する
- 各分野の専門家が高品質なソフトウェアを開発できるように支援する
MATLAB、Simulink、Polyspace を活用して、ソフトウェア・ディファインド・ビークル向けの高品質ソフトウェアを開発
信号ベースおよびサービス指向アプリケーションの設計、シミュレーション、展開
HPC やゾーンコンピューターへの移行は、アプリケーション ソフトウェアをハードウェアから分離する新しい車載 E/E アーキテクチャによってサポートされています。既存のアプリケーション ソフトウェアの一部は ECU から HPC やゾーンコンピューターに移行します。これを行なうには、ソフトウェア コンポーネントをモノリシックな信号ベースから非モノリシックなサービス指向のコンポーネントに構築し直してリファクタリングし、SOA に組み込む必要があります。ソフトウェア アーキテクチャ開発向けのツールは、この移行をサポートするだけでなく、新しいアプリケーション ソフトウェア コンポーネントを統合して検証する際にも必要です。
Simulink と System Composer を活用すると、以下が可能になります。
- ソフトウェア アーキテクチャの作成とソフトウェア割り当てのトレードオフ解析の実行
- システム エンジニアリング とソフトウェア開発ツールの統合により要件と設計に従ったソフトウェア製品を実現
- 自動コード生成を通じて HPC、ゾーンコンピューター、ECU 全体でソフトウェアを再利用
バーチャル車両シミュレーションによるシフトレフトのソフトウェア統合
OTA (over-the-air) ソフトウェア アップデートが頻繁に行われると、プロトタイプ ハードウェアを用いた新しいソフトウェア構成のテストは実行不可能になります。また、ソフトウェアリリースのリードタイム短縮のために、統合テストを自動化しなければなりません。ソフトウェア統合を、継続的インテグレーション パイプラインに統合された、バーチャル車両シミュレーションによるモデルインザループ (MIL) テストとソフトウェアインザループ (SIL) テストに移行することで、両方の課題に対処できます。Simulink、バーチャル ビークル コンポーザー、および Simulink Compiler を使用すると、以下を行うことができます。
- バーチャル車両モデルのアセンブリを自動化
- Simulink でモデルベースとコードベースのコンポーネントを含むバーチャル電子コントロールユニット (ECU) のシミュレーションを構築し、量産基本ソフトウェア (BSW) やプロセッサ シミュレーション用のサードパーティツールに統合
- バーチャル車両モデルとバーチャル ECU モデルを継続的インテグレーション パイプラインに展開
ソフトウェア ファクトリーにおけるプロセスの自動化とデスクトップ コンピューターからクラウドへのスケーリング
自動化の大規模な実装は、ソフトウェア開発における作業量削減の鍵となります。CI/CD などの開発手法により、開発者に自動化がもたらされると同時に、再現性のあるプロセスを通じて信頼性も確保されます。さらに、クラウド技術では、ソフトウェアの作成とシミュレーションの高速化、大規模なデータセットの処理、および分散したソフトウェアチームの共同作業の促進によりスケーリングが可能になります。MATLAB と Simulink を使用すると、以下を行うことができます。
- Jenkins®、GitLab® CI/CD、GitHub Actions、Azure® Pipelines などの CI/CD システムとの統合
- AWS® S3 や Azure Blob などのシステムにおけるクラウドベースのデータ処理と、必要に応じたスケーリング
- MATLAB Parallel Server によるクラスターやクラウドへのシミュレーションのスケーリング
- GPU を使用したニューラル ネットワークの学習の高速化
- Git および SVN ソース管理を使用した共同開発作業