Attempto: controlled natural language for requirements specifications

Norbert E. Fuchs, Rolf Schwitter

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


Writing specifications for computer programs is not 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 the prototypical specification system Attempto that successfully processes the specification of a simple automated teller machine.
Original languageEnglish
Title of host publicationProceedings of the 7th Workshop on Logic Programming Environments, LPR '95, in conjunction with ILPS '95, Portland, Oregon, USA, December 8, 1995
EditorsMarkus P. J. Fromherz, Marc Kirschenbaum, Anthony J. Kusalik
Place of PublicationPortland, Oregon
Publication statusPublished - 1995
Externally publishedYes
EventWorkshop on Logic Programming Environments, LPR '95, in conjunction with ILPS '95 - Portland, United States
Duration: 8 Dec 19958 Dec 1995
Conference number: 7th


WorkshopWorkshop on Logic Programming Environments, LPR '95, in conjunction with ILPS '95
Abbreviated titleLPR '95
Country/TerritoryUnited States


Dive into the research topics of 'Attempto: controlled natural language for requirements specifications'. Together they form a unique fingerprint.

Cite this