Patent ID: 8037449

Claim:
A computer programmed with computer-readable instructions of one or more programs and a modeling program which, when executed, control said computer to carry out the following process: using said computer controlled by said modeling program, displaying diagrams and textual interactive dialogs which a designer of a target computer program can use toner system requirements data to define elements of a conceptual model defining the class structure, attributes, services and other properties of a target computer program to be written automatically by a computer executing one or more translator programs, said conceptual model comprised of an object model which said designer constructs to provide class definitions for classes of objects said target computer program deals with, each class containing attributes, services, derivations, constraints, transaction formulas, triggers, display sets, filters, population selection patterns, a state transition diagram and formal interfaces, a dynamic model which said designer constructs using said state transition diagram and an object interaction diagram to specify the behavior of an object in response to services, triggers and global transactions, a functional model which said designer constructs using said textual interactive dialogs to enter formulas which define valuations which define the changes in states of objects in the system in response to event occurrence and a presentation model which said designer specifies by selection and articulation of user interface patterns from a pattern language including selection and articulation of said display sets, filters, and population selection patterns for each class, said conceptual model fully defining a system to be implemented by said target computer program including the user interface of said target computer program; using said computer controlled by said modeling program, automatically converting each piece of said system requirements data, as it is entered, into its formal counterpart in a formal language so as to compose said formal specification in the background without said designer needing to know the details of the syntax of the formal language being used to write said formal specification, said formal specification defining said target computer program and its user interface completely; controlling a computer with one or more computer programs to access said formal specification and use the rules of syntax of said formal language to validate said formal specification to ensure it is complete and correct.