標高+1m

Don't be rational.

視覚を持つ非同期オブジェクト

今日バイクの上で考えたこと:

オブジェクトとかアクターとかだと、メッセージは宛先を持つ。dog barkdogにたいしてbarkってメッセージを送る。そしてメッセージは普通盗聴できない。

僕らの世界ではメッセージは宛先を持たない。車がブレーキランプを点灯させる時、その車は後ろの車について何も知らないし、当然参照も持っていない。後ろの車のドライバーは眼に見えている景色を解釈して、前の車が減速していると結論づけて、自分もブレーキを踏む。

1対1の会話の場合も、第三者が盗み聞きして割り込めるから宛先はない。

個々の生き物は視界と、視界の中で起きたことを解釈する能力を持っていて、コミュニケーションは非同期に行われる。

[追記] デモ作りました。 http://jsfiddle.net/CAjem/2/

gist:

Pull-based Async Objects -- Demo

各車は、実体と見た目を持っていて、後ろの車は前の車の見た目にアクセス出来る。 アクターは、メッセージを送る相手のメールボックスにメッセージを突っ込むプッシュ型。対してこの車はそれぞれが目に見える情報を元に勝手に行動する。

車同士でメッセージのやりとりは一切なくて、道全体の車の位置を管理する関数もないところがユニーク。