A methodology is proposed for the formal development of software systems from a user's requirements specification in natural language into a complete implementation, proceeding through the steps of formal specification, and detailed design and implementation in an automated manner. Our methodology is based upon the theories of TwoLevel Grammar (TLG) and object-oriented design and takes advantage of the existence of several existing software design tools. We develop an iterative transformation process from the natural language specification into the final implementation, with a specification development environment to assist the user, as well as the designer in accomplishing this transformation. Our underlying formal specification methodology may also be used in the final development of the implementation. This methodology is a major advance in object-oriented software development and the software engineering process in general.
Barrett R. Bryant