77
tentialsolutiontotheseproblemsaswell.Mostsingle-usertexteditorsdonotneedamerge
operationfornormaloperation.
Thedefinitionofwhatoperationsareavailableisoneimportantcomponentofanalyzing
mergefacilities.Foradifferencingalgorithm,theprecisesetofoperationssignificantlyaf-
fectsthetimecomplexityoffindinganoptimalsetofchanges.Thechoiceofprimitiveop-
erationsdoesnotaffecttheperformanceofacomputationalprocess,butratherwhatchoice
ofmergeoperationsusersgetwhileediting,aswellaswhatvariationsofmergeapplication
designerscanaccommodate.
Weshallnotusethesequentialmodelofchanges.Sequentialdependenciesbetween
changesmeanthatchangesfollowinganoperationmustbeupdatedifthatoperationisun-
done,orifanewoperationisaddedoutofsequence.ThechangesrequiredtoupdateEllis
andGibbs’algorithmtohandlecollaborativeundo(outofsequenceupdates)areactually
rathercomplex(PrakashandKnister1992).Wewilluseaformalismthatremovessuchde-
pendenciesatthelevelofthemodel.Whilethiscreatesaless-obviousrepresentationatfirst
glance,theproblemsofout-of-sequencerepresentationgoawayinthenewmodel.Thekey
toremovingsequentialdependenciesistochangetherepresentationofindividualchanges
sothattheyreferonlytootherchanges,ratherthantotransitionalstatesofthesequence.
Thiscanalsobethoughtofasareplacementofthetotalsequentialtemporalorderingof
operationsbyacausal,partialorderingofoperations.Thisrepresentationmakesiteasierto
modelmergeoperationsaswell.Thechangesinthetwoversionsneednotbeorderedwith
respecttoeachother,norwilloffsetshavetobecorrectedtoreflectthenewordering.This
techniquenotonlysimplifiesthedefinitionofmergebehaviorandconsistencyconditions,
butalsoallowsforflexibleimplementationofmergealgorithms.
Withsuchachangerepresentation,versionsarejustsetsofchangesthatdefineunique
statesofasequence.Dependenciesinthesetarereflectedinthestructureofthechanges
themselves,andaredetectablebythestructuralpropertiesoftheaddressestheyuse.This
78
schemeforaddresses(givenintermsofspecificchangeoperations)providesapersistent
identityforlocationsinthesequencethatwillgiveanypieceofdatathesameaddressin
differentstatesofthesequence.Ofcourse,itwillonlybevalidforthosesetsofchanges
(statesofthesequence)inwhichallchangesrequiredtocreatethatlocationarepresent.
Thestructureoftheaddressspaceandcontentsofasequencearebothdefinedbyfunctions
ofasetofchanges.
3.6 Summary
Thischapterhasexaminedtheissuesofconflictresolution,changeinteraction,address-
ing,andmergeforthePalimpsestoperationset:insert,delete,move,copy.Thegoalhasbeen
todevelopintuitionandexplorethejustificationsforandimplicationsofanunfamiliar
model.Chapter4presentsaformalmodeloftheoperationsinformallydescribedinthis
chapter.
Previous Page Next Page