This paper brings mathematical tools to bear on the study of package dependencies in software systems. We introduce structures known as Dependency Structures with Choice (DSC) that provide a mathematical account of such dependencies, inspired by the definition of general event structures in the study of concurrency. We equip DSCs with a particular notion of morphism and show that the category of DSCs is isomorphic to the category of antimatroids. We study the exactness properties of these equivalent categories, and show that they are finitely complete, have finite coproducts but not all coequalizers. Further, we show construct a functor from a category of DSCs equipped with a certain subclass of morphisms to the opposite of the category of finite distributive lattices, making use of a simple finite characterization of the Bruns-Lakser completion, and finally, we introduce a formal account of versions of packages and introduce a mathematical account of package version-bound policies.
翻译:本文运用数学工具研究软件系统中的包依赖关系。受并发研究中广义事件结构定义的启发,我们引入了具有选择性的依赖结构(DSC),为这类依赖关系提供了数学描述。我们为DSC配备了特定的态射概念,证明了DSC范畴与反拟阵范畴同构。研究了这些等价范畴的恰当性性质,并证明它们具有有限完备性、有限余积,但不具备所有余等化子。进一步,我们通过利用Bruns-Lakser完备化的简单有限刻画,构造了一个从配备特定态射子类的DSC范畴到有限分配格的对偶范畴的函子。最后,我们引入了软件包版本的形式化描述,并给出了包版本边界策略的数学建模。