40
applicationsmanipulateeditinghistories,asinTimewarp(Edwards1997;EdwardsandMynat
1997),usuallyaddingneweditingoperationstoaparticularhistory(andthusupdatingthe
history),sometimesremovingchangesfromthathistory(andundoingpreviouslydoneop-
erations,orotherwiseadjustingorexaminingitsstructure(revealingtheactionsthathave
affectedit,andmergingdivergentstates).Althoughhistoriesmayhavedifferentforms,each
historydefinesastateofthedatastructure.Dataissharedbysharinghistories,and
concurrencyiscontrolledbymanagingthedifferencesbetweenhistories(asdeterminedby
thechangesthatbelongtothem).
Iwillconcentrateonthelogicalandformalproblemsinvolvedinimplementingsystems
thattreatchangesasfirst-classobjects.Inpresentingthiskindofcapability,Timewarpap-
pealstothenotionoftimetravelandquantumuncertaintyasaguidetotheconcurrency
modelanditsuserinterface.PalimpsestinsteadappealstotheCopenhagen,or“multiple
worlds”interpretationofquantummechanics.Historiesexistonlyastheyareexplicitlycon-
structedbyanapplication,andmanyalternatehistoriesarepossible,givenasetofopera-
tionsthatapplytothesamedata.Applicationsmaychoosetoconstructlinear,singlestate,
branchingorgeneralizedacyclichistories.Anysetofchangesdefinesahostofpossibleal-
ternativestatesoftheshareddata,dependingonexactlyhowthechangesarecombinedand
limitedonlybylogicalconstraintsastowhatcombinationsaremeaningful.Onlystatesthat
“cometoconsciousness”bybeinginstantiatedbyanapplicationareactuallyrealized,even
temporarily.Themanynever-instantiatedstatesareimportant,however.Likeahaloofvir-
tualparticles,theyrepresentauthorialoptionsforrevisionsnevermade.Thesizeofthisvir-
tualstatespaceessentiallydeterminestheflexibilityofachange-orientedconcurrencysys-
tem,sinceitisexactlythissetofpotentialstatesthatdetermineswhatoptionsforresolving
conflictsareavailable,eachlegalchoicerepresentsapossibilitythatmightbeusefulinsome
situation.
applicationsmanipulateeditinghistories,asinTimewarp(Edwards1997;EdwardsandMynat
1997),usuallyaddingneweditingoperationstoaparticularhistory(andthusupdatingthe
history),sometimesremovingchangesfromthathistory(andundoingpreviouslydoneop-
erations,orotherwiseadjustingorexaminingitsstructure(revealingtheactionsthathave
affectedit,andmergingdivergentstates).Althoughhistoriesmayhavedifferentforms,each
historydefinesastateofthedatastructure.Dataissharedbysharinghistories,and
concurrencyiscontrolledbymanagingthedifferencesbetweenhistories(asdeterminedby
thechangesthatbelongtothem).
Iwillconcentrateonthelogicalandformalproblemsinvolvedinimplementingsystems
thattreatchangesasfirst-classobjects.Inpresentingthiskindofcapability,Timewarpap-
pealstothenotionoftimetravelandquantumuncertaintyasaguidetotheconcurrency
modelanditsuserinterface.PalimpsestinsteadappealstotheCopenhagen,or“multiple
worlds”interpretationofquantummechanics.Historiesexistonlyastheyareexplicitlycon-
structedbyanapplication,andmanyalternatehistoriesarepossible,givenasetofopera-
tionsthatapplytothesamedata.Applicationsmaychoosetoconstructlinear,singlestate,
branchingorgeneralizedacyclichistories.Anysetofchangesdefinesahostofpossibleal-
ternativestatesoftheshareddata,dependingonexactlyhowthechangesarecombinedand
limitedonlybylogicalconstraintsastowhatcombinationsaremeaningful.Onlystatesthat
“cometoconsciousness”bybeinginstantiatedbyanapplicationareactuallyrealized,even
temporarily.Themanynever-instantiatedstatesareimportant,however.Likeahaloofvir-
tualparticles,theyrepresentauthorialoptionsforrevisionsnevermade.Thesizeofthisvir-
tualstatespaceessentiallydeterminestheflexibilityofachange-orientedconcurrencysys-
tem,sinceitisexactlythissetofpotentialstatesthatdetermineswhatoptionsforresolving
conflictsareavailable,eachlegalchoicerepresentsapossibilitythatmightbeusefulinsome
situation.