Attempto Controlled English (ACE) A Seemingly Informal Bridgehead in Formal Territory (Poster Abstract)

Attempto Controlled English (ACE) – a subset of English with a restricted grammar and a domain-specific vocabulary – allows domain specialists to interactively formulate requirements specifications in domain concepts. ACE can be accurately and efficiently processed by a computer, but is expressive enough to allow natural usage. ACE has a principled structure: simple sentences are combined by constructors (e.g. negation, if-then, and-lists, or-lists) to powerful composite sentences while certain forms of anaphora and ellipsis render the language concise and natural. We have developed the Attempto system that unambiguously translates complete ACE specifications into discourse representation structures – a structured form of first-order predicate logic – and optionally into Prolog. Translated specification texts are incrementally added to a knowledge base. This knowledge base can be used to answer queries in ACE about the specification, and it can be executed for simulation, prototyping and validation of the specification. Tools like a paraphraser, a lexical editor, a spelling checker, and a metainterpreter for query answering and execution complement Attempto. Using Attempto we have successfully processed the non-trivial specification of an automated teller machine.