Specifying logic programs in controlled natural language

Norbert E. Fuchs, Rolf Schwitter

Research output: Chapter in Book/Report/Conference proceedingConference proceeding contribution


Writing specifications for computer programs is no easy since one has to take into account the disparate conceptual worlds of the application domain and of software development. To bridge this conceptual gap we propose controlled natural language as a declarative and application-specific specification language. Controlled natural language is a subset of natural language that can be accurately and efficiently processed by a computer, but is expressive enough to allow natural usage by non-specialists. Specifications in controlled natural language are automatically translated into Prolog clauses, hence become formal and executable. The translation uses a definite clause grammar (DCG) enhanced by feature structures. Inter-text references of the specification, e.g. anaphora,are resolved with the help of discourse representation theory (DRT). The generated Prolog clauses are added to a knowledge base. We have implemented a prototypical specification system that successfully processes the specification of a simple automated teller machine.
Original languageEnglish
Title of host publicationProceedings CLNLP 95, ELSNET/COMPULOG-NET/EAGLES Workshop on Computational Logic for Natural Language Processing
Place of PublicationEdinburgh
PublisherUniversity of Edinburgh
Number of pages16
Publication statusPublished - 1995
Externally publishedYes


Dive into the research topics of 'Specifying logic programs in controlled natural language'. Together they form a unique fingerprint.

Cite this