UML被MDA用来描述各种模型它并不是为MDA而生PPT优秀资料_第1页
UML被MDA用来描述各种模型它并不是为MDA而生PPT优秀资料_第2页
UML被MDA用来描述各种模型它并不是为MDA而生PPT优秀资料_第3页
UML被MDA用来描述各种模型它并不是为MDA而生PPT优秀资料_第4页
UML被MDA用来描述各种模型它并不是为MDA而生PPT优秀资料_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

MDA:ModelDriven

Architecture荆玲MF0933014Summary1.Introduction2.MDAOverview3.DevelopinginMDA4.Prosvs.Cons1.IntroductionAheterogeneousworld…Programminglanguages:~3millionCOBOLProgrammers~1.6millionVBProgrammers~1.1millionC/C++ProgrammersOperatingsystems:Unix,MacOS,Windows(3.1->XP),PalmOSEmbeddeddevicesNetworks:Ethernet,IP,USB,

FireWireBluetooth,802.11b,

HomeRFDomainFacilitiesModel6millionVBProgrammersWecanagreeatanhigherlevelDifferentimplementationofmappingscangenerateverydifferentcodeormodelsWhatistheMDA?PlatformIndependentModels(PIM)PIM:anexampleWhatistheMDA?TheObjectManagementGroup(OMG)CWM(公共仓库元模型)提供了一种数据格式变换的手段,在任意级别的模型上都可以使用CWM来描述两种数据模型之间的映射规则,比如将数据实体从关系数据库变换为XML格式。WhatistheMDA?Wherecanweagree?HetereogenityhindersthedevelopmentofenterprisedistributedsystemsTherewillnotbeconsensusonHardwareOperatingsystemsNetworkprotocolsProgramminglanguagesWecanagreeatanhigherlevelMiddlewareMiddlewareAsoftwarelayerthatmaskshetereogeneityPlacedbetweenoperatingsystemsandapplicationcomponentsMiddlewareproliferation Middlewareitselfhasproliferated:CORBACOM/DCOM/MTSJava/EJBXML/SOAPC#/.NETNoneofthemprevailsovertheothersTheproblemremainsSolution Isolateinformationandprocessinglogicfromtechnologyspecifics.Buildplatformindependentmodels:UMLisindependentofCORBA,COM,EJB,XML,etcthusiswell-suitedasalanguagefordescribingMapthesemodelstospecificplatformsMaintaintheseparationattheimplementationlevel2.MDAOverviewDevelopinginMDAMDAapplication-modelingtoolscontainrepresentationsofPervasiveServicesandDomainFacilitiesallowingthemtobeusedand/orincorporatedintheapplicationviaamenuselectionPlatformIndependentModel(PIM)OperatingsystemsMiddlewareitselfhasproliferated:DevelopinginMDAMaintaintheseparationattheimplementationlevelDevelopinginMDA–Step3:

GeneratingApplication(2/2)DevelopinginMDA–Step1:

thePIM(2/2)1millionC/C++Programmers1->XP),PalmOSOperatingsystems:MDA:ModelDriven

ArchitectureTheObjectManagementGroup(OMG)Anopenmembershipandno-profitconsortiumProducesandmantainscomputerindustryspecificationsforinteroperableenterpriseapplicationsSomeoftheOMGmembers:AT&TBEABorlandBoeingCACitigroupCompaqEricssonFordFujitsuGlaxoHPHitachiHyperionIBMIONAioSoftwareKabiraKCJohnDeereMicrosoftMITREMSCSoftNASANECNetGenicsNTTOASISOraclePfizerRationalSAGASAPSASSecantSiemensSprintSunUnisysVertelWhatistheMDA?AnapproachtoITsystemspecificationthatseparatesthespecificationofsystemfunctionalityfromthespecificationoftheimplementationofthatfunctionalityonaparticulartechnologyplatform“Designonce,builditonanyplatform”SomeKeyTermsModelPlatformPlatformIndependentModel(PIM)PlatformSpecificModel(PSM)ModelAmodelisaformalspecificationofthefunction,structureand/orbehaviourofasystemExamples:SourcecodeisamodelAnUML-basedspecificationisamodelModelsofdifferentsystemsarestructuredexplicitlyinto:PlatformIndependentModels(PIM)PlatformSpecificModels(PSM)PlatformTechnologicalandengineeringdetailsthatareirrelevanttothefundamentalfunctionalityofasoftwarecomponentDevelopinginMDAAnMDAtoolgeneratesallormostoftheimplementationcodeforthedeploymenttechnologyselectedbythedeveloperVerticalDomainsXMI是基于XML的元数据交换。PIMcanbemappedeithertoasingleplatformortomultipleplatformsDevelopinginMDA–Step2:

thePSM(1/2)1->XP),PalmOSAllMDAdevelopmentprojectsstartwiththecreationofaPIMPIM:anexampleUnix,MacOS,Windows(3.第二,模型可以使用图形化的工具维护模型了。TheObjectManagementGroup(OMG)1millionC/C++ProgrammersPlatformIndependentModel(PIM)DomainFacilitiesModel11b,HomeRFPlatformIndependentModel(PIM)A“formal”specificationofthestructureandfunctionofasystemthatabstractsawaytechnicaldetailExpressedusingUMLPIM:anexamplePlatformSpecificModel(PSM)SpecifieshowthefunctionalityspecifiedinaPIMisrealizedonaparticularplatformExpressedusingUMLextendedwithplatformspecificUMLprofilesPSM:anexampleBasicmodelingtechnology(1/2)UML–unifiedmodelinglanguage

UML被MDA用来描述各种模型。它并不是为MDA而生,但是作为目前最为风行的建模语言,UML已经占据了全球建模语言领域90%的市场份额,成为了建模语言事实上的标准,因此OMG将它作为MDA技术的基础是自然而然的明智选择。它是MDA的基础,也是MDA最有力的武器。MOF–metaobjectfacility

MOF是比UML更高层次的抽象,它的目的是为了描述UML的扩展或者其它未来可能出现的类UML的建模语言。由此我们可以看到OMG的"野心",虽然MOF也不是为MDA而生的,但是我们可以体味到OMG的工程师们良苦的用心和长远的目光。Basicmodelingtechnology(2/2)XMI–XMLmetadatainterchange

XMI是基于XML的元数据交换。它通过标准化的XML文档格式和DTDs(DocumentTypeDefinitions)为各种模型定义了一种基于XML的数据交换格式。这使得作为最终产品的模型可以在各种不同的工具中传递,这一点是非常重要的,它保证了MDA不会在打破了一种束缚之后再被加上一层新的束缚。CWM–commonwarehousemetamodel

CWM(公共仓库元模型)提供了一种数据格式变换的手段,在任意级别的模型上都可以使用CWM来描述两种数据模型之间的映射规则,比如将数据实体从关系数据库变换为XML格式。在MOF的框架下,CWM使得通用的数据模型变换引擎成为可能。MDAinaSnapshotCoreTechnologiesCoreTargetPlatformsPervasiveServicesVerticalDomains3.DevelopinginMDADevelopinginMDA–Step1:

thePIM(1/2)AllMDAdevelopmentprojectsstartwiththecreationofaPIMPIMatthislevelrepresentsbusinessfunctionalityandbehaviour,undistortedbytechnologydetailsMDAapplication-modelingtoolscontainrepresentationsofPervasiveServicesandDomainFacilitiesallowingthemtobeusedand/orincorporatedintheapplicationviaamenuselectionDevelopinginMDA–Step1:

thePIM(2/2)PIMPervasiveServicesModelCallsDomainFacilitiesModelCallsDevelopinginMDA–Step2:

thePSM(1/2)Oncethefirstiterationiscomplete,thePIMisinputtothemappingstepwhichwillproduceaPSMCodeispartiallyautomaticandpartiallyhand-writtenPIMcanbemappedeithertoasingleplatformortomultipleplatformsDevelopinginMDA–Step2:

thePSM(2/2)PIMCORBAModelMapstoJava/EJBModelMapstoOtherModel…MapstoDevelopinginMDA–Step3:

GeneratingApplication(1/2)AnMDAtoolgeneratesallormostoftheimplementationcodeforthedeploymenttechnologyselectedbythedeveloperRe-integrationonnewplatformscanbedonebyreverseengineeringtheexistingapplicationintoamodelandredeployDevelopinginMDA–Step3:

GeneratingApplication(2/2)PIMCORBAModelMa

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论