Creating, understanding, and formalizing requirements are major hurdles in system development. Inherent ambiguity in natural language makes requirements documents difficult to interpret and maintain, while formal specification methods are unacceptable to many stakeholders. This project intends to demonstrate the feasibility of using natural language processing (NLP) tools to analyze informal descriptions of software requirements for the purpose of generating semi-formal and formal descriptions, analyzing them, and automatically maintaining interdependencies between textual, graphical, and formal representations. The chosen NLP tool is the Ergo parser of Bralich and Bickerton, one that is capable of full analysis of English grammar and syntax and of engaging in question/answer and statement/response repartee in real time. The project explores a variety of grammatical and writing styles to establish guidelines for useful documents; analyzes synonymous English styles to establish dependency grids; and creates and integrates interfaces with other program functions.