46
particulardatastructure.Evenatthisroughlevelofclassification,differentoperational
definitionshaveverydifferentpropertiesintermsofconflictsandresolutionstrategies.
Someoftheseissueswillbecomecleareveninthecurrentcoarseanalysis,butwewillhave
todelayexaminationofthepolicyquestionsuntilwehaveenoughconcreteinformationto
answerthem.
Theneedsofapplicationsthatrequireonlyversion-completenessarecompletelymetby
thesimplestclassesofoperationdefinitioninthistaxonomy,whiletheotherdefinitions
matchdifferentoperationalcompletenessconditions.BecausethegoalofPalimpsestisto
createusablefacilitiestomanagedivergentflexiblecollaboration,thesub-goalofopera-
tionalcompletenessbecomesveryimportantinitself.Itisworthnotingthatthesetech-
niquestoachieveoperationalcompletenesscanalsobeusedtoachieveadditionalgoalsofa
systemthatonlyrequiresversion-completeness.Forinstance,changehistoriesthatinclude
moveoperationscanbesmallerthananyhistorybuiltonlyfrominsertionanddeletionop-
erations.Ontheotherhand,simplytoachieveversion-completenessinitselfneverrequires
theuseofsuchoperations.
2.5 Dynamicandstaticoperations
Table2.1(page49)summarizesmytaxonomicdivisionofchangesintotypes,depending
onwhethertheyinteractwithotherchanges,andwhatformsofoperationtheyimplement.
Thistaxonomyplacessystemmodelsatdifferentpointsontwoorthogonalaxes.Themost
basicdistinctionbetweenoperationaldefinitionsdividesthesetintotwoclasses:
Staticoperationsdonotinteractwithotheroperationsinanyfundamentalway,sothat
theeffectofanoperationonarangeofdatadoesnotdependontheeffectsofotheropera-
tionsthataffectthatdata.Forinstance,aninsertionalwaysinsertsthesamedataregardless
ofwhatotheroperationsareperformed.Staticoperationdonotdependonthecontentsof
anyportionofasequencefortheireffect,butonlyfortheirlocation.
47
DynamicOperationeffectsdependessentiallyonthestatetowhichtheyareapplied,and
thusdependonwhatotheroperationsareinthehistory.Forinstance,amoveoperationin-
sertsdatadeterminedbythecontentsofanothersubsequence,thesourceofthemove,
whichmaywellbeaffectedbyotheroperations.Thismeansthatdynamicoperationsmay
havecomplexinteractions,especiallywhenhistoriesaresubjectedtooperationssuchas
mergeandundothatcancreatenon-serializablehistories.
Ingeneral,systemshavenotmadeacleardistinctionbetweenthesetypesofoperational
definition.Designersofsourcecodecontrolsystems,andengineeringanddesignsystems
(Katz1990)havegenerallybeeninterestedonlyinversion-completenessandhavenotcon-
sidereddynamicoperationsatall.Operationaltransformationandothercollaborativesys-
tems,sincetheyhavetodefineworkableautomaticmergepolicies,haveoftenaddressed
somelevelofdynamismintheiroperationtypes.Theneedfordynamismisusuallytreated
asaproblemofpreservingtheintentofaneditingoperation.Theemphasisoninsertand
deletehasmeant,however,thatthelevelofdynamismaccommodatedislimitedtothede-
terminationofcorrectlocationsinthesequence.Forsuchsimpleoperations,thedistinction
betweendynamicandstaticoperationsisnotveryrelevant.
Whilethedynamic/staticdistinctionisclear,anadditionalaspectmaynotbeinstantly
obvious.Foreachpossibledynamicoperation,thereisacorrespondingstaticoperationthat
representsa“frozen”formofthedynamicoperation.Forexample,considerthesimplecase
oftwoauthorsasynchronouslycollaboratingonasingledocument.IfauthorAmakesa
changeintheformofadynamicmoveoperationthatmovesaphrasefromoneplacetoan-
other,thiswillhaveoneeffectwhenauthorAexecutesit.Ifatalaterpointthesource
phraseisupdated,saybymergingchangesfromauthorBthatinterpolatenewmaterialinto
thesourceofthemoveoperation,thenthefinalresultwillbedifferentbecausethetext
movedwillbedifferent.Ontheotherhand,afrozenmoveoperationwouldberepresentedin
termsofitsconcreteeffectsasexecutedbyauthorA.InthiscaseauthorB’s changewouldbe
Previous Page Next Page