Attempto Controlled English (ACE)
Paper · 1996 · Norbert E. Fuchs and Rolf Schwitter
Summary
Requirements specifications are usually written in free English, which is easy for everyone to read but often vague or ambiguous. Formal specification languages remove the ambiguity, but untrained users find them hard to read. Fuchs and Schwitter propose Attempto Controlled English (ACE) to bridge the two. ACE is a restricted English with a fixed set of function words, a user-extended lexicon of content words, and tight grammatical limits. Within the Attempto system, a deterministic parser builds a syntax tree and, at the same time, a discourse representation structure (DRS). The DRS covers the whole text, with each sentence interpreted against what came before. It can optionally be compiled into Prolog. The system then shows the user a paraphrase of how it read the input, answers questions posed in ACE by deduction, and can run the specification as a simulation. The prototype handles a non-trivial automated teller machine example. This shows that text which reads as English can serve as an executable, logic-backed specification that domain experts and developers can both check.
Key points
- The paper appeared at CLAW 96, the first workshop on controlled language applications. Its running example is an ATM called SimpleMat.
- Verbs are limited to active voice, simple present tense, and third person. Modal verbs and modal adjectives (e.g. possible, necessary) are excluded, and one-word verbs are preferred over particle verbs (start rather than turn on).
- The lexical editor has two interfaces:
- Experts edit full feature structures.
- Non-experts fill in templates. For a noun, they give number, gender, and whether it is countable or mass, and may add synonyms or abbreviations.
- The DRS uses nested IF/THEN and NOT sub-structures. A pronoun resolves to the nearest referent in a superordinate DRS that matches it in gender and number.
- In the Prolog translation, each condition becomes a
fact/1clause. Existential discourse referents are replaced by Skolem constants (0, 1, 2, …).
Interesting ideas
- I1. After parsing, the system restates the input in the same controlled language and marks every resolved pronoun, elided phrase, and synonym in brackets, so the user can see the reading at a glance.
- I2. Pronouns are resolved by a single transparent rule: take the closest referent in an enclosing structure that agrees in gender and number.
- I3. Wh-questions are answered by filling the found entity, in brackets, back into the question sentence itself, rather than returning a bare value.
- I4. A specification is executed step by step: events are printed as a trace, and missing situation facts (who the customer is, whether a code is valid) are requested from the user when needed.
- I5. When input is ambiguous, the system always picks one documented default reading and leaves other readings to explicit rephrasing, so its behaviour stays predictable.
For Mova
How these ideas could serve Mova, our small open language model — its files, stages and tests:
- I1 (back): Generating such a bracketed restatement from the meaning graph would give a human-readable check of every resolution step, and it doubles as a test for the text → graph → text path.
- I2 (frames): A deterministic, accessibility-based baseline like this would make each coreference decision easy to explain, and it can serve as a control against which learned resolvers are compared.
- I3 (answer): Answers to QA on fables or school tests could be returned as the completed question sentence, which shows exactly which entity filled which slot.
- I4 (world): The world-of-the-text builder could replay events in order and flag the facts it lacks, instead of silently assuming them, which exposes gaps in a story's state.
- I5 (tree): Fixing documented default attachments for known ambiguous constructions, and recording them in the explanation, would make parser choices reproducible and auditable.
Institutions
Fields, topics and concepts
📚 Shelves 5The field of science this work belongs to (OpenAlex fields).Computer Science · 18,614 worksArtificial Intelligence · 17,965 worksArts and Humanities · 17,450 worksLanguage and Linguistics · 17,296 worksSoftware · 119 works
🧭 Topics 1Research subjects and languages the work is about.English · 2,379 works
Cite
Cite as Norbert E. Fuchs and Rolf Schwitter. 1996. Attempto Controlled English (ACE). arXiv:cmp-lg/9603003.
@misc{fuchs1996attempto,
title = {{Attempto Controlled English (ACE)}},
author = {Norbert E. Fuchs and Rolf Schwitter},
year = {1996},
doi = {10.48550/arxiv.cmp-lg/9603003},
eprint = {cmp-lg/9603003},
archivePrefix = {arXiv},
url = {https://doi.org/10.48550/arxiv.cmp-lg/9603003}
}References
- G. Adriaens, D. Schreurs, From Cogram to Alcogram: Towards a Controlled English Grammar Checker, Proceedings COLING 92, pp. 595-601, 1992 The European Association of Aerospace Industries (AECMA), AECMA Simplified English, AECMA Document: PSC-85-16598, A Guide for the Preparation of Aircraft Maintenance Documentation in the International Aerospace Maintenance Language, Issue 1, September 1995 I. Androutsopoulos, G. D. Ritchie, P. Thanisch, Natural Language Interfaces to Databases – An Introduction, Journal of Natural Language Engineering, vol.1, no.1, Cambridge University Press, 1995 R. A. Capindale, R. G. Crawford, Using a natural language interface with casual users, International Journal Man-Machine Studies, 32, pp. 341-362, 1989 T. Dodd, Prolog: A Logical Approach, Oxford University Press, 1990 N. E. Fuchs, R. Schwitter, Specifying Logic Programs in Controlled Natural Language, CLNLP 95, Workshop on Computational Logic for Natural Language Processing, Edinburgh, 1995 A. Hall, Seven Myths of Formal Methods, IEEE Software, 9, pp. 11-19, September 1990 C. A. R. Hoare, An overview of some formal methods for program design, in: C. A. R. Hoare, C. B. Jones, Essays in Computing Science, Prentice Hall, pp. 371-387, 1987 Y. Ishihara, H. Seki, T. Kasami, A Translation Method from Natural Language Specifications into Formal Specifications Using Contextual Dependencies, in: Proceedings of IEEE International Symposium on Requirements Engineering, 4-6 Jan. 1993, San Diego, IEEE Computer Society Press, pp. 232 - 239, 1992 H. Kamp, U. Reyle, From Discourse to Logic, Introduction to Modeltheoretic Semantics of Natural Language, Formal Logic and Discourse Representation Theory, Kluwer Academic Publishers, Dordrecht, 1993 B. Macias, S. Pulman, Natural Language Processing for Requirements Specifications, in: F. Redmill, T. Anderson (eds.), Safety-Critical Systems, Current Issues, Techniques and Standards, Chapman & Hall, pp. 67-89, 1993 T. Mitamura, E. H. Nyberg, 3rd, Controlled English for Knowledge-Based MT: Experience with the KANT System, Center for Machine Translation, Carnegie Mellon University, Pittsburgh, 1995 K. Pohl, The Three Dimensions of Requirements Engineering, in: Proc. 5th Int. Conf. of Advanced Information Systems Engineering 1993, Paris, Springer, Berlin, pp. 275-292, 1993 S. Pulman, M. Rayner, Computer Processable Controlled Language, SRI International Cambridge Computer Science Research Centre, 1994
- S. G. Pulman, Natural Language Processing and Requirements Specification, Presentation at the Prolog Forum, Department of Computer Science, University of Zurich, February 1994 I. Sommerville, Software Engineering, Fourth Edition, Addison-Wesley, Wokingham, 1992 R. H. Wojcik, J. E. Hoard, K. C. Holzhauser, The Boeing Simplified English Checker, Proc. Internatl. Conf. Human Machine Interaction and Artificial Intelligence in Aeronautics and Space, Centre d'Etude et de Recherche de Toulouse, pp. 43-57, 1990 find
Updated
This page in Markdown → https://md.research.elamur.ai/free/en/papers/fuchs-1996-attempto-controlled-english-ace/