1. A process to use a computer to automatically translate a Formal Language Specification defining the functionality of a computer application program modeled in a Conceptual Model, into bug-free source code of a complete application program including a user interface and a database schema, said process comprising the steps of: A) using a computer to automatically check statements in said Formal Language Specification against the rules of syntax and semantics of a formal language in which said Formal Language Specification is expressed thereby validating said Formal Language Specification to ensure said Formal Language Specification is complete in that there is no missing information in said Formal Language Specification and to ensure said Formal Language Specification is correct in that primitives of said conceptual model are syntactically and semantically consistent and not ambiguous; B) translating said validated Formal Language Specification into computer readable source code which has the capability to control a computer to provide a user interface access mechanism to allow users to log in by entering at least identification data and to use said identification data to authenticate and validate a user as an instance of a class of the validated Formal Language Specification that act as agent in at least one agent relationship, said translating done using a computer to automatically retrieve information from said Formal Language Specification and storing said retrieved information in one or more code generation structures in memory of a computer, said code generation structures taking the form of class objects each of which has a code generation method, and using a method in a code generation class object to call the code generation method(s) of the code generation structures in a proper order to write one or more source code files that implement said user interface access mechanism; C) translating said validated Formal Language Specification into computer readable code which has the capability to control a computer to provide a view of the system defining the set of objects and attributes the user can query and the set of services said user can execute, the content of said system view depending on the identity of said user accessing said application, said translating done using a computer to automatically retrieve information from said Formal Language Specification which expresses concepts in a Conceptual Model of said application in a Formal Language, and storing said retrieved information in one or more code generation structures in memory of a computer, said code generation structures taking the form of class objects each of which has a code generation method, and using a method in a code generation class object to call the code generation method(s) of said one or more code generation structures in a proper order to write one or more source code files that implement said capability to control a computer to provide a view of said system defining the set of objects and attributes said user can query and the set of services said user can execute; and D) translating said validated Formal Language Specification into computer readable code which has the capability to control a computer to provide user interface interaction mechanisms to interact with and execute the functionality of the application in terms of performing queries on information managed by said application and executing services to modify the state of said information managed by said application, said services comprising events, local transactions and global transactions, said translating done using a computer to automatically retrieve information from said Formal Language Specification which expresses concepts in a Conceptual Model of said application in a Formal Language, and storing said retrieved information in one or more code generation structures in memory of a computer, said code generation structures taking the form of class objects each of which has a code generation method, and using a method in a code generation class object to call the code generation method(s) of said one or more code generation structures in a proper order to write one or more source code files that implement said application with capability to control a computer to provide user interface interaction mechanism to interact with and execute the functionality of said application and allow a user of said application to launch said queries and services.