27
consideredtheusermanagementofsuchconstraintsbytheuseofprotectionmatriceswhich
specifymergepermissionsbasedonthecombinationofchangetypeanduseridentityorrole
inthecollaboration.
Mergingallowsmoreflexibleupdatesincollaborativeworksituationswherechangeswill
bemadesimultaneouslytothesamedataobject.Semanticconsistencycanultimatelyonly
bedeterminedbyaperson,sothatinthegeneralcase,fullyautomaticmergingthatalways
producesthecorrectresultisimpossible.However,automaticmergefacilitiesshouldalsobe
abletopreserveasmuchoftheindividualeditinghistoriesbeingmergedaspossible,sothat
thenumberofsystem-requireduserinterventionscanbekepttoaminimum.Editinghisto-
riesshouldbecorrectedwhenauserneedstomakeanadjustment,whenthemergingsys-
temdeterminesthatitneedsuserinput.Thismeansthatautomaticprocessingmustbesup-
portedbyanyfullygeneralmodelofmerge.
Thiscreatesastrongpressurebothfortheflexibilityandthedeterminacyofanymerge
algorithm.Maximumflexibilityisachievedbyseparatingchecksforprobableeditingcon-
flictsfromtherulesforresolvingeditingoperations.Italsorequirestheoptiontoallow
automaticresolutionofsyntacticconflicts.Forinstance,independentlymadechangescanbe
orderedbyanyconsistenttie-breakingprocedure(perhapsbasedonuniquetimestamps).In
situationslikeinteractiveeditingitmaybemoreimportanttogetadeterministicandun-
ambiguousresult,thantoproducethe“correct”result,especiallyifthatrequiresinterrupt-
ingtheusertoresolveaconflict,orwaitingforthenetworktofinishsomesynchronization
protocol.Inthecaseof“tie-breaking”themostimportantcharacteristicoftheprocedureis
thatitproduceconsistentresultsforindependentapplications,withoutrequiringactive
communicationatthetimeofconflictresolution.
Onerealproblemwithanyformofmergingisthepossibilityofsurprisingresultswhen
operationalconflictsareresolved,orwhenasynchronouslyexecutedoperationsareinte-
gratedintoaneditinghistory.Inthesynchronouseditingcasesomeoftheanomaliesare
28
alreadywelldescribedin(GreenbergandMarwood1994).Whiletheyconcentratedonuser-
interfaceeffectsinsynchronouseditors,exactlythesamekindsofunexpectededitingre-
sultscanoccurwhenasynchronouschangesarecombined.Severalstrategiesmayhelpin
addressingthiskindofproblem:
Trackinguser’sactualchanges(ratherthandeducingthemviaadiff)maymakethere-
sultsofinteractionsclearerbyhavingtheinputtothemergeexactlycorrespondtothe
user’seditingactions,andnotjusttheireffects.Thismeetstheuserneedforthemodel
tooperateonperceptibleobjects.Thechangesactuallymadewheneditingareclearly
accessibletointrospectionbyauthors.
Editinghistoriesthatreflecttheidentityofobjectsastheyareperceivedbyusersoffer
additionalopportunitiesformerging.Iftheidentityofobjectsispreservedwhenthey
aremoved,mergeoperationsarebetterabletopreserveuserintentions.Amotivating
exampleisthatlarge-scaletext-movementoperationslikechangingtheorderofpara-
graphsshouldnotnecessarilyconflictwithinternalchangestothemoveddata,suchas
sentence-levelrewritestotheparagraph.
Localdeterminationofhistoryisatoolthatshouldbeavailabletoauseratalltimes.On
noticingsomethinganomalousinthesharedobject,itshouldbepossibletoseethehis-
toryofchangesthatapplyjustwithinthatregionofthesharedobject.Mergedasynchro-
nouschangehistoriesarelikelytobelargeandcomplex,sothataviewofchangesthat
isoptional,local,andavailableonrequestmaybemoreusefulthanacomplexviewthat
attemptstoshowallchanges.
Givenexactknowledgeofeditingoperationsperformed,andtheabilitytoexaminejust
thosechangesintheexactregionwhereanactualorpotentialconflictoccurred,itiseasyto
offertheuseroptionstocorrectmergeproblems.Thiscanbedoneeitherbytheuseofcol-
laborativeundofacilitiestoremoveanunwantedchangefromthehistory,orsimplybyper-
formingneweditstoimprovetheresult.
Previous Page Next Page