技術情報

自動車ソフトウェアファクトリーの構築方法


モデルベースデザインは、物理コンポーネントとソフトウェアを含むシステム開発作業にアジャイル原則を拡張します。要件定義、システム アーキテクチャ、コンポーネント設計から実装、検証、テスト、展開まで、モデルベースデザインは開発サイクル全体にわたっており、変化する要件への迅速な適応を可能にします。

インテリジェント運転とインテリジェントコックピット技術により、車両機能の複雑さは急速に増大しています。同時に、消費者はスマートカーにさらなる要求をしています。このような環境において、SDV (ソフトウェア・ディファインド・ビークル) が重要なトレンドとなり、ソフトウェアが自動車技術の中核となりました。SDV を実現するには、ソフトウェアとハードウェアの開発を切り離してソフトウェアのイテレーションを高速化する開発プロセスの変更が必要です。企業のソフトウェア開発能力は、アップグレードをイテレーションして消費者に提供する速度に反映されます。開発者がソフトウェアを効率的に設計、テスト、更新できるように、優れたツール、プロセス、方法を開発者に提供することが重要です。一方、開発者は、開発効率と品質の効果的なバランスを実現するために、アジャイル開発を継続的インテグレーション/継続的デリバリー (CI/CD) および従来の V モデルと統合する方法を検討する必要があります。

中国に拠点を置くプレミアムEVメーカーのZeekrは、最近、新しい車両OS環境にモデルベースデザインを適用した経験を共有しました。これには、Simulink ®の新機能を使用してサービス指向アーキテクチャ(SOA)ベースのソフトウェアをモデリングし、Embedded Coder®を使用してC++コードを生成することが含まれます(図1)。

Zeekr の新しい車両オペレーティング システム環境の概要を示すフローチャート。このフローチャートは、 SimulinkとEmbedded Coder がSOA ベースのソフトウェアをモデリングするためのワークフローにどのように組み込まれるかを示しています。

図 1. Zeekr は SDV 向けの新機能を開発および導入しています。

チームはまた、System Composer™、MATLAB®、およびApp Designerを使用して、Zeekrのカスタム車両OS用のソフトウェアアーキテクチャツールSOMOCを開発しました(図2)。

Zeekr のカスタム SOA メンテナンス ツールである SOMOC の概要を示すフローチャート。フローチャートは、 MATLAB、 System Composer、App Designer がワークフローにどのように組み込まれているかを示しています。

図 2. SOMOC、Zeekr のカスタム SOA メンテナンス ツール。

次のセクションでは、Zeekr のソフトウェアおよびエレクトロニクス センターの専門家が、新しいソフトウェア機能の統合、ソフトウェア配信の加速、開発時間とコストの削減、安全性と信頼性の確保など、ソフトウェアファクトリーの構築に関する経験を共有します。

サービス指向アーキテクチャを適用し、分離を実現

迅速な機能イテレーションの要件を満たすには、従来の信号ベースのソフトウェアからサービス指向の設計に徐々に移行する必要があります。同時に、ソフトウェアをハードウェアから分離するとともに、オペレーティング システム カーネル、ミドルウェア、アプリケーション層など、ソフトウェア アーキテクチャ内の層を分離する必要があります。完全な分離は、ハードウェアとソフトウェアをそれぞれのペースで迅速にイテレーションし、開発サイクルを短縮してユーザーの要件に対応するために不可欠です。

迅速なイテレーションを可能にするための重要な戦略の 1 つは、SOA の採用です。SOA は、アプリケーション ソフトウェアとハードウェア、およびさまざまなソフトウェア アプリケーション間の疎結合を促進します。これにより、ソフトウェアの開発とメンテナンスが容易になるだけでなく、車載ソフトウェア、通信、情報セキュリティ、クラウド環境間のシームレスな調整が可能になり、完全な車両クラウド エコシステムが効果的に構築されます。

複雑で学際的、かつ大規模なソフトウェア システムの開発という課題に対処する特効薬は存在しません。特定のアプリケーションでは、特にマルチスレッドやパブリッシュ/サブスクライブ メカニズムを含むモジュールの場合、C/C++ などの高水準言語を使用するのが簡単です。

同時に、Zeekr チームは、モデルベース デザインを使用したパワートレイン、シャーシ、ボディの開発において豊富な経験を持っています。その結果、生産テストを通じて検証された、または複雑なステート マシンを持つ成熟した機能については、チームはモデルベース デザイン アプローチを引き続き使用します。目標は、これらのモデルを SOA プラットフォームに統合することです。このニーズに対応するために、Zeekr とMathWorks は共同で統合モデルベース開発ツールチェーンを開発しました (図 3)。

SOA アーキテクチャにモデルを組み込んだモデルベース開発ツールチェーンを表示するフローチャート。

図 3. Zeekr の統合モデルベース開発ツールチェーンは、 MathWorksと共同で開発されました。

仮想車両シミュレーションによる開発サイクルの短縮とコスト削減

自動運転アルゴリズムのテストの約 90% はシミュレーション プラットフォームで実施され、9% はテスト トラックで、1% は実際の道路テストで実施されます。実際の道路状況で遭遇する運転シナリオは無限とも思えるため、シミュレーション プラットフォームでのテストは特に重要です。

自動車業界が新たな技術革新を取り入れるにつれ、OEM はアジャイル開発プロセス、自動テスト、CI、クラウド コンピューティング、仮想化を採用するケースが増えています。これらのアプローチによりソフトウェア開発サイクルが加速され、車両の仮想化とシミュレーション技術が統合と検証に最も大きな影響を与えます。

自動車会社は、エネルギーと動きに関する車両制御システムの開発とテストにシミュレーションを使用しています。Simulink は、動的モデルと制御アルゴリズムを構築するだけでなく、シナリオをシミュレートして制御システムを評価および最適化したり、キャリブレーションを実行したり、アルゴリズムを微調整したりするために使用されます。今後は、シミュレーション技術によってデジタルツインの作成が可能になり、エンジニアはこれらの完全に仮想化された車両を使用して、実際の車両の動作を予測し、徹底的なシミュレーションを行うことができます。

統合シミュレーション プラットフォームを活用した仮想車両シミュレーションにより、エンジニアリング チームは新しいソフトウェア機能のプロトタイプ作成、調整、検証を行うことができます。フロントローディングにより、開発サイクルを大幅に短縮し、コストを削減できます。Zeekr は、 MATLABとSimulinkのすぐに使用できる機能を活用して、仮想車両を迅速に作成します (図 4)。

シミュレーション結果に基づくモデル開発とイテレーションを含む、Zeekr の仮想車両シミュレーション システムのワークフロー。

図 4. Zeekr はMATLABとSimulinkを使用して仮想車両を開発しています。

DevOps によるデリバリー リード タイムの短縮

近年、多くの自動車会社はソフトウェア中心へと自らの位置づけを変えています。その結果、運用中にデータを収集し、開発プロセスにフィードバックして、車両ソフトウェアを継続的にイテレーションする CI および DevOps プラクティスへの移行が起こりました。

車載ソフトウェアは開発コストが高く、大量のコード開発、統合、配信を必要とするのが特徴です。CI と DevOps のプラクティスを使用すると、コードの送信から製品の更新までの時間を短縮し、開発時間とエラーを削減しながら、継続的インテグレーション、自動テスト、静的コード分析を通じて高品質で安全なソフトウェア配信を確保できます。

DevOps では、製品をより早く提供するためにアジャイル手法を優先します。ソフトウェアの複雑性の増大、市場投入までの時間の短縮、予算の制約、ソフトウェアとハードウェアのライフサイクルの相違などにより、モデルベースデザインとアジャイル開発の原則の統合が必要になっています。モデリングとシミュレーション、自動テストと検証、自動コード生成の使用により、開発効率と実装速度が大幅に向上します。

これらの目標を達成するために、ZeekrはPolyspace® Bug Finder™やPolyspace Code Prover™などのPolyspace®ツールを使用して、コーディング仕様やセキュリティ脆弱性などのソフトウェア欠陥をチェックしています。

Zeekr は、自動化されたユニット テストおよびサービス検証ツールのセットを開発しており、生成されたコードはこれらのツールによって検証され、実行可能プログラムが確実に実行できることが保証されます。同時に、Zeekr はモデルの開発と検証を DevOps システムに統合します。機能開発エンジニアは、コードの場合と同様に、モデルをコード リポジトリにアップロードできます (図 5)。

ビジネス モデルの開発、自動統合、シミュレーション システムの検証を含む Zeekr の DevOps サイクルの概要を示すチャート。

図 5. Zeekr の DevOps システムにより、エンジニアはモデルをリポジトリにアップロードできます。

アジャイル開発とVモデルを使用して機能安全を確保

SDV の登場により、自動運転や車両制御の強化など、多くの革新がもたらされました。しかし、この進化は機能安全性にも大きな課題をもたらしました。特に、ソフトウェア アーキテクチャが従来の AUTOSAR から異機種分散型の車両オペレーティング システムやサービス アーキテクチャに変化するにつれて、従来の機能安全分析方法、ソフトウェアとハードウェアの安全設計コンセプト、安全検証システム、ツールチェーンの安全性の構築に新たな不確実性が生じています。したがって、SDV に取り組むエンジニアリング チームが直面する基本的な課題は、テストと検証です。

現在、自動車業界で最も一般的なソフトウェア開発プロセスは、要件からソースコードまでの各開発段階で対応するテストが含まれ、各フェーズは前のフェーズの出力に基づいて構築される V モデルに従っています。V モデルの利点は、明確なプロセス、トレーサビリティ、品質管理にあります。ただし、このアプローチには、開発サイクルが長い、要件の変化への適応が困難、テストが困難、柔軟性に欠けるなどの欠点もあります。

従来のソフトウェア開発プロセスでは自動車システムの複雑化に対応できなくなり、アジャイル開発が解決策として登場しました。開発プロセスの最後にすべてのソフトウェアを提供するのを待つのではなく、ソフトウェアを少しずつ提供して継続的な更新を可能にすることで、反復的なイテレーションを通じてソフトウェアの開発をサポートします。

Zeekr の現在のソフトウェア開発アプローチは、V モデルとアジャイル手法を組み合わせたものです。このハイブリッド戦略は、車両開発全体にわたって V モデルの構造化された開発プロセスを維持しながら、特定の要件に対する柔軟性を導入し、ソフトウェア製品の安全性と信頼性を確保し、迅速な提供を促進します (図 6)。

従来の V モデル開発アプローチとアジャイル プラクティスを組み合わせた Zeekr のハイブリッド戦略をグラフィカルに表現したもの

図 6. Zeekr は、従来の V モデル ソフトウェア開発アプローチとアジャイル プラクティスを組み合わせています。

従来の V モデルでは、機能が複数のコントローラーに集中していたため、機能の開発と検証のコストが大幅に増加しました。この文脈において、 Simulink はモデル開発に大きなメリットをもたらします。Simulinkは包括的なモデル検証ツールスイートを備え、完全かつ成熟したISOをサポートしています。包括的なモデル検証ツール スイートにより、Simulink は完全で成熟した ISO® 26262 ソフトウェア開発プロセス、方法論、およびツールキットをサポートしています。これにより、モデルの精度と信頼性が効果的に保証されます。

さらに、モデルベースデザインは、物理コンポーネントとソフトウェアを含むシステム開発作業にアジャイル原則を拡張します。要件定義、システム アーキテクチャ、コンポーネント設計から実装、検証、テスト、展開まで、モデルベースデザインは開発サイクル全体にわたっており、変化する要件への迅速な適応を可能にします。そのため、モデルベースデザインは、V モデルとアジャイル開発の原則を組み合わせたハイブリッド アプローチのニーズを満たすことができます。

公開年 2024

関連する産業分野の記事を見る