OCLNL: A tool for informal and formal requirements specifications

This is the home page of a tool that supports authoring of informal and formal software requirements specifications simultaneously and from a single source. The tool is an attempt to bridge the gap between completely informal requirements specifications (as found in practice) and formal ones (as needed in formal methods). The user is supported by an interactive syntax-directed editor, parsers and linearizers. As a formal specification language we realize the Object Constraint Language, a substandard of the UML, on the informal side a fragment of English and a fragment of German.

OCLNL is integrated into the KeY system. The implementation is based on the Grammatical Framework, a generic tool that combines linguistic and logical methods.

Current Status

There are currently two prototype versions of the tool:

  1. A version which is integrated into the KeY system. This version is focused on syntax editing. To try it out, you need the following:

  2. A command-line application for batch translation from OCL to English text. As described in David Burke’s Master’s thesis, it has been used for translating OCL specifications of the JavaCard API into English.

Download

Get OCLNL binaries and sources from the OCLNL download page.

Documentation

An informal introduction to the OCLNL tool in the context of the KeY system is given in the chapter “Natural Language Specifications” of the forthcoming KeY book. A preliminary version of this chapter is available as a part of the PhD thesis of Kristofer Johannisson.

The troubleshooting page lists some common problems when using KeY with OCLNL.

There is also some technical documentation on OCLNL, e.g. information on the implementation of OCLNL as well as how to make use of the command line tools.

For more information, a number of theses and papers related to OCLNL are available:

People

The following people have been involved in work related to OCLNL:


Last update: 2006-08-17 by Kristofer Johannisson