Up 物流の方法は 「倉庫&卸業」 作成: 2026-08-24
更新: 2026-08-31

4足歩行ロボット > 自律型> コンピュータ > ソフトウェア > データ流通 > 倉庫・卸業

    コンピュータのシステムは,「関数を組む」 の方法論でつくられる。
    「関数Aの出力を関数Bの入力にする」を組むわけである。

    「関数Aの出力を関数Bの入力にする」を,数学では 「関数AとBの合成」 という。
    Unix のコマンドプロンプトで,
      $ コマンドA | コマンドB
    と書くとき,これは 「関数AとBの合成」 を書いている。

    「コマンドA | コマンドB」 は,「AとBをパイプでつなぐ」と読む。
    「│」 は,パイプの記号。
    「Aの出力をBに入力」 は,まさしく 「AとBをパイプでつなぐ」 である。


    ロボットの設計では,データ流通の 「神経系」 を構築する。
    この構築では,データ処理の各ユニットが 「関数」 になる。

    しかしデータ流通は,「処理ユニット (関数) をパイプでつなぐ」 のやり方では成らない。
    各ユニットは,「マイペースで処理を繰り返す」 というものになる。
    このようなユニットをパイプでつないだら,たちまちどこかが詰まってしまう。

    では,どうするか?
    ここは,「配管」 ではなく,「物流」 の話になる。
    「物流」 の方法論は,「倉庫」 と 「卸業者」。


    ○ 「倉庫」
     (1)  各処理ユニットに,つぎの2つの倉庫をあてがう:
     S庫:入荷と,ユニット入力に使う
     P庫:ユニット出力の受けて,出荷に使う
     (S, P は,後出の Subscribe, Publish を先取)
    S庫は,入荷用の棚を設ける。 そして,入荷品を部品として,処理ユニットの入力を組み立てる。
    P庫は,処理ユニットの出力を受け,これを製品に成形する。 そして,製品を出荷棚に置く。
     (2)  S庫は,部品ごとに棚を設ける。
    部品xの棚は,部品xを供出する別ユニットのP庫と,<受け手-送り手>関係でつながることになる。
     (3)  S庫とP庫を運営する 「倉庫係」 (関数) をあてがう。
    倉庫係は,つぎの物の流れを操作する::

         ┌→ 処理ユニット ─┐
         │          │
         └─── 倉庫係 ←─┘
              ↑ ↓
           ─→S庫 P庫─→

    ここで,S庫に入る矢印は,別ユニットのP庫から物が送られてくることを示し,P庫から出る矢印は,別ユニットのS庫へ物が送られることを示す。


    「倉庫係」 は,つぎの内容のプログラム:
     1. 処理ユニットの入力を,S庫の部品からつくる。
      そして,入力。
     2. 処理ユニットからの出力をP庫で受け,
       これを成形し,,
       「更新しました」 を受け手にコール。         START          │   ┌─────→│←───────┐   │      ↓        │No   │   S庫の棚は       │   │  全部埋まっているか? ──┘   │      ↓Yes   │  ユニットの入力をつくり   │    ユニットに入力   │      ↓   │  ユニットの出力を受ける   │      ↓   │  これを製品に成形し,   │   受け手に 「更新」 をコール   │      │   └──────┘
    ○ 「卸業者」
    倉庫係は,受け手にコールするだけで,物を直接送ることはしない。
    製品は,卸業者が取りにくる。
    受け手からのコールバックは,卸業者が受け,そして発送する。


    以上のこの内容で,詰まることのないデータ流通が,自動的に進む。
    但し,この 「詰まることがない」 の実現は, 「旧くなったら即棄てる」 と表裏であることに注意。
    物流システムは,物の大量廃棄システムなのである。

    そしてこの
      「「旧くなったら即棄てる=常に新しい」
    が,データ流通について謂われる
      "QoS (quality of service)"
    の第一義。