34. A process comprising the steps: A) controlling a computer with a validation program to validate a Formal Specification written in a formal language which has rules of syntax and semantics which define a grammar, said Formal Specification expressing in said formal language the information contained in a Conceptual Model of an application computer program being designed by a designer which is to be automatically translated by a translation program executing on a computer into working, final computer source code of said application computer program having a user interface and a database schema, said validating being carried out on a computer executing said validation program to ensure that said Formal Specification is complete in that there is no missing information and all required properties of elements in said Conceptual Model embodied in said Formal Specification are defined and have a value which is valid; B) controlling said computer using said validation program so as to use said rules of grammar of whatever formal language said Formal Specification is written in, to ensure said Formal Specification is correct in that the statements in said Formal Specification have correct syntax and are semantically correct, consistent and not ambiguous; and C) controlling said computer using said validation program to use rules of grammar that are specific to each different type of formula in said Conceptual Model and a validation process which is specific to each different type of formula in said Conceptual Model to validate each formula expressed in the Formal Specification; and wherein said Conceptual Model comprises an object model, a dynamic model, a functional model and a presentation model, and further comprising the step of using a computer to automatically translate said Formal Specification into full, working, bug-free source code of said application computer program after steps A and B and C have been completed and all elements of said Formal Specification including all said formulas have been validated to ensure they have correct syntax and are semantically complete and correct, said automatic translation process comprising: creating translation object instances in memory of a computer each of which is designed to create source code of a different type and each of which stores a source code template which has blanks in it for requirements data which will be extracted from said Formal Specification after it has been validated and that will customize said source code to the requirements of said application computer program; using a code generation method of each said translation object instance to control a computer to extract said requirements data needed from said validated Formal Specification to fill in said blanks in each said source code template and storing said extracted requirements data in each said translation object instance; creating a code generation object and controlling a computer with a method which is part of said code generation object to make a list of the translation object instances which have been created and to call said code generation method of each said translation object in the proper order to cause said translation object to write source code by putting said extracted requirements data stored therein in the appropriate blanks of its source code template, and writing the source code so generated by said translation objects to files and organizing said files into said application computer program.
36. The process of claim 34 further comprising the step of displaying on a display of a computer diagrams and textual interactive dialogs which said designer of said Conceptual Model can interact with to use object-oriented modelling techniques to define classes of said Conceptual Model including user interfaces of said classes and enforce the restriction that only the information relevant to filling a class definition in the formal specification language in use can be introduced.