151
wouldleavesomechangescausallydisconnected;suchaproblemwillbedetectedonreceipt
ofthechangewhosedestinationismissing.Adestinationcollisioncouldoccurastheresult
ofamergeofchangescreatedatdisconnectedsites,butisalsoeasilydetectedatthetime
thattheconflictingchangeisaddedtothelocalchangestore.Allothercasesthatmightbe
interpretedasconflictshavePalimpsest-definedresolutions.Detectionisasimplematterof
checkingnewchangesforcollisionsorbadreferenceswhentheyarrive.
Requirement8asksforaguaranteeofsensibleresults.Thisisthelowestpriorityre-
quirementbecauseitisobviouslyimpossibletomeetfully.Asanyonewhohasevercollabo-
ratedonadocumentwouldagree,someconflictsarenotpossibleevenforahumantodisen-
tangle.ThePalimpsestoperationshavebeencarefullydesignedtointeractinthemostuseful
possiblefashion,butnomachine-generatedanswertoconcurrencyproblemswillbeperfect.
Sometasksremaintothehumansengagedinanycollaboration.
Inconclusion,Palimpsestmeetsalmostallofthegoalsgiveninchapterone.Wherea
goalisnotcompletelymet,Palimpsestprovidesfeaturesthatleastpartiallyaddressit.The
modelitselfisbasedonanewandthoroughanalysisofsequenceeditingandchangecon-
flictsincludingtheoperationsmoveandcopy,notpreviouslyconsidered.
8.2 Conclusion
TheoverallapproachofthePalimpsestmodelistoturnatrickyalgorithmicandsynchro-
nizationproblemintoacomplex,butnonethelessrelativelystandarddatastructureproblem.
Thisisaccomplishedbytransformingatemporalproblemintoanatemporalone.Thekeyis
torepresentcompletehistoriesinawaythatenablesalternatehistoriesandtheirresultsto
bereliablymanipulatedandexamined.Thistransformationhasseveralinterestingsideef-
fects.Itprovidesimmutablerepresentationsforoperationsonpotentiallyverydifferent
statesofasharedobject,anditprovidesaglobaladdressspacethatisrobustacrosschanges
intheobjectinquestion.
152
Arealpalimpsestisadocumentwhosecarefulexaminationmayrevealanewwindowon
thepast,showingittobedifferentfromwhatwethoughtittobe.APalimpsestdatabaseis
arepresentationofadocumentthatallowstheexplorationandmanipulationofthealter-
natepaststhatmighthavebeen,ifonlydifferentdecisionshadbeenmade.
Previous Page Next Page