Design and implementation of multiple type objects in a persistent programming language

In general it takes a lot of time to decide the forms of classes, or types, in database design. This is because the forms of objects stored in a database can hardly be changed. If the objects can get and lose types dynamically, this may be solved. We describe design of multiple type objects in INADA, an object oriented persistent programming language. Any persistent objects in INADA may get any types at any time the types are needed, and may lose any unnecessary types dynamically. INADA is an enhanced C++ language; it borrows the object model of C++ and extends it to provide facilities needed for processing on a large amount of persistent objects. We also show implementation of multiple type objects borrowing the type system of C++ just as it is.