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


10

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

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

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

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

这是我的第二个问题:

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

Answers:


8

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

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

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

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

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

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

d(α,β):=2N
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(α,γ)=2n1d(γ,β)=2n2n1n2γ股长度的公共前缀与,但只有长度的前缀与,接下去和 在索引不同,因此和三角形不等式。其中的情况下如下类似。n21βn11ααβ d α β = d < d γ β n10 < d α γ d(α,β)=d(α,γ)0<d(α,γ)<d(γ,β)

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