52
2.7 Summary
Ihavepresentedaroughtaxonomyofthetypesofchangesthatachange-oriented
concurrencycontrolsystemmightmanipulate.Itintroducesanew,andimportantdistinc-
tionbetweenstaticanddynamicoperations,andanewnotionofchange-completeness.Dy-
namicoperationsreallygainagreatdealoftheirimportancefromthenotionofchange-
completeness.
3
Palimpsestprovidesausefulsetofdynamicpermutationaloperations(spe-
cificallymoveandcopyinadditiontoinsertanddelete).Theseoperationsoperateinthe
contextofasimplecompositestructure(thesequence)underoperationswhosepotential
interactionsarediscussedinChapter3.

3
Curiously,mypathwentinthereversedirection:inexploringtheconsequencesoftryingto
reallyhandledynamicoperationsIdiscoveredtheattractivefeaturespossibleonlyinachange-
completeeditingsystem.Atthatpoint,Irealizedthattheconceptofdynamisminoperationsisareal
unacknowledgedfactorinoperation-basedsystems.Onefactorthatwillonlybecomefullyclearin
Chapter3ishowtocontroltherepresentationofchangessothatthedynamicnatureofoperational
effectsdoesn’trequirecomplexdynamicupdatesofthe representationofachange,suchasisusedin
anoperationaltransformationsystem.
Chapter3: OperationsandConflictsinSequences
ThischapterexaminesPalimpsest’sabstractdatastructure,thesequence,presentstheset
ofoperationsthatIhaveformalizedandimplementedinPalimpsest,andexaminesthekey
issuesofoperationinteractionthatarisewhenapplyingchange-basedconcurrencycontrol.
Intheexamplesinthischapter,Ipresentsequencesfromthepointofviewoftexteditors.
Fortextediting,sequencesarefundamental,suitableformodelingawordprocessingdocu-
mentorothertextfile,whethertreatedasasequenceoflines,ofcharacters,ofcharacters
andformattingcodesorhierarchicallynested(themselvessequential)containers.Otherrep-
resentationsmayaugment,buttheydonotchangetext’sfundamentallysequentialnature.
4
Iwilluseargumentsaboutdesirabletexteditorbehaviorandimplementationtradeoffs
whenchoosingdefaultpolicies,andwhenforcedtochoosebetweenincompatibleoptionsfor
thedatastructuremodel.Thisislessapplication-specificthanitmayseembecausetheim-
plementationoftexteditorsmakesextremelycomplexdemandsonasequenceimplementa-
tion,bothintermsoftheoperationspermittedandintermsofthelevelofinteractiveper-
formancerequired.Adecenttexteditorrequiresasupersetofthesequenceoperations
demandedbymostapplications.Thepurposeofthischapteristoexaminesequenceediting

4
Oneofthegoalsofthisworkistoenablesophisticatedhypertextfunctionality,likefine-grained
anchortracking.Giventhat,thecommentsaboutthe“sequentialnatureoftext”mayseemtoviolate
theexpectationsofhypertextsystems,devotedastheyaretoenablingnon-sequentialpresentation
andnavigationofdata.Theanswertothiscontradictionisthatthenon-sequentialnatureofhyper-
textisatamacrolevel,whilethefundamentalsequentialityoftextoccursatthemicro-levelofwords
andletters.Anagramsmaybeamusing,buttheyarenotawaytoenhanceunderstanding!Underlying
anykindofhypertextsystemmustbesomesequencemanagementtohandlethewordsofthehyper-
documentitself.
Previous Page Next Page