Attempto Controlled English (ACE)Language ManualVersion 3.0

Norbert E. Fuchs, Uta Schwertel, Rolf Schwitter · 1999

Attempto Controlled English (ACE) is a language specifically designed to write specifications. ACE is a controlled natural language, i.e. a subset of English with a domain specific vocabulary and a restricted grammar in the form of a small set of construction and interpretation principles. This means that all ACE sentences are correct English, but that not all English sentences are allowed in ACE. The restriction of full natural language to a controlled subset is essential for ACE to be suitable for specification purposes. The main goals of this restriction are: to support the writing of precise specifications, to reduce ambiguity and vagueness inherent in full natural language, to encourage domain specialists to deliberately choose a clear and unambiguous writing style so that readers of a specification understand it in the same way as the writer, to make specifications computer processable, to render specifications unambiguously translatable into formal specification languages, particularly into first-order logic, and to make specifications executable. In brief, ACE allows domain specialists to express specifications in familiar natural language and to combine this with the rigor of formal specification languages. ACE has been used to specify a simple automatic teller machine, Kemmerer''s library data base problem, Schubert''s steamroller, and a number of smaller problems. Recently, ACE has also been used as the input language of a theorem prover, and first attempts have been made to interface it to a program synthesiser. Clearly, ACE can be adapted and extended for other purposes requiring precise input, e.g. writing technical documentation or updating databases. The use of ACE presupposes only basic knowledge of English grammar. Note however, that because ACE is a controlled natural language not all standard grammatical notions are directly applicable or suitable for the description of the ACE grammar. Some grammatical notions have a restricted meaning in ACE, while other notions are especially coined for an effective description of the language. The divergences are kept to a minimum so that ACE can be easily learned extending basic grammatical knowledge.

Read the paper · More papers on PaperTik