为什么线性化是安全属性,为什么安全属性是封闭集?


10

在南希·林奇(Nancy Lynch)的《分布式算法》(Distributed Algorithms)一书的第13章“原子对象”中,线性化(也称为原子性)被证明是安全性。也就是说,其相应的跟踪属性是非空的,前缀关闭的和限制关闭的,如第8.5.3节中所定义。非正式地,安全特性通常被解释为说某些特定的“坏”事情永远不会发生。

基于此,我的第一个问题如下:

线性化作为安全属性有哪些优势?文献中是否有基于此事实的结果?

在研究安全性和活动性的分类时,众所周知,安全性可以被描述为适当拓扑中的封闭集。在Amir Pnueli等人在1993年发表的论文《安全-进展分类》中。,采用度量拓扑。更具体地说,属性是字母一组(有限或无限)单词。属性由所有无限字,使得所有的前缀属于。例如,如果,则Φ甲(Φ )σΣA(Φ)σΦ Φ = 一个+ b *阿(Φ )= 一σΦΦ=a+b∗A(Φ)=aω+a+bω。如果的某些最终特性则将最终特性定义为安全特性。度量无限字之间和被定义为0,如果它们是相同的,并且否则,在那里是他们同意的最长公共前缀的长度。使用此度量,可以将安全特性表征为拓扑上的封闭集。ΠΦ d (σ ,σ ')σ σ ' d (σ ,σ ')= 2 - Ĵ ĴΠ=A(Φ)Φd(σ,σ′)σσ′d(σ,σ′)=2−jj

这是我的第二个问题:

如何在拓扑上将线性化描述为封闭集?特别是,基础集是什么,拓扑是什么?

Answers:


8

线性化作为安全属性有哪些优势?文献中是否有基于此事实的结果?

假设您实现了一个仅满足最终线性化要求的共享存储机,定义如下:在每次运行中,都存在某个时间点,因此线性化从时间开始一直保持。注意,上没有上限。(*)(这是线性安全性的标准安全属性定义的人造活体。)α 中号Ť αMαMTα ŤTαT

这样的共享内存实现对程序员不是很有用:请注意,如果仅保持最终的线性化,就不能保证运行的任何“早期”前缀中的读/写操作的一致性(在未知时间之前))。或者,换句话说,不管到目前为止发生了什么,您仍然可以将运行的当前前缀扩展为满足最终线性化的条件。 T

(*)如果存在这样的上限,那么最终的线性化将成为安全属性。

如何在拓扑上将线性化描述为封闭集?特别是,基础集是什么,拓扑是什么?

我们可以在集合上定义度量标准拓扑,该集合是分布式算法的所有可能运行的集合。请注意,中的每个运行对应于状态转换的无限序列。对于,,我们定义其中是最早的索引,其中状态在和不同;否则,如果,我们定义。α ∈ 甲小号ý Ñ Ç α ,β ∈ 甲小号ý Ñ Ç α ≠ β d (α ,β ):= 2 - Ñ Ñ α β α = β d (α ,β )= 0ASYNCα∈ASYNCα,β∈ASYNCα≠β

d(α,β):=2−N
Nαβα=βd(α,β)=0

我们首先认为是的度量。根据定义,是非负数,并且我们有 。对于,如果,则三角不等式成立或 。现在考虑,即 和,对于某些索引 。由于甲小号ý Ñ Ç d &ForAll; α ,β &Element; 甲小号ý Ñ Ç d (α ,β )= d (β ,α )α ,β ,γ &Element; 甲小号ý Ñ Ç d (α ,β )≤ d (α ,γ )+ d (γ ,β )dASYNCd∀α,β∈ASYNCd(α,β)=d(β,α)α,β,γ∈ASYNCd(α,β)≤d(α,γ)+d(γ,β)γ = β d ( α α βγ=αγ=βd (α ,γ )= 2 - Ñ 1 d (γ ,β )= 2 - Ñ 2 Ñ 1 ≤ ñ 2 γ Ñ 2 - 1个β ñ 1 - 1d(α,γ)≥d(γ,β)>0d(α,γ)=2−n1d(γ,β)=2−n2n1≤n2γ股长度的公共前缀与,但只有长度的前缀与,接下去和 在索引不同,因此和三角形不等式。其中的情况下如下类似。n2−1βn1−1ααβ d (α ,β )= d ( < d (γ ,β )n10 < d (α ,γ )d(α,β)=d(α,γ)0<d(α,γ)<d(γ,β)

度量诱导一种拓扑结构(例如[1]的第119页),其中 -balls 是基本的开放集。现在我们将讨论为什么安全属性对应于封闭集:如果执行不满足安全属性 ,即,则存在一个索引 ,其中所有运行共享一个前缀长于与不在。ε 乙ε(α )= { β &Element; 甲小号ý Ñ Ç | d (α ,β )< ε } α 小号⊆ 甲小号ý Ñ Ç α ∉ 小号Ñ β Ñ α 小号α ∉ 小号Ñ ≥ 0 β &Element; 甲小号ÿdϵBε(α)={β∈ASYNC∣d(α,β)<ε}αS⊆ASYNCα∉SNβNαS这与直觉非常匹配,因为一旦在执行的前缀中违反了安全属性,就不会对前缀的扩展产生任何影响! 从形式上来讲,假设。存在一个,使得如果某些 具有即和 共享前缀长度的,然后。因此,行程的集合是封闭的,因为其互补是开放的。α∉SN≥0d (α ,β )β∈ASYNCα β ≥ Ñ β ∉ 小号小号d(α,β)<2−N,αβ≥Nβ∉SS

[1] James Munkres。拓扑结构。


感谢您的回答。我必须考虑一下。顺便说一句,您是说James R. Munkres的《拓扑》一书The metric d induces a topology (e.g., page~119 of [1]) where the ϵ-balls...吗?
— hengxin 2014年

是的,我添加了参考。
— 彼得

我注意到您建议修改此帖子的标题(如果我输入有误,请忽略此评论)。首先,我同意应该在标题中反映这两个子问题。但是,我并不是在问“ 为什么线性化是安全特性?”。我在问这个事实的后果。我不确定如何适当地修改标题,并且跳过了此修改。如果您还有其他意见或想法,请告诉我。
— hengxin

我意识到线性化为封闭集的特征(证明)基本上与线性化点的概念无关。似乎更一般性的证明将任何安全特性都描述为封闭状态。我错过了什么?
— hengxin

是的,在此拓扑中,所有安全属性都是封闭集,而活动属性是密集集。实际上,每个属性(即一组行程)都可以表示为安全性和活动性属性的结合点(即交叉点)。
— 彼得

6

关于第一个问题-在某种程度上,相对于模型检查和综合之类的问题,安全属性是最容易处理的属性。

这样做的根本原因是,在针对形式方法的自动机理论方法中,关于安全属性的推理减少为关于有限迹线的推理,这比标准的无限迹线设置更容易。

此处以Orna Kupferman的作品为起点。


当用线性时间逻辑表示时,可以捕获安全性,并针对某些特殊类别的B chi自动机进行检查。但是,我还没有实现关于如何根据自动机表达和检查线性化的任何材料。因此,线性化(作为安全性)可能不会共享这种优势。你对那个怎么想的?u¨
— hengxin 2014年

我敢肯定,至少在特定情况下,我看过通过LTL处理线性化的论文。如果找到它们,我会发表评论。
— Shaull

那挺棒的。我一直很好奇如何通过LTL处理线性化,尤其是线性化点的概念。按照您的提示,我找到了论文《用时间逻辑证明线性化》。这些天我会尝试阅读。但是,我不确定其质量。期待您的评论。
— hengxin

也许这将是有用的。根据作者的判断,这是一篇严肃的论文。不过,我不确定与LTL的连接是否紧密。
— Shaull,2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.