136
larity.IthenpresentedalgorithmicissuesinimplementingPalimpsest,withaneyetothe
bestpossibleasymptoticcomplexity.
Itisnotclearthattheheavyweightapproachtoimplementationrepresentedbythealgo-
rithmsinthischapterisneededforpracticaluse.Formanyapplications,especiallytexted-
iting,theneedtoproduceawholedocumentinminimaltimeisrare.Themainrequirement
istorefillscreenbuffersofmoderatesizequickly,andtosupportoccasionalrandomaccess.
Furthermore,mosteditingapplicationsinvolvetheincrementaladditionofsmallchanges,
andtheycanuselocalinteractionbufferstosupportdisplayandediting,ratherthanusing
themorecomplexpersistentstoreforinteractiveoperations.
Chapter7:ArchitecturalImplications
Inthischapter,IwillbrieflyconsiderhowthePalimpsestmodelcanbeusedtocreatean
effectivecollaborationarchitecture.Thischapterproposesanarchitecturetotakeadvantage
ofthefacilitiesprovidedbyPalimpsest.Thefundamentalconcernsare:
Globalarchitecture.Palimpsestlendsitselftouseinarchitecturesthatsupporthighly
abstractedinterfacestosystemfacilities.Ingreatpart,thisisduetothede-couplingof
communicationanddistributionissuesfromthemanagementofconsistency.Totakefull
advantageofPalimpsest’srelaxedsynchronizationrequirements,alooselycoupledarchi-
tectureisneeded.
Applicationinterfaceandperformanceissues.Forapplicationdevelopers,thestructureof
thesoftwareinterfaceanditsinteractiveperformanceareamongthemostcriticalissues.
TheadvantagesofaPalimpsest-basedarchitecturemustnotcomeattoohighapricefor
theapplicationprogrammer.Thismeansthatthecomplexityofthemodelmustbehid-
denbehindasimple,convenientinterface.
Communicationissues.Inallcollaborativeapplicationscommunicationisobviouslya
criticalfactor.Muchofthemotivationforthisapproachistheobservationthatmuch
humancollaborationinvolvesadhocandopportunisticschedulingandcontrolofthe
workprocess.Similarly,humancommunicationchannelsarealsochosenopportunisti-
cally.Acollaborationarchitectureshouldbeabletoeasilyaccommodateawidevariety
ofcommunicationchannels,withwidelyvaryingpoliciesandresponsecharacteristics.
7.1 Aframeworkarchitecture
AglobalarchitectureforPalimpsestapplicationsisshowninFigure7.1.Thisshowstwo
kindsofinteractions.Solidarrowsindicatechannelsalongwhichchangeeventsaredis-
patched.Anyeditingoperationthatanapplicationwishestoreflecttothedatamodelisan
Previous Page Next Page