「CASE」時代のオープンソース(前編)

「CASE」時代のオープンソース

本ブログにて、3 回にわたり自動車業界、ロボット業界でのオープンソースソフトウェア(OSS)の最新トレンドをお伝えします。OSS がどのように活用されているか具体的な事例や技術を引用して説明いたします。

今回は自動車業界の OSS トレンドとして、AGL(Automotive Grade Linux)を紹介していきます

CASEとは

最近自動車関連の話題でよく使用される言葉に「CASE」という言葉があります。これは、2016 年にメルセデスベンツが発表した言葉で、「Connected(コネクテッド)」「Autonomous(自動運転)」「Sharad&Services(シェアリングとサービス)」「Electric(電動化)」の頭文字をつなげたものです。この考え方はメルセデスベンツだけではなく、自動車業界全体での動きにも合っていたため、現在広くこの「CASE」という言葉が使われているようです。

このように「CASE」に向かっていく自動車にとって、重要なことはソフトウェアの位置づけが変わっていくことです。「CASE」を実現していくためには、大量で複雑なソフトウェアの開発が必要で、それを一社単独で開発することは、現実的ではなく、多くの会社の共同作業によって行うということは、必然的なことだったかもしれません。

この「CASE」を実現するためのコンポーネントとして、今回ご紹介する AGL(Automotive Grade Linux)があります。この AGL は Linux Foundation がホストするプロジェクトで、コネクティッドカー向けのオープンプラットフォームを開発するプロジェクトです。

Automotive Grade Linux

2020 年 4 月 22 日に The Linux Foundation がホストするプロジェクトである AGL は、最新版 UCB(Unified Code Base)9.0(コードネーム︓ Itchy Icefish)を公開しました。この UCB は、インフォテインメント、テレマティクス、インストルメント クラスタ アプリケーションの事実上の業界標準となる OSS プラットフォームです。この UCB9.0 には、下記のような新機能が含まれています。

  • OTA (Over-the-Air) : ostree (SOTA) のアップデート
  • アプリケーション フレームワーク︓ Token Logic ベースのセキュリティの実装を含む改善
  • 音声認識 : Alexa Auto SDK 2.0、Speech-API とボイスエージェントの統合を改善、音声認識用ディスプレイカードの新しいオープンソース版
  • オーディオ︓ PipeWire と WirePlumber の機能強化
  • コネクティビティ : ネットワークサポートとネットワーク設定の改善、bluetooth API の再構築と pbap と map プロトコルへの拡張
  • HTML5 アプリ︓セキュリティを Token Logic 使用に変換、Web App Manager (WAM) と Chromiumを使用して HTML5 のみのイメージを利用可能、ホームスクリーン/ランチャー/ダッシュボード/設定/メディアプレーヤー/ミキサー/HVAC/Chromium ブラウザで HTML デモアプリを利用可能
  • インストルメント クラスタ : QML リファレンスアプリ : LIN から IVI アプリを介したステアリングホイールコントロール、ステアリングホイール/IVI からの CAN メッセージを含む更新版インストルメント クラスタ アプリ
  • ボード サポート パッケージ更新 : Renesas RCar3 BSP を v3.21 に更新 (M3/H3、E3、Salvator)、SanCloud BeagleBone Enhanced + Automotive Cape のサポート強化、etnaviv (cubox-i target) を使用した i.MX6 Raspberry Pi 4 のサポート強化

AGL は、自動車メーカー、サプライヤー、技術系企業などを結集し、コネクテッドカー向けフル オープンソフトウェアスタックの開発導入を促進するオープンソース共同開発プロジェクトです。AGL はその中核にある Linux の強みを生かし、新しい機能や技術の高速開発を可能にする業界デファクトスタンダートのオープンプラットフォームをゼロから開発しています。AGL は、当初はおもに車載情報機器 (In-Vehicle-Infotainment: IVI) を対象にしていましたが、現在は、計器盤、ヘッドアップディスプレイ、テレマティクス、先進運転支援システム (Advanced Driver Assistance Systems: ADAS)、自動運転などあらゆる車載ソフトウェアに対応している唯一の組織です。AGL プラットフォームは誰でも使用でき、誰でもその開発に参加できます。

車載機器の Linux への移行が始まった頃、自動車メーカーや Tier1 サプライヤーごとにソフトウェアの構成が異なることで、同じ機能を実現する場合でも各社のシステム向けに開発することが必要になり、多くの開発コストが発生するようになりました。そのような課題を解決するために自動車メーカーを中心にプラットフォームの標準化をめざして、2012 年 9月に AGL は設立されました。当初から、メンバーには、トヨタや英ジャガーランドローバー、日産などの自動車メーカーをはじめ、アイシン AW やデンソー、富士通、NEC、米インテル、米 NVIDIA などが名を連ねており、2019 年 6 月時点で 146 社が参加しています。AGL に参加している企業だけで、全世界の自動車の出荷量の 50%を占めています。
ベースとなる Linux には、The Linux Foundation で組み込みディストリビューションを標準化するためのプロジェクトである「Yocto Project」で作成された Linux を採用し、対象の範囲も Linux だけではなく、ダッシュボードコンピューティングから車載インフォテインメント(IVI)に至るまでの機能を実現するためのミドルウェアを含めた範囲にわたっています。これらの機能を、オープンソーステクノロジーを使用してイノベーションを加速していくこととしています。

AGL では、コミュニティのパワーを生かすため、上述の UCB を基本的な概念として、標準化を進めてきました。それまで、活動していたいくつかの標準化活動(TIZEN IVI、GENIVI など)の成果も取り込んできました。
組織は、プロジェクトの全体的な方向性や予算を決める諮問委員会や、専門知識・ガイダンスなどを提供する運営委員会をはじめ、専門家グループとして以下が設けられ、各メンバーが共同研究にあたっています。

  • システムアーキテクチャチーム
  • アプリフレームワークとセキュリティ
  • 接続
  • 継続的インテグレーションとテスト
  • インストルメントクラスター
  • ナビゲーション
  • リファレンスハードウェアシステムアーキテクチャ
  • 音声
  • UI とグラフィックス
  • V2C(Vehicle to Cloud)
  • 仮想化

開発スケジュール

AGL は、半年に一回メジャーリリースを行うことを目標に進んでおり、およそ下記のようなリリーススケジュールにしたがって、開発が進んでいます。

リリース候補について、RC1、RC2、RC3 についても下記のように基準が決まっています。

ELISAプロジェクト

これらのプロジェクトの中で、今回は「ELISA」プロジェクトを紹介したいと思います。ELISAとは、“Enabling Linux in Safety Applications”の略で、Linuxベースのセーフティクリティカルなアプリケーションやシステムを企業が構築・認証するのを支援する共通のツールやプロセスを作成するプロジェクトです。セーフティクリティカルなアプリケーションやシステムに不具合があれば、人命の損失、重大な物的損害、環境被害などにつながる恐れがあります。ELISAはLinuxを用いたセーフティクリティカル システム(ロボット デバイス、医療、スマート ファクトリー、輸送、自動運転など)の構築を容易にします。創設には、Arm、BMW Car IT GmbH、KUKA、Linutronix、およびトヨタ自動車などが参画しています。

信頼できるセーフティクリティカルシステムでは、ユーザの操作エラー、ハードウェア障害、環境変化のような事象にどう対応できるかなど、システムの安全性全般の機能安全目標を満たす必要があります。また、企業は自社のソフトウェアが信頼性、品質保証、リスク管理、開発プロセス、および文書化に対する厳しい要求を満たしていることを証明する必要があります。
しかしながら、Linux を認証する明確なメソッドは存在しないため、自社の Linux ベース システムがこれらの安全目標を満たしていることを企業が証明するのは困難です。

ELISA は、さまざまな業界の認証機関や標準化団体と連携し、セーフティクリティカルシステムの一要素として Linux を使用する方法を確立します。また、安全認定される Linux ベースのセーフティクリティカルシステムに組み込むためのエレメント・プロセス・ツールの共通セットを定義し、メンテナンスしていきます。

このほか、同プロジェクトには以下のように目標を設定しています。

  • リファレンス ドキュメントやユース ケースを開発する。
  • 安全工学のベスト プラクティスについてオープンソース コミュニティを教育し、オープンソースの概念についてセーフティコミュニティを教育する。
  • オープンソースコミュニティとの継続的なフィードバックを可能にすることで、プロセスを改善し、品質評価と品質保証を自動化する。メンバーのシステムに関わるクリティカル コンポーネントのインシデントやハザードを監視することでメンバーを支援し、メンバー対応チームのベスト プラクティスを確立する。

最後に

フィンランドのヘルシンキ大学の学生だった Linus Torvalds 氏が開発を始めた Linux ですが、今日では社会システムの重要な部分で活用されるようになってきました。これにより、さまざまな認証機関と連携する必要が出てきました。OSS の開発スタイルなども定着しつつありますが、今後従来の社会システムとどのように融合していくかが大きな課題になるかもしれません。

 (*1)本文中記載の会社名、商品名、ロゴは各社の商標、または登録商標です。

 

Tips集のご案内

テクマトリックスでは企業としてOSSと上手につきあうための注意点など、OSSを利用したソフトウェア開発活動の価値を根付かせるためのTIPS集を全6回にわたりご提供してきました。
総集編として、過去全6回に渡り配布したホワイトペーパーを一括でダウンロードできるようにしました。

  第1弾!「OSSガバナンスを社内構築するためのヒント」
  第2弾!「組み込みソフトウェアにおけるOSSを活用する方法」
  第3弾!「CASE時代のオープンソース(前編)」
  第4弾!「CASE時代のオープンソース(後編)」
  第5弾!「ロボットを動かすオープンソース」
  第6弾!「OSSライセンスコンプライアンス確立の傾向と対策」

企業向けSBOMガイドのご提供

「SBOMの導入によるライセンス コンプライアンスと ソフトウェア セキュリティの強化」 企業向けSBOMガイドの資料を提供しています。

SBOM導入ガイド