CSP-based counter abstraction for systems with node identifiers

  • Authors:
  • Tomasz Mazur;Gavin Lowe

  • Affiliations:
  • -;-

  • Venue:
  • Science of Computer Programming
  • Year:
  • 2014

Quantified Score

Hi-index 0.00

Visualization

Abstract

The Parameterised Model Checking Problem asks whether an implementation Impl(t) satisfies a specification Spec(t) for all instantiations of parameter t. In general, t can determine numerous entities: the number of processes used in a network, the type of data, the capacities of buffers, etc. The main theme of this paper is automation of uniform verification of a subclass of PMCP with the parameter of the first kind, i.e. where it determines the number of processes used in a network. We use CSP as our formalism. Counter abstraction is a technique that replaces a concrete state space by an abstract one, where each abstract state is a tuple of integer counters (c"1,...,c"k) such that for each i, c"i counts how many node processes are currently in the i-th state. Each counter c"i is given a finite threshold z"i and we interpret c"i=z"i as there being z"ior more processes in the i-th state. Standard counter abstraction techniques require all processes to be identical, which means that nodes cannot use node identifiers. In this paper we present how counter abstraction techniques can be extended to processes that make use of node identifiers in a symmetrical way. Our method creates a process Abstr that is independent of t and is refined by @f(Impl(T)) for all sufficiently large T, where @f maps all (sufficiently large) instantiations T of the parameter to some fixed type. By transitivity of refinement, testing if Abstr refines Spec(@f(t)) implies that Spec(@f(t)) is refined by @f(Impl(T)). Then, using the type reduction theory from Mazur and Lowe (2012) [29], we can deduce that Spec(T) is refined by Impl(T) for all sufficiently large T, thus obtaining a positive answer to the original verification problem.