A controlled natural language (CNL) is based on a natural language but includes restrictions on vocabulary, grammar, and/or semantics, in order to reduce or eliminate ambiguity and complexity.