In
model checking
In computer science, model checking or property checking is a method for checking whether a finite-state model of a system meets a given specification (also known as correctness). This is typically associated with hardware or software system ...
, a field of
computer science
Computer science is the study of computation, automation, and information. Computer science spans theoretical disciplines (such as algorithms, theory of computation, information theory, and automation) to practical disciplines (includin ...
, a difference bound matrix (DBM) is a
data structure
In computer science, a data structure is a data organization, management, and storage format that is usually chosen for Efficiency, efficient Data access, access to data. More precisely, a data structure is a collection of data values, the rel ...
used to represent some convex
polytope
In elementary geometry, a polytope is a geometric object with flat sides ('' faces''). Polytopes are the generalization of three-dimensional polyhedra to any number of dimensions. Polytopes may exist in any general number of dimensions as an ...
s called zones. This structure can be used to efficiently implement some geometrical operations over zones, such as testing emptyness, inclusion, equality, and computing the intersection and the sum of two zones. It is, for example, used in the
Uppaal model checker; where it is also distributed as an independent library.
More precisely, there is a notion of canonical DBM; there is a one-to-one relation between canonical DBMs and zones and from each DBM a canonical equivalent DBM can be efficiently computed. Thus, equality of zone can be tested by checking for equality of canonical DBMs.
Zone
A difference bound matrix is used to represents some kind of convex polytopes. Those polytopes are called zone. They are now defined. Formally, a zone is defined by equations of the form
,
,
and
, with
and
some variables, and
a constant.
Zones have originally be called region,
but nowadays this name usually denote
region
In geography, regions, otherwise referred to as zones, lands or territories, are areas that are broadly divided by physical characteristics (physical geography), human impact characteristics (human geography), and the interaction of humanity and t ...
, a special kind of zone. Intuitively, a
region
In geography, regions, otherwise referred to as zones, lands or territories, are areas that are broadly divided by physical characteristics (physical geography), human impact characteristics (human geography), and the interaction of humanity and t ...
can be considered as a minimal non-empty zones, in which the constants used in constraint are bounded.
Given
variables, there are exactly
different non-redundant constraints possible,
constraints which use a single variable and an upper bound,
constraints which uses a single variable and a lower bound, and for each of the
ordered pairs of variable
, an upper bound on
. However, an arbitrary
convex polytope in
may require an arbitrarily great number of constraints. Even when
, there can be an arbitrary great number of non-redundant constraints