109
notionofsequencesofuseractionsisnotmodeled.Itdoesprovideametafacilitywithwhich
alargenumberofdifferentundostrategiescanbebuilt.In(AbowdandDix1992),the
authorsnotethatsomeimplementationsofundo,inordertomeetuserexpectations,actu-
allycreateandexecutenewactionsthatcreateinterfacesstatesthatauserwillperceiveas
the“undoing”ofaparticulareffect.WhilethePalimpsestmodelprovidesawaytoexamine
theconsequencesofagivenoperation’sneverhavingoccurred,thesameformof“pseudo-
inverse”strategyisstillavailable.Forsomeapplicationsitmaywellbethatdeletingthetext
createdbyanunwantedinsertionisbetterthanundoingtheinsertion(alongwithwanted
changesthatarecausallygreater).ThePalimpsestmodelofferspowerfulbuilt-inundoop-
tionsbutdoesnotinitselfprescribeapolicyforapplicationundofacilities.
5.4 Summary
InthissectionweexaminedsomeissuesintheapplicationofthePalimpsestmodelto
versionmanagementandundo.WereviewedtheimplicationsofPalimpsest-stylechangeori-
entededitingfordistributedsystemsimplementation,andtheutilityofpersistentaddress-
inginhandlingfine-grainedlinkanchormaintenanceforhypertextsystems.
Chapter6:AlgorithmsforP-sequences
Thischapterdiscussesalgorithmsforchange-orientedmanagementofsequences.Wewill
considertheissuefromadatastructureperspective,examiningwaystoretainadatabaseof
changes,andproducetheresultsofapplyingsubsetsofthosechanges.Thischapterproceeds
incrementallytoafullsolution:firstpresentingalgorithmssufficientformanagingchange
setsincludingonlyinsertanddeleteoperations,andthenextendingthemtohandlemove
andcopyoperations.Thefirststagewillbeginwithanexaminationofthealgorithmsfor
VTMLeditors,andthencontinuewithanexaminationofhowtoimplementthemorecom-
plexmodelprovidedbyPalimpsest.VTMLisachange-orienteddataformattohelpsupport
collaborationovertheWorldWideWeb,whichprovidesaninterestingcontrasttoPalimpsest.
6.1 TheVTMLmodel
ThissectiongivesabriefdescriptionofVTML2.0,(theVersionedTextMarkupLanguage)
asystemsupportingchange-orientedconcurrencycontrolforwebapplications.Theinitial
descriptionofVTML(VTML1.0)waspresentedin(VitaliandDurand1995).VTMLisafile
formatfortheinterchangeofmultiplerevisionsofdocuments,andisintendedasabuilding
blockforprotocolsforcollaborationovertheweb.AVTMLdocumentcanrepresentasetof
updatestobeappliedtoanotherVTMLdocument,oritcanbeaself-containedrepresenta-
tionofmultipleversionsofadocument.VTMLisstillhasversionswhichuseapurebranch-
ingscheme.Italsosupportsadditionalchange-orientedfeatures,whichstoreinformation
abouttheindividualinsertionanddeletionoperationsthatmakeupaversion.Versionscan
explicitlyaddin,orremoveparticularchangesthatwerecreatedinotherversions.
Previous Page Next Page