1 ) A system for rapid generation of software applications from a describing ontology as expressed in an ontology definition language (ODL) comprising the following: a) a processor; b) a types system capable of describing arbitrary binary structures; c) a memory system for instantiating and manipulating arbitrary collections of typed data (and their interrelations) as obtained from external persistent storage. d) an ontology description language (ODL), wherein such ODL is based on a computer programming language (the ‘base’ language); e) a collections system wherein a plurality of data containers can be registered with the system via a plug-in registry, f) a databse creation engine wherein such engine is capable of using the specifications given in the ODL to automatically generate any storage tables necessary in the containers that have been registered with the collections system; g) a UI creation engine, wherein such engine is capable of using the ODL to automatically generate a user interface that permits display, interaction, and querying of all data residing in storage.