メールボックス

 以前のスライドで気づいた人もおってかもしれんけど、XC v1.0 の仕様にしれっとメッセージシステムを追加してある(すみません……)。

 これは今のところ、描画シーケンスからメインシーケンスへの通信に使うつもり。

 送信元から発信されたメッセージは、受信側のメールボックスに一旦キューされる。受信側は自分の都合がええときに、メッセージを引いて処理を行やぁええ。

 このメカニクスは、「アクターモデル」として知られとるけど、 Cell プロセッサーの PPU と SPU の通信のような、ハードウェア上のユニット間の通信にもよう使われとる。ハードウェア上のユニットは本質的に独立して存在して常に動いとるけぇ、並列実行の方法論もおのずと似てくるんじゃろう。

 ちなみにアクターモデルはゲームオブジェクトの制御と相性がええけん、昔からよう使われとる。今ならスクリプティングされたビヘイビアの並列実行に。古くはタスクシステムに特定バイト幅のメッセージパッシングをつけとった。上位ビットを宛先にして、グループビットでマスクして、下位ビットを受信したりして。そう、アセンブリで書いてたあのメカニクスが今や言語仕様になったり、キーフィーチャーになりようるんです。(^_^;)

 なおこの分野でもRubyは先行しとって、すでにアクターモデルのための技術検証が行われとるらしい。