资源描述:
《formal specification of object-oriented design》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、iFORMALSPECIFICATIONOFOBJECT-ORIENTEDDESIGNAMNONH.EDENDepartmentofComputerScience,ConcordiaUniversityMontreal,QuebecH3G1M8,CanadaAbstract.Softwarearchitecturesanddesigns"notations"aretypicallybasedonbubble-and-arcdia-grams.Embellishingthesediagramsmayincreasetheirinformationcontentbutdoesnotmakealan
2、-guage.Aformallanguagehassyntax,semantics,andinferencerules,sothatreasoningandauto-maticmanipulationaremadepossible.WedescribeLePUS,aformallanguagefordescribingandreasoningaboutobjectorientedsoft-warearchitectures,designs,andpatterns.ALePUSformulaimposesconstraintsonthesoftwareatanappropriatelevelof
3、abstractionbutdoesnotunnecessarilyrestricttheimplementation.LePUSisnotanadhoccollectionoflooselyrelatedconceptsbutinsteadoriginatesfromaninsightonasmallnumberofnecessaryandsufficientbasic"buildingblocks"thatareubiquitousinobjectorientedde-sign.ALePUSspecificationcanbeexpressedaseitheraformulaorasema
4、nticallyequivalentdia-gram.WeprovideexamplesofLePUSdescriptionsrangingfromsimpledesignpatterns,suchasFACTORYMETHOD,topopularcurrentarchitectures,suchasEnterpriseJavaBeans™.Keywords:Softwarearchitecture,objectorientedprogramming,designpatterns,formalmethods1.OverviewInapioneeringdiscussionofsoftwarea
5、rchitecture[1],PerryandWolfsuggestedsomeofthedesirablepropertiesthatanarchitecturalspecificationlanguageshouldpossess:(req.i)Generality.Thelanguageshouldallowtheexpressionofconstraintsatthenecessarylevelofdetail.“Whatisnotconstrainedbythearchitectmaytakeanyformdesiredbytheimplementer”[1](alsotheprin
6、cipleofleastcon-straint).(req.ii)Abstraction.Insteadof“anassembly-level”architecturallanguagethatal-lowsthespecificationofallconceivableconfigurations,yetistooverbose,weareinterestedinalanguagethatrestrictsourdiscussiontotopologiesofinterest.Suchalanguageshouldincorporateconstructionsthatallowforspe
7、cificationsthatareappropriatelyconcise.(req.iii)Elementarybuildingblocks.Thelanguageisexpectedtoprovidearelativelysmallsetofdesignelementsfromwhichcomplexexpressionscanbecon-structed.iPresentedintheIn