105
ThepersistentaddressspaceinPalimpsestgreatlyenhancestheeaseandprecisionof
conflictdetection,localinvestigationofeditinghistories,andpersistentselectionmanage-
ment.ForaPalimpsest-basedsystem,anchormanagementofhypertextlinksisalmostauto-
matic.Thisisadirectresultofapointingsystemthatcreatespointersthatarevalidacross
revisionswithoutrequiringactivemaintenance.Theusefulnessofpersistentpointersof
varioussortshasbeennotedbyothers.FischerandLadner(FischerandLadner1979)exam-
ineddatastructuresforthemanagementof“stickypointers.”Theirdatastructurefacilitates
thein-memorymanagementofpersistentpointersduringediting,ratherthanthedistrib-
uted,persistentmanagementofeditinghistories,butthebasicconceptsandmechanismsare
quitesimilar.
AlanDixhasexploredthenotionof“dynamicpointers”(Dix1991;AbowdandDix1992;
Dix1995)totrackdatacontextsacrossvariousformsofupdateandchange.Appliedto
changetracking,dynamicpointerstakeanintermediatepositionbetweenPalimpsestad-
dresses,whicharefullypersistent,andoperationaltransformation,inwhichoperations
themselvesaredynamicallytranslatedagainsteachother.TheinsightbehindDix’sdynamic
pointersisthatifthetranslationofoperationsisspecifiedforeverypossiblepairofopera-
tions,thepointerscanbeupdatedeasily.Forallofthesetransformations,onlytheoffsetsin
othercommandsareactuallybeingupdated.Bytreatingthoseoffsetsaspointers,thecom-
mandsthemselvesneednotbetranslated,butcanbespecifiedintermsofaneffectrelative
toparticulardynamicpointers.Eachcommandhasaspecifiedupdatefunctionforanypoint-
ersinitsvicinitythatdefineshowtheyshouldbeupdatedwhenitisexecutedorundone.
Thissingletransformationfunctionforthedynamicpointerssufficestotransformanyop-
erationtoaccountfortheeffectsofanyotheroperationissuedbyacollaborator.Thus,dy-
namicpointersareinonewayofgeneralizingthenotionofoperationaltransformation.Like
operationaltransformation,thismethodstilldependsoncollaboratinginstancesofanappli-
cationhavingsufficientknowledgeofotherinstance’sstatestoknowwhatdynamicpointers
ThepersistentaddressspaceinPalimpsestgreatlyenhancestheeaseandprecisionof
conflictdetection,localinvestigationofeditinghistories,andpersistentselectionmanage-
ment.ForaPalimpsest-basedsystem,anchormanagementofhypertextlinksisalmostauto-
matic.Thisisadirectresultofapointingsystemthatcreatespointersthatarevalidacross
revisionswithoutrequiringactivemaintenance.Theusefulnessofpersistentpointersof
varioussortshasbeennotedbyothers.FischerandLadner(FischerandLadner1979)exam-
ineddatastructuresforthemanagementof“stickypointers.”Theirdatastructurefacilitates
thein-memorymanagementofpersistentpointersduringediting,ratherthanthedistrib-
uted,persistentmanagementofeditinghistories,butthebasicconceptsandmechanismsare
quitesimilar.
AlanDixhasexploredthenotionof“dynamicpointers”(Dix1991;AbowdandDix1992;
Dix1995)totrackdatacontextsacrossvariousformsofupdateandchange.Appliedto
changetracking,dynamicpointerstakeanintermediatepositionbetweenPalimpsestad-
dresses,whicharefullypersistent,andoperationaltransformation,inwhichoperations
themselvesaredynamicallytranslatedagainsteachother.TheinsightbehindDix’sdynamic
pointersisthatifthetranslationofoperationsisspecifiedforeverypossiblepairofopera-
tions,thepointerscanbeupdatedeasily.Forallofthesetransformations,onlytheoffsetsin
othercommandsareactuallybeingupdated.Bytreatingthoseoffsetsaspointers,thecom-
mandsthemselvesneednotbetranslated,butcanbespecifiedintermsofaneffectrelative
toparticulardynamicpointers.Eachcommandhasaspecifiedupdatefunctionforanypoint-
ersinitsvicinitythatdefineshowtheyshouldbeupdatedwhenitisexecutedorundone.
Thissingletransformationfunctionforthedynamicpointerssufficestotransformanyop-
erationtoaccountfortheeffectsofanyotheroperationissuedbyacollaborator.Thus,dy-
namicpointersareinonewayofgeneralizingthenotionofoperationaltransformation.Like
operationaltransformation,thismethodstilldependsoncollaboratinginstancesofanappli-
cationhavingsufficientknowledgeofotherinstance’sstatestoknowwhatdynamicpointers