Formalizing and Reasoning about Quality
=======================================
Traditional formal methods are based on a Boolean satisfaction notion:
a reactive system satisfies, or not, a given specification. We
generalize formal methods to also address the {\em quality\/} of
systems. As an adequate specification formalism we introduce the
linear temporal logic LTL[\F]. The satisfaction value of an LTL[\F]
formula is a number between 0 and 1, describing the quality of the
satisfaction. The logic generalizes traditional LTL by augmenting it
with a (parameterized) set \F of arbitrary functions over the
interval [0,1]. For example, \F may contain the maximum or minimum
between the satisfaction values of subformulas, their product, and
their average.
The classical decision problems in formal methods, such as
satisfiability, model checking, and synthesis, are generalized to
search and optimization problems in the quantitative setting. For
example, model checking asks for the quality in which a specification
is satisfied, and synthesis returns a system satisfying the
specification with the highest quality. Reasoning about quality gives
rise to other natural questions, like the distance between
specifications. We formalize these basic questions and study them for
LTL[\F]. By extending the automata-theoretic approach for LTL to a
setting that takes quality into an account, we are able to solve the
above problems and show that reasoning about LTL[\F] has roughly the
same complexity as reasoning about traditional LTL.