17
wouldstillhavetoseriallyaccessthesamecomputerandvectorgraphicsdisplay,didnot
limittheeditorialcontrolsandfacilitiesoffered(althoughdisplaysizeandqualitycertainly
did).
PEDIT(Kruskal1984)wasanexperimentalprogrameditorthatrecordedalleditingopera-
tionsasconditionalcompilationinstructions.Changescouldbegroupedbymeansofat-
tachedbooleanexpressions,andadesiredstateofaprogramfileobtainedbysettingthe
appropriatecompilationflags.ThissystemworkedwiththeCpreprocessor,andallowedpro-
gramoptionstobecreatedbyappropriatelymanagededitingsessions.Anotherapproachto
change-orientedversioningwasproposedin(Lie,Conradietal.1989),andthislineofre-
searcheventuallyissuedinthecreationoftwoiterationsoftheEPOSsoftwareengineering
database.Thissystem(Munch1993)alsousedBooleanoperationstocontroltheselectionof
featuresinsoftwaresystems.UnlikePEDITitwasbasedonadatabaseengineandnotthe
programminglanguagepreprocessor.MuchoftheEposworkwasdevotedtoformalizingthe
softwarefeaturemodelandautomaticcompatibilitycheckingoffeaturesetsbasedonex-
plicitdeclarations.EPOS’sbasicideasofnon-historicalstatetrackingandchange-basedver-
sionmanagementaredirectlyapplicabletoauthoring,butthedetailsofitslogically-based
predicatesforvariantselectionarenot.
1.5 Distributionandarchitectureissues
Anyattempttoseparatedatadistributionfromconcurrencyisalittleartificial,sincethe
numberoflocationswheredataisstoredhascriticalimplicationsforthechoiceofalgo-
rithmsforconflictdetectionandresolution.Thefactthatthebestimplementationstrategies
varydoesnotpreventfullydistributeddatabasesfromofferingserializableeditinghistories,
nordoestheuseofacentralserverpreventanapplicationfromusingasynchronization
modelbasedonnon-serializableeditinghistories.Manydistributeddatabasesystems
(CoulourisandDollimore1988)provideagloballyconsistentstatebasedonaserializable
18
executionhistory,whilemanyrevisioncontrolsystemsallowmultipleversionsandbranch-
ingexecutionhistories,eventhoughtheyareimplementedbyacentralrepository.
Theextentandvisibilityofdatareplicationisanimportantarchitecturaldifference
amongcollaborationsystems.Decisionsaboutdatareplicationexertpressureontheformsof
collaborationthatwillbepermitted,sincethedatareplicationarchitecturewillmakesome
operationseasierandsomeharder.Furthermore,theperformanceandavailabilitycharacter-
isticsofsomearchitecturesaffectthekindofusersupportthatcaneffectivelybeoffered.
Atoneextremearesystemsthatreplicatenodata.Suchasystemcanuseseveralpossible
architectures.Aserver-basedsystemisrelativelysimpletoimplement,andcanprovideany
formofconsistency-guaranteethatisdesired,butitalsoimpliessomeseverepracticallimi-
tations.Aserver-basedapproachonlyworkswhenthenetworkisreliablyavailablemostof
thetime,sinceallsynchronizationoperationsmustusethenetworktoaccesstheserver.
Networkdelayscanaffecttheinteractivityoftheresponse,ascantheconcentratedwork-
loadofallusers,ifthetransactionrateishigh.
Manyobject-orienteddatadistributionstrategiesusesomeformofobjectmigrationor
remoteprocedurecall,sothatobjectidentityisnevercompromisedbythecreationofrepli-
cas.Objectsmustbemovedacrossthenetwork,on-demand,tobeupdated,oraremotecall
mustbeforwardedtowhateverCPUtheobjectresideson.Thisisthemosttransparentmodel
foranapplicationprogrammer,sincetheunderlyingobjectsystemmanagesallthe
concurrencydetailsautomatically.Thisapproach,however,hasmanyofthesamedrawbacks
astheclient/serverarchitecturewhenusedasamethodofcollaborationsupport,sincepo-
tentialwriteconflictsonthesameobjectarerelativelylikelyincollaborativeediting.Dis-
connectedoperationisalsoparticularlydifficult,asrelativelyfine-grainedobjectmodels
maybehardtopartitionfordisconnectedoperations.Whileobjectreplicascanbeusedto
provideread-onlyaccesstounavailableobjects,theneedforapplicationawarenessof
concurrencyissuesanddivergentstatesresurfaces.
Previous Page Next Page