您好,欢迎访问三七文档
A-CalculusBasedApproachforSoftwareCompositionInauguraldissertationderPhilosophisch-naturwissenschaftlichenFakultatderUniversitatBernvorgelegtvonMarkusLumpevonDeutschlandLeiterderArbeit:Prof.Dr.O.Nierstrasz,InstitutfurInformatikundangewandteMathematikA-CalculusBasedApproachforSoftwareCompositionInauguraldissertationderPhilosophisch-naturwissenschaftlichenFakultatderUniversitatBernvorgelegtvonMarkusLumpevonDeutschlandLeiterderArbeit:Prof.Dr.O.Nierstrasz,InstitutfurInformatikundangewandteMathematikVonderPhilosophisch-naturwissenschaftlichenFakultatangenommen.DerDekan:Bern,den21.Januar1999Prof.Dr.A.PnerAbstractPresent-dayapplicationsareincreasinglyrequiredtobeexible,or\openinavarietyofways.Byexibilitywemeanthattheseapplicationshavetobeportable(todierenthardwareandsoftwareplatforms),interoperable(withotherapplications),extendible(tonewfunctionality),congurable(toindividualusers'orclients'needs),andmain-tainable.Thesekindsofexibilityarecurrentlybestsupportedbycomponent-orientedsoftwaretechnology:components,bymeansofabstraction,supportportability,inter-operability,andmaintainability.Extendibilityandcongurabilityaresupportedbydierentformsofbindingtechnology,or\glue:applicationparts,orevenwholeap-plicationscanbecreatedbycomposingsoftwarecomponents;applicationsstayexiblebyallowingcomponentstobereplacedorrecongured,possiblyatruntime.Thisthesisdevelopsaformallanguageforsoftwarecompositionthatisbasedonthe-calculus.Moreprecisely,wepresenttheL-calculus,avariantofthe-calculusinwhichagentscommunicatebypassingextensible,labeledrecords,orso-called\forms,ratherthantuples.Thisapproachmakesitmucheasiertomodelcompositionalab-stractionsthanitispossibleintheplain-calculus,sincethecontentsofcommuni-cationarenowindependentofposition,agentsaremorenaturallypolymorphicsincecommunicationformscanbeeasilyextended,andenvironmentalargumentscanbepassedimplicitly.TheL-calculusisdevelopedinthreestages:(i)weanalysewhetherthe-calculusissuitabletomodelcompositionabstractions,(ii)drivenbytheinsightswegotusingthe-calculus,wedeneanewcalculusthathasbettersupportforsoftwarecomposi-tion(e.g.,providessupportforinherentlyextensiblesoftwareconstruction),and(iii),wedenearst-ordertypesystemwithsubtypepolymorphismandsoundrecordcon-catenationthatallowsustocheckstaticallyanagentsysteminordertopreventtheoccurrencesofrun-timeerrors.WeconcludewithdeningarstJava-basedcompositionsystemandPiccola,aprototypecompositionlanguagebasedontheL-calculus.Thecompositionsys-temprovidessupportforintegratingarbitrarycompositionalabstractionsusingbothPiccolaandstandardbridgingtechnologieslikeRMIandCORBA.Furthermore,thecompositionsystemsmaintainsacompositionlibrarythatprovidescomponentsinauniformway.ContentsAbstractiv1Introduction11.1Background.................................11.2Contributionofthethesis.........................31.3Roadmap..................................42SurveyofComponent-OrientedConcepts52.1Whatisacomponent?...........................72.2Components.................................92.2.1ScaleandGranularityofcomponents...............92.2.2Binaryorsourcecodecomponents.................102.2.3Homogeneousorheterogeneous?..................122.2.4\White-boxor\black-boxcomponents?............132.2.5Statefulorstatelesscomponents..................142.2.6Meta-components..........................162.2.7Interfacestandardsandstandardinterfaces............172.2.8Versionmanagement........................182.2.9Typing................................192.3Frameworks.................................192.4Glue.....................................212.5Openproblems...............................232.6Conclusion..................................253Modellingcompositionalabstractions273.1Towardsanobjectmodel..........................273.2Functionasprocesses............................313.2.1Thepolyadicmini-calculus....................313.2.2Encoding-termswithcall-by-valuereduction..........333.2.3Encoding-termswithcall-by-namereduction..........353.2.4Usingchannelsortsforencoding-terms.............36vviCONTENTS3.3ThePierce/Turnerbasicobjectmodel..................363.3.1Processgroupsasobjects.....................363.3.2Process-basedvs.channel-basedencoding............363.3.3Objectsasrecords.........................393.3.4Theobjectmodel..........................393.4Explicitmetaobjects............................423.4.1Modellingclassvariables......................423.4.2ModellinginheritancebydynamicbindingofSelf........443.5Resultsandshortcomings.........................464TheL-calculus494.1Towardslabelledcommunication......................504.2SyntaxoftheL-calculus.........................574.2.1Namesandforms..........................584.2.2Thelanguage............................614.2.3Areferencecellexample......................614.2.4Bindersandsubstitution......................624.3Operationalsemantics...........................664.3.1Reductionsemantics........................674.3.2Labelledtransitionsemantics...................684.4Observableequivalenceof
本文标题:A π-Calculus Based Approach for Software Compositi
链接地址:https://www.777doc.com/doc-5545115 .html