このブログは、旧・はてなダイアリー「檜山正幸のキマイラ飼育記 メモ編」(http://d.hatena.ne.jp/m-hiyama-memo/)のデータを移行・保存したものであり、今後(2019年1月以降)更新の予定はありません。

今後の更新は、新しいブログ http://m-hiyama-memo.hatenablog.com/ で行います。

スパイダーグラフ 補足

いくつか補足しておく。

ハブエントリー:


以下の図のインバウンドポートの形状が間違っている

矢印の方向はこれでいいが、白丸が内部に入る。では、白丸はなぜ内部に描くのか? エリアがルートエリアのときは外部を描きようが無いので:

  1. 白丸とそこから出る矢印でアウトバウンドポート
  2. 白丸とそこに入る矢印でインバウンドポート

としようと思う。現在、ハイパーリンク・グラフ(caraモジュールの図示)では、点線輪郭の楕円でアウトバウンドポートを表している。特に出る矢印は添えてない。

インバウンドポートは使わないのじゃないか、と思っている。インバウンドポートがないなら、ポートの結合法は、アウトバウンドポートをアクションに繋ぐ一種類だけとなる。

ノードに入る辺には、標準入力以外にパラメータがある。ノードから出る辺には、標準出力以外に例外、シグナル、フォーワードがある。変数参照を表す辺(変数伝搬ワイヤー)もある。また、ファシリティも入出力と言えなくもない。これらをすべて描くと、余りにも煩雑。

  1. パラメータは原則として描くが、オプションで省略可能とする。省略すると、コマンドにパラメータがないかのように描く。
  2. 例外、シグナルは描かない。リダイレクトはシグナルで実装されるだろうが、アクションのリダイレクトだけはWebでの重要性を鑑み描く。つまり、リダイレクトは特別扱いする。
  3. フォーワードは描く。
  4. 変数伝搬ワイヤーは原則として描くが、オプションで省略可能とする。省略するときは、変数ポイント(生成点)に変数名を添える。名前で対応を取ることができる。
  5. ファシリティは描かないが、コマンドとファシリティの関係だけを描く図を別に用意する。

コマンドとファシリティの関係を描く図は:

  1. コマンドの集合を固定して、そこから(再帰的に)使用されているファシリティ群を列挙する。
  2. 資源利用宣言をもとに二部グラフを描く。
  3. 二部グラフのノードはコマンド(アクションも含む)とファシリティ。
  4. reads/updates/usesを辺として描く。
  5. reads, updates, usesの3種の辺、 read-only, update-only, read-update の3種のファシリティは、色か形状で区別したほうがよい。