1. A system for developing computer applications using a set of development tools, each having an input for receiving input data and each generating output data, said system comprising: a.) for each of said development tools, means for translating said output data from said development tool into an OMG compliant UML representation of data based on a set of object classes defined and stored in a repository; b.) said repository also being disposed for storing said output data and the relationship between said output data and said UML representation of data; and, c.) for each of said set of development tools, means for translating said UML representation of data from said repository into input data and supplying said input data to the input of one or more of said development tools.