  When transmitting information over a noisy channel, two approaches, dating
back to Shannon's work, are common: assuming the channel errors are independent
of the transmitted content and devising an error-correcting code, or assuming
the errors are data dependent and devising a constrained-coding scheme that
eliminates all offending data patterns. In this paper we analyze a middle road,
which we call a semiconstrained system. In such a system, which is an extension
of the channel with cost constraints model, we do not eliminate the
error-causing sequences entirely, but rather restrict the frequency in which
they appear.
  We address several key issues in this study. The first is proving closed-form
bounds on the capacity which allow us to bound the asymptotics of the capacity.
In particular, we bound the rate at which the capacity of the semiconstrained
$(0,k)$-RLL tends to $1$ as $k$ grows. The second key issue is devising
efficient encoding and decoding procedures that asymptotically achieve capacity
with vanishing error. Finally, we consider delicate issues involving the
continuity of the capacity and a relaxation of the definition of
semiconstrained systems.
