Eclipse uProtocol
コミュニケーションには、生き物であれ技術システムであれ、二つの重要な側面がある:メッセージと媒体である。あるいは、非常に大雑把な類推で言えば、セマンティクスと構文論である。
メッセージ/セマンティクスは、何が伝達されているか に関わる。同じ言葉や概念について合意している二人の人間は、音声、テキスト、手話、モールス信号などを使用するかに関わらず、会話を成立させることができる。これが内容である。
媒体/セマンティクスは、望ましい情報をどのように伝達するかという 問題である:通信当事者間で、使用する仕組みについて合意し、それを運用できる限り、あらゆる記号の列(「メッセージ」)を伝送できる。これが配管工事である¹。
技術システムにおいて、メッセージ/セマンティクスの整合性の範囲は通常、資産のスケーラビリティを決定する。メッセージの内容が明確に定義されている限り、通信当事者の数は増加し、時間の経過に伴う基盤技術の変化にも対応できる。このようなシステムのコンポーネントは交換可能となり、非依存に進化できる。これによりビジネスロジックの安定性が達成され、ドメイン固有のサービスが対象とする市場(いわゆる「エコシステム」)が拡大する。
ソフトウェアシステムにおいて、具体的な配管は極めて重要であると同時に驚くほど柔軟である。機能しなければ何も流れず、その量は膨大で、絶えず変化し進化し続ける。ソフトウェア開発の多くの時間は、異なる配管の適応と統合に費やされ、新たなミドルウェアが至る所で、ほぼあらゆる機会に次々と現れるように感じられる。
本稿の残りの部分では技術的な基盤部分に焦点を当てますが、コンテンツ標準化に向けた既存のオープンコミュニティの取り組みとして、COVESAの車両シグナル仕様(VSS)および車両サービス定義(uService)プロジェクトが挙げられます。Eclipse Foundationのソフトウェアデファインドビークル(SDV)ワーキンググループでの活動と相まって、これらのグループは本分野において共同開発によるコミュニティ主導のソリューションを確立するための真剣な取り組みを進めています。
ソフトウェアデファインドビークル(SDV)の状況
これは車両システムやソフトウェアデファインドビークル(SDV)アーキテクチャの文脈においても同様であるが、いくつかの追加的な複雑さが伴う。SDVスタイルのシステムは、非常に異なる当事者間の通信で構成される。一方の端には、マイクロコントローラが車両に深く組み込まれたメカトロニクス領域があり、ブレーキを踏めば車が確実に制動するよう保証する。もう一方の端には、車両機能のリモート制御やドライバープロファイルの管理などに使用される、ユーザー向けのクラウドサービスやモバイルアプリケーションが存在する。
技術スペクトルの両極端は、使用される配管システムに対する要求事項の幅も同様に広範に及んでおり、極めて多様なエンジニアリングの考え方から生じている。リアルタイムで最小限の遅延が求められる実車CAN通信ラインは、クラウドからアプリへの通信スタックとは大きく異なり、この両者の間には様々な中間領域が存在する。それぞれが特定の開発文化と関連付けられ、周囲の組織に及ぼす影響も異なるのである。
要するに:SDVの文脈における配管は、技術的なレベル以上に複雑である。
関連する技術領域はすべて進化を遂げ、それぞれの要件を満たす独自のソリューション群を構築してきた。実車における物理層および転送プロトコルには多様な選択肢が存在し、IoT領域はメッセージングと通信インフラの分野で貢献し、クラウドは過去10~20年で数多くの選択肢を進化させてきた³。しかし現代の車両とその支援ITシステムは、これらを何らかの形で有用な意味あるものとし、そのすべての上に持続的な顧客価値を構築することが期待されている⁴。
新たな要件や技術プレイヤーの変化という状況に対し、よくある反応は「新たな課題」を解決する「新たなもの」を発明することだ。それは、全ての関係者の潜在的に関連するニーズを丹念に収集・対応する規格の形をとるかもしれない⁵。このアプローチが有効なシナリオも存在する。しかし、これがソリューションの多様化を招くことを考慮すると、核心的な問題を解決するどころかむしろ悪化させる。顧客にとって価値あるものを構築するには、膨大な数の技術オプションが連携する必要があるからだ。
Eclipse uProtocol ビジョン
Eclipse Foundation SDVワーキンググループは、SDVエコシステムに関連する要素を提供することを使命としており、これまで提起された課題は同ワーキンググループの核心をなすものです。eCalからzenohに至る優れたミドルウェアソリューションをポートフォリオに蓄積する中、最近のプロジェクトでは特定の基盤技術を体系的かつエコシステム規模で大規模ソリューションに統合する統合アプローチを提案しています。このプロジェクトはEclipse uProtocolと呼ばれ、2023年後半にGMによって最初に公開されて以来、かなりの貢献活動が得られています。uProtocolのアプローチは、以下の2つの点で異なることを目指しています:
- これは別のミドルウェア実装ではない。
- むしろ、それは既存の複雑な組織(上述のように技術分野全体にまたがる)における協働を促進し得る概念と抽象化を提供する。
uProtocolは、メカトロニクスからクラウドに至る通信ドメインを結びつける接着剤として機能します。各ドメイン内で一般的に使用される多様なミドルウェアオプション間のブリッジングに共通のアプローチを提供することで、これを実現します。本プロトコルは、汎用的な転送プロトコル実装を迅速に連携させる既製の統合コンポーネントを提供します。さらに、サービス検出、データサブスクリプション、デジタルツイン機能といった共通課題に対するクロスドメイン統合を実現する、一連の高レベルアプリケーションを定義します。
uProtocolの価値提案をより理解しやすくするため、現代の高級車に求められる基本的な機能、すなわちスマートフォン車両連携アプリを例に考えてみましょう。このアプリは少なくとも3つの異なる技術領域を包含しています。現代の事例を見ると、こうしたアプリはほぼリアルタイムの車両データ表示(位置情報や現在の走行速度など)と遠隔操作の実行(空調制御、トランク/ドアの開閉、充電プロセスの管理など)を組み合わせて提供しています。
これらの機能はいずれも、車両内の組み込み領域から、実車高性能コンピューティングデバイス、車載インフォテインメント/コネクティビティシステム、クラウドサービスバックエンドを経由してスマートフォンアプリへ、またその逆方向へ、データとコマンドを伝送する必要がある。各ステップには少なくとも1つの異なる転送プロトコルに加え、複数のデータ管理・プロセス・保存エンティティが関与する可能性が高い。これらそれぞれが独自のAPIとプログラミングモデルを持ち、その全てが絶えず進化を続けている。
これに対し、ビジネス(「ドメイン」)アプリケーションの開発者には別の必要性がある。彼らは、このチェーンの末端に位置するサービスとやり取りしなければならないが、それらのサービスは自らが属する技術的文脈から遠く離れた環境で稼働している可能性が高い。この遠隔エンドポイントの製品ライフサイクル、運用組織、エンジニアリングプロセスおよび開発プロセスは、自組織のものとは大きく異なる。多くの場合、これらのグループ間で用いられる用語や概念の意味すら十分に異なり、障壁を生み出す(本記事の冒頭で取り上げたメッセージ/セマンティクスのテーマと比較されたい)。
uProtocolが目指すのは、この領域全体にわたるサービスとデータソースを定義・特定・参照するための統一的な方法を提供することで、この課題を解決することです。uProtocolのアダプターとゲートウェイは、サービス向けのグローバルなアドレス指定メカニズム、APIエンドポイントの共通の信頼できる情報ソース、そしてドメイン境界を越えたデータとコマンドの流れを可能にするための接着剤的コンポーネントを導入します。uProtocolは、パブリッシュ/サブスクライブ型のネットワークサブスクリプション管理やデジタルツイン型データキャッシュといった確立された概念の実装を取り込みつつ、ビジネスAPI定義を特定のドメインで使用される技術から切り離す設計となっています。さらに、特定のソリューションシナリオで使用されるあらゆるプロトコルを統合する機能も備えています。
結局のところ、uProtocolは開発者が技術マッピング上のどこで動作しているかに関わらず、データソースとAPIエンドポイントに対して同じ方法でやり取りできるようにします。uProtocolサービスメッシュ内では、実車サービス間、車両からクラウドへ、クラウドから車両へといったあらゆる方向での呼び出しとデータアクセスが同一の仕組みで動作します。こうした共通の概念とAPI定義(いわゆる「プログラミングモデル」)は、異なる分野の開発チーム間の連携基盤を提供します。uProtocolは技術的・組織的な境界を越える架け橋となることを目指しています。
uProtocolプロジェクトの進捗状況
uProtocolプロジェクトは、Eclipse SDVワーキンググループ内で最も急成長している開発者コミュニティの一つを惹きつけています。わずか数ヶ月のうちに、比較的多様な貢献が集まり始め、すでにuProtocol対応エコシステムの基盤を形作り拡張する動きが目に見えて始まっています。uProtocolは、多くのオープンソースSDVコンポーネントの統合力および結集点となる可能性をすでに示しつつあります。
特に、コア仕様とAPI定義は進化と改善が進められており、複数の新しいプログラミング言語ライブラリ(SDK)が構築中です(現在、Java、C++、Rust、Python、Kotlin向けにuProtocolサポートが存在)。また、Android Binder、Eclipse Zenoh、MQTTブローカーを連携させるプロトコルアダプターの第一弾が開発中です。このペースで進展が続けば、2024年にはuProtocolサービスファブリックがEclipse SDVブループリントプロジェクトの一つ以上に導入され、公開可能な実証ポイントおよびショーケースとして登場する見込みです。
展望:
現時点において、uProtocolはGMのUltifiプラットフォームの中核的な推進役として、プロジェクト全体に信頼性と推進力を提供しています。しかし、オープンソースプロジェクトの真の価値は、複数の採用者に付加価値をもたらす能力、そして共有技術領域で成長する多様なオープンおよび商用サービスの基盤となる可能性にこそあります。したがって、今後数年間の重要な成功指標は、実際の製品や運用インフラにおけるuProtocolのさらなる採用拡大にあります。
この目標達成のためには、特定の自動車用技術向けのuProtocolアダプターおよびブリッジの拡充が求められます。オープンソースコミュニティにとって、これはすぐに課題となります。従来の自動車用プロトコルスタックは通常、プロプライエタリであり、かつ/または何らかの形で制限的な知的財産規制によって保護されているためです。例えば、uProtocolのビジョンは、SOME/IPのようなAUTOSAR®通信インフラとの緊密な統合によって大きな利点を得るでしょう。これは、組み込み自動車用世界におけるサービス指向通信コミュニティの重要な部分を占めています。これらの仕様に付随する知的財産ポリシーにより、オープンソース実装の公開は困難かつ時間のかかる取り組みとなります。現在、Eclipse SommRプロジェクトがそのような試みを進めています。このプロジェクトについては、次回のブログ記事で詳細に報告します。
境界を越えた協働こそが、従来のゼロサム企業競争から脱却する最善の道である。
もちろん、これら二つの次元は互いに影響し合う。媒体の制約はメッセージの表現方法や使用法に影響を与え、メッセージの要件はどの媒体が有用かを決定する。
2: ソフトウェア開発者はマクルーハンの「メディアがメッセージである」という見解を真に受け入れている。これは「[...] 伝達されるメッセージではなく、伝達手段そのものが研究の主眼となるべきだ」と示唆している。
3: 当時は「クラウド」と呼んでいなかったかもしれないが。
4: ここで重要なのは「持続的」という点だ。ある瞬間において完璧な製品を構築することは可能かもしれないが、その偉業は10の製品ラインで並行して再現され、さらに次世代製品が予定される2年後にも繰り返されねばならない。そしてこの多様性は、数百万台が販売される可能性のある10年以上の運用期間を通じて維持されなければならない...
5: だからこそこれほど多くの規格が存在するのだ
6: この範囲を踏まえると、uProtocolが途中のあらゆる専門的なユースケースへの答えになろうとしているわけではないことは明らかだろう。特定の事柄(例:車両のサブドメイン内でのリアルタイムの重要通信)は、既存の、専門的で局所的なアプローチで解決する方が良い。
お問い合わせ
ご質問やご不明な点などございましたら、お問い合わせフォームよりメッセージをお送りください。または、サポートホットラインをご利用ください。
お気軽にお問い合わせください!