The paper describes how the idea of persistent objects is integrated into the Timor programming language. The strategy adopted allows types to be instantiated at two levels: as "files", i.e. objects accessible at the operating system level, and as local objects within files, which resemble objects found in conventional object oriented programs. File objects (with associated methods) can be instantiated and manipulated via capabilities, which are accessible both internally and via the operating system. Local objects are accessible via references, which are not visible at the operating system level.
PERSISTENT OBJECTS AND CAPABILITIES IN TIMOR104 J OURNAL OF OBJECT TECHNOLOGY V OL. 6, NO. 4 PERSISTENT OBJECTS AND CAPABILITIES IN TIMOR 106 J OURNAL OF OBJECT TECHNOLOGY V OL. 6, NO. 4 final op String name(String name); final enq String name(); and the abstract reference spouse corresponds to the methods: final op Person* spouse(Person* spouse); final enq Person* spouse(); PERSISTENT OBJECTS AND CAPABILITIES IN TIMOR 122 J OURNAL OF OBJECT TECHNOLOGY