Home

> urticator.net
  Search

  About This Site
> Domains
  Glue
  Stories

> Computers
  Driving
  Games
  Humor
  Law
  Math
  Numbers
  Science

> Concepts for Persistent Objects
  Language Design Principles
  Miscellaneous

  Instances and Copies
  Versions
  Branches and Growth Points
  Synchronization and Merging
> Summary
  An Example

Summary

prev

That's it … the complete set of concepts for persistent objects. Now that you've seen the explanations of the individual concepts, let me go back and put it all together.

A persistent object consists of a tree of versions, plus growth points attached to those versions. It's not exactly a tree, of course, because the branches can merge, but that's the idea.

One might also like the object concept to include facts about synchronization, as I've tried to indicate here with a line.

Each version, in turn, consists of some number of identical instances.

There are only a few ways in which a persistent object can change.

  • Creation or destruction of a growth point.
  • Addition of a new version at an existing growth point. If synchronization is involved, the new edge is associated with one or more existing edges.
  • Addition of a new version by merging.

Creation or destruction of instances doesn't even count as a change to the object.

It is possible to copy an object to create a new object. Although object copying in some ways looks like reinstantiation, and in other ways looks like branching, it is really quite different. Here's how I imagine it.

Note that the copy derives from a single version, and does not include the past history of the original object.

next

 

  See Also

@ September (2000)