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

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

配布パッケージに関する概念 5

プロジェクトとパッケージを区別しないほうがいいと言ったが、メタデータを持つプロジェクト=パッケージ ということだろう。そして、再帰的な構成も可能としないといけない。

  • 依存性と包含性(containment)という2つの関係を考えて、これをパッケージ間の辺と考えたグラフを想定する。このグラフは大域的なもの。
  • 個々のパッケージ/プロジェクトもグラフで、色付きフォーレストになる。ノードはファイルで色はフィーチャのこと。
  • 互換性、交換可能性、あるいは同値性という関係も考える。
  • パッケージの同一性(アイデンティティ)として、おそらくプロダクトという概念がいる。プロダクトは、同一とみなせるパッケージの集合を意味する。パッケージ名がプロダクト名だと考えるしかないだろう。
  • バージョン番号は互換性を識別すべきだが、それだけでは不十分。

色付きフォーレストをデータとするデータ操作のセットや色付きフォーレストのあいだの関係を構造として認識する。次に(同時に)、パッケージを点とする空間の構造を考える。構造は、依存性、包含性、互換性などを辺とするグラフで与えられる。

色付きフォーレストに関する操作:

  1. インストール=マージ
  2. アンインストール=一部削除
  3. 抽出(部分パッケージの識別)
  4. 集約(これもマージかも)
  5. 色の付与、色の変更