Translating Formal Software Specifications to Natural Language

We describe a system for automatically translating formal software specifications to natural language. The system produces natural language which is acceptable to a human reader, and it supports by-hand optimization by users who are not experts of our system. The translation system is implemented using the Grammatical Framework, a grammar formalism based on Martin-Lof's type theory. We show that this grammar-based approach scales well enough to handle a non-trivial case study: translating the Object Constraint Language specifications of the Java Card API into English.

[1]  Wojciech Mostowski,et al.  Specifying JAVA CARD API in OCL , 2004, Electron. Notes Theor. Comput. Sci..

[2]  Aarne Ranta,et al.  Grammatical Framework , 2004, Journal of Functional Programming.

[3]  Aarne Ranta,et al.  An Extensible Proof Text Editor , 2000, LPAR.

[4]  Aarne Ranta,et al.  An Authoring Tool for Informal and Formal Requirements Specifications , 2002, FASE.

[5]  Gilles Kahn,et al.  Extracting Text from Proofs , 1995, TLCA.

[6]  Aarne Ranta,et al.  Multilingual Syntax Editing in GF , 2003, CICLing.

[7]  Perdita Stevens,et al.  Modelling Recursive Calls with UML State Diagrams , 2003, FASE.

[8]  Ian Sommerville,et al.  Software Engineering (7th Edition) , 2004 .

[9]  Per Martin-Löf,et al.  Intuitionistic type theory , 1984, Studies in proof theory.

[10]  Erik Poll,et al.  Towards a Full Formal Specification of the JavaCard API , 2001, E-smart.

[11]  Bernhard Beckert,et al.  The KeY tool , 2005, Software & Systems Modeling.

[12]  Alan Bundy,et al.  Proofs About Lists Using Ellipsis , 1999, LPAR.

[13]  Thomas Jensen,et al.  Smart Card Programming and Security , 2001, Lecture Notes in Computer Science.

[14]  Sam Lindley,et al.  Extensional Rewriting with Sums , 2007, TLCA.

[15]  Peter Ljunglöf,et al.  Expressivity and Complexity of the Grammatical Framework , 2004 .

[16]  Robert Dale,et al.  Building applied natural language generation systems , 1997, Natural Language Engineering.