  Runtime Verification (RV) is a lightweight formal technique in which program
or system execution is monitored and analyzed, to check whether certain
properties are satisfied or violated after a finite number of steps. The use of
RV has led to interest in deciding whether a property is monitorable: whether
it is always possible for the satisfaction or violation of the property to be
determined after a finite future continuation. However, classical two-valued
monitorability suffers from two inherent limitations. First, a property can
only be evaluated as monitorable or non-monitorable; no information is
available regarding whether only one verdict (satisfaction or violation) can be
detected. Second, monitorability is defined at the language-level and does not
tell us whether satisfaction or violation can be detected starting from the
current monitor state during system execution.
  To address these limitations, this paper proposes a new notion of four-valued
monitorability for $\omega$-languages and applies it at the state-level.
Four-valued monitorability is more informative than two-valued monitorability
as a property can be evaluated as a four-valued result, denoting that only
satisfaction, only violation, or both are active for a monitorable property. We
can also compute state-level weak monitorability, i.e., whether satisfaction or
violation can be detected starting from a given state in a monitor, which
enables state-level optimizations of monitoring algorithms. Based on a new
six-valued semantics, we propose procedures for computing four-valued
monitorability of $\omega$-regular languages, both at the language-level and at
the state-level. We have developed a new tool that implements the proposed
procedure for computing monitorability of LTL formulas.
