您好,欢迎访问三七文档
D:ALANGUAGEFRAMEWORKFORDISTRIBUTEDPROGRAMMINGAThesisPresentedtotheFacultyoftheGraduateSchooloftheCollegeofComputerScienceofNortheasternUniversityinPartialFulfillmentoftheRequirementsfortheDegreeofDoctorofPhilosophybyCristinaIsabelVideiraLopesNovember1997ii©1996,1997XEROXCorporation.Allrightsreserved.iiiTomymotherandthememoryofmyfather.ivvAbstractTwoofthemostimportantissuesindistributedsystemsarethesynchronizationofconcurrentthreadsandtheapplication-leveldatatransfersbetweenexecutionspaces.Atthedesignlevel,ad-dressingtheseissuestypicallyrequiresanalyzingthecomponentsunderadifferentperspectivethanisrequiredtoanalyzethefunctionality.Veryoften,italsoinvolvesanalyzingseveralcomponentsatthesametime,becauseofthewaythosetwoissuescross-cuttheunitsoffunctionality.Attheimplementationlevel,existingprogramminglanguagesfailtoprovideadequatesupportforpro-grammingintermsofthesedifferentandcross-cuttingperspectives.Theresultisthatthepro-grammingofsynchronizationandremotedatatransfersendsupbeingtangledthroughoutthecom-ponentscodeinmoreorlessarbitraryways.ThisthesispresentsalanguageframeworkcalledDthatuntanglestheimplementationofsyn-chronizationschemesandremotedatatransfersfromtheimplementationofthecomponents.IntheDframeworktherearethreekindsofmodules:(1)classes,whichareusedtoimplementfunctionalcomponents,andareclearofcodedealingwiththeaspects;(2)coordinators,whichconcentratethecodefordealingwiththethreadsynchronizationaspect;and(3)portalswhichconcentratethecodefordealingwiththeaspectofapplication-leveldatatransfersoverremotemethodinvocations.Tosupportthisseparation,Dprovidestwoaspect-specificlanguages:COOL,forprogrammingthecoordinators,andRIDL,forprogrammingtheportals.COOLandRIDLweredesignedtoad-dressthespecificneedsofthetwokindsofaspects.COOLandRIDLcanbeintegratedwithex-istingobject-orientedlanguageslikeJava,withlittleornomodificationstothatlanguage.COOL’scoordinatorsandRIDL’sportalscomposewiththeclassesthroughtheclasses’“aspectinterfaces.”Aspectinterfacesarequitedifferentthannormalclientinterfacesbuthavesomeoftheflavorofspecializationinterfaces.Dleadstoprogramswhosemodulesaremorefocusedandwheretheseparationofconcernsismoreclearthanitwouldbeusingtraditionalobject-orientedlanguages.Often,Dprogramsaresmalleraswell.Dprogramscanbeefficient─theperformancepenaltyoftheframeworkisverylow.Inalpha-userexperiments,programmersreportednotonlythattheyunderstoodtheaspectinterfacesandtheaspectlanguageswell,butalsothat,havingclasses,coordinatorsandportals,helpedthemtofocusondifferentissuesatdifferenttimes,andthatthiswasofgreathelpinthedevelopmentofapplications.viviiAcknowledgmentsThisworkwouldnothavebeenpossiblewithouttheguidanceandfriendshipofmytwoadvisors,GregorKiczalesandKarlLieberherr.Theygavemethefreedomandthemeanstomaturemyideaswhilealwayspointingmeintherightdirection.Karl’spersistentsearchforsimilaritiestaughtmethatalotofgoodideascomefromsimplyconnectingunlikelypiecesofwork.Gregor’sprofoundunderstandingofscience,engineeringandhumannaturemakeshimauniqueMasterthat,undoubt-edly,willbethestandardtowhichIwillalwaysstrive.Furthermore,inarrangingallthedetailsofmyclosecollaborationwiththeAOPgroupatXeroxPARCduringthelasttwoyears,theymadetheimprobableactuallyhappen.ToGregorandKarl,mydeepestgratitude.Ihavealsobeenfortunateinthatallmembersofmyproposalandthesiscommitteegavemecon-tinuousfeedbackduringthewritingofthisdissertation.FromMitchWand,BoazPatt-Shamirand,earlier,fromWillClinger,Igotpreciouscommentsthatgreatlyimprovedthequalityofmythesis.Mitch’smessagesinmanyemaildiscussionsthatwentonbetweenPARCandCCSwerealwayssharpandinspiring.TheAOPgroupatPARCcontributedtothedevelopmentofthisworkinallpossibleways.JohnLamping’sintellectualbrillianceandindestructiblepositiveattitudecontributeddirectlytoclarify-ingmanypartsofD’ssemanticsandimplementation,aswellasindirectlytoshapemyattitudetowardsmyownandotherpeople’swork.ThemanydiscussionswithAnuragMendhekarabouttheformalsemanticsofprogramminglanguagesweretheclosestIhavebeentothatpartofCom-puterScience.AnuragandJean-MarcLoingtierwerethetwopeoplethatinitiallytookmyspecifi-cationsofD,myprototypeimplementationandmyinformalexplanationsandimplementedaus-ableversionoftheframework.Later,John,GregorandVenkateshChoppellajoinedtheimple-mentationeffort.WhileIwasbusyfinishingthedissertation,thewholeteamproducedashippablelanguageframeworkthatisgoingtobeinalpha-useforthenextfewmonths.GailMurphycon-ductedthesummerexperimentandgavemeinvaluablefeedbackonchapter5.Imustalsoac-knowledgeJohnIrwinandChrisMaeda,twoformermembersoftheAOPgroup,who,althoughnotdirectlyinvolvedintheDproject,contributedtomanyinterestingdiscussions.Lastbutnotleast,thefoursummerstudents,BethSeamans,TatianaShpeisman,MarkMarchukovandJaredSmith-MickelsondidafantasticjobinwritingapplicationsinDJavawhenitwasstillanexperi-mentalprogramminglanguageenvironment.AlsoatPARC,theEmbeddedComputationArea,ofwhichtheAOPgroupisonlyonepart,pro-videdmeahighlystimulatingworkingenvironment,wheretheconversationsflewfreelyfromob-ject-orientedlanguagestomicro-electromechanicalsyste
本文标题:D A LANGUAGE FRAMEWORK FOR DISTRIBUTED PROGRAMMING
链接地址:https://www.777doc.com/doc-4474000 .html