D A LANGUAGE FRAMEWORK FOR DISTRIBUTED PROGRAMMING

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

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

1 / 295
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功