模型驱动的体系结构

合集下载

基于模型驱动的软件开发方法

基于模型驱动的软件开发方法

模型驱动的软件体系结构
统一建模语言 (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

模型驱动的体系架构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
2008年 序号 1 2 3 4 5 6
科研热词 高层体系结构 视景仿真 虚拟现实 虚拟仪表 模拟器 无人机
推荐指数 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
科研热词 鼻整形手术模拟 顶层设计 非均匀材质 软组织变形 资源管理联邦 电动轮 永磁同步轮毅电机 武器系统 模型驱动的框架 智慧物理系统 扩展的高层体系结构 体网格拉普拉斯算子 体系结构 仿真分析方法

模型驱动架构

模型驱动架构

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 的能力提升了抽象的层次。

面向对象分析模型总结

面向对象分析模型总结

2
主要原则
(1)抽象 什么叫抽象? OO方法广泛地运用抽象原则,例如: ·系统中的对象是对现实世界中事物的抽象, ·类是对象的抽象, ·一般类是对特殊类的进一步抽象, ·属性是事物静态特征的抽象, ·操作是事物动态特征的抽象。 过程抽象 任何一个完成确定功能的操作序列,其使用者都 可把它看作一个单一的实体,尽管实际上它可能 是由一系列更低级的操作完成的。 数据抽象 根据施加于数据之上的操作来定义数据类型,并 限定数据的值只能由这些操作来修改和观察。
汽车
奖杯
钟表
操作员 职员
天平 楼房 飞机
起重机
23
如何发现参与者 ——考虑人员、设备、外系统
人员—— 系统的直接使用者 直接为系统服务的人员 设备—— 与系统直接相联的设备 为系统提供信息 在系统控制下运行 不与系统相连的设备 × 计算机设备 × 外系统—— 上级系统 子系统 其它系统
24
用况(use case)
7
基本模型——类图 面向对象的建模中最重要、最基本的模型图 集中而完整地体现了面向对象的概念 为面向对象的编程提供了直接、可靠的依据 可以从三个层次来看
对象层
需求模型——用况图 每个用况是一项系统功能使用情况的 说明,把每一类参与者对每一项系统 功能的使用情况确切地描述出来,便 全面地定义了系统的功能需求
数据接口部分设计
构件化与系统部署
向OOP输出OOD模型
12
OOA与OOD的关系
一致的概念与表示法 OOA和OOD采用一致的概念和表示法,从而不存在分析与 设计之间的鸿沟。 不同的内容、目标和抽象层次
OOA:研究问题域和用户需求,运用面向对象的观点发现 问题域中与系统责任有关的对象,以及对象的特征和相互 关系。目标是建立一个直接映射问题域,符合用户需求的 OOA模型。 OOD:在OOA模型基础上,针对选定的实现平台进行系统 设计,按照实现的要求进行具体的设计,目标是产生一个 能够在选定的软硬件平台上实现的OOD模型。 OOA模型:抽象层次较高,忽略了与实现有关的因素 OOD模型:抽象层次较低,包含了与实现平台有关的细节

MDA模型驱动介绍

MDA模型驱动介绍

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的模型驱动武器装备体系结构设计与分析

基于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浅述

模型驱动架构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。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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)对象 管理组织
相关文档
最新文档