ソフトウェアは互換性の最も高いものが最も信頼性が高いと考えられる。ただ、互換性の高さは品質の高さではない。ソフトウェアの設計と再利用、そして品質の達成が、SDVの実現に向けた障害になっている。
最大の障害はハードウェアだとバスティエン氏は述べた。ソフトウェアに使用するツールチェーンや標準、ライブラリはハードウェアによって決まる。ボードサポートパッケージ、オペレーティングシステム、コンパイラは全てハードウェアに結びついている。内部の通信メカニズムやソフトウェアコンポーネントもハードウェアによって決定し、どれだけの計算リソースを投入できるかは利用可能なアクセラレータによって決まる。
使用するプログラミング言語やバージョンが複数あり、エコシステムによって独自のソリューションセットを使用するなどソフトウェアが異なる理由はハードウェアによるものだ。そうするべき正当な理由もあるとバスティエン氏は述べる。ただ、ECU(電子制御ユニット)や基板によって同じ機能の複数のバージョンが含まれているのであれば、ソフトウェアが持つ3つの自由さを受け入れているとはいえないという。
最近のハードウェアソリューションでは、ソフトウェアのコンセプトを決める障害となる問題の一部に対応しているとバスティエン氏は述べたが、ツールが変更されたときにソースコードを再利用する課題は残っている。数年にわたって更新が行われなかった後でコンパイラを更新する場合、さまざまなミスや変更点などが見つかり、それらへの対処に時間が割かれるため、「貴重な時間を投資できない」(バスティエン氏)。
品質が低く、多数のバージョンを維持できず、再利用できない独自のコードベースを持っているソフトウェアは「技術的負債」だとバスティエン氏は指摘。ソフトウェアエンジニアリングを真に行うなら、技術的負債を解消する時期が来ていると同氏は主張した。
ハードウェアだけでなく、安全性との“緊張関係”を感じる場面もあるとバスティエン氏は述べた。「ISO26262のように安全な製品を製造するプロセスは重要で素晴らしいが、ソフトウェアの変更を避ける側面もある。安全性は最優先であり、安全性の追求は一定の品質向上に貢献するものの、ソフトウェアの変更を避けることは持続可能ではないと認識すべきだ」と訴えた。
「ソフトウェアの変更を凍結し、3年後に更新しようとしても品質に投資できるソフトウェア製品にはならない。自動車の組み立て工場は毎日更新し、変化していく。ソフトウェアファクトリーも、ハードウェアの変更に合わせて改善できるのではないか。ソフトウェアが重要で、ハードウェアが重要ではないとは思っていない。ハードウェアの優れた部分がソフトウェアにとって非常に重要だからだ。ソフトウェアが持つ自由度と制約を踏まえて、個々の部品ではなく消費者が購入する最終製品に焦点を当ててソフトウェアを生産したい」(バスティエン氏)
Copyright © ITmedia, Inc. All Rights Reserved.