自動車開発におけるAWSのプラットフォーム Virtual Engineering Workbenchとは？

## はじめに
自動車業界は今大きな変革期を迎えています。これまでハードウェア先行だった開発手法が、ソフトウェア先行に変わりつつあります。次世代の自動車に搭載される電子システムは複雑化しており、より効率的にかつ高い品質で開発するためのプラットフォームの需要が高まっています。

プラットフォームの活用事例について調査してみたところ、AWSからVirtual Engineering Workbench（VEW）というクラウドベースの開発環境が提供されていることを知りました。非常に有用なツールですので、本記事にて概要を紹介します。

## 自動車業界に何が起きているのか
冒頭で軽く触れていましたが、まずは自動車開発における変革について詳しく見ていこうと思います。

CASE(Connected、Autonomous/Automated、Shared & Service、Electric)という概念に代表されるように、自動車に求められる機能は多様化・高度化しています。
![image.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3665293/e0b8eb2f-8e00-4e96-07c5-7da16a9dc828.jpeg)
出典：https://blogs.ricoh.co.jp/RISB/technology/post_920.html

従来の車両開発はハードウェアを中心としており、専用コンピュータであるECU(Electronic Control Unit)にて各種機能の管理や制御がなされてきました。ただ新たな機能が登場した場合、既に世に出回っている自動車製品に対し、後から追加することが難しいという問題を抱えています。

そこでSDVという考えに基づいた開発手法が登場します。SDVとは、Software-defined vehicleの略なのですが、文字通りソフトウェアにより定義された自動車のことを指します。
ソフトウェアを更新することで、新たな機能を容易に追加することが可能となります。無線通信技術を活用し、ソフトウェアを更新するプロセスをOTA(On The Air)と呼びます。SDVで先行しているテスラでは、サブスクリプション形式でユーティリティを向上させる機能の追加配信を行っており、自動車がPCやスマホのような情報端末と同じ位置づけになっているとも言えます。

また自動車が取得する走行情報や各種機能の利用情報等のデータを基に、さらに利用者の体験価値を向上させるサービスの提供も実現します。これまで「モノ作り」が中心だったビジネスモデルは、「コト作り」へと重心が移動し、これまで縁がなかったIT企業の参入も加速しました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3665293/c3f1af65-4598-86ae-e3f7-a2bf1386331a.png)
出典：https://www.pwc.com/jp/ja/knowledge/column/definition-of-sdv.html

## SDV実現に向けたカベとVEWの誕生
一般的なシステム開発では、利用する複数の開発ツールの依存関係を把握したうえで、開発環境のセットアップを行う必要があります。SDVの開発においては、高度かつ広範な機能が求められるため、ツールの数や複雑性も増加します。さらに安全性が強く求められる自動車の性質上、ISO 26262のような規制に準拠する必要があり、その対応で予想以上の時間を要する点が課題となっていました。

https://www.nec-solutioninnovators.co.jp/ss/mobility/column/04/index.html

自動車大手のStellantis社では、グローバルに分散した数千人の開発者に対し、均一の開発環境を提供する必要があり、開発環境を作るだけで数週間もかかっていました。これでは、新たな機能のリリースの長期化を招き、顧客からの信頼を失いかねません。

こうした課題を解決するため、StellantisとAWSは共同でクラウドベースのソフトウェア開発のフレームワークを開発しました。それがVirtual Engineering Workbench（VEW）です。

ワークベンチとは、開発環境のことを指します。開発者はブラウザを通じて仮想デスクトップにアクセスし、必要な開発ツールやライブラリを利用できます。これにより、グローバルに分散した開発チームが同一の環境で作業を行い、開発効率を大幅に向上させることが可能です。

## VEWのもたらす価値
VEWは、AWSのクラウドネイティブ技術を活用した自動車ソフトウェア開発の新しい価値を提供します。具体的には、以下が考えられます。

**柔軟でオンデマンドな開発環境**
開発者はクラウド上の仮想環境を利用することで物理的なハードウェアに依存することなく、迅速かつ柔軟な開発を実行することができます。

**徹底的な自動化**
CI/CDパイプラインを組み込むことで、ソフトウェアのテストは自動化され、開発サイクルが短縮されます。

**最新技術を活用した先進機能開発**
専門知識がなくても高度な機能を開発できるマネージドサービスが提供されます。具体的には、大規模なデータの収集・分析、機械学習、生成AIを活用したコードの生成とレビューを行うサービスなど豊富に提供されます。

他にもコスト最適、フィードバックサイクルの短縮、ライセンス管理など様々な恩恵をうけることができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3665293/cf973d13-0adf-4106-ac0a-58039d23723c.png)
出典：https://catalog.us-east-1.prod.workshops.aws/workshops/4d04d703-4ea1-4848-8798-cf1b5c828842/en-US/introduction

## アーキテクチャ
VEWは、Tools/Targets/Environmentの3つの主要な柱で構成されており、これらはVEWプラットフォーム上で管理されています。ユーザーはSelf-service portalを通じ、各種機能が適応された状態で開発を開始することができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3665293/ed54b053-0148-4607-9e02-54a08ed932d3.png)
出典：https://d1.awsstatic.com/events/Summits/reinvent2023/AUT301_Automotive-software-development-The-Virtual-Engineering-Workbench.pdf
- **Self-service portal**:ユーザーがシステムに簡単にアクセスできる直感的なインターフェース。
- **Tools**:開発者が使用する統合開発環境（IDE）、フレームワーク、ライセンス管理など。開発者は特定のユースケースに対応した環境を立ち上げることが可能となる。
- **Targets**:仮想ECU（vECU）や実際のハードウェアを模擬する環境で、AUTOSAR ClassicやAdaptive、QNX OSなどの組込みソフトウェア開発をサポートする。物理的なハードウェアがなくても開発とテストが可能となる。
- **Environment**:開発・統合・テストを行うための基盤で、デジタルツインやシミュレーション環境を提供する。仮想環境での機能検証や統合テストが可能となる。
- **Automation**:CI/CDパイプラインやワークフローを制御し自動化を提供する。

具体的なアーキテクチャを見ると、フロントエンド、バックエンドなどといった用途ごとにアカウントが分かれていることが分かります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3665293/4a003dcd-4ee8-4b98-be3c-fb476476cdf2.png)
出典：https://aws.amazon.com/jp/solutions/guidance/deploying-virtual-engineering-workbench-on-aws/

①**フロントエンドアカウント**
`S3`を基盤とする`CloudFront`を介してVEWフロントエンドに接続し、作業するワークベンチと仮想ターゲットを選択します。`Cognito`でユーザー認証を管理し、`WAF`でアクセスを保護します。

②**バックエンドアカウント**
`API Gateway`と`Lambda`でフロントエンドリクエストを処理し、`EventBridge`と`Step Functions`を介してワークベンチと仮想ターゲットのプロビジョニングをトリガーします。製品メタデータは`DynamoDB`に保存されます。

③**カタログサービスアカウント**
VEWは`AWS Service Catalog`で製品（デジタルツールチェーンと仮想ターゲット）を管理します。バイナリやライブラリなどの製品の依存関係は`S3`に保存し、`EventBridge`、`Amazon SNS`、`Lambda`を使用してイベントを処理します。

④**イメージサービスアカウント**
VEWは、`Service Catalog`を使用して、ワークベンチと仮想ターゲットをEC2インスタンスとして製品アカウントにデプロイします。ユーザーは、Amazon DCV、RDP、またはSSHを介してアクセスできるようになります。

⑤**プロダクトアカウント**
`EC2 ImageBuilder`を使用して完全に自動化されたVEW製品ライフサイクルパイプラインをデプロイし、AMIを作成し、`S3`にアセットを保存します。

⑥**外部環境接続**
`Direct Connect`を使用し、VEWをIDプロバイダー、ライセンスサーバー、コードリポジトリなどの各企業リソースと統合します。

## ワークショップ
VEWの初学者用にAWSのワークショップが公開されています。ここではQNXが提供するツールを利用したアプリケーション開発が紹介されていますが、残念ながら公式イベント限定となっており、AWS側で用意された環境でのみ接続が可能となっております。

https://catalog.us-east-1.prod.workshops.aws/workshops/4d04d703-4ea1-4848-8798-cf1b5c828842/en-US

ここでは、ワークショップの概要を紹介します。

ユーザーは、事前に構築されたVEWのポータルサイトにアクセスします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3665293/7d8cd8c0-ba2f-47f6-bde9-31327a6a5108.png)

サイトのメニューにあるWorkbenchより、QNX開発ワークベンチとQNX仮想ターゲットをプロビジョニングします。こちらの操作では、ServiceCatalogで定義された製品群から選択しセットアップします。


その後QNX開発ワークベンチに接続して、QNXターゲット（ARM64）のアプリケーションをコンパイルします。具体的には仮想のスピードメーターのアプリケーションに対し、回転数を増やすという変更作業を行いQNX仮想ターゲットにアップロードし検証するといった流れとなります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3665293/23b01f5b-622a-4d52-aed3-9d2fddd2eb9b.png)

このワークショップでは、ユースケースに合った開発環境を数分で有効化すること、作成したアプリケーションを疑似環境で稼働し即座に動作検証を実施できることを体験できます。

なお後続のシナリオでは、Amazon Q Developerを利用した開発プロセスの効率化やAmazon Bedrockを利用した画像生成など、SDV開発における生成AIの活用方法も学習することが可能です。


## 導入事例
Stellantisでは、VEWを導入することでバーチャルなコックピットを開発し、インフォテインメントの開発サイクルを最大100倍高速化しました。結果従来数ヶ月かかっていたプロセスを24時間程度まで短縮することが可能となりました

:::note info
インフォテインメントとは、「インフォメーション（情報）」と「エンターテインメント（娯楽）」を組み合わせた言葉で、ドライバーや同乗者の体験価値を向上させるため、音楽や動画再生、通話、車両情報の表示といった機能を指します。
:::

https://www.stellantis.com/en/news/press-releases/2024/january/stellantis-blackberry-qnx-and-aws-launch-virtual-cockpit-transforming-in-vehicle-software-engineering?utm_source=chatgpt.com

自動車部品メーカーのSchaefflerでは、VEWを導入することで、開発プロジェクトにおけるソフトウェア開発の効率化と品質向上を実現しました。具体的には開発環境の構築時間を30分から6分に短縮することに成功しました。

https://aws.amazon.com/jp/blogs/industries/how-schaeffler-ag-accelerates-automotive-software-development-by-leveraging-the-aws-virtual-engineering-workbench-framework/?utm_source=chatgpt.com

## 最後に
VEWは、これまでハードウェア中心だった車載ソフトウェア開発を、クラウドによって根本から変革するアプローチです。複雑化するSDVのアーキテクチャに対して、開発スピードと品質を両立しながらグローバルなチームと連携できるこの仕組みは、今後ますます重要性を増していくと考えられます。

ただし、どれほど優れたプラットフォームが用意されていても、使いこなせるかどうかは組織次第です。従来の開発スタイルをそのまま仮想環境に移すだけでは、期待される効果は得られません。本質的な価値を引き出すには、プロセス、文化、人材育成の観点からも開発のあり方を見直し、ソフトウェア開発を再設計することが不可欠であると考えます。

## 参考 
https://aws.amazon.com/jp/blogs/industries/stellantis-sdv-transformation-with-the-virtual-engineering-workbench-on-aws/

https://aws.amazon.com/jp/solutions/guidance/deploying-virtual-engineering-workbench-on-aws/

https://pages.awscloud.com/rs/112-TZM-766/images/RECAP_AUTO_3_Vehicle-development.pdf

https://aws.amazon.com/jp/awstv/watch/013304ca688/

https://pages.awscloud.com/rs/112-TZM-766/images/AWS-22_Auto_AWS_Summit_JP_2024.pdf