全4967文字
PR

 自動車メーカーが「DevOps(デブオプス)」と呼ばれるソフトウエア開発手法に力を入れている。「トヨタ生産方式のソフト版」ともいえる取り組みで、“ソフト工場”などとも呼ばれる。IT分野で実績のある効率的なソフト開発手法を取り入れることで、CASE(コネクテッド、自動運転、シェアリング、電動化)への対応力を高める。

 「ソフトウエアファーストのものづくりに転換する」――。トヨタ自動車社長の豊田章男氏はソフト優先の考え方をこう表現する。同社は2018年以降、モビリティーカンパニーへの変革を掲げ、ソフト開発力を強化してきた。18年3月にトヨタ、デンソー、アイシン精機の共同出資で自動運転ソフトの開発を担うTRI-AD(トヨタ・リサーチ・インスティテュート・アドバンスト・デベロップメント)を設立。TRI-ADは21年1月から持ち株会社のウーブン・プラネット・ホールディングス、事業会社のウーブン・コア、ウーブン・アルファ、投資ファンドのウーブン・キャピタルの4社態勢に移行した。

 ウーブン・プラネットは、自動運転ソフトの開発や実装に加え、静岡県裾野市に建設する実験都市「Woven City(ウーブン・シティ)」や車載ソフトの開発環境「Arene(アリーン)」、地図生成技術「AMP(Automated Mapping Platform)」などを手がける。同社CEO(最高経営責任者)のジェームス・カフナー(James Kuffner)氏は「開発するソフトのうち、車載するのはごく一部にすぎず、開発やテストのためのツール群が9割を占める」と指摘する。このツール群こそが競争力の源泉であり、“ソフト工場”の屋台骨と考えられる。

車載するソフトが1割、開発やテストのためのツール群が9割を占める
車載するソフトが1割、開発やテストのためのツール群が9割を占める
(出所:ウーブン・プラネット)
[画像のクリックで拡大表示]

ソフト工場の一端が明らかに

 同社は20年秋に開催された米JFrog(ジェイフロッグ)主催の「Automotive DevOps Summit」でその一端を示した。ソフトのコンパイルやテスト、シミュレーションなどの定型的な処理を自動化するとともに、その成果物を共有・再利用することで開発効率を高める。ソースコードを管理するVCS(バージョン管理システム)や、ビルド(コンパイルやテスト)を自動的に行うCI(継続的インテグレーション)ツール、ビルド後の成果物(アーティファクト、またはバイナリー)を保管するバイナリー管理ツール、最終的なソフトを車両などに配布するCD(継続的デリバリー)ツールなどで構成する。

 これらのツール群はクラウド環境で動作し、ウーブン・プラネットの開発者だけでなく、トヨタなどグループ内の開発者も利用できる。これによって、複数の開発者による同時並行開発が可能になる。遠隔(リモート)での開発もしやすく、世界各国での分散開発や、新型コロナウイルス感染症への対策にも向く。開発者が付加価値の高い業務に集中できるように、定型的なフローは自動化しつつも、肝心な部分は人手によるテストや検証、シミュレーションなどを組み合わせることで、安全性やセキュリティーを担保する。

 将来的には、こうしたソフト開発環境の一部を切り出して外部に公開し、第三者がクルマ向けのソフト(アプリ)やサービスを自由に開発できるようにする。その構想の一つがアリーンである。

アリーンはクルマ用のアプリを第三者が開発できるオープンな環境を目指す
アリーンはクルマ用のアプリを第三者が開発できるオープンな環境を目指す
(出所:ウーブン・プラネット)
[画像のクリックで拡大表示]

 アリーンの環境で開発したソフトは、“ビークルOS”と呼ばれる自動車向けの基本ソフト「アリーンOS」を搭載した車両なら、車種に関係なく動作する。ビークルOSや開発環境にクルマの安全性やセキュリティーを担保する仕組みを盛り込むことで、第三者による自由なソフト開発を実現する。ドイツVolkswagen(フォルクスワーゲン)の「vw.OS」や、同Daimler(ダイムラー)の「Mercedes-Benz Operating System(MB.OS)」も考え方は似ている。

 米Google(グーグル)が車載情報システム(IVI)向けに提供している「Android Automotive OS」も同じ仕組みである。ただ、現状では車両へのアクセスが制限されており、第三者が開発できるのは主にスマホ用のアプリに近いものになっている。

 車両へのアクセスをどこまで許すかは難しい問題だ。自由度を高めれば、クルマならではのさまざまな機能を実現できる半面、安全性やセキュリティーを確保するのは難しくなる。現状では自動車メーカーが構築するソフト開発環境(ソフト工場)は、主に社内やグループ企業内での利用を想定しているようだ。

ソフトの完成品を常時保管する

 ソフト工場の主なワークフローは次のようになる。開発者は自分が担当するソフト部品のソースコードを編集し、VCS上で確定(コミット)する。すると、CIツールが自動的にソフト部品を再構築して他のソフト部品との依存関係などを調べ、問題がないかチェックする。問題があればその変更は却下され、問題がなければそのソフト部品は「完成品」としてバイナリー管理ツールに保管される。設計図であるソースコードを管理するだけでなく、ビルド後の成果物であるバイナリー(またはアーティファクト)も管理することで、常に完成品がそろった状態を維持する。最終的なソフトはいつでも配布可能な状態になり、実際に車両などに配布するかどうかは経営判断で決める。

 このように、常に完成品のソフトを持ちながら、小規模な変更を素早く繰り返し、改善していく手法は「アジャイル開発」やDevOpsなどと呼ばれる。IT分野では一般的だが、自動車業界ではこれまであまり普及していなかった。クルマは安全性への要求が厳しく、自由度の高い開発手法を採用しにくいからだ。また、IT機器と違い、車両のECU(電子制御ユニット)にはカスタマイズされたハードも多く、ツール群を対応させにくいという理由もあった。

 ただ、今後はCASEを背景にクルマの付加価値がソフトにシフトするとみられており、自動車各社はアジャイル開発やDevOpsにかじを切ることで競争力を高めようとしている。ECUも、今後はIT機器に近い「統合ECU」が主流となり、カスタマイズされたハードは徐々に減る方向だ。クルマのサイバー攻撃に対処するためにも、ソフトを迅速に修正できるアジャイル開発やDevOpsは重要になる。