104
Thereasonforasemanticorsyntacticconflictcanbepreciselydeterminedbyexamining
thechangesinquestionforconflictingaddresses,overlappingoperationscausedbya
merge,missingchanges,andotheractualorpotentialproblems.
Thedetailedhistoryofasubsequenceofadocumentcanbedetermined.Theaddressesof
aparticularregionrevealwhatinsertionscreatedeachitem,whatmoveshavechanged
itspositionandwhatcopyoperationswereappliedtoit.Findingotheroperationsthat
affectthatregionallowsthedeterminationofwhatmighthavebeenintheregionbut
wasdeletedormovedelsewhere.
Themanagementofpersistentoffsetsandregionsinasequenceisgreatlyfacilitated,
evenacrossradicalchangesandrearrangements.BecausetheaddressspaceinaPalimp-
sestsequenceisstable,rangescanbestoredandtheircontentslocatedlaterevenasthe
sequencechanges.
Theuseofsetoperationsondeltasinchangesetsiscommonforchange-orientedsys-
tems,althoughmanyofthesameeffectscanbeachievedinsystemsthatarenotstrictly
change-oriented.GoldsteinandBobrow’sPIE(GoldsteinandBobrow1984)systemtookad-
vantageofthefactthatsoftwareiscomposedofmanyindependentunits,eachwiththeir
ownhistories,tocreateamoreflexiblewayofcombiningchanges.Sincetheywereworking
withinanintegratedSmalltalkdevelopmentenvironment,theywereabletotrackchangesto
individualmethods,ratherthantosourcefiles.PIEwasworkingatafinerlevelofgranular-
itythanthetypicallargesoftwareproject;theobjectswhoseeditinghistoriesbeingtracked
weresignificantlymoreindependent,providinginterestingoptionsforversionselection.
Theygroupedthelogicalchanges(whichwereupdatedobjectmethods),intoindependently
combinablecontexts,orlayers.Laterworkonthemanagementofevolvinghypertexts
(CampbellandGoodman1987;DelisleandSchwartz1987)modifiedandgeneralizedtheno-
tionofcontextsandintroducedadditionalmanagementfunctionstobettersupportasyn-
chronouscollaboration.
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
Previous Page Next Page