模型驱动的体系结构
基于模型驱动的软件开发方法
![基于模型驱动的软件开发方法](https://img.taocdn.com/s3/m/07795ff5c1c708a1284a4444.png)
模型驱动的软件体系结构
统一建模语言 (Uniform Modeling Language, UML)
•以面向对象图的方式来描述任何类型的系统,具有很宽的 应用领域。 •其中最常用的是建立软件系统的模型,但它同样可以用于 描述非软件领域的系统,如机械系统、企业机构或业务过 程,以及处理复杂数据的信息系统、具有实时要求的工业 系统或工业过程等。 •总之,UML是一个通用的标准建模语言,可以对任何具有 静态结构和动态行为的系统进行建模。
模型驱动的软件体系结构
UML的静态建模机制
•用例图(Use case diagram) •类图(Class diagram) •对象图(Object diagram ) •包(Package) •构件图(Com)
模型驱动的软件体系结构
模型驱动的软件体系结构
模型驱动的软件开发模式
与传统开发模式的不同: •元模型和模型映射技术共享: 元 模 型 和 模 型 映 射 技 术 实际上陷含了特定领域所固有的知识。在同一个领域 的应用中,都可以共享这些元模型和模型映射技术。 •模型重用:软件重用从组件的重用扩展到模型的重用。 这是软件重用的大发展。首先,组件重用有平台的限 制,而模型的重用则脱离了这个限制;其次,模型由 于它的多层次性,使得软件的重用可以在任意一个层 次上,这样就可以最大限度地重用现有成果。
模型驱动的特点:模型的层级性
诺贝尔奖获得者赫伯特 A. 西蒙(Harbert A.Simen)曾论述到 :“ 要构造一门关于复杂系统的比较正规的理论,有一条 路就是求助于层级理论 …… 我们可以期望,在一个复杂性 必然是从简单性进化而来的世界中,复杂系统是层级结构 的”
系统A 系统B 系统C
…
系统Z
模型驱动的体系架构MDA
![模型驱动的体系架构MDA](https://img.taocdn.com/s3/m/56db0fa96394dd88d0d233d4b14e852458fb391b.png)
模型驱动的体系架构MDA模型驱动的体系架构(Model-Driven Architecture,MDA)是一种软件开发方法论,旨在实现使用模型来驱动软件系统设计和开发的过程。
它提供了一种将系统的关注点从实现细节转移到概念模型层面的方法,从而提高了系统的可维护性、可扩展性和可重用性。
MDA的体系架构包括三个核心层次:计算独立(CIM)、平台独立(PIM)和平台相关(PSM)。
2. 平台独立模型(Platform Independent Model,PIM)是MDA的中间层模型,用于描述系统的业务逻辑和功能。
PIM是通过将CIM转化为与具体平台无关的模型,以便能够在不同平台上进行重用和扩展。
PIM通常使用统一建模语言(UML)或其他领域特定语言(DSL)进行描述,包括类图、时序图等。
PIM的设计重点是在保持系统功能的不变的同时,将业务逻辑和实现细节分离。
3. 平台相关模型(Platform Specific Model,PSM)是MDA的底层模型,用于描述系统在具体平台上的实现细节。
PSM是通过将PIM转化为特定平台的模型,以便具体实现系统。
PSM可以是特定编程语言、框架或平台的规范,如Java、NET、Eclipse等。
PSM的设计重点是在满足系统需求的同时,考虑特定平台的约束和限制。
MDA的核心思想是通过模型的转换和转化过程,实现从业务需求到具体实现的自动化生成。
MDA使用模型转换技术将CIM转化为PIM,然后将PIM转化为PSM,最终生成可执行的代码。
MDA的优势在于提高了系统的可维护性和可重用性。
通过将业务逻辑和实现细节分离,在需求变更或平台切换时可以更快地进行适应和修改。
同时,MDA的模型驱动方法使得可以在不同项目间共享和重用已验证的模型和模型库。
然而,MDA也存在一些挑战。
首先,准确和完整地捕捉业务需求和领域知识是一项复杂的任务,需要专业的分析和建模技能。
其次,模型转换过程可能会引入一些不一致和错误,导致最终系统的质量问题。
【计算机仿真】_模型驱动体系结构_期刊发文热词逐年推荐_20140724
![【计算机仿真】_模型驱动体系结构_期刊发文热词逐年推荐_20140724](https://img.taocdn.com/s3/m/ee61dc6358fafab069dc0289.png)
科研热词 高层体系结构 视景仿真 虚拟现实 虚拟仪表 模拟器 无人机
推荐指数 1 1 1 1 1 1
2009年 序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
2009年 科研热词 高层体系结构 电辅助控制策略 燃料电池城市客车 混合动力汽车 模型驱动 模型转换 效能评估 抗干扰 干扰 合成孔径雷达 可外接充电 匹配 动力驱动系统 元模型 仿真系统 仿真 业务流程执行 推荐指数 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
推荐指数 1 1 1 1 1 1 1 1 序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14
科研热词 鼻整形手术模拟 顶层设计 非均匀材质 软组织变形 资源管理联邦 电动轮 永磁同步轮毅电机 武器系统 模型驱动的框架 智慧物理系统 扩展的高层体系结构 体网格拉普拉斯算子 体系结构 仿真分析方法
模型驱动架构
![模型驱动架构](https://img.taocdn.com/s3/m/48e6e72bbcd126fff7050b77.png)
MDA(模型驱动架构)1. 什么是MDAMDA(Model Driven Architecture)是模型驱动架构,它是由OMG定义的一个软件开发框架。
它是一种基于UML以及其他工业标准的框架,支持软件设计和模型的可视化、存储和交换。
和UML相比,MDA能够创建出机器可读和高度抽象的模型,这些模型独立于实现技术,以标准化的方式储存。
MDA把建模语言用作一种编程语言而不仅仅是设计语言。
MDA的关键之处是模型在软件开发中扮演了非常重要的角色。
MDA源自于众所周知的把系统操作的规范从系统利用底层平台能力的方式细节中分离出来的思想,MDA提供了一种途径(通过相关的工具)来规范化一个平台独立的系统、规范化平台、为系统选择一个特定的实现平台,并且把系统规范转换到特定的实现平台。
MDA的三个主要目标是:通过架构性的分离来实现轻便性、互操作性和可重用性。
在MDA中软件开发过程是由软件系统的建模行为驱动的。
下面是MDA的软件开发周期:MDA生命周期和传统生命周期没有大的不同,主要的区别在于开发过程创建的工件,包括PIM(Platform Independent Model,平台无关模型)、PSM(Platform specific Model,平台相关模型)和代码。
PIM是具有高抽象层次、独立任何实现技术的模型。
PIM被转换为一个或多个PSM。
PSM是为某种特定实现技术量身定做。
例如,EJB PSM是用EJB结构表达的系统模型。
开发的最后一步是把每个PSM变化为代码, PSM同应用技术密切相关。
传统的开发过程从模型到模型的变换,或者从模型到代码的变换是手工完成的。
但是MDA的变换都是由工具自动完成的。
从PIM到PSM,再从PSM到代码都可以由工具实现。
PIM, PSM,和Code 模型被作为软件开发生命周期中的设计工件,在传统的开发方式中是文档和图表。
重要的是,它们代表了对系统不同层次的抽象,从不同的视角来看待我们的系统,将高层次的PIM 转换到PSM 的能力提升了抽象的层次。
面向对象分析模型总结
![面向对象分析模型总结](https://img.taocdn.com/s3/m/736d6abfd1f34693daef3e9d.png)
2
主要原则
(1)抽象 什么叫抽象? OO方法广泛地运用抽象原则,例如: ·系统中的对象是对现实世界中事物的抽象, ·类是对象的抽象, ·一般类是对特殊类的进一步抽象, ·属性是事物静态特征的抽象, ·操作是事物动态特征的抽象。 过程抽象 任何一个完成确定功能的操作序列,其使用者都 可把它看作一个单一的实体,尽管实际上它可能 是由一系列更低级的操作完成的。 数据抽象 根据施加于数据之上的操作来定义数据类型,并 限定数据的值只能由这些操作来修改和观察。
汽车
奖杯
钟表
操作员 职员
天平 楼房 飞机
起重机
23
如何发现参与者 ——考虑人员、设备、外系统
人员—— 系统的直接使用者 直接为系统服务的人员 设备—— 与系统直接相联的设备 为系统提供信息 在系统控制下运行 不与系统相连的设备 × 计算机设备 × 外系统—— 上级系统 子系统 其它系统
24
用况(use case)
7
基本模型——类图 面向对象的建模中最重要、最基本的模型图 集中而完整地体现了面向对象的概念 为面向对象的编程提供了直接、可靠的依据 可以从三个层次来看
对象层
需求模型——用况图 每个用况是一项系统功能使用情况的 说明,把每一类参与者对每一项系统 功能的使用情况确切地描述出来,便 全面地定义了系统的功能需求
数据接口部分设计
构件化与系统部署
向OOP输出OOD模型
12
OOA与OOD的关系
一致的概念与表示法 OOA和OOD采用一致的概念和表示法,从而不存在分析与 设计之间的鸿沟。 不同的内容、目标和抽象层次
OOA:研究问题域和用户需求,运用面向对象的观点发现 问题域中与系统责任有关的对象,以及对象的特征和相互 关系。目标是建立一个直接映射问题域,符合用户需求的 OOA模型。 OOD:在OOA模型基础上,针对选定的实现平台进行系统 设计,按照实现的要求进行具体的设计,目标是产生一个 能够在选定的软硬件平台上实现的OOD模型。 OOA模型:抽象层次较高,忽略了与实现有关的因素 OOD模型:抽象层次较低,包含了与实现平台有关的细节
MDA模型驱动介绍
![MDA模型驱动介绍](https://img.taocdn.com/s3/m/f1a2c96f01f69e31433294c6.png)
MDA模型驱动介绍模型驱动体系架构(Model Driven Architecture, MDA)是由OMG 提出的新的软件方法学,被面向对象技术界预言为未来几年里最重要的软件方法学。
模型驱动体系架构(MDA)把建模语言用作一种编程语言而不仅仅是设计语言,并以一种全新的方式将IT技术的一系列新的趋势性技术整合到一起。
这些技术包括基于组件的开发、设计模式、中间件、说明性约束、抽象、多层系统、企业应用整合以及契约式设计等。
模型驱动体系架构(MDA)的出现,为如何提高软件开发效率,如何增强软件的可移植性、协同工作能力、可维护性,以及如何提高文档编制的便利性指明了解决之道。
MDA概述MDA是“模型驱动体系架构”(Model Driven Architecture)的缩写。
它是由OMG定义的一个软件开发框架。
其关键之处是,模型在软件开发过程中扮演了非常重要的角色。
在MDA中,软件开发过程是由对软件系统的建模行为驱动的。
MDA开发生命周期和传统的生命周期并没有很大的不同。
MDA的工件是形式化模型,也就是可以被计算机理解的模型。
下面列出的3种模型位于MDA的核心:· 平台独立模型(PIM):具有高抽象层次、独立于任何实现技术的模型。
· 平台相关模型(PSM):为某种特定实现技术量身定做,让你用这种技术中可用的实现构造来描述系统的模型。
PIM会被变换成一个或多个PSM。
· 代码:用源代码对系统的描述(规约)。
每个PSM都将被变换成代码。
传统上,从模型到模型的变换,或者从模型到代码的变换,主要是手工完成的。
与此相反,MDA变换总是由工具执行的,许多工具可以把PSM变换成代码,这并不令人惊奇。
MDA的创新之处是把PIM到PSM的变换也自动化了。
软件开发是什么Alistair Cockburn在他的Agile Software Development一书中归纳了业界对软件开发的看法:以C.A.R Hoare为代表的数学观、以Bertrand Meyer为代表的工程观、以很多程序员为代表的手工艺观,还有一些程序员则认为软件开发是神秘的创造行为。
基于SysML的模型驱动武器装备体系结构设计与分析
![基于SysML的模型驱动武器装备体系结构设计与分析](https://img.taocdn.com/s3/m/13e3690f5e0e7cd184254b35eefdc8d377ee145b.png)
基于SysML的模型驱动武器装备体系结构设计与分析陆法;孙文虎;贾鹏【摘要】随着武器装备体系规模、复杂度的不断膨胀,模型驱动的体系结构设计方法成为解决复杂系统开发的研究热点.选择SysML(Systems Modeling Language)作为建模语言,提出了一种由三个基本步骤(能力需求分析、黑盒分析和白盒分析)组成的模型驱动体系设计方法, 探索了 SysML在体系层面建模的应用,并针对当前SysML建模工具在仿真可视化与系统分析等能力上的不足,将建模工具与仿真分析工具进行集成,共同完成武器装备体系结构的设计与仿真分析.%With increase of scale and complexity of Weapon System-of-Systems, model driven architecture design method has become a research hotspot of complex system development.This paper uses systems modeling language (SysML) and proposes a model driven architecture design method composed of capability requirement analysis, black-box analysis and white-box analysis.The application of SysML in architecture modeling is presented.Because the SysML tool is insufficient in simulation visualization and system analysis, the modeling tool is integrated with the simulation analysis tool in design and simulation analysis of weapon equipment architecture.【期刊名称】《指挥控制与仿真》【年(卷),期】2017(039)001【总页数】5页(P44-47,56)【关键词】基于模型的系统工程;武器装备体系结构;模型驱动方法;SysML【作者】陆法;孙文虎;贾鹏【作者单位】解放军后勤学院,北京 100858;解放军后勤学院,北京 100858;解放军后勤学院,北京 100858【正文语种】中文【中图分类】E917武器装备体系结构描述了武器装备体系组件的结构、组件之间的关系以及约束它们设计和发展进的原则和指导方针[1]。
模型驱动架构MDA浅述
![模型驱动架构MDA浅述](https://img.taocdn.com/s3/m/b8171bdeb9f3f90f76c61b27.png)
模型驱动架构MDA浅述模型驱动架构(MDA,Model Driven Architecture)浅述袁峰 2007年7月10日前言西西弗斯是古希腊神话中的科林斯国王,他被罚将一块巨石推到山上,但无论西西弗斯如何努力,每次石头到达山顶之前都不可避免地滚下来,周而复始,永无休止。
前言西西弗斯是古希腊神话中的科林斯国王,他被罚将一块巨石推到山上,但无论西西弗斯如何努力,每次石头到达山顶之前都不可避免地滚下来,周而复始,永无休止。
在《应用MDA》一书中,作者Frankel将IT人比作现代版的西西弗斯,面对日新月异层出不穷的技术平台,不可避免地不断重复一些工作。
理想的MDAer,试图阻止这一悲剧的继续发生。
今天,我们通过分析MDA的概念,了解其内涵,看看MDA是否有希望完成这个艰巨的任务。
定义MDA是由OMG(Object Management Group,国际对象管理集团)[1]于2001年提出来的。
其核心思想是抽象出与实现技术无关、完整描述业务功能的核心平台无关模型(PIM,Platform Independent Model),然后针对不同实现技术制定多个转换规则,通过这些转换规则及辅助工具将PIM 转换成与具体实现技术相关的平台相关模型(PSM,Platform Specific Model),最后将经过充实的PSM 转换成代码。
通过PIM和PSM,MDA的目的是分离业务建模与底层平台技术,以保护建模的成果不受技术变迁的影响。
图1 MDA结构示意图[1]图1为MDA的结构示意图。
最内环是MDA的核心技术:MOF(Meta Object Facility,元对象设施)、CWM(Common Warehouse Metamodel,公共数据仓库元模型)和UML。
MDA的主要工作就是要把基于这些技术建立的PIM转换到不同的中间件平台上,得到对应的PSM。
中间环上给出的是目前主要针对的实现平台:CORBA、XML、JAVA、Web Services和.NET。
mda-模型驱动体系结构 PPT
![mda-模型驱动体系结构 PPT](https://img.taocdn.com/s3/m/9597776c1eb91a37f1115cd0.png)
MDA应用案例
内容
MDA简介 MDA开发过程 简单的MDA框架 MDA应用案例 完整的MDA框架 OMG相关标准
MDA开发过程
MDA开发过程
传统开发过程带来的问题
– – – – 生产效率问题:重视代码,维护软件时有问题 可移植性:技术更新换代快 互操作性问题:前端系统和后端系统 维护与文档问题:后期补文档
基本概念
Computation Independent Model: 使用计算无关视 点建立的系统模型
– 被称为领域模型或业务人员的词汇表 – 其用户是业务人员,不了解用以实现需求的建模技术 – 在业务专家和技术专家,业务需求和设计,构建方法 之间建立桥梁
Platform Independent Model: 使用平台无关视点建 立的系统模型
MDA简介
标准化领域模型
– OMG认识到领域模型的重要性,成立了 Domain TaskForce,对特定领域市场所提供的 服务和设施进行标准化 – 包括面向领域的平台独立模型,至少一个平台 相关模型,接口描述文件
MDA简介
MDA对企业计算的主要影响
再次提升编程环境的抽象级别 使用形式化模型驱动代码生成器 基于不同规约语言的元数据集成 在生成器中封装了设计模式的知识 形成按需生产构件的方式 使用DBC来驱动断言检测,异常处理和测试框 架的生成 – 形成了"The Global Information Appliance" – – – – – –
模型变换
基于元模型的变换 基于类型的模型变换
模型变换
基于标记的模型变换 使用模式的模型变换
模型变换
模型合并 使用附加信息的模型变换
模型变换
对平台的理解
模型驱动的体系架构MDA
![模型驱动的体系架构MDA](https://img.taocdn.com/s3/m/a052ee4ae45c3b3567ec8b38.png)
模型驱动的体系架构MDA很多组织已经开始对模型驱动的体系架构(MDA)进行关注,MDA 是一种应用系统设计和实现的方法。
对于几个原因来说这都是非常积极的发展。
MDA 鼓励在软件的开发过程中有效的使用系统的模型,并且它支持创建类似系统的最佳实践的重用。
所谓由对象管理组织(OMG)定义的标准,MDA 是一种组织和管理被自动化工具支持的企业体系架构和用于定义模型和推动不同模型类型之间的转换的服务的方法。
当被 OMG 定义的 MDA 标准和用于创建和进化企业级软件系统的术语在业界被广泛的引用时,仅仅到目前为止, OMG 和它的成员,包括 IBM Rational ,已经能够在 MDA 意味着什么、MDA 将向哪里发展、MDA 的哪些方面对于今天的技术是可能的和如何在实践中利用 MDA 上提供清晰的指导。
有效的企业软件开发今天开发企业级的应用要求一种软件架构的方法,这种方法应该能够以一种灵活的方式帮助架构师来发展他们的架构。
这种方法应该允许在及时的实现业务功能的新的能力的情况下重用已有的劳动成果,甚至是当目标基础架构本身在一直的演进。
两个重要的思想现在被认为是应对这种挑战的中心:• 面向服务的体系架构(SOA)。
企业解决方案能够被视作通过良好的说明定义了他们的服务接口契约连接的服务联合。
结果的系统设计通常被称作面向服务的体系架构(SOAs)。
通过将一个系统组织成为被封装好的服务集合,这些服务可以通过他们定义的服务接口被操作,系统的灵活性被大大的增强了。
现在很多组织用一系列的服务和服务之间的相互连接表示他们的解决方案。
• 软件的产品线。
通常,在一个组织开发和维护的系统中,存在着大量的可公用的部分。
从捕获核心业务过程和领域概念的标准领域模型,到开发人员在代码中使用的实现设计的实现细节方案,我们在企业的软件项目的每一个级别上看到了重用的方法。
当模式能够被经验丰富的从业者开发出来并在跨越组织的范围内传播时,软件开发组织将获得大量的效率。
技术架构实施方案的评价方法
![技术架构实施方案的评价方法](https://img.taocdn.com/s3/m/453e9f63ae45b307e87101f69e3143323968f5c8.png)
1.1.1技术架构实施方案的评价方法、优化措施、管控策略1.1.1.1评估方法1. 体系结构评审(Architecture Review Board,ARB):由一群专家审查和评估整体系统架构,检查是否满足需求、可扩展性、性能、安全性等方面的要求。
2. 基于质量属性的架构评估方法:首先确定系统的关键质量属性(如可靠性、可维护性、性能等),然后根据这些属性定义衡量标准,并在架构设计中评估系统是否满足这些标准。
3. 模型驱动的架构评估方法:使用建模语言来描述系统架构,然后使用模型检测、仿真等技术来分析架构的性质和行为。
4. 依赖图分析法:过程中根据系统的需求及功能提供者、功能消费者的关系建立一个依赖图,然后通过分析依赖图来评估架构的可行性和可靠性。
5. 性能建模与评估:通过建立性能模型、进行性能测试和分析等方法来评估架构的性能表现,包括响应时间、吞吐量、并发性等性能指标。
1.1.1.2优化措施1.1.1.2.1架构优化的意义和目标企业IT架构优化,意味着对已有的IT系统和应用进行重构和优化,以提高整个企业系统的鲁棒性、可伸缩性、安全性和性能。
对于企业来说,IT架构优化的主要目标有以下几个方面:1. 全局优化优化IT架构,就是要通过整合和升级各类系统和应用,使其更好的协同工作,从而满足企业内部业务需求的同时,提高整个企业的战略竞争力。
这需要企业根据内外部环境变化的要求,快速调整和部署IT架构。
2. 简化系统管理随着IT架构复杂度的增加,企业需要部署更强大的系统管理和监控工具来确保系统运行的高可用性和可靠性。
但是,这也会带来更多的管理和维护负担。
因此,简化系统管理,成为了IT架构优化的一个关键目标。
3. 提高IT架构的安全性安全性是企业IT架构优化的一个非常关键的目标。
随着企业数据的不断增长和自然属性的不断变化,企业需要时刻关注和改进安全性管理,防范各种安全风险和威胁,并采取有效的措施保障企业的IT网路安全。
面向对象分析模型总结
![面向对象分析模型总结](https://img.taocdn.com/s3/m/684dac5389eb172ded63b7f9.png)
建立基本模型 发现对象
定义对象 的特征
定义对象 间的关系
OOA 过程
建 立 模 型 规 约
建立辅助模型
建立 包图
建立 顺序图
建立 活动图
建立 其他图
11
OOD 过程
输入OOA模型 问题域部分设计
人机交互部分设计
控制驱动部分设计
数据接口部分设计
构件化与系统部署
向OOP输出OOD模型
12
OOA与OOD的关系
15
从MDA看OOA与OOD的关系
模型驱动的体系结构(model-driven architecture,MDA ) 是OMG的一个技术规范,是一种加强模型能力的系统开发途 径。
模型驱动( model-driven ):用模型来对系统的理解、设 计、构造、部署、操作、维护和更改进行指导。
体系结构( architecture ):是对系统的部件和连接件以及 这些部件通过连接件进行交互的规约。
参与者:在系统边
界以外,与系统进
对
行交互的事物—— 参与者(人员) 象
人员、设备、外系
统
对象 对象 对象
对象 对象
系统边界
参与者(设备)
参与者(外系统)
22
现实世界中的事物与系统之间的关系——分四种情况
(1)被抽象为系统中的对象 (2)只作为系统外部的参与者与系统交互 (3)既是系统中的对象,本身又作为参与者与系统交互 (4)与系统无关
强调严格的阶段 划分和前后次序
先做完OOA再进 行OOD
测试 维护
演化
集成(OOA)
瀑布模型
喷泉模型
14
OOA与OOD的分工——两种不同的观点
第三课 MDA方法
![第三课 MDA方法](https://img.taocdn.com/s3/m/c78abc02bed5b9f3f90f1c97.png)
北京林业大学信息学院
MDA与CORBA
OMG采用多种中间件平台的规范 。 CORBA技术 采用多种中间件平台的规范。 采用多种中间件平台的规范 技术 具有平台和语言的独立性、经过检验的事务和安 具有平台和语言的独立性、 全的天性, 全的天性 , 这使得它仍然是从嵌入式系统到桌面 系统,再到Internet应用的最佳选择。MDA的方 应用的最佳选择。 系统,再到 应用的最佳选择 的方 向是使得它与其他中间件平台更容易交互, 向是使得它与其他中间件平台更容易交互, 而且 更加廉价。 更加廉价。 CORBA 是MDA新体系结构的基础。作为唯一的 新体系结构的基础。 新体系结构的基础 独立于供应商和语言的中间件, 独立于供应商和语言的中间件,它是 MDA 上层 结构必不可少的重要组成部分。 结构必不可少的重要组成部分 。 为了赋于这种上 层结构最大的灵活性,在更高一层上实现重用, 层结构最大的灵活性 ,在更高一层上实现重用 , 我们必须考虑完全按照建模的概念表达这种体系 结构。 结构。
北京林业大学信息学院
MDA模型
MDA的核心建立在 UML 的核心建立在 (Unified Modeling Language,统一建模语言)、 ,统一建模语言)、 CWM(Common Warehouse ( Meta-model,公共仓库元模 , )、MOF(Meta-Object 型)、 ( Facility,元对象设施) 上。 ,元对象设施) 目前已开发了多个核心模型, 目前已开发了多个核心模型,如: 企业计算( 企业计算(包括组件结构和事务 )、实时计算 实时计算( 交互 )、实时计算(包括资源 控制的特殊要求 )等。 每个核心模型都独立于任何中间 件平台,表示所属类别中所有平 件平台, 台的共同特性 。
北京林业大学信息学院
基于模型驱动开发的软件架构设计与实现
![基于模型驱动开发的软件架构设计与实现](https://img.taocdn.com/s3/m/1dd506ea32d4b14e852458fb770bf78a65293ac7.png)
基于模型驱动开发的软件架构设计与实现随着软件技术的不断发展,越来越多的企业和团队开始采用模型驱动开发(Model Driven Development,简称MDD)的方法来进行软件架构的设计与实现。
基于MDD的软件架构设计具有更加高效、精准、灵活等优势,能够大大提高软件开发的质量和效率。
一、MDD的基本概念MDD是一种基于模型的软件开发方法,它将软件项目的开发流程抽象为一系列的模型转换,从而在更高层次上构建、分析和维护软件系统。
MDD的核心在于利用模型来代表软件系统,从而使软件开发人员更关注于系统的规划和设计,而非代码实现。
在MDD中,一个软件系统的架构是通过一系列的模型转换来完成的。
MDD 的流程包括五个主要的阶段:需求分析、设计、建模、代码生成和测试。
其中,建模阶段是MDD最重要的组成部分,它能够将系统的各个方面抽象为一个或多个模型,并为设计和实现中的所有决策提供支持。
二、MDD的优势相对于传统的软件开发方法,MDD具有以下优势:1.高效:MDD能够大大缩短开发时间。
因为MDD是基于模型的,能够使开发人员在不同的抽象层次上工作,避免了开发人员重复编写代码的冗长过程,使时间成本降低。
2.精准:MDD通过一组完整的模型,包括业务流程模型、领域模型、数据模型等,为软件开发人员提供了完整的、明确的需求和设计方案。
这样,不仅能够降低错误率,而且能够更好地满足用户需求。
3.灵活:由于MDD的准确性和严密性,当业务或需求变化时,开发人员能够更加快捷地作出相应的调整,并且在项目的不同阶段可以更容易地对软件进行修改,从而为升级和维护带来更多的灵活性。
三、MDD的实践MDD不仅是一种软件开发方法,更是一种软件开发文化。
要实践MDD,需要重视以下一些问题:1.需求工程:由于MDD抽象程度高,建模所涉及的领域非常广泛,所以需求工程非常重要。
需求分析贯穿整个MDD的软件开发过程,必须在开始进行模型设计之前了解客户真正需要的东西。
模型驱动架构的应用
![模型驱动架构的应用](https://img.taocdn.com/s3/m/ced1dfa1ed3a87c24028915f804d2b160a4e8650.png)
模型驱动架构的应用
李丽
【期刊名称】《计算机系统应用》
【年(卷),期】2008(000)001
【摘要】模型驱动的软件体系结构是一种基于UML以及其他工业标准的框架,是一种由自动工具和服务所支持的组织和管理企业架构的方法.通过选择目标平台,能够在特定的运行时实现中执行模型驱动的架构,从而最终提高系统之间的互操作水平.本文描述了MDA的概念、构成及核心,阐述了建模的原理及模型驱动架构的某些应用.
【总页数】5页(P97-100,112)
【作者】李丽
【作者单位】宁波城市职业技术学院,宁波,315100
【正文语种】中文
【中图分类】TP3
【相关文献】
1.水电厂生产管理系统中XML模型驱动架构的应用 [J], 曹春兰;
2.水电厂生产管理系统中XML模型驱动架构的应用 [J], 曹春兰
3.模型驱动架构在分布式远程状态监测系统中的应用研究 [J], 李新强;阳建宏;杨德斌;杨斌
4.模型驱动架构在嵌入式软件开发中的应用 [J], 姜宁
5.基于模型驱动架构的个人理财资产配置系统开发应用研究 [J], 施蓓莉;
因版权原因,仅展示原文概要,查看原文内容请购买。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
四层元模型架构
MDA应用模型
CIM PIM PSM
CIM
计算无关模型CIM (Computation Independent Model)是MDA基于计算无关视角(CIV)建立的 系统模型,用于描述系统需求、功能、行为和 运行环境,也称为业务模型。
被称为计算无关,主要因为CIM侧重于表述系 统的外部行为和运行环境,而不表现系统的内 部结构和实现细节等相关内容。
模型转换的次数取决于对每次转换结果 PSM 的可用性程度要求。
MDA软件开发方法
MDA的应用现状
MDA技术已经得到了企业界的广泛认同和应用。 各行各业的众多企业或组织已经把MDA作为软
件系统开发的指导框架,把MDA软件方法和标 准应用于系统开发中。 瑞典最大支付服务提供商Postgirot Bank AB采 用MDA技术对支付系统进行重建,重建后系统 的运行费用较原来降低80% ,事务处理能力 提高了1O倍
实例映射的组合使用。
PIM到PSM的模型转换
对于模型转换来说,其输入是一个已存 在的PIM和选定的某个映射,输出的结果 是相应的PSM和转换记录。
分别对应于类型映射和实例映射两种模 型映射方法,MDA提供两种基本的模型 转换方法。
两种转换方法
从PIM到“实现”的转换
多数情况下,从PIM到“实现”的模型转 换并非一次完成,而需要经过多次。
两种模型语言元素之间的转换
模型语的“翻译”过程
实例映射
实例映射的方法是通过对PIM模型元素加 以标记,来标识该元素以某种特定方式 转换为PSM 模型元素。
实例映射中的标记(Marks)是平台特定的, 其内容体现着PSM所选定实现平台的相 应特定要求。
映射的组合
各有优势 大多数情况下,模型映射是类型映射和
CIM为领域专家与系统设计专家之间关于领域 需求的沟通和交流提供了桥梁,并直接支持 PIM、PSM模型的构造和实现。
PIM
平台无关模型PIM (Platform Independent Model)是MDA基于平台无 关视角(PIV)建立的系统模型。PIM 是抽 象出的业务逻辑。
被称为平台无关,主要因为PIM不包含与 实现平台和技术相关的特定信息。
MDA的总体结构
MDA核心
MDA的核心是OMG的建模标准,包括 UML 、CWM和MOF。
MDA依据这些标准为企业应用建立独立 于实现技术的平台无关模型。
UML
UML (Unified Modeling Language)是一 套标准的面向对象分析和设计的图形化 模型语言。
实现软件系统可视化(Visualizing)、规范 定义(Specifying)、构造(Constructing)和 文档化(Documenting)建模。
XMI
XMI (XMI Metadata Interchange) 通过标准化XML文档格式和DTD,为UML
元模型和模型(元模型可以视为模型的特 例)定义了一个基于XML的交换格式,随 之也即定义了一个从UML到XML的映射。 XMI定义了如何用XML 对UML模型进行描 述。
普适服务
企业计算需要一系列的公共基础服务为 其应用程序提供运行环境。如目录服务、 事件处理服务、事务服务、持久性服务、 安全服务等。
MDA产生的背景(1)
一系列平台技术的诞生和广泛应用
(CORBA、J2EE、COM/DCOM、XML/SOAP)
中间件平台之间的互操作障碍 企业业务发展受制于某种平台技术发展 如何解决系统的互操作性、可移植性、
可重用性等问题,成为软件开发领域的 重要课题。
MDA产生的背景(2)
2019年起,OMG陆续颁布了几个重要的 技术无关建模标准:统一建模语言UML、 元对象设施M0F、XML元数据交换XMI和 公共仓库元模型CWM等
MDA的各种模型均采用UML进行描述。
CWM
CWM (Common Warehouse Metamodel) 为数据仓库和业务分析领域最为常见的业务与
技术相关元数据的表示定义了元模型。 CWM实际上提供了一个基于模型的方法来实现
异构软件系统之间的元数据交换。 依据CWM建立的数据模型,尽管它们存储于不
互操作性、可移植性、可重用性不仅限 于系统设计阶段,需要贯穿于软件系统 整个生命周期
OMG对MDA的定义和描述
MDA以OMG建立的各种标准为基础,实 现将商业或应用逻辑与支撑平台技术相 分离。
通过MDA及相关标准建立的平台独立应 用可以被实现于包括C0RBA、 J2EE、.NET、Web服务和其他基于Web 的平台等在内的一系列开放和私有平台 之上。
同的软件系统中,但可以很便利地被整合和集 成,进而确保数据挖掘等应用可以跨越企业数 据库的边界。
MDA核心的外层
MDA 对各种实现技术平台(CORBA、 J2EE、.NET、XML/SOAP等)的支持。
在这个层次上,平台无关模型被转换成 为与各个平台技术特性相关的平台特定 模型,并进而在平台上实现。
MDA通过高层次抽象,建立平台无关的 公共通用服务模型,称之为普适服务 (Pervasive Services)
领域应用
为领域应用提供了建模标准和公共模型, 实现领域应用的可重用性、可移植性和 互操作性
为各行业领域软件系统的开发和集成提 供通用方法论。
MDA模型体系
1.四层元模型架构 2. MDA应用模型 3.模型映射
模型映射
模型映射(Mapping)是模型转换时所需定 义的模型元素间映射关系,它提供转换 规则及规格标准。
MDA中,模型转换的核心是PIM到PSM 的转换。
MDA提供了两种模型映射方法:类型映 射和实例映射。
类型映射
类型映射提供了从PIM采用的模型语言类 型到PSM采用的模型语言类型的映射。
PIM 所表现出的平台无关性,使其能够 在任何技术平台上得以实现。
PSM
平台特定模型PSM (Platform Specific Mode1)是MDA基于平台特定视角(PSV) 建立的系统模型。
PSM 从相应PIM转换而来,它既包含了 PIM 中所定义的业务逻辑规范,也包含 了与选定平台和技术相关的特定实现信 息细节。
MDA的困境和发展趋势
MDA标准没有完全的发展 开发与MDA相适应的工具 UML技术复杂,需要有技术的分析员 转换方法的评估标准 MDA的潜力 满足长期投资 MDA与流行开发过程和技术相结合
模型驱动的体系结构
晁静 MF0933001
什么是MDA
模型驱动体系结构(Model-Driven Architecture),简称MDA,是由OMG组 织全新提出的应用模型技术进行软件系 统开发的方法论和标准体系。
MDA在软件系统生命周期的各个阶段, 保证互操作性、可移植性、可重用性。
OMG (Object Management Group)对象 管理组织