没有合适的资源?快使用搜索试试~ 我知道了~
关于自动稳定人口协议的验证
0 下载量 83 浏览量
2021-02-23
11:05:04
上传
评论
收藏 158KB PDF 举报
温馨提示
人口协议模型已经成为描述移动自组织网络的一种优雅的计算范例,该模型由许多相互交互以执行计算的移动节点组成。 节点的交互受公平性约束。 填充协议的一项基本属性是,所有节点最终都必须收敛到正确的输出值(或配置)。 在本文中,我们旨在在Spin模型检查器中自动验证用于领导者选举和令牌流通的自我稳定种群协议。 我们报告我们的验证结果,并讨论在Spin中建模强公平性约束的问题。
资源推荐
资源详情
资源评论
RESEARCH ARTICLE
On automatic verification of self-stabilizing population
protocols
Jun PANG
1,2
, Zhengqin LUO
3
, Yuxin DENG (*)
3
1 Department of Computer Science and Communications, Universite´ du Luxembourg, Luxembourg 1359, Luxembourg
2 State Key Laboratory of Novel Software Technology, Nanjing University, Nanjing 210093, China
3 Department of Computer Science and Engineering, Shanghai Jiao Tong University, Shanghai 200240, China
E
Higher Education Press and Springer-Verlag 2008
Abstract The population protocol model has emerged as
an elegant computation paradigm for describing mobile
ad hoc networks, consisting of a number of mobile nodes
that interact with each other to carry out a computation.
The interactions of nodes are subject to a fairness con-
straint. One essential property of population protocols is
that all nodes must eventually converge to the correct out-
put value (or configuration). In this paper, we aim to
automatically verify self-stabilizing population protocols
for leader election and token circulation in the Spin model
checker. We report our verification results and discuss the
issue of modeling strong fairness constraints in Spin.
Keywords distributed algorithms, model checking,
population protocols, verification
1 Introduction
The field of distributed algorithms has enjoyed a rapid
growth in the last two decades, due to the world-wide
development and usage of mobile ad hoc networks. A
great number of algorithms have been invented to solve
hard problems in mobile ad hoc networks. However, these
algorithms are only accessible to the distributed algo-
rithms community, since their specifications and correct-
ness arguments are often given at an informal level. This is
insufficient to convince researchers outside the field of the
validity of the arguments. If one wants to verify the cor-
rectness of some proofs, he has to prove substantial parts
or entire sub-results, for whi ch only informal arguments
were given. This has been observed and illustrated in a
recent paper [1] on formal reasoning about the correctness
of a distributed consensus algorithm [2].
The last two decades have also seen an impressive
amount of new techniques developed in the area of formal
verification or model checking in particular. Model check-
ing first builds a finite state space of a formal model of a
system, and then verifies if a property, written in some
temporal logic, about the system holds or not through
an explicit state space search. Due to the finiteness of
the state space, the search always terminates. Hence,
model checking is largely automatic. It can produce an
answer in a few minutes or even seconds for many models.
A counterexample can be generated when the checked
property fails to hold, which details why the formal model
doesn’t satisfy the property. Model checkers usually face a
combinatorial blow up of the state-space, known as the
state explosion problem. Techniques such as symbolic
representation, symmetry reduction, and predicate
abstraction, have been developed to deal with the state
explosion problem and enhance the scalability of model
checking. However, these techniques have not yet made
impact on distributed algorithms, mainly because there
have not yet been enough examples of non-trivial practical
applications.
Clearly, both two fields, distributed algorithms vs. for-
mal verification, can benefit from each other. On the one
hand, formal verification can offer techniques to well-
understand distributed algorithms. On the other hand,
distributed algorithms can offer challenging examples to
formal verification.
In this pap er, we aim to automatically verify self-
stabilizing population protocols for leader election and
token circulation in the Spin model checker [3]. The popu-
lation protocol model [4] has emerged as a new elegant
computation paradigm for describing mobile ad hoc net-
works, consisting of a number of mobile nodes that inter-
act with each other to carry out a computation. Each node
has only a few stat es. One essential property of suc h pro-
tocols is that all nodes must eventually converge to the
correct output value (or configuration), which is a typical
Received July 19, 2008; accepted October 8, 2008
E-mail: jun.pang@uni.lu, {martyluo, yuxindeng}@sjtu.edu.cn
Front. Comput. Sci. China 2008, 2(4): 357–367
DOI 10.1007/s11704-008-0040-9
liveness property (something good will eventually happen)
in terms of formal verification. To guarantee that such
kind of property can be achieved, the interactions of
nodes in population protocols are subject to a fairness
constraint. The fairness condition is imposed on the
adversary to ensure that the protocol makes progress. In
population protocols, the required fairness condition will
make the system behave nicely eventually, although it can
behave arbitrarily for an arbitrarily long period [4]. That
is why for population protocol s correctness arguments are
always rephrased as a property to be satisfied eventually.
In formal verification, fairness is typically used to rule out
some unrealistic runs due to non-determinism, i.e., it
mainly concerns with a fair resolution of non-determinism
in the models. So unsurprisingly, fairness has been a
research topic to both communities, see e.g. Refs. [5–9].
In next section we review the basic population pro-
tocol model and the fairness conditions which a re
requ ired for population prot ocols . The gene ral frame-
work for modeling po pulation protocols in Spin is
given in Se ction 3 . In Section 4 and Section 5, we di s-
cuss experiment results on automatic verification of
self-stabilizing leader election for complete graphs [10]
and token circulation f or directed rings [11], respect-
ively. For leader election in complete graphs, we show
that the algorithm also works under a weaker fairness
condition. For token c irculation in directed rings, the
algorithm is model checked in a two-phase manner. We
first show that under a particular activation order of
nodes, satisfying the global fairness c ondition (see its
definition in Se ction 2), some pre-defined safe config-
urations will be e ventually reached. Then we show that
from these safe con figurations eventually toke n circula-
tion is stabilized. In Section 6, we demonstrate that
global fairness gene rally assumed for population proto-
cols is necessary. We present counterexamples that we
have observed in Spi n to show that self-stabilizing
token circul ation and self-sta bilizing leader election in
directed rings cannot be achieved w ith local fairness
(see its definition in Section 2). Fina lly, we discuss the
diff iculty of modeling global fairness in Spin and con-
clude the paper by pointing out some possible future
work in Se ction 7.
Our contribution can be summarized as follows:
N We present a general framework for modeling popu-
lation protocols in Spin;
N We successfully model check the self-stabilizing leader
election in complete graphs under such a weaker fair-
ness condition and the self-stabilizing token circulati on
in directed rings without explicitly encoding global
fairness;
N We use Spin to automatically generate counterexam-
ples to show why local fairness is insuf ficient for token
circulation and leader election in directed rings.
2 The population protocol model
We briefly introduce the population protocol model in
this section, and more details are available in Refs. [10,11].
2.1 Model and definitions
In our framework, the underlying network can be
described by a directed graph G 5 (V, E) without multi-
edges and self-loops. Each vertex represents a simple finite-
state sensing device, and each edge (u, v) means that u as an
initiator could possibly interact with v as a responder.
A protocol is specified as a tuple PQ, C, X , Y , O, dðÞ
which contain s
N a finite set Q of states,
N a set C of configurations,
N a finite set X of input symbols,
N a finite set Y of output symbols,
N an output function O : Q R Y, and
N a transition function d :(Q 6 Y) 6 (Q 6 Y) R 2
Q6Q
.
If (p9, q9) [ d((p, x), (q, y)), then we write ((p, x), (q,
y)) R (p9, q9) and call it a transition. When d always maps
to a set that only contai ns a single pair of states, then we
call the protocol and the transition function deterministic.
A configuration C is a mapping C: V R Q assigning to
each node its internal state, and an input assignment a:
V R X specifies the input for each node. Let C and C9 be
configurations, a be an input assignment, and u, v be
different node s. If there is a pair
C
0
uðÞ, C
0
vðÞðÞ[ d CuðÞ, a uðÞðÞ, CvðÞ, a vðÞðÞðÞ,
we say that C goes to C9 via edge e 5 (u,v) by transition
CuðÞ, a uðÞðÞ, CvðÞ, a vðÞðÞðÞ? C
0
uðÞ, C
0
vðÞðÞ,
abbreviated to (C,a) DA
e
C’. A pair of a transition r and
an edge e constitutes an action s 5 (r, e). If C goes to C9
via some edge, then C can go to C9 in one step, written as
(C, a) R C9.
An execution is an infinite sequence of configurations
and assignments
C
0
, a
0
ðÞ, C
1
, a
1
ðÞ, ..., C
i
, a
i
ðÞ, ...,
such that C
0
[ C and for each i,(C
i
, a
i
) R C
i+1
.
2.2 Fairness conditions
In the following, we first summarize the fairness condi-
tions for population protocols. Let
E~ C
0
, a
0
ðÞ, C
1
, a
1
ðÞ, ..., C
i
, a
i
ðÞ, ...
358 Jun PANG, et al., On automatic verification of self-stabilizing population protocols
剩余10页未读,继续阅读
资源评论
weixin_38694800
- 粉丝: 4
- 资源: 1021
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功