34

「ここの……集中パワーウインドウ・スイッチで、運転席の窓を開けようとして、代わりに窓が開く――なんてことが起きると思うか?」


 アルも、振ってきてるんだろうけど……それでも。立場上、お答えしていいか迷うような質問だった。


「協会に、LIN関係の仕事が来てるんですか。」

「何でも、ドア周りのソフトウェアに品質問題があったらしくてな。トーボ側も、制御機器のサプライヤーからコーディングの業務を取り上げた……まではよかったが、結局。自分たちでは手が回らなくなっているらしいんだ。」

「すると、作り直しということですか……」


 僕は、アルのスマートフォンに表示されているpdfファイル――の内容を、思い出そうとしていた。


 LINは「ローカル・インターコネクト・ネットワーク」の略称。複数のコンピューターを電線でつないで、データをやりとりする際の、ルールみたいなものだ。そうしたルールには目的や用途に応じ、いろいろな種類のものがあって。自動車では2~3種類のルールが使い分けられているそうだ。

 LINの場合は「親機・子機でつなぐコンピュータは廉価なもの」という前提があるようで。子機の側から「発言」することは許されず、決められた順番に基づいて親機が「指示」をしたときだけ、「指示」された子機だけが「発言」してよい……というルールになっている。順番を回す周期サイクルも決まっていて、「指示」や「発言」となるデータのサイズも小さく定められていた。

 仮に、運転席の集中パワーウインドウスイッチを「親機」、運転席側ドアのウインドウ開閉の制御をする「子機A」、後席右側のドアのウインドウ開閉の制御をする「子機B」があるとして。アルが尋ねているようなケースが起こるとすれば、「親機」から「子機A」への「指示」を、「子機B」が自分への「指示」であると誤認した場合だろうか。いや、それだと「子機A」の側も「指示」を受けたと思うはずだから、後席右側だけでなく、運転席側の窓も開くはずだ。

 そうすると、「親機」の「指示」自体が電線の上で変質して、「子機A」への「指示」が「子機B」への指示にしまった場合だろうか。ゼロ・イチの信号をやりとりするというのも、電線の上は所詮しょせんアナログの世界なので。ノヴァル・キャブラの「意図せざる加速Unintended Acceleration」事件にて、エンジン制御モジュールのメモリ破損についてバイエル証人が語っていたように、ゼロがイチになってしまったり、イチがゼロになってしまったり……は実際ありうる。

 いや。その場合でもLIN規格ならば、受信した各「子機」の側のチェックで「検知」できる筈ではないか。キャブラの話でいえば、エンジンECUに積むメモリをエラーチェック機能……つまりEDAC付きにすること自体は、規格等で具体的に指定されていることではなかった。しかし、LIN規格では通信データがいないかチェックするやり方が、きちんと定められているのだ。だから……おっと、そうそう。


「LIN規格ですが、確かバージョンアップしていなかったでしょうか?」

「大きく分けて……バージョン1.xと、バージョン2.xがあるな。」

「トーボは、もう『2』のほうを?」

「いや。せっかく作り直すんだから、『2』にしてくれればいいと思うんだがなあ……」


 何か、大人の事情(?)がありそうであった。


「スマートフォンで、見せてもらっていいですか。」

「いいよ。……っていうか、まだスマフォじゃないんだ?」


 もっともな突込みを無視してフォークを置き。スマートフォンを受け取って、pdfをめくっていった。アルは、僕と入れ替わりでフライへと齧り付く。被弾したボスキャラの撃ち返し弾のごとく、香ばしさが辺りに散乱していった。


「バージョン1.xのほうが単純だから、考えやすいですよね……。」

「んん、そうかな?」


 アルの(食べながらの)突っ込みと同時に、自分が基本的なことを理解していないのに気付いた。

 LINの規格によれば、親機が「指示」に使えるのは僅か6ビットだけなのだ……これは64通りの「指示」しか流せないことを意味している。しかも、流す子機の順番まで決められているのだ。一方「指示」に基づいて流せる「発言」は、256ビットが最大8組まで……と格段に大きい。

 実際。親機からは「指示」だけでなく「発言」も流すことができる。自分自身に「指示」して「発言」する…と表現すると奇怪だが。つまり「あそこの窓を開けよ」という親機の指令は、「指示」ではなく「発言」のほうに乗せているのだろう。しかし、このpdfの図をみると。親機の「指示」は、「発言」を許す子機(もしくは親機)だけでなく、その「発言」を側の子機(もしくは親機)も指定しているようなのだ。集中スイッチで行う操作はドライバー次第であり、どの窓を開けるものかは予め決まっていないのだから。親機からの「指示」は、親機に「ホニャララの窓を開けよ」というような「発言」を許す場合には、全てのドアの子機がそれを「聞く」ように下される筈だろう。


「これ……ドアの窓を開けるか?は、”ヘッダ”側には入ってませんよね。」

「そりゃ、”レスポンス”のほうだろうな。」


 前の説明でいうと、”ヘッダ”というのは「指示」のことで、”レスポンス”とは「発言」のことだ。正直なところ変な感じもするが、LINの規格のなかで、そう呼ぶよう決まってしまっている。


「”レスポンス”のなかには、データが化けたとき用の”チェックサム”がありますよね。」

「このページには、”レスポンス”が運ぶデータの各ビットを加算して、それを反転した値を8ビットの”チェックサム”に入れる……とあるな。」

「だったら、送信後にデータが化けたとしても…」

「受信した側も同じように”チェックサム”を算出するから。レスポンスにくっついてたのと違っていれば、エラーとわかるだろうな。まあ、普通なら。」


 そう、


「つまり。チェックサムのほうも化けたり、同期が途中からズレたりする可能性も考えると…?」

「うん。ごくまれではあっても……だから。運んでるデータでも、子機の識別子とかにはさ。個別にエラーチェックの仕掛けが必要になると思うんだ。」

「ですよねぇ……」

「もしくは、受信した子機から動作予告をレスポンスで返して、それを親機で受け取るようにして、指定した子機からなら動作許可をレスポンスする……とかだな。」

「それだと、遅くなりませんか。」

「まあ、そうだな。」


 こういった多重防御の必要性について、コードマン教授も。トランスクリプトのなかで、何か言っていたような気がした。あれは……ISO26262の話だっただろうか? 


「バージョン2.xになっても、規格のなかにがないというのは……LINで扱う制御ユニットが、直接は安全に関わるものじゃあないから、ですかね? 安全重要safty criticalシステムじゃないからだと。」


 原告側あちらさんの専門家証人たちのスライドを思い出しながら何気なく口にした瞬間、いきなりアルが。フォークを置いて立ち上がった。


「ちょっと、トイレな。」


 僕はちょっとびっくりして、返事が出来なかった。別に不思議なことでもないのに……。とにかく、スマートフォンをアルの席に返して。自分のパンのほうにとりかかったが。

 か……

 忘れてた……ここのはいつもそうなんだった。スープに漬けて食べるためのパンなのだ。

 一生懸命バラしてスープ皿に沈めているうちに、アルが戻ってきた。消灯したスマートフォンを取り上げて、バッグへと仕舞込みながら……


「決めたよ。LINの話は断ることにする。」

「いいんですか?僕なんかの――」

「今回、規格にないアーキテクチャを、トーボ自身で指定するつもりがないようなんだ。サードパーティーのライブラリプログラム部品は『もう使うな!』っていうのに、くれるのは……要求仕様と、踏んじゃいけない特許のリストだけ。」

「あー。」

「こういうのは……後々が怖いからな。」


 あちこちの下請けが。色々な配布元ベンダのサンプルをもとに、めいめい勝手に「開発」するところを思い描いて身震いした。同じLINネットワークの上で、協調して動くことが求められる諸々の機器。それらの開発に使用する共通プログラム部品を、コンペで決めようというのだろうか? 仮にそうだとしても、を決める基準が示されないというのは……。


「わかります。でも、トーボの仕事がなくなると――」

「いや、もうあるんだ。ローン関係のが。」

「ローン?……自動車ローン関係のシステムですか。」

「そうだ。10年前にやってた案件に近いよな。」


 昔を懐かしむようなアルの表情……だが、なにか違和感を感じた。トーボの……といっても、ローン関係は別会社ではないのだろうか? そっちの方面から、車載ネットワークのような仕事が舞い込むものだろうか。

 そうしてアルが腰を下ろすとき、僕の目は。出張所に現れたときからアルの周囲に纏わりついていた違和感のひとつが、いったい何だったかを捉えてしまった。


 履いているジーンズが、あまりにる。


「レイは、スマフォにはしないのか?」

「……うちは職場で使えないですからね。通勤は自転車ですし、使う場面があまり。」

「そうか。」


 いまテーブルの下に隠れているジーンズは、昔なら常にいたものだ。愛猫ポインタの容赦ない御業によって……ジャケットのほうは、爪を立てられないよう細心の注意を払っていたという話だが。おそらく、帰宅の瞬間に飛びついてくる足のほうは、ガードしようがなかったのだろうと思う。

 ポインタは。協会の人間にじゃれついてても、爪を立てたりするようなことは決してなかったのだが。アルに対しては本当に全開で甘えていたから(まあ、普通は逆のような気もするが……)。

 それが、今日のジーンズは新品でもなさそうなのに、傷一つないのだ。思わず『ポインタはどうしていますか? 』と口に出かかって、引っ掛かったまま。

 ああ、


「ということは、SNSとかはやってなさそうだな。」

「読まれてますね。そのとおりで。」

「マジな話、俺のメルアドもな。ドメイン名が”@TOABOT_motor.com”になるかもしれん。」

「え、……へえー!!すごいじゃないですか。アルファリーダに出資して、子会社にしようっていう話ですよね?」

「それでな。トーボって、SNSも届け出が必要らしい。メルアドもだよ、プライベートでもトーボのを使えっていうんだ。もう、窮屈でたまらん。」

「それ、監視する気満々じゃないですか。ブルル……まあ、ノヴァルうちも似たようなものですが。」


 スープ皿で糊状になったパンをつつきながら、僕の脳裏では。猫としてもあまり賢いとは言えないポインタが、が……何度も何度もフラッシュして止めることができず。気を取られ過ぎないよう、なんとか明るい受け答えをするよう努めていたので、今アルが「告白」していることの重大性に気付くのが遅れた。


 僕が、いつまでノヴァルにいるか分からないけれど。今後は、アルと連絡をとるのは難しくなるということ。そして、ノヴァルで訴訟関係の仕事をしていた者を、トーボが使いたいと思うだろうか?……ということ。協会の「保証金」を、いま返却するという提案。


 アルは、別れを告げている。

  • Twitterで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る