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