  Arguably, omega-regular languages play an important role as a specification
formalism in many approaches to systems monitoring via runtime verification.
However, since their elements are infinite words, not every omega-regular
language can sensibly be monitored at runtime when only a finite prefix of a
word, modelling the observed system behaviour so far, is available. The
monitorability of an omega-regular language, L, is thus a property that holds,
if for any finite word u, observed so far, it is possible to add another finite
word v, such that uv becomes a "finite witness" wrt. L; that is, for any
infinite word w, we have that uvw \in L, or for any infinite word w, we have
that uvw \not\in L. This notion has been studied in the past by several
authors, and it is known that the class of monitorable languages is strictly
more expressive than, e.g., the commonly used class of so-called safety
languages. But an exact categorisation of monitorable languages has, so far,
been missing. Motivated by the use of linear-time temporal logic (LTL) in many
approaches to runtime verification, this paper first determines the complexity
of the monitorability problem when L is given by an LTL formula. Further, it
then shows that this result, in fact, transfers to omega-regular languages in
general, i.e., whether they are given by an LTL formula, a nondeterministic
Buechi automaton, or even by an omega-regular expression.
