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 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.
翻译:本文运用数学工具研究软件系统中包依赖关系。受并发研究中一般事件结构定义的启发,我们引入了带选择依赖结构(Dependency Structures with Choice,DSC)这一数学框架来描述此类依赖关系。我们为DSC配备了特定的态射概念,并证明DSC范畴与反拟阵范畴同构。我们研究了这些等价范畴的正合性性质,证明它们具有有限完备性、有限余积,但并非所有余等化子都存在。进一步地,我们利用Bruns-Lakser完备化的一种简单有限刻画,构造了从配备某类特定态射的DSC范畴到有限分配格范畴对偶范畴的函子。最后,我们正式描述了包版本,并建立了包版本边界策略的数学模型。