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)