AUTOSARと適用領域

相変わらず忙しすぎるので、妄想を書いてみます。

ここ数年、AUTOSARなり、その他のプラットフォームなりの話をよく聞きます。プラットフォームの方はかなり浸透しているように思うのですが、AUTOSARはまだまだのように思います。

欧州の部品メーカー主導なのがアレだなぁ。。。という主導権争い的な話は置いておくとして、もっと別の側面について考察してみます。

ソフトウェアが進化する方向の1つとして、

  • (数十年前にありがちな)未成熟でぐっちゃぐっちゃな状態
  • きちんと整理され、コンポーネント化された状態
  • パフォーマンス追求や、高度な機能実現のため、あえてコンポーネント化を解除した状態

という道もあるかと思います。

重要なのは、「未成熟なシステム」→「整理されたシステム」はアリですが、「高性能なシステム」→「整理されたシステム」はナシだという点です。

ボデー系など、リアルタイム制約もゆるく、比較的シンプルなシステムが多い領域では、AUTOSARはぜんぜんアリな気がします。「整理されたシステム」のレベルで十分間に合うわけなので、それを支援してくれるAUTOSARは、それなりに使えるヤツではないかと。

一方、エンジン系など、リアルタイム制約がきつく、たくさんの外部条件が影響してくる領域については、すでに「高性能なシステム」のレベルに達してしまっているのではないかと思います。(エンジンの制御だけでも大変なのに、それにモーターまで関係してくるとなると、もう・・・!)

AUTOSARは、「ROM、RAM、実行速度」を犠牲にするかわりに、「エントロピーを下げる」技術だと理解しています。(極論すれば、です。実行可能な仕様書で書いたようなコモディティ化推進の側面など、いろいろあると思います。)すでに「高性能なシステム」のレベルにあるものは、複雑な機能を実現するためにエントロピーを下げようが無い状況になっているわけで、この種のトレードオフは意味を持たないんじゃないかな、と考えます。

その場合、どうしても改善するのであれば、プラットフォームの導入ではなく、C言語→Simulinkモデルのように、使用言語の抽象度を1段階上げる、というような事くらいしかないのではないかと思います。

(もちろん、それでもプラットフォームは必要だと思います。ただ、AUTOSARほどガチガチにしちゃうと、かえって使いづらいのではないかと。)

以上、勝手な妄想でした。