SDV(Software Defined Vehicle)の進展により、車載ソフトウェアの開発規模と複雑性は拡大し続けています。OTAアップデートによる機能の継続的な更新、自動運転・運転支援機能の搭載、様々な外部デバイスとのコネクティビティの増加によって、ソフトウェアが担う品質責任範囲は広がり続けています。
しかし、こうした中でも、品質保証の基本構造は変わりません。品質の高いソフトウェアを作り上げる活動(いわゆる「品質の作りこみ」QE:Quality Engineering)を十分に実施したうえで、品質を証明(いわゆる「品質保証」QA:Quality Assurance)することが、車載ソフトウェア品質保証の原則となります。SDVへの移行によって、品質活動の範囲の拡大と速度向上は求められますが、品質保証の原則そのものを書き換えるものではありません。
本記事では、QEとQAの定義から、Automotive SPICE®を土台とする品質基準、そしてSDV時代における車両アーキテクチャの変革、車両APIとビークルOSの登場、短周期開発と継続的アップデートが品質活動に与える影響まで順に解説します。
まずは、車載ソフトウェア開発における品質活動の構成要素である、品質の作りこみ(QE)と品質保証(QA)の詳細定義を解説します。
開発チームは各工程においてソフトウェアに不具合が入り込まないように設計、実装、検査工程を遂行していき(プロダクト品質の作りこみ)、開発チームとは独立した品質部門は客観的に品質が十分であることを監査・レビューによって証明(品質保証)します。この2つの品質活動によって対外的な品質説明責任を果たすことが可能になります。
開発チームはコストや納期の制約があるなかで開発を進めており、品質が後回しになりやすい構造にあります。そのため、品質保証は開発チームと利害関係が薄く、客観性を保てる独立した組織が実施することが求められます。
| 品質の作りこみ(QE) | 品質保証(QA) | |
|---|---|---|
| 役割 | 品質基準を満たしたソフトウェアを作り上げる | ソフトウェアが品質基準を満たしていることを証明する |
| 立場 | 開発チーム | 開発チームとは異なる、独立した客観性を保てる組織 |
| 主な活動 | 設計の妥当性検証、静的解析の運用、テスト設計・実行、テスト環境の構築、不具合の分析・横展開・再発防止 | 品質保証計画の策定、品質ゲートによる審査、プロセス監査、アセスメント |
品質基準とは、開発した成果物やそのプロセスが、一定以上の品質を満たしていることを示す合格条件のことであり、ここでは日本や欧州を中心に品質基準の成り立ちを含め説明します。
品質は言い換えるとエンドユーザーを含めたすべての利害関係者の満足度であり、車載ソフトウェアの開発が徐々に発展し始めた頃においては、具体的な品質を評価するものさしがないことが課題でした。
この課題を解決することを目的にAutomotive SPICE®が策定されました。Automotive SPICE®は開発プロジェクトの品質をアセスメント(評価)するための「評価モデル」であり、開発プロセスそのものではありません。しかしながら現在においてはこの評価基準を満たすようにプロセスを定義し、品質を作りこみ、その品質を保証することが、現在の日本・欧州における車載ソフトウェア開発における一般標準となりました。
安全やセキュリティ、AIなど専門特化した国際規格も、車載ソフトウェア開発にて遵守すべき品質基準として定められています。いずれもAutomotive SPICE®によって一定の品質が保たれたうえで、専門分野に対して強化した品質観点を付け加える構図となっています。
| 国際基準 | 概略 |
|---|---|
| Automotive SPICE® | 車載ソフトウェアおよびシステム開発のプロセスを評価する国際標準モデル。プロセスを適切に実施しているかを評価することによって品質の安定度合いを測る |
| ISO 26262 | 自動車に搭載される電気・電子システムが故障する確率を減らすと共に、故障が発生してもシステムが安全に制御・停止するように設計・製造・運用することを定めた国際規格 |
| ISO 21448(SOTIF) | ISO 26262に対して安全のカバー範囲を広げた国際規格。ISO 26262が電気・電子システムの故障に着目した規格であるのに対し、SOTIFでは故障以外の環境要因(逆光や濃霧による電子機器の認識不良など)、性能限界(想定していない状況)、人の誤ったシステム利用などによって生じる安全侵害リスクをカバーする |
| ISO PAS 8800 | 自動車に搭載されるAIによる安全侵害を防ぐため、AI特有の不確実性や潜在的なリスクを最小化する枠組みを提供した国際規格 |
| ISO/SAE 21434 | 自動車業界においてサイバー攻撃から身を守るための国際規格。開発現場、製造現場などのサプライチェーン(組織)の情報を守る情報セキュリティに関する取り決めと、開発したシステムを守る製品セキュリティの両面で遵守事項を定めている |
前章にてSDV時代となっても品質活動の原則は変わらず、その品質基準の土台にAutomotive SPICE®があり、リスク領域に特化した国際規格を加えて車載ソフトウェア開発が成立する構図になっていることを述べてきました。
本章では本質的な原理は変わらない中でSDVにおける以下3つの大きな変化点がどのように品質活動に影響や変化をもたらすのかを解説します。
SDVの進展によって大きく変化する事柄の1つが車両アーキテクチャの変革です。車両アーキテクチャは次の図のように分散ECU型からドメインアーキテクチャを経てゾーンアーキテクチャへと移行しつつあります。
初期の自動車は、ハード制御(ソフトウェアが介在せず、物理的な回路(ハードウェア)だけで機械を制御する方式)によって実現される部品を組み合わせて作られていました。
マイコンの登場によりハード制御を省スペースかつ安価にソフトウェア制御(ソフトウェアにより機械を制御する方式)に置き換えられるようになり、各自動車部品がソフトウェア制御によって機能を提供する時代のアーキテクチャが分散ECU型です。
ソフトウェア制御の登場によってハードウェアに比べてより複雑な演算回路を実現できることとなり、テストのルートや項目数(テストケース、テストパターン)も飛躍的に増加しました。
品質活動としては、コードカバレッジによる網羅性や静的解析の重要性、単体テストツールの需要が増すという変化が見られた時期でもあります。
各自動車部品の機能成熟に伴い、快適性や利便性がより強く求められるようになりました。
個々のECUが提供する機能だけでは限界があり、各ECUが持つ機能を組み合わせて新たな価値を生み出す方向へ向かっています。ある程度目的が似ている機能を持つECUをドメインとして統合し、直接ソフトウェアで連携を実現できる構図にした車両アーキテクチャがドメインアーキテクチャになります。
ドメインアーキテクチャでは、元々保有していたコアな機能をどのように連携させて実現するのかという点が重要であり、Automotive SPICE®におけるSYS.3(システムアーキテクチャ設計)、SWE.2(ソフトウェアアーキテクチャ設計)の重要性が増した時期でもあります。
品質活動としてもアーキテクチャ設計の十分な検証や、システムおよびソフトウェアの統合と、統合テストの確実な実施が重要になります。ドメイン内に存在する部品数が膨大になるとともに開発人員が増え、確実な統合のためにインテグレーションの自動化ニーズや変更管理、構成管理の重要性が高まったのもこの時期です。
自動車と外部とのコネクティビティの増加や、OTAによるソフトウェアアップデート、半導体技術の飛躍的な進歩を背景に、より中央集権型に変化したアーキテクチャがゾーンアーキテクチャとなります。
ゾーンアーキテクチャは、物理的にハード、メカ制御を行うために配置されるゾーンECUと、機能や外部との連携を組み合わせて実現されるサービスを制御するセントラルコンピューター(ECU)にて構成されます。
ゾーンECUが制御する物理対象との距離を短くすることにより車内の配線をシンプルにし、軽量化と保守性の向上を実現します。またサービスをセントラルコンピューターに集約することにより、サービス実現のための機能間連携を容易にすると共に、各ドメインでそれぞれが構築していた共通の仕組み(車両情報収集、ソフトウェアアップデート、起動終了制御など)を1つにまとめることができ開発効率の向上も期待されています。
ゾーンアーキテクチャではドメインアーキテクチャ同様にアーキテクチャ設計やその検証が重要になります。安全を確保するための機能間の連携や、サービスを実現するための機能間の連携はより複雑で直観的でなくなるため、設計の繋がりだけでなく整理された要求と設計のトレーサビリティがより重要になります。システムズエンジニアリングが注目される背景にはこうした理由があります。
自動運転やソフトウェア更新に代表されるように外部との接続を前提としたサービスが増加していくことを想定した車両アーキテクチャであるため、サイバーセキュリティの対象範囲が広がっていきます。ISO/SAE 21434では車両全体とその背後にあるサービスインフラを含めてリスク分析をすることが求められます。
| 分散ECU型 | ドメインアーキテクチャ | ゾーンアーキテクチャ | |
|---|---|---|---|
| 品質活動への主な影響 | +複雑な演算を確実に検証する必要が増加 | +機能間の連携を確実に検証する必要が増加 +正しく統合するため、変更管理、構成管理の重要性が増加 |
+機能の変更が要求に与える影響を確実に検証する必要性が増加 +サイバーセキュリティに対するリスク分析対象範囲の拡大 |
| 代表的な手法・ツール | ・静的解析 ・コードカバレッジ ・単体テストツール |
・アーキテクチャ設計手法 ・トレーサビリティ ・CI環境 ・変更管理、構成管理ツール |
・統合開発ツール ・システムズエンジニアリング |
車載ソフトウェアの全体像については、「車載ソフトウェア」のページをご覧ください。
SDV時代へ自動車業界が向かっていく目的の1つに、プラットフォーム共通化による根本的な開発費抑制があります。わかりやすく例えられるのが携帯電話業界におけるフィーチャーフォン(ガラケー)からスマートフォンへの変革です。
どの自動車でも基本的に提供すべき機能は変わらない中で、メーカーの違い、車両の違い、仕向け(販売エリア)の違いによって個別にモノづくりをしていては開発費が膨大になってしまいます。
スマートフォンと同じようにある程度共通化されたプラットフォームがあり、そのプラットフォームに付随する標準APIが提供する機能を使って、車両、仕向け、グレード、顧客の嗜好に合わせたサービスをアプリケーションとして提供する構図に変えることにより、サービスとしての魅力を下げずに開発費の抑制を狙っています。
この変革によって車載ソフトウェアの開発分類は今まで以上に明確に区別され、開発環境やプロセスもより差別化されたものとして精錬されていくことが予想されます。
【開発分類】
ビークルOSによって実機能が物理世界で実現されることを前提に、UXサービス/アプリケーションは車両APIをスタブ(テスト用の簡易的なダミー部品)とした仮想環境での開発が可能になり、短周期での開発が実現できるようになります。
モデルベース開発(MBSE/MBD)との親和性も高くなり、シミュレーションテストの自動化やデジタルツインの進展によって、従来は実車で行っていた検証の一部が仮想空間で実現可能となります。仮想空間での検証の割合は、今後さらに高まると予想されます。
要求および設計、テストの確実な紐づけと効率的な自動化を進めていくためには開発ツールの適切な利用が品質活動において不可欠な要素となっていきます。
また、利便性や嗜好性に特化していく領域の品質と、人命や財産に直接的に影響する侵害されてはいけない安全やセキュリティの品質とでは、求められる水準が明確に異なります。この違いをどのように隔離して確実かつ効率的に品質活動を実施していくのかが業界課題となります。
ビークルOSの登場によって車両の原理機能が標準化され、メーカー、車両、世代、仕向け、グレードのバリエーションはコンフィグレーションの切り替えによって動的に切り替えられる構図に変わっていきます。
そのためビークルOSが達成すべき非機能の品質特性(性能効率性、互換性、信頼性、セキュリティ、保守性)はより高く求められ、非機能の品質要求を具体化できる能力および、その証明能力の向上が重要となってきます。
機能適合性に関しては物理的な車両と組み合わせた中での品質活動を欠かすことはできないため、メーカーとビークルOS開発組織との間での品質活動における責務分担が今後の課題となってきます。
| UXサービス/アプリケーション | ビークルOS | |
|---|---|---|
| 品質活動への主な影響 | +要求、設計、テストの確実な紐づけの重要性が増加 +利便性や嗜好性を追求するサービスと、自動車本来の安全性を隔離する方法論が必要 |
+性能効率性、互換性、信頼性、セキュリティ、保守性、移植性の品質特性に対する要求値の増加 +ビークルOS開発組織とメーカー間での品質活動の責務分担明確化が必要 |
| 代表的な手法・ツール | ・車両サービス開発SDK ・デジタルツイン ・MBSE |
・システムズエンジニアリング ・非機能要件の実現手法 |
車両APIとビークルOSが整備されることにより、ビークルOSの上に搭載されるアプリケーションの開発プロセスが変化します。ビークルOSによってハードウェア制御も含めた車両APIが提供されるため、従来のようにシステムアーキテクチャ設計の階層からソフトウェア-ハードウェア分離の階層やハードウェア制御レベルのソフトウェア詳細設計が不要になるためです。
車両APIを使ってどのようにアプリケーションを実現するかを設計するだけで良いため、従来の多段階の階層構造を経由した開発が劇的に減ることになります。
また、OTAによるソフトウェアアップデートや、配信型のアプリケーションも主流となってきます。
こうした背景の中で、UXサービス/アプリケーションの開発はより早く新しい価値をユーザーに届け、継続的にアップデートを行うことが強く求められるようになります。
開発速度を高めるために仮想開発環境やツールが変化すること、およびその影響は前述していますが、それ以外の要素として開発モデルの変化があります。
本章では開発モデルの変化がもたらす品質活動への影響、および市場投入後の品質活動の変化について記載します。
OTAによる継続的な機能更新が前提となるSDV時代では、ウォーターフォール型(予測型)の開発モデルだけでは市場の変化に追従しきれません。反復型や漸進型、スクラムをはじめとするアジャイル型(Agile:適応型)を適切に選択する必要があります。
| 開発モデル | 説明 | 適する場面 |
|---|---|---|
| 予測型(ウォーターフォール) | 各工程が完了したことを確認してから次工程に進むことを原則とした、事前予測の上で計画通り進める開発モデル | 要求や前提が比較的明確 大人数開発 |
| 反復型 | 計画・設計・実装・テストを短いサイクルで繰り返す開発モデル | 試作・研究開発など新規技術の実現方法を仕様化する開発 |
| 漸進型 | システムや製品を機能や構成要素毎に分割して段階的に積み上げていく開発モデル | 新規性が高いアーキテクチャにおける開発 |
| 適応型(アジャイル) | 短いサイクル(イテレーション)を繰り返し、顧客のフィードバックや市場の変化に合わせて柔軟に計画や仕様を調整する開発モデル | 要求を定義することを目的とした開発 |
ただし、ウォーターフォール型とアジャイル型のどちらが適切かを断言できるようなプロジェクトはほぼありません。ウォーターフォール型やアジャイル型を基本型として捉え、開発する機能やサービスの特性、開発フェーズを考慮します。そのうえで、自らのプロジェクトではその型をどのように組み合わせて開発するのが最適なのかを、プロジェクト計画として設計することが重要です。
開発モデルの組み合わせ設計を行う際の悩みの種となるのが品質保証です。
仕様が固まり切らず変更開発を繰り返すことが多い車載の量産開発においては、品質ゲートを最終フェーズで通過させる運用(最終点検)が通例になっています。この最終点検によって品質を保証するというやり方を変えていかなければ、開発速度を高めることは難しくなります。
その対策として考えられたのが、品質を確認するタイミングを前工程へ寄せる考え方(シフトレフト)です。最終フェーズでまとめて品質ゲートを通す運用では、欠陥の検出が遅れ、設計まで戻る手戻りが大きくなります。この前工程での品質の作りこみと、短いフィードバックループの中で早期に欠陥を検出できる状態を作ることが、短周期開発における品質保証では必要になります。
そのため、次のような工夫が必要になります。
変更開発における統合テストの影響範囲設計は、トレーサビリティを利用して実施するため、トレーサビリティの重要性は非常に高いものとなります。
| 開発モデルの変化がもたらす品質活動への影響(まとめ) |
|---|
| ・予測型/反復型/漸進型/適応型を、開発対象の特性やフェーズに合わせて適切に設計する |
| ・反復型や適応型で小分けにした開発アイテムごとに担保すべき品質を定義する |
| ・CI/CDによって全項目の再テストが効率的にできる環境構築を検討する |
| ・確実なトレーサビリティに基づき、影響範囲に対するテスト項目設計を実施する |
次の図は従来とSDVにおける市場投入後の変更要因と、変更方法の比較です。
端的に言えば、SDVの時代においては市場投入後のソフトウェア変更が頻繁に行われるようになるということです。
従来の車載開発におけるリコール対応では、非常に厳格かつ慎重な品質保証プロセスが実施されてきました。OTA対応でも同等の品質保証を求められますが、それはリリースの迅速さと相反するため、両立が非常に困難な業界の課題となっています。
迅速さを求めるOTA対応の機能・サービス領域と、厳格に品質を担保すべき機能領域をシステムアーキテクチャやSDVプラットフォーム上で明確に分離して、各々の品質保証プロセスを定義して確立していくことが今後求められていきます。
自動タクシーのサービス仕様を最新のニーズに合わせて変更する場合を考えます。
自動車の走行制御に関わる厳格な変更が管理され検証されるべき領域の変更と、発車前に行う目的地やルートをユーザーに選んでもらうためのUI変更では、保証方法もレベル感もプロセスも異なります。両者を区別した開発ができるようになることが求められます。
本章では、ここまでの内容を3点に整理します。SDVによって品質活動の範囲と速度は変化するものの、品質保証の考え方そのものは変わりません。品質の作りこみ(QE)を尽くし、独立した立場でそれを証明する(QA)という原則は、SDV時代も変わらず有効です。この原則を、Automotive SPICE®を土台とした品質基準に沿って、変化したアーキテクチャ・開発分類・開発モデルへ反映していくことが求められます。
SDVへの移行やコネクテッド技術の進化により、現在の自動車業界は、これまでの組み込みシステム(OT)の枠を超え、クラウド(IT)やサイバーセキュリティ、AIといった広範な技術領域を統合し、一気通貫で開発することが求められる局面を迎えています。富士ソフトは、こうした広範な技術領域にまたがる開発支援を担っています。
車載ソフトウェア(OT)×クラウド(IT)×AIを融合させた技術により、お客様のニーズに対してシステム一気通貫でのご提案をいたします。
当社は、「モビリティ社会の実現と普及に貢献」することをビジョンに掲げています。
当社は30年以上前から車載ソフトウェアベンダーとして、自動車業界における成長分野・先端技術分野の開発に貢献してきました。
全国6拠点・2,500名を超える技術者集団で、自社のみならず、お客様、アライアンスパートナー、業界団体との協業・共創による受託開発および自他社プロダクト事業を展開し、国内主要OEM・Tier1サプライヤーのお客様を筆頭に、国内100社以上のお客様とお取引をいただいています。
先行開発から量産向け開発、組み込みソフトウェア領域(下位レイヤーのドライバ、OS、アプリケーション)から、クラウドに至るまで、あらゆる領域において一気通貫でご対応します。
| 当社が開発支援を担う工程・領域 | 対応内容抜粋 |
|---|---|
| 車両システム設計 | UI/UXデザイン、USDM形式での要件整理、SysMLを用いたMBSE |
| ECU開発 | 車載品質を熟知した技術者による組み込みソフトウェア開発(試作〜量産)、制御モデル開発からソースコード検証までのMBD、エッジAIの搭載、ISO 26262に基づく安全分析、AUTOSAR・Linux上での開発 |
| 車両システム評価 | 評価項目の作成、HILS評価、AD/ADASのシミュレーションテスト |
| 開発環境・プロセス・教育 | MBD環境やクラウド上の仮想化開発環境の構築、Automotive SPICE®や機能安全に準拠したプロセス構築、PMOによる開発の円滑化、技術者教育 |
次世代車載ソフトウェア開発を支える当社の先端技術・開発プロセスへの取り組みを進めています。
| 取り組み領域 | テーマ |
|---|---|
| SDV | SDVアーキテクチャ設計、サービス指向アーキテクチャ、ビークルOS/API、コンテナ化、開発環境のデジタルツイン |
| 開発プロセス | アジャイル開発、機能安全対応(ISO 26262 2nd edition、SOTIF)、サイバーセキュリティ対応(ISO/SAE 21434)、CI/CD、MLOps |
| MBSE/MBD | MBSE/MBDの導入、シミュレーション環境構築(RCP/MILS/SILS/HILS) |
| ソフトウェアプラットフォーム | AUTOSAR、QNX、Linux、OTA、Edge-クラウド連携、仮想化 |
| 自動運転 | 自動運転ソフトウェア開発、地図開発 |
富士ソフトは、こうした技術と体制による価値提供を通じて、お客様と共に安心・安全で心躍る未来を創り上げていきます。
※記載されている会社名および商品名は、各社の商標または登録商標です。
車載ソフトウェア開発に関して、“こんなことで悩んでいる”、“ざっくり見積もりがほしい”、
“こんなことはできるのか?”、“詳しい実績がしりたい”、“この技術は対応できるのか?”
そんな時は、質問だけでも結構です。お急ぎの場合も迅速に対応させて頂きますのでお気軽にお問い合わせ下さい。