36
2. Useractionsshouldbereflected.Theoperationsmadevisibletoauserbymergeand
undofacilitiesshouldbeoperationsactuallyperformed.Boththisandthepreceding
requirementarebothjustificationsforthefollowingrequirement.
3. Moveandcopyshouldbesupported.Ifwelimitthekindsofchangesallowedbythe
model,wearelikelytofailthereasonabilityrequirement.Moveandcopyareex-
tremelycommonoperationsandtheyshouldbefirst-classcitizens.Trackingmove
andcopyallowsdatasharingtobeusedindeterminingreasonablemergeresults(as
whenonechangeeditsdata,andanothermovesorcopiesit).
4. Determinacyofmergeresults.Itisimportantthatthesystemhaveaconsistent,well-
definedmodelfordeterminingtheresultofinteractingchangesinamergedgroupof
changes.Practicallyspeaking,editingconflictsshouldberesolvablesimplybyun-
doingthechangethatcreatesaconflict.Thedefinitionofwhatconflictsareresolved
byuserorthesystemremainsanapplicationfunction.
5. Localtrackingofchanges.Itshouldbeeasyforthesystemtoprovideinformationon
thechangesthataffectanyparticularpartsofthesharedobject.
6. Commutativityofchanges.Inordertosupportthefullflexibilityofmerging,changes
mustnothaveinherentorderingrequirementswithrespecttoeachother.Changes
shouldhavetwostates:activeandinactive.Whereorderingisunavoidableweprefer
tohavethesystemdoit,preservingthesimpleusermodelofmerge,ratherthan
addingtherelativeorderingofmanyasynchronouslymadechangestotheuser’s
collaborationmanagementworkload.
7. Simpleconflicttests.Somechangescanconflictwithotherchanges.Detectionof
suchconflictsshouldinvolvesimpletests,inordertoenablequickconflictdetection
andacceptableimplementationcost.
8. Guaranteeofsensibleresults.Givenasystem’sdeterministicanswerforacombination
ofchanges,thatresultshouldbeassensibleaspossible.However,adeterministicre-
37
sultshouldbechosenifpossible,evenifitisunlikelytobesensible,althoughcases
whereerrorislikelyshouldbedetectableaspotentialconsistencyfailures.
Previous Page Next Page