  Where graphs are used for modelling and specifying systems, consistency is an
important concern. To be a valid model of a system, the graph structure must
satisfy a number of constraints. To date, consistency has primarily been viewed
as a binary property: a graph either is or is not consistent with respect to a
set of graph constraints. This has enabled the definition of notions such as
constraint-preserving and constraint-guaranteeing graph transformations. Many
practical applications - for example model repair or evolutionary search -
implicitly assume a more graduated notion of consistency, but without an
explicit formalisation only limited analysis of these applications is possible.
In this paper, we introduce an explicit notion of consistency as a graduated
property, depending on the number of constraint violations in a graph. We
present two new characterisations of transformations (and transformation rules)
enabling reasoning about the gradual introduction of consistency: while
consistency-sustaining transformations do not decrease the consistency level,
consistency-improving transformations strictly reduce the number of constraint
violations. We show how these new definitions refine the existing concepts of
constraint-preserving and constraint-guaranteeing transformations. To support a
static analysis based on our characterisations, we present criteria for
deciding which form of consistency ensuring transformations is induced by the
application of a transformation rule. We illustrate our contributions in the
context of an example from search-based model engineering.
