Janusの図式法
最近、次のように考えている。
- 面(サイド、フェイス)の区別は、フロント面、バック面とする。通常、フロント→バックの向きに(奧に向かって)矢印を描く。
- 面への呼び出し線が入る場所にマイナス、出る場所にプラスの符号を与える。外側ではプラス→マイナスの向きで呼び出しが流れる。
- フロントマイナスのポートをリクエストポート、フロントプラスのポートをレスポンスポート
- バックプラスのポートをコマンドポート、バックマイナスのポートをイベントポート。
- 他にクエリーポートが両面にある。
- フロント面とバック面では、プラスマイナスを逆の位置に置く。フロントではプラスが上、バックではプラスが下。
- プラスマイナスより、インポート、アウトポートがいいかもしれない。
- 面ごとの指標は<A; B>の形に書く。Aがプラス(イン)、Bがマイナス(アウト)。
- 同じ指標<A; B>もフロントとバックでは解釈が変わる。フロントではAがプラス、バックではBがプラス。
- フロントでもバックでも、<A; B>はAが上、Bが下になるように描く。
- <A; B> → <B; A>が双対(対蹠、包合)。
- <A; B>+<C; D> = <A, C; B, D>がモノイド積。
- compositionではワイヤーの交差がない。
- 恒等は、上から上、下から下にスルーする矢印。内部での交差はない。
こういう方針を決めるのにエライ労力がかかる!!