25
quirementandtheneedtobefullyapprisedofanotherapplicationinstance’scurrentstate
toacceptanoperationfromit.
1.8 Generalizedmerge
Akeyfeatureforasynchronouscollaborativeeditorsismergingthechangesmadetothe
sameshareddatabyseparateeditingsessions.Evensoftwareconfigurationmanagementsys-
temssupportmergecapabilities,thoughtheyaregenerallybasedonaprocessthatuses
lock-basedfileaccesstoavoidchangeconflicts.Theneedfortemporarilydivergentediting
historiesexistseveninthiswell-structuredformofcollaboration,whereusersarehighly
motivatedtofollowaformalstructuredprocess.Intheinherentlyless-structuredandcon-
trolledareaoftextediting,theneedtomergepotentiallyincompatiblechangesiseven
greater.Purelysynchronouseditingsystemshavelittleneedtosupportgeneralizedmerge;
whileupdatesfromcollaboratorscanbeconsideredasasingle-changespecialcaseofmerge,
theneedtomergeseveralchangesintoasinglestateatonceisnotessentialtosupportin-
teractiveediting.
Thebiggestproblemwithmergeisthatofconflicts.Independentlymadechangesmay
conflictinseveralsenses.Asyntacticconflictisasituationwhereasystemcannotsatisfyall
thedesiredrequirementsgivenapairofoperations.Forinstance,iftwowordsareinserted
atexactlythesamepositioninasentence,thenthecorrectresultisnotwell-defined.In
somesituationsasystemdeterminedresolutionoftheconflictmightbeacceptable,andin
othersitmightnotbe.Thebestresolutionstrategywillinfactvaryovertime,e.g.anauto-
maticresolutionstrategymightbeidealforaninteractivebrainstormingsessionatthestart
ofaproject,whileevenapotentialconflictmightrequirehumanapprovalinthefinalstages
ofauthoringanimportantdocument.Conflictmanagementpoliciesmayalsovarywithina
document,withsomeregionsbeingmoresensitivetochangethanothers.Syntacticconflicts
26
areinherentlydetectablebyautomaticmeans,sincetheyinvolvetheviolationofsystem-
visibleconstraints.
Semanticconflictsaregenerallynotdetectablebyautomatedmeansbecausetheydepend
cruciallyonhumanknowledgeandhumanintent.Oneexample,alreadymentioned,isthe
simultaneousdetectionofaredundancyinashareddocumentbytwocollaborators.Each
collaboratornotesthattwoparagraphsrepeatthesamematerial,butoneauthordeletesthe
firstredundantinstance,whiletheotherdeletesthesecond.Insuchaninstancethemerged
documentwouldhavenodetectablesyntacticconflict,sinceentirelydifferentparagraphs
weredeletedbythetwoauthors.However,apotentiallyserioussemanticerrorhasbeenin-
troduced,sincepotentiallyimportantinformation(importantenoughthatitwaswrittenout
twice!)hasbeencompletelydeletedfromthedocument.Heuristicsareoftenareasonable
waytodetectprobablesemanticconflictsasanaidtousers.Forinstance,non-conflicting
changesbydifferentpeopleinthesamewordorsentencemayfrequentlyindicateaseman-
ticproblem.
Applicationconflictsareactualorpotentialconflictsthataspecificapplicationmayneed
todetecteventhoughtheyarenotsyntacticconflicts.Onecommonkindofapplication
conflictisdetectedbytheapplicationofasemanticconflictheuristic.Differentlevelsofde-
tectionmaybeappropriateatdifferenttimes,dependingonuserandapplicationtasks,and
thesetypicallyneedtobeunderusercontrol(Neuwirth,Chandhoketal.1992).Inatext
editor,somesuchsituationsshouldprobablyalwaysbeflagged,because,evenwhensyntac-
ticconflictisabsent,semanticconflictislikely.Anotherusewouldbethedetectionofap-
plicationconstraintsthatarespecializedinsomeway.Somedrawingapplicationsimpose
conditionsontheformofthedrawings.Forinstance,acircuitdesignapplicationhasany
numberofspecializedconditionsthatmustbeimposedonaschematicinorderforittobe
legal,andcheckingtheseinvariantswouldbeanimportantpartofmergingchangesinsuch
aneditor.MunsonandDewan(MunsonandDewan1994;MunsonandDewan1996)have
Previous Page Next Page