8
(Dourish1996)givesapplicationauthorsaccesstoarangeofinteractionstylesfromfully
synchronoustofullyasynchronoususingacommontoolkit.Inordertosupportmovement
fromsynchronoustoasynchronouswork,Prosperoallowsconsistencyfailurestooccurand
helpstheapplicationtohandlethem.InProspero,applicationsareimplementedbyadding
codetoaclassframework,andsuchfailuresarehandledbyoverridingupdatemethodsin
theclassesprovided(whichincludeasharabletextbuffer).Thisabstractionpaysoffbyal-
lowingtheimplementationofgeneralizedundo,versionmanagement,versionmerge,and
thepersistentaddressingofdataelements.Prospero’sapproachisverypromising,sinceit
actuallydoesintegrateeditorialworkcleanlyalongtheaxisfromsynchronoustoasynchro-
nouswork.
ThelimitationsofProsperoasageneraltheoreticalmodelstemfromitsfundamentally
operationalnature.Consistencyisactivelycheckedbycodethatcanthentakeanexplicit
actiontoresolvetheconflict.Editingchangesandupdateoperationsthemselvesarerepre-
senteddirectlybycodethatimplementstheirapplication,andanyconflictresolutionpolicy.
Prosperoabstractscommonsharededitingapplicationbehaviorsandprovidesatoolkitof
convenientabstractions,butdoesnotprovideanabstractsemanticsofoperationsandopera-
tionresolution.ThefactthatProspero’soperationalsemanticsarebasedontraditionalcon-
sistencytechniquessuchaslockingalsomakesforsomeproblems,sincetheyoffermuchless
powerinexchangefortheircost,especiallyoncethestrongguaranteesoftraditionallocking
aresoftenedtodeclarationsofprobablebehavior.Thelackofasingleunderlying
concurrencymodelmeansthatreasoningaboutthesemanticsofaProsperoapplicationfun-
damentallyinvolvesreasoningaboutageneralprogram,andnotamorerestricted(declara-
tive)description.
ThePrepeditor(Neuwirth,Kauferetal.1990;Neuwirth,Kauferetal.1994)wasdevel-
opedatCMUasaresearchvehicleforexaminingcollaborativewritingsupporttools.Inaddi-
tiontosystemdevelopment,thePrepgrouphasdoneempiricalresearchontheprocesses
9
involvedindifferentsortsofauthoring.Asanyasynchronouscollaborationsystemmust,
Prepdealswiththeproblemofdivergence.Prepappliesaspecializeddifferencingalgorithm
(Neuwirth,Chandhoketal.1992)thatcanproducereportsaboutthepointsofdivergence
betweenseparatelyediteddocuments.Theiruseofparalleldisplaysprovidesagoodinterface
basisfortheworkofconflictresolution.Theirexperimentalresultshavealsoshownthat
displayingchangesatdifferentlevelsofdetailisacrucialaidforauthors’understandingof
thedifferencesbetweenversions.ThedifferencingalgorithmsappliedbyPreparebasedon
thoseusedbythatstandardUNIX“diff”command,withspecializedmodificationstohandle
alackoffixedlinebreaks,andtoenablereportingatdifferentlevelsofdetail.Basedonthe
changereportsproducedbythealgorithm,Prepallowsachange-by-changemergeofdiffer-
ingversionstocreateanewcoordinatedversion.Thismergeprocessisagainbasedonex-
istingtools,inthiscaseanadaptationoftheUnixprogram“diff3”.
Essentially,thePrepapproachtodivergenceistoadapttheexistingdifferencetech-
niquesdevelopedforsoftwareengineeringtothedifferentproblemofcomparingtexts.This
approachisworkable,buthassomeinherentdrawbacks.Itisnotsuitableforon-linework,
sinceitisbasedonusingwholedocumentstates.Thus,Prepgeneratesdifferencesintwo
separateways,astheresultofacomputationalprocess,andbymonitoringeditingopera-
tions.DivergenceisaccommodatedbytheparalleldocumentfacilitiesofPrep:updatescan
beappliedtoproduceanewstateinanewcolumn.OneverysignificantfactisthatPrepis
abletousetheleveragegainedbydirectlymanipulatingeditingoperations,gainingflexibil-
ityinupdatedistributionaswellasinformativehistoricaldisplaysforco-authors.Thede-
pendenceondiffalgorithmsimpliescertainlimitations,sincetheycanonlyeffectivelyde-
tectcertaintypesofchanges.Inparticular,thedetectionofmovingblocksoftextis
difficult,andbecomesevenmoredifficultiftheblocksarethenfurtherchanged.Therehas
beenrecentprogressinaddressingthisproblem(Chawathe,Rajaramanetal.1996).How-
ever,thesesolutionsarebasedoncomparisonheuristics,ratherthanchangelogs,soeven
Previous Page Next Page