37
sultshouldbechosenifpossible,evenifitisunlikelytobesensible,althoughcases
whereerrorislikelyshouldbedetectableaspotentialconsistencyfailures.
Chapter2:TheChange-OrientedPerspectiveonCollabora-
tiveEditing
Thischapterpresentsaparticularperspectiveonconcurrencycontrolanddivergence
managementandexamineshowitcanbeintegratedintocollaborativesystems.Idefine,for
thepurposesofthisdissertation,themeaningof“changeorientation”andtheterminologyI
useinpresentingit.ThenIdiscusssomeofthereasonswhychange-orientedapproachesare
attractive,andanalyzedifferentwaysofconceptualizingwhatkindsofchangeschange-
orientedsystemshandle.Thischaracterizationwillshowthatrepresentationalpowerfor
change-orientedsystemsismorecomplexthanitmayappear.Somewaysofdealingwith
changesthatarelogicallysufficienttorepresentstatesofadatastructureturnouttobeless
powerfulatrepresentingalternativeversionsofthatdatastructure.Thisanalysiswillpoint
thewaytomorepowerfulrepresentationsofoperationsondata.
ThetermChange-OrientedVersioninghasbeenusedinsoftwareengineeringtodescribe
thetrackingofindividualoperationsasawayofmanagingversionsandfeatures(Lie,
Conradietal.1989;Munch1993;ZellerandSnelting1995).AsIampresentingadifferent,
thoughrelatedapproach,Iusetheslightlydifferenttermchange-orientedconcurrencycon-
trol.Thisdenotesthetrackingofindividualchangeoperationsonshareddatastructuresasa
waytoaddressconcurrencyandconsistencyissues.Weshallbeexaminingsystemsthattreat
changesasfirstclassobjects,sothatusersofapplicationsandimplementersofapplications
willbothhaveanaturalmodelforhandlingconcurrentupdates.Whileversionsandsaved
statesareclearlyimportant,theyarenotprimaryinthesamewayastheactualchanges
madeinadocument.Savedstatesaretime-basedsnapshotsofanactivityinprocess,butthe
actualactionstakenareasclosetothesubstanceofanactivityasonecangetinanapplica-
Previous Page Next Page

Extracted Text (may have errors)

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.

Help

loading