スパイダーグラフ 補足
いくつか補足しておく。
ハブエントリー:
以下の図のインバウンドポートの形状が間違っている。
矢印の方向はこれでいいが、白丸が内部に入る。では、白丸はなぜ内部に描くのか? エリアがルートエリアのときは外部を描きようが無いので:
- 白丸とそこから出る矢印でアウトバウンドポート
- 白丸とそこに入る矢印でインバウンドポート
としようと思う。現在、ハイパーリンク・グラフ(caraモジュールの図示)では、点線輪郭の楕円でアウトバウンドポートを表している。特に出る矢印は添えてない。
インバウンドポートは使わないのじゃないか、と思っている。インバウンドポートがないなら、ポートの結合法は、アウトバウンドポートをアクションに繋ぐ一種類だけとなる。
ノードに入る辺には、標準入力以外にパラメータがある。ノードから出る辺には、標準出力以外に例外、シグナル、フォーワードがある。変数参照を表す辺(変数伝搬ワイヤー)もある。また、ファシリティも入出力と言えなくもない。これらをすべて描くと、余りにも煩雑。
- パラメータは原則として描くが、オプションで省略可能とする。省略すると、コマンドにパラメータがないかのように描く。
- 例外、シグナルは描かない。リダイレクトはシグナルで実装されるだろうが、アクションのリダイレクトだけはWebでの重要性を鑑み描く。つまり、リダイレクトは特別扱いする。
- フォーワードは描く。
- 変数伝搬ワイヤーは原則として描くが、オプションで省略可能とする。省略するときは、変数ポイント(生成点)に変数名を添える。名前で対応を取ることができる。
- ファシリティは描かないが、コマンドとファシリティの関係だけを描く図を別に用意する。
コマンドとファシリティの関係を描く図は:
- コマンドの集合を固定して、そこから(再帰的に)使用されているファシリティ群を列挙する。
- 資源利用宣言をもとに二部グラフを描く。
- 二部グラフのノードはコマンド(アクションも含む)とファシリティ。
- reads/updates/usesを辺として描く。
- reads, updates, usesの3種の辺、 read-only, update-only, read-update の3種のファシリティは、色か形状で区別したほうがよい。