2A
そう。去年の暮れには、C言語を使うハードウェア組込システムなど。車載システム関連の専門書を、ここに持ち込むことへ承認を貰っていたから。ボスには、僕が「事件」のことを調べ始めたのが解っていた筈なのだ。
そうした分野の本が、窓際の棚に何冊も並び始めた頃から。ロージーもジェンも薄々は感づいていただろうけれど、面と向かって「ずいぶん詳しくなったようね?」などと訊かれるのは、これが初めてで。
「ビルには?」
「特に何も。僕が勝手にやっていることですから。」
「調べてそれでどうするの。」
やっぱりというか、ロージーの追求が始まった。
「別に……オタクが自室に籠ってネットでクリックしまくってるのと変わりませんよ。機密の類にはアクセスできないんですから。」
「自分の所属を明かして、どこかへ書き込むんじゃないの?」
――なるほど、そういうのが怖いんだ。曲がりなりにも「意図せざる加速事件」を担当してるノヴァル社員が、世の中に向かって、キャブラのエンジン制御システムについて……何かを独白することが。
「どれを書かれると困るんですか?」
と。聞きようによっては、脅してる感じになることを言ってみた……ロージーなら絶対そうは受け取らない、むしろ「何処でも話すつもりはない」と。理解することを確信しながら。
ロージーは応えず、ただ僕の顔を注視していたから。僕はこう続けた。
「四階層ある筈の安全対策が、たったひとつしかなかったことでしょうか?」
「マット、それは」
「ノヴァル側も認めてますよね。」
「決して、そんなことは……。」
ロージーは明らかに、僕の言いたい内容について完全に理解している
そのうち「第一の階層」は、「メモリ上での重要データの保護」だ。少し説明が必要だろう。
コンピュータ上で扱うデータは、メモリという部品のなかに「仮置き」する必要がある。コンピュータの頭脳である
メモリに仮置きしているといっても、実際には。無数の「バケツ」が一列に並んでいて、その「バケツ」のそれぞれに「高」・「低」どちらかの電圧が保持されてるだけなのだ。要するに、ひとつひとつの「バケツ」はON/OFFしか表わせない。しかし、例えば二つの「バケツ」を組み合わせると……
(1)ON (2)ON
(1)ON (2)OFF
(1)OFF (2)ON
(1)OFF (2)OFF
……というように、四通りの状態をとることができる。もし、スロットルの開き方が16段階でいいのなら、「バケツ」を四つ組み合わせればいい。
しかし、思い出してほしい。「バケツ」に保持しているのは電圧なのだ。ちっぽけなメモリの中に電気を貯める「バケツ」が無数にある、というのは、それぞれが極小サイズだからで、ある意味「吹けば飛ぶような」状態なのだ。だから、何かの拍子で「高」の筈が「低」になったり、逆に「低」だったのが「高」に
そして問題は、
(1)ON (2)ON
……の筈が、(1)の「バケツ」がひっくり返ると、
(1)OFF (2)ON
……になってしまうわけで。
メモリまで取りに来たMPUにしてみれば、最初からこうだったと勘違いしても責められないだろう。
しかし、もしそうだとすると。ドライバーが足でアクセルを調整して、エンジンに指示した「踏み込み量」が、データとしてコンピュータで処理されていくなかで、何かの拍子に。全く別の「量」に化けてしまう……ということではないか。それは、まさしく「
いや、そうさせない「データ保護」の対策は万全だった……と、
まず。メモリ内でデータを「仮置き」するときは、一カ所だけにしないで、二カ所に「仮置き」する。四つの「バケツ」を組み合わせる場合、それが二カ所だと合計で八つ必要になる。同じデータを「仮置き」するのに倍の「バケツ」が必要になるが、無数にあるというならそれ位できるだろう。
そして、MPUが「仮置き」データを取りに来るときも、両方のデータを持って行く。そして二カ所に置いてあったデータが「同じまま」かをチェックする。「ビット・フリップ」は
専門用語では、このような保護手段を「ミラーリング」という。
もう一つの保護手段。それは、メモリ部品そのものに「ビット・フリップ」の発生を検知できる仕掛けを組み込むこと。専門用語では、この仕掛けを
もっとも、自動車メーカー自身では「EDAC」を組み込めないので、あらかじめ「EDAC」が組み込まれた専用のメモリ部品をサプライヤから購入することになる。
ノヴァル・キャブラの場合、エンジン制御コンピュータをベッソー・エレクトリック社から調達しているので、このベッソー社が「EDAC」メモリ部品を調達するのだろう。
僕らノヴァル側は。重要データの「ミラーリング」処理と「EDAC」メモリ部品の採用によって、メモリ内での「データ化け」を検知できている……と主張していた。
後者「EDAC」については、先に説明したように、専用部品を購買するしかない。
一方の「ミラーリング」については、キャブラのエンジン制御ユニットが積むMPUには、そのような二重保管・読み出し比較の機能は備わっていないため、データを計算処理するソフトウェアのなかで具体的な手順をプログラムとして書き込まなければならない。
つまり、ノヴァルはエンジン制御ソフトウェアに、「ミラーリング」の手順を入れていました……と主張したわけだ。
ところが。原告側の
少し前に触れたけど。裁判所のディスカバリ命令のもとで、ノヴァルの施設にてエンジン制御ソフトウェアのソースコードを調べていたのは、バイエル証人のチームだったのだ。
バイエル証人によれば、ソフトウェア内部で「ミラーリング」手順がきちんと書かれている場合と、そうでない場合とがあり。何と!紛れもなく最重要である筈の「スロットル開度の変数データ」が「ミラーリング」されていなかった!……というのだ。
さらに「EDAC」メモリ部品について、バイエル証人は。事故車の年式のキャブラについて「EDAC:非採用」との記載のある、ノヴァル自身の文書を示すだけでよかったのだが。同じ年式を扱ったNUSA報告で「EDAC有り」としていたことに目を付けて。陪審員たちの前で、「ノヴァルはNUSAを
驚いたことに。バイエル証人への反対尋問では、同証人の攻撃材料を否定できるような証拠が、ノヴァル側から全く提示されていなかった。
陪審員たちには、ノヴァルの主張する安全対策「第一の階層:メモリ上での重要データの保護」は……最初から存在しなかったように見えたことだろう。
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。