48
lost,andtheeffectofthemovewouldbeequivalenttothedeletionoftheoriginalsource
text(includingauthorB’s interpolation)andtheinsertionofthetextthatwasvisibleto
authorAatthetimethesystemrecordedhereditingchange.Alternatively,theresultmight
betheinsertionofauthorB’sinterpolationinthe gapleftbyauthorA’smove;thiswould
makelittlesenseineitherscenario,sinceB’sinsertionisunlikelytomakesensewithoutthe
itemsthatwereadjacenttoitatitstimeofinsertion.
Figure2.1showsseveralversionsofasentence.VersionAistheoriginalsentence.Two
collaboratorsreviseittoversionsBandC(makingsomedeletionsandadditions,andmoving
thestring“earrangement”).Ifthemoveisadynamicoperationtheresultofmergingthese
editsisasshowninE.Ifthemoveoperationisastaticone,theresultisjustB.Theaddition
oftheword“extending”isdeletedbythemoveoperation,andcannotberetrievedinany
versionthatincludesthemove.Allowinganinsertiontobevisibleifitiscoveredbyamove
operationgivestheresultD.
A.Inwritinganawkwardsentence,rearrangingitishelpful.
B.Rearranginganawkwardsentenceishelpful.
C.Inwritinganawkwardsentence,rearrangingandextendingitishelpful.
D.Rearranginganawkwardsentenceandextendingishelpful.
E.Rearrangingandextendinganawkwardsentenceishelpful.
F F F F iii ig g g gu u u ur r r re e e e 2222....1111:::: AAAA sssseeeennnntttteeeennnncccceeee,,,, ttttwwwwoooo eeeeddddiiiittttssss ttttoooo iiiitttt,,,, aaaannnndddd ttttwwwwoooo mmmmeeeerrrrggggeeee rrrreeeessssuuuullllttttssss
Frozenoperationsaresometimespreferabletodynamicones,sincetheireffectsarecom-
pletelypredictable,nomatterwhathistorytheyarepresentin;otherchangesinahistory
willnotmodifytheireffects.Ontheotherhand,astheexampleshows,changepropagation
canbetremendouslyusefulinpreservingtheintentionofanoperation.Dynamicchanges
canavoidthelossofpotentiallyimportanteditingoperationsandavoidtheneedtodis-
cover,re-create,andre-executethemduringamergeprocess.Dynamismisalsomucheasier
49
tomanageifchangemanagementispartofasystemmodel.Undofacilitiescanremove
changesthatpropagateinanundesirableway,andqueryfacilitiescanhelpausertofind
thosechangesthataffectaproblematicregionoftheshareddata.Thenotionofdynamic
changeismoreinclusivethaninsertanddelete(andevenmoveandcopy).Foritsgenerali-
zations,thenotionoffrozenchangesisessentiallyuselessforanythingmorethanversion-
completeness.
ForsymmetryandcompletenessIalsocategorizefrozenversionsoftheexamplesofdy-
namicoperationsinthesamewayastheirdynamicversions.Onereasonisthatitissome-
timesnecessarytosimulatetheeffectsofdynamicoperationsinasystemthatonlyhasdi-
rectsupportforfrozenoperations.Forinstance,asmartclientofarepositorysupporting
onlyfrozenoperationscouldsupportdynamicoperationsbyannotatingtherepository’sfro-
zenoperationswiththedynamicoperationsfromwhichtheyarefrozen.Theclientcould
performmergesandotheroperationsintermsoftheirdynamicdefinitionsonrequest,but
onlythefrozenoperationswouldbestoredontheserverandavailabletoothers.Suchaso-
lutionisnotchange-completeontheserverside,butcanbechange-completeattheclient
side.Therearepracticalobstaclestosuchastrategy,asalargenumberofstaticoperations
maybeneededtostaticallyrecordtheeffectsofadynamicoperation.
ContentDependent
Content
Independent
Permutational

LimitedScope GlobalScope
Static
Operations
Insert,Delete
[essential]
FrozenMove,FrozenCopy,
FrozenTranspose
[usefultooptimizespacein
version-completesystems]
FrozenSort,FrozenFilter
[rarelyuseful,evenfor
version-completeness]
FrozenGlobalChange,Fro-
zenSpellingCorrection
[veryrarelyuseful,evenfor
version-completeness]
Dynamic
Operations
Multi-context
Insert,Multi-
contextdelete
[essential]
Move,Clone/Copy,Transpose
[widelyusedineditingsys-
tems]
Sort,Filter(arbitrarylocal
constraints)
[notcommonlyprovided]
GlobalChange,SpellingVali-
dation(arbitraryglobal
constraints)
[notcommonlyprovided]
T T T Ta a a ab b b b lll le e e e 2222....1111:::: TTTTaaaaxxxxoooonnnnoooommmmyyyy ooooffff ooooppppeeeerrrraaaattttiiiioooonnnnssss
Previous Page Next Page