As part of an investigation of scalable development techniques for systems written in the JavaTM programming language, the Forest Project is building JP, a prototype distributed programming environment. For extensibility and usability, a mechanism is required to coordinate the activity of multiple editor programs (each specializing in particular source types) with the JP versioning system. The JP architecture makes it possible, using a very simple framework, to coordinate loosely coupled Java-implemented editors that share no data representations with one another or with the versioning system. This framework also supports a streamlined user model for editing that keeps users' version awareness to an absolute minimum during routine development tasks. This architecture relies on two key technologies: orthogonally persistent object storage, and orthogonal versioning of hierarchical, immutable, source objects.
Michael L. Van de Vanter