100 likes | 226 Views
This paper discusses the necessity of fairness in verification processes for distributed systems, particularly focusing on bounded by-pass and Peterson's mutual exclusion protocol. It examines weak and strong fairness concepts, presenting algorithms for automata-based LTL model checking and various fairness strategies. The study analyses how to apply fairness uniformly across systems while discussing the pros and cons of different approaches, including partial order reduction. Moreover, the results from experiments on network protocols reveal insights into model checking parameterized systems within the framework of fairness.
E N D
PAT: Towards Flexible Verification under Fairness http://pat.comp.nus.edu.sg Jun Sun, Yang Liu, Jin Song Dong, Jun Pang
Fairness is Necessary • Bounded by-pass, Peterson’s mutual exclusion protocol • weak fairness • <>[] one-leader, self-stabilizing leader election in complete networks [Fischer et al 2006] or rooted trees [Canepa et al 2008] • weak fairness • <>[] one-token, token circulation [Angluin et al 2005] or leader election [Fischer et al] in network rings • Strong global fairness
Weak Fairness • A process/event must be executed if always enabled.
Strong Fairness • A process/event must be executed if repeatedly enabled.
Strong Global Fairness • If a step is infinitely often enabled, it must be taken infinitely.
The Algorithm • Automata-based LTL model checking • weak fairness: SCC search • strong fairness: strongly connected sub-graph search • strong global fairness = terminal SCC search
How to Apply Fairness • One notion of fairness for the whole system • Pro: no additional user inputs. • Con: sometimes overwhelming; partial order reduction is applicable to weak fairness. • Associate individual events with different fairness • Pro: feasibility; partial order reduction • Con: user expertise required
Fairness and Abstraction • Model checking parameterized systems • network protocols are often designed for arbitrary or even unbounded number of nodes. • process identify and process counter abstraction • under fairness? • Model checking real-time systems • Time abstraction • under fairness?