We present a lattice of distributed program specifications, whose ordering represents implementability/refinement. Specifications are modelled by families of subsets of relative execution traces, which encode the local orderings of state transitions, rather than their absolute timing according to a global clock. This is to overcome fundamental physical difficulties with synchronisation. The lattice of specifications is assembled and analysed with several established mathematical tools. Sets of nondegenerate cells of a simplicial set are used to model relative traces, presheaves model the parametrisation of these traces by a topological space of variables, and information algebras reveal novel constraints on program correctness. The latter aspect brings the enterprise of program specification under the widening umbrella of contextual semantics introduced by Abramsky et al. In this model of program specifications, contextuality manifests as a failure of a consistency criterion comparable to Lamport's definition of sequential consistency. The theory of information algebras also suggests efficient local computation algorithms for the verification of this criterion. The novel constructions in this paper have been verified in the proof assistant Isabelle/HOL.
翻译:我们提出一个分布式程序规范的格子,其排序表示可实现性/细化。规范由相对执行轨迹的子集族建模,这些子集编码状态转换的本地排序,而不是它们根据全局时钟的绝对时间。这是为了克服同步的基本物理困难。规范的格子由几个已知的数学工具组装和分析。非退化单元的集合形成一个单形集来模拟相对的跟踪,预集用于参数化这些跟踪的变量的拓扑空间,信息代数揭示了程序正确性的新约束。后一方面将程序规范的设计带入了Abramsky等人引入的上下文语义的不断扩大的伞下。在这个程序规范模型中,上下文性表现为与Lamport的顺序一致性定义可比的一致性标准的失败。信息代数的理论还提出了验证这个标准的有效本地计算算法。本文中的新颖构造在Isabelle/HOL证明助手中进行了验证。