Dowser logo


The Dowser ClassExtractor is an implementation of the following Master project. In this project an approach is developed to detect ambiguities in natural language specifications. In detail, the master project answered two research questions. Can an object oriented analysis model, which is created automatically, help to increase the quality of requirements specifications? Can automation help detecting ambiguities?

The project was motivated by today's industry practices. In industry most software analysts write requirements specifications in natural language. This approach enhances the communication between all stakeholders, because everyone can understand clearly written natural language text. However, the downside is that natural language specifications are often imprecise and ambiguous. For our approach we want to exploit that a software tool can faster scan, search, browse, and tag huge text documents than a human. Furthermore, an automated approach works rigorously whereas a human can overlook mistakes in documents, since he assumes that they are correct and that only one interpretation exists.

The developed approach uses syntactical knowledge to build the object oriented analysis model. The Dowser ClassExtractor applies syntactical rules on the created dependencies of a link grammar parser. These rules define how to extract classes, associations and methods. The final result is a UML class diagram. Since the produced diagram is smaller than the original specification and clearly visualized, it enhances cognition and a human can check it for ambiguities. The defects can be traced back to the original specification.

The Team





The binary and the source code of the Dowser ClassExtractor V1.0 can be downloaded.
Click here to download the latest Dowser GUI

Required External Software

The Dowser ClassExtractor uses different external third party software systems.
For parsing the natural language specification, the tool uses Slator's and Temperley's Link Grammar Parser. This parser provides the syntactic informations, WordNet provides the stem of a word. Additionaly it is planned for future version, that the Dowser ClassExtractor will use the semantic information of WordNet.
UMLGraph provides the graphical transformation. The tool UMLGraph allows the declarative specification and drawing of UML class diagrams. For this, it uses javadoc and GraphViz.
The next graph shows how all the tools form the architecture of the Dowser ClassExtractor.

Graph of the architecture

Last Modified on Thursday, December 15, 2005 by Daniel Popescu