Visibility relations have been proposed by Henzinger et al. as an abstraction for proving linearizability of concurrent algorithms that obtains modular and reusable proofs. This is in contrast to the customary approach based on exhibiting the algorithm's linearization points. In this paper we apply visibility relations to develop modular proofs for three elegant concurrent snapshot algorithms of Jayanti. The proofs are divided into components of increasing level of abstraction, using type-theoretic notions of signatures and functors (i.e., dependent $\Sigma$ and $\Pi$ types) as interfaces. The proofs are modular because the components at higher abstraction levels are shared, i.e., they apply to all three algorithms simultaneously. Importantly, the interface properties mathematically capture Jayanti's original intuitions that have previously been given only informally.
翻译:Henzinger等人提议将可见关系作为一种抽象概念,用以证明获得模块和可再使用证据的并行算法的线性。这与基于显示算法线性点的习惯方法形成对照。在本文中,我们应用可见关系来为Jayanti的三个优雅的并行快照算法开发模块性证据。这些证据被分为不断提高的抽象程度的组成部分,使用特征和配方的类型理论概念(即依赖的美元和美元)作为界面。这些证据是模块性的,因为高度抽象级的构件是共享的,也就是说,它们同时适用于所有三种算法。重要的是,界面的特性从数学上捕捉取了Jayanti原先仅以非正式方式提供的直觉。