デバッグ作業
将斗がプロジェクトに参加する前の体制は前任者とトリアンナ、そして背中合わせに座っている女性。前任者の後釜が将斗というわけだが、つまるところは三人体制をずっと維持している。
トーバー商会の対応は二チームに分かれている。主として仕事を共にしているトリアンナは仕様変更や次期システムに向けた対応を進める担当だった。対する背後の彼女は、既存システムの保守――問題なく稼働しているかどうかのチェックや何か問題があった時の対処を行う。
つまり、昨晩の出来事は本来、トリアンナではなく保守担当が出向くべきだったのである。なのに先方はトリアンナを指定した。そりゃあトリアンナでなくても小言の一つくらい言いたくなる状況である。
さて、トリアンナがサーバーと言った箱であるが、正確には将斗が知っているサーバーではなかった。正確には『魔法システムの実行制御を専門に扱う魔法器具』で、名前はシルケンスとのこと。たとえば、インプットとしてAの場所に特定の魔力と言うか入力があった場合、特定の処理を実行する、といったもの。その手のソフトもあるが、これはそれをまるごと器具にしたのだとか。
「おっちゃんはコレを『ぴーえるしー』なんて言っていたけれど、よく分からない」
そう説明するのは保守担当のディーバ。おっちゃんとは前任者のことだろう。ぴーえるしー――PLCという機械を将斗は知らない。PLCは工場で可動する機械の制御を行うための機械。工場の生産を管理するようなシステムに携わらないと関わらない品物だから当然のことである。
「というか、どうして私が呼ばれなくてトリアンナちゃんが呼ばれたの? おかしいじゃん」
「はい、なので昨日は荒れました」
「まあ、だろうねえ。ただでさえあの野郎は」
ここでもあの野郎呼ばわり、彼は一体何をしでかしているのか。
「よし、プログラムの複製完了。それじゃあ、こっちのシルケンスを使ってプログラムの確認をして。私はコレそのものの確認をするから」
ディーバの手にあるのはもう一つのシルケンス。社内で使うために用意していたものである。将斗はそれを受け取るなり自席に戻り、機械を端末と接続する。USBで。異世界なのにUSB! 異世界は技術的に遅れているなんてことはいろんな物語のテンプレートだが、ここではまったく引けを取らない。
端末だって日本で使っているものと使い心地は変わらない。日本でよく見る画面とは少し違うものの、システム屋をやっていればだいたい理解できる操作感。リナックスという個人向けではあまりメジャーでないものだったらこんな感じかもしれない。興味本位で一時期触っていたそれを思い浮かべた。
開発ソフトを立ち上げてシルケンスの中にあるプログラムを読み込む。さすればいくつものファイルが展開されて、左側のリストに表示される。それぞれをクリックすれば画面中央にファイルの中身が表示される。表示されるのはソースコード、将斗でも『読むことのできる』ソースコードである。
異世界だからどうってことはない。英語の言葉で書かれているのだ。将斗は一瞬、よくある物語の展開のように言語を相互に翻訳していい感じにしているのではと考えてもみたがすぐにやめた。将斗の頭では理解できないテクノロジーが裏で用いられているに違いなかった。
作業の準備が整ったところで、まずは再現を行わなければならない。自席上に組み上げた環境が問題ないのか確認する必要があるし、なにより客が口にしている『動かなくなった』が本当のことなのかを確認しなければならない。
デバッグ実行してみるとプログラムが異常終了した。ただしプログラムが出力する文言、つまりログは画面に表示されているからプログラムが動いたのは間違いなかった。機械と端末の接続そのものは問題ない、と。
ログとして書かれている内容に目を凝らす。相変わらず読める文章で違和感がない。片言の英語のような言葉の並びがログログしい。異世界のプログラムであることを意識することがなかった。
ログの内容をシンプルにまとめるとこのようになる。『番地0x24500がすでに使用されているため使用できません』。
番地0x24500という文字列に将斗は撃ち抜かれた。ちょっと前の仕様変更で見覚えるのある言葉の並びだった。
「トリアンナさん、この番地なんですけど、前の仕様変更で使っていませんでした?」
「その番地でしたら、確かに使うことにしましたわね。どのプログラムも使っていない領域だし、使用済みの番地からも十分離れている場所なはずですが」
「あれですかね、調べた時点で見落としていた可能性は」
「設計と実装、両方の線で確認しているので漏らしていることはないと考えておりますが」
「ですよねえ」
シルケンスから抽出したプログラムを眺めてみれば、会話の中にあったプログラムはちゃんと入っているし、だからといってプログラム上の問題があるようにも見えなかった。そもそも該当するプログラムは複雑な計算をするものではなく、ただ指定の番地に渡されたデータを渡すだけなのだ。右から左に仲介するだけ。なのにおかしい動きをする。
「シルケンス自体は多少老朽化の気があるけれど問題はないねえ」
背後からディーバ。器具そのものがおかしくなっている可能性を外す。
となると今回の問題で怪しいのはプログラムだ。将斗の目の前に広がるプログラム。このどこかに原因があるはずだ。探し求める対象が赤いボーダーシャツを着ていれば分かりやすいだろうが相手は言語、ただ見るだけでは分からない。
ふと考えたのが、リリースの誤りだった。作成したプログラムを商会に納品する際、納めるべきプログラムがちゃんと納められていないことがある。こうなると実際に稼働させるタイミングではじめてエラーが発生するのだ。
しかし将斗は腕を組んだ。頭に浮かべるのは納品作業の時。納める資産を間違えないように何度確認を行った? 将斗だけではない、トリアンナだって一緒になって確認をしたはずだった。
しかし一度疑ってしまうと確かめざるを得ない。なにせ相手は目に見えないもの、いろんな視点で観測しなければ見えないものがある。ある視点では原因のつかめない難解なものであったとしても、別の視点から見れば実にしょうもない理由で問題が起きているものだ。
将斗は会社で管理しているソースを引っ張り出す。ディーバに抽出してもらったソースと会社で管理しているソースを並べて比較用のソフトに食べさせる。そうすれば考える間もなくプログラムの差分が表示されるのだ。ファイル名が一覧で並んで、差分の状況に応じて行に色がつく。色がつかなければ相違がないことになる。
期待値は色のつかない行。
画面に水色の線が一本。そう、差分があったのだ。
「何で差分がある?」
思わず将斗の口からこぼれた言葉はことのほか大きくて、隣の仕様変更担当の手を止めるほどの威力だった。話しかけることこそしないけれども、手を止めてこっそり視線だけを将斗の端末に向けていた。そのままでは見づらかったのか、少しだけ背をのけぞらせていた。
将斗の頭の中に浮かぶ『納品ミス』の言葉。やっちゃいけないミスな上、『しょうもない』部類に入るもの。
将斗は天井を仰いだ。少しばかりの現実逃避と言うか、目の前の現実から目をそらして気持ちを落ち着かせたかった。気が動転しているところでことを進めればろくなことにならない。焦るくらいならゆっくり構えなければ。
天井を見るだけでも足らず目をつぶった。鼻から吸う空気に意識を集中させる。鼻から出る、口から出る息の流れに意識を集中させる。
体の中のざわつきに意識を向ける。荒れる波のてっぺんに目を向けて徐々に低い波となってゆくようイメージを強めてゆく。徐々に――波を抑えて――凪に――
気持ちが落ち着いたところで画面が示す現実と向き合う。差分があるのは間違いないが、大事なのは『どういう差分』なのかである。
将斗は差分の意味をすぐに理解すした。水色が意味するのは『比較元には存在していて、比較先には存在しないファイル』ということ。ここでの比較元はシルケンスから抽出したソース。比較先は会社で管理していた、納品時点でのソースである。
流システムの認知しないプログラムがシルケンスに入っているのだ。
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます