148
insupportingbothstylesofwork.Thearchitectureallowsforawidevarietyofsynchronous
andasynchronouspoliciesbytakingadvantageofthechange-orientedmodeltodecouple
applicationoperationsfromdistributionandsynchronizationissues.
Requirement3advocatessupportformultipleandsingle-userundo.Themodeleasilyen-
compassesthedescriptionofveryflexibleandgeneralundosupport,andwesawalgorithms
thatenableundo(andre-do)toworkefficiently,aswellasanarchitecturetosupportit.The
specialconsistencyproblemswithmulti-userundoareactuallyobviatedbythestructureof
themodelitself.
Requirement4advocatesversionmanagementforfullygeneralversiongraphs.Chapter5
showedthatsuchgraphsareeasilymodeledinPalimpsest,includingsomeformsofversion
graphthataredifficultorimpossibleforversion-completesystemsthatarenotalsochange-
complete.
Requirement5advocatesthemaintenanceofhypertextlinkseveninamulti-user,multi-
versioneditingcontext.ThemodeldirectlysupportsthisbecausetheP-sequenceaddress
structureenablesmakespersistentselectionmanagementassimpleasstoringthePalimpsest
addressesoftherangeinquestion.Palimpsestcomparisonfacilitiesenablethefine-grained
trackingofpersistentselectionsacrossupdates.
Requirement6suggeststhatawidevarietyofdatastructuresshouldbesupported.The
Palimpsestmodelprovidesonlyasequencedatatype.Thisdatatype,however,isoneofthe
mostpowerfulandgeneraldatatypesincommonuse,andoneontopofwhichavarietyof
structurescanbelayered.
Requirement7isasystemrequirementthatanapplicationshouldbeabletocontrolits
owndataconsistencyparameters.Themodelcandetect(andautomaticallyresolve)certain
consistencyproblems.Thearchitectureprovidesmaintainstheinformationrequiredforap-
plicationstomonitoroperationsandtosignalapplicationinconsistencies.Changesthat
149
causeinconsistenciescanberemoved,savedforlaterresolution,orevenignoredindefi-
nitely.
Requirement8statestheimportanceofclearanddefinitesemanticsforinconsistencyin
thepresenceofasynchronyanddivergence.Palimpsestfullymeetsthisrequirement,pro-
vidingmethodsfortheautomaticresolutionofmanyconsistencyproblems,whichtosome
extentlimitsitsabilitytomeetrequirement7.
Mergerequirement1specifiesthata“reasonable”changemodelisimportant.Theopera-
tionsofinsert,deleteandmoveareverywellknown(closetouniversal).Thedynamiccopy
operationismoreunusual,althoughithasobviousapplicationstoboilerplatetextindocu-
ments,quotationinmessagingsystems,andthelike.Themoreusualstaticcopyoperationis
adequatelymodeledbyinsert.Dynamiccopyhasbeenincludedbecauseofitsusefulnessin
specialsituations,itsclosesimilaritytomove,andforthesakeofcompleteness.
Mergerequirement2isthatuseroperationsshouldbereflectedinthedatamodel.Move
andcopycertainlycorrespondtocommonauthorialactions,andinthatsenserepresenta
goodfittoauser’sintentionsinediting.However,itcouldalsobearguedthatthePalimp-
sestmodeldoesnotinfactrepresentuseractionsdirectly,sincemosteditorsusesomevaria-
tionofthecutandpasteparadigm.APalimpsestmovecorrespondstoacut/pastepair,nota
singleuseraction.Interfaceactionslikedraganddrop,whichdirectlyrepresentamoveop-
eration,arewidelybutnotyetuniversallyavailable.Worse,thedraganddropinterfaceis
frequentlyquiteinconvenientinlargerdocuments,becausesourceanddestinationdonotfit
intoasingleeditorview.Thisisacasewherethebestresultintermsofmergerequiresse-
manticinformation(whethertheuserintendedtomovetext)whichisobscured(thoughnot
renderedinaccessible)bytheinterfacetechnologyincommonuse.
Mergerequirement3statesthatmoveandcopyshouldbedirectlysupported,asaconse-
quenceof1and2.Themodelobviouslymeetsthisrequirement.JustasthePalimpsest
Previous Page Next Page