1月22日から24日まで東京ビッグサイトで開催された「オートモーティブワールド2025」初日の専門セミナーで、ルネサスエレクトロニクスによる興味深い講演があった。なぜ日本勢(既存OEM勢)はEVやSDVで苦戦しているのかを、車両ソフトウェアの開発手法に焦点を当てて分析するものだった。
講演者は、ルネサスエレクトロニクス ハイパフォーマンスコンピューティングプロダクトグループのシニアダイレクタ 宗像尚郎氏。組み込み機器と非組み込み機器の設計思想の違いから、それ(既存勢の苦戦)は起き、SDVの時代には守旧派、革新派の融合による均衡が必要だと説く。
組み込み・非組み込みの違い
コンピューティングを非組み込み、組み込みという分類で分けるとすると、次のような違いがあると宗像氏はいう。
「PCやスマートフォンなど汎用機器と、特定用途向けに開発された機器かどうかの違いある。両者の違いは制約条件にある。非組み込み機器は、CPU、メモリ、ストレージに余裕があり拡張も可能だ。USBなどの外部I/Fを使えばハードウェアも拡張可能だ。汎用であるがうえに、機能や用途に幅を持たせて、リソースも潤沢に使えるように設計する。
対して組み込み機器は、コスト制約のため使えるリソースは機能に対して必要最小限となる。原則として出荷後のソフトウェア及びハードウェアの更新、変更は考えない。特定用途向けという制約条件と闘いならが設計・開発を行う」
限られたリソースのもと、その制約条件以上の性能や機能が求められるのが組み込み機器のソフトウェア開発だ。
組み込み機器は予定調和の世界
制約条件には、割り込みイベントに対する応答時間保証(リアルタイム性)や消費電力、放熱、プログラムサイズの制限などさまざまだが、無謬性という重要な制約もある。出荷後に変更を考えない組み込み機器、とくに命を預かる自動車は信頼性の要求レベルが極めて高い(宗像氏)ので、繊細な制御が求められる。
「この制約条件により、組み込みソフトウェア開発者は完全予定調和(deteminacy)を目指さなければならない。たとえば、タスクの実行順序の把握、割り込み応答時間の保証、メモリーなどハードウェア資源のスタティックな割り付け、障害復旧やエラーハンドリング、などだ。これをあらゆる状況で破綻しないようにソフトウェアを設計するには、クローズドな世界、制約条件を限定して、完全な予定調和の世界を作り上げる責任を持つことになる」
逆にいえば、予定調和を維持するためには、ハードウェアもソフトウェアも不変でなければならないということだ。しかし、現実にはそうもいっていられない。そもそも、バグのないソフトウェアなど実現不可能だ(だからクローズドな世界での予定調和が必要)。家電製品や電子機器もセキュリティ対策のためソフトウェアアップデート機能は今や必須である。そして、SDVは自動車のソフトウェアを入れ替えて機能や用途を変えようというものだ。
ソフトウェアシフトによる変革に対応するには
そこで業界で進められているのがソフトウェアファーストやソフトウェアシフトと呼ばれる動きだ。だが、ソフトウェアファーストは破壊的である(宗像氏)。
古典的な組み込み機器はハードの仕様が先に決定され、再利用やAPIよりスクラッチ開発が多くなる(個別最適こそ付加価値)。そして完全予定調和を求める世界だ。スマートフォンなどに代表されるソフトウェアファースト指向では、ハードウェアは標準的なものを想定し、個別設計はしない(悪とされる)。予定調和より自動調和を考える。システムやOSによるリソースの管理、ハードウェアの抽象化を是とする。アプリ実行の調整もOSに委ねる。ハードウェアリソースとソフトウェアは疎結合となり、開発も進化も同期させない。