要約

  • Sketchpadのインスタンスはマスター図を参照し、固有の位置、大きさ、回転を持つ。内部を自由に編集できる独立複製ではない。
  • マスター図の中にもインスタンスを置けるため、表示時には階層を再帰的にたどり、各段階の変換を合成した。
  • マスターの変更が各表示に届くことは共有依存を示すが、製造、実機の動作、工学的妥当性まで証明しない。

基本となる六角形を作り、その角を接続点として指定する。七つのインスタンスを組み合わせ、その集合も新しいサブピクチャとして利用する。最後に、元の六角形を半円へ変える。すると大きな模様の外観は一斉に変わるが、組み立ての構造は残る。

1963年の論文で示されたこの例は、単なるコピー操作ではない。多数の図形が一つの定義に従っているため、変更が階層全体へ届いたのである。

参照とローカルな変換

SutherlandのMIT博士論文では、サブピクチャをマスター図の「インスタンス」と呼ぶ。インスタンスは、すべての線分や円弧を重複して保存せず、内部構造を定める図を参照する。小さな記憶ブロックで複雑な表示を生み出せた理由はここにある。

ただし、各インスタンスは同じ場所に現れるわけではない。中心位置と、表示サイズおよび回転角に関係する四つの値を持つ。同じマスターを使っても、座標、縮尺、向きは個別に設定できる。共有されるのは内部定義であり、ページ上の絶対幾何ではない。

論文は「copy」との違いも明確にする。インスタンスは図の一部として一つの同一性を保ち、内部構造は固定される。定義図をコピーすると、そのまとまりとしての同一性は失われ、個々の部品を削除したり変更したりできる。インスタンスを段階的に分解してコピーへ変える操作もあった。見た目が似ていても、更新権限と依存関係は異なる。

変換を合成しながら階層を下る

マスター図の内部に別のインスタンスを置けるため、表示プログラムは参照を一段ずつ展開した。内側のインスタンスに出会うたび、その位置、大きさ、回転を現在の変換へ加え、最終的な線や円弧を正しい場所へ移す。処理を終えると上位の変換へ戻る。

この仕組みによって、記号から部品、部品から装置という構成が可能になる。論文は、サブピクチャを必要なだけ深く入れ子にできることを再帰機能の成果として挙げている。

一方で、実装上の欠落も記録されている。鏡像はインスタンス値で表せず、左右を別に扱う必要があった。循環参照は無限展開を避けるため制限された。再帰する図が小さくなるとは限らず、大きくなる可能性もあるため、単純な終了条件では足りなかった。

画面上の整合性と現実の正しさ

Sketchpadは外観だけでなく、接続関係や制約も保存した。頂点を動かせば隣接する辺が追随し、接続点を介して線が記号につながり続ける。等長、平行、垂直などの条件を指定し、可能な範囲で満たすことができた。

しかし、システムが扱うのは入力された条件である。論文は、材料や費用などの設計条件を将来追加すれば、健全な設計を得る助けになると述べた。これは当時のSketchpadが、すでにあらゆる条件を検証したという主張ではない。

共通マスターから生成された図がすべて一致しても、そのマスター自体が誤っている可能性は残る。画面で機構が動いても、実物の荷重に耐えるとは限らない。プロッターから紙が出ても、製品が製造されたことにはならない。依存の一貫性と、用途に対する妥当性は別々に証明しなければならない。

功績を混ぜない

Sketchpadの設計・実装と博士論文の著者はSutherlandである。Claude E. Shannonは指導教員だった。謝辞は、ShannonとMarvin Minskyの助言、Steven A. CoonsとDouglas T. Rossの時間と着想、MIT Lincoln Laboratoryの支援を明記している。

Wesley A. ClarkとJack L. MitchellはTX-2の利用と特別な装置を支えた。Sutherlandは後年、Clarkが対話的利用を見越した機能をTX-2へ組み込んでいたと回想した。Computer History Museumの口述史では、Coonsは主に励ましてくれた存在、Rossは構造や多要素項目についてよく議論した相手、Shannonは直線だけでなく円も扱うよう促した人物として語られる。

こうした役割を分けて記すことで、著者を曖昧にせず、機械、アクセス、助言、研究環境の寄与も消さずに済む。

現代の依存関係に必要な記録

共有定義を監査可能にするなら、マスターの固定識別子と版、インスタンスの全経路、合成後の位置・大きさ・回転、接続点と制約、更新を起こした変更、影響を受けた出力、各出力の検証状態を残す必要がある。

製造、解析、実機試験の証拠は、名称だけでなく正確な版へ結び付けるべきだ。多数の出力が同時に更新されたという事実は、更新機構が働いた証拠にはなる。しかし、それらが独立に正しいことを示す複数の証拠にはならない。

Sketchpadが残したのは、再利用の便利さだけではない。一つの定義が多くの表示を支配するとき、その変更履歴と検証責任も同じ経路をたどらなければならないという原則である。

出典