Process calculi based in logic, such as $\pi$DILL and CP, provide a foundation for deadlock-free concurrent programming, but exclude non-determinism and races. HCP is a reformulation of CP which addresses a fundamental shortcoming: the fundamental operator for parallel composition from the $\pi$-calculus does not correspond to any rule of linear logic, and therefore not to any term construct in CP. We introduce non-deterministic HCP, which extends HCP with a novel account of non-determinism. Our approach draws on bounded linear logic to provide a strongly-typed account of standard process calculus expressions of non-determinism. We show that our extension is expressive enough to capture many uses of non-determinism in untyped calculi, such as non-deterministic choice, while preserving HCP's meta-theoretic properties, including deadlock freedom.
翻译:以逻辑为基础的计算过程,如$pi$DILL和CP,为摆脱僵局的并行编程提供了基础,但排除了非确定主义和种族。HCP是重塑CP,它解决了一个基本缺陷:$pi$计算法的平行构成的基本操作者不符合任何线性逻辑规则,因此也不符合CP中任何术语的构造。我们引入了非确定性的HCP,它以非确定主义的新解释扩展了HCP。我们的方法利用了界限式线性逻辑,提供了一种强烈的描述标准进程计算法的不确定主义表达。我们表明,我们的扩展范围足以在非类型的计算法中捕捉到许多非非非确定主义的用途,例如非确定性选择,同时保留HCP的元理论特性,包括僵局自由。