DeltaStreams moving forward

Göran Krampe goran at krampe.se
Wed Sep 5 19:29:56 UTC 2007


Hi folks!

A quick report from the DeltaStreams project. I and Matthew Fulmer have
been cranking out code in a decent speed actually and stuff is starting to
work for real.

We are currently implementing DSDelta, DSChange (with 24 subclasses, each
representing a particular kind of change) and DSSystemEditorApplier which
is the visitor that actually can apply (make the actual changes) a DSDelta
to the image.

A DSDelta currently listens to SystemChangeNotifier just like ChangeSet
does and captures all (I think) possible kinds of changes in an
OrderedCollection. Each change instance can answer with its antiChange and
a DSDelta can produce its own antiDelta by responding to asAntiDelta.

DSDelta implements #revert basically as "self asAntiDelta apply" and the
actual "apply" is done using a simple double dispatch visiting scheme. The
current code uses SystemEditor from Colin Putney - we have made several
bug fixes to it and I think our current test failures seems to be rooted
in SystemEditor.

Currently we have 81 tests, 66 passes with 11 failures, these include a
bunch of revert-tests.

Matthew just recently started thinking about implementing a tool UI on top
- a la change sorter and we are targeting ToolBuilder - if anyone has
views on that we are all ears. Our prime targets for this project are
3.7-3.10 + Croquet.

Serialization formats, DSDelta normalization, DSDelta analysis (conflict
detection, analysis on how/if it can be applied properly to the image etc)
and transport (streams) have not been started yet.

regards, Göran




More information about the Squeak-dev mailing list