author: Michel Dagenais
copyright: Michel Dagenais, GNU General Public License, 1998
date: 18 January 1998
keyword: persistent
keyword: object
keyword: database

# Stable Objects

## Abstract

A persistent stable object logs all updating method calls and stores checkpoints of the current state from time to time. The current state may be recovered by reading the last checkpoint and replaying the log since the last checkpoint.

A persistent object may be derived automatically from an existing object type simply by identifying the selected object type in the m3makefile.

stable
  The stable objects library provides the necessary runtime support as well as m3makefile functions to derive stable objects.
stablegen
  Stub generator to derive a persistent object from an existing object type.