文档章节

MOF 四层元模型

cccyb
 cccyb
发布于 2016/03/24 18:09
字数 717
阅读 82
收藏 0
点赞 1
评论 0

MOF 四层元模型(M3-M2-M1-M0):

    以下说明均以一个用户对象(逻辑设计结构下)-用户表(物理存储结构下)作为例子,阅读顺序建议由M0-M3顺序阅读,便于理解。

    用户对象:对应做系统时UML画的对象或Powerdesign 等工具画的用户逻辑模型

    用户表:对应做系统时数据库的用户数据表  

    按照面向对象的设计方式,一般情况下用户表会根据设计的用户对象进行创建,故两者存在对应关系。


M3 - 元元模型层

    概念:元模型体系结构的基础结构,定义元模型的原型和规则

    例: 定义对应模型的Classfier(包含属性:是否抽象、类代码(Class)、类描述),或者定义Table的Tablefier(包含属性:表代码(Table)、表备注),就叫做元元模型,此处也可以叫做Class、Table的元元模型

           定义对应属性的Attributefier(包含属性:属性代码(Attribute)、属性描述),或者定义ColumnColumnfier(包含属性:字段代码(Column)、字段描述),就叫做元元模型,此处也可以叫做Attribute、Column的元元模型

M2 - 元模型层

      概念:元元模型的实例,描述元模型

      例: 定义对应模型的Class(包含属性: 对象名称、对象代码),或者定义用户表的Table(表名称、表代码) 就叫做元模型,此处也可叫做对象的元模型或者表的元模型

             对应模型属性Attribute(包含属性: 属性名称、属性类型),后者用户表字段Column(包含字段:字段名称、字段类型)也叫做元模型,此处也可叫做属性的元模型或者字段的元模型

M1 - 模型层

       概念:元模型的实例,描述数据、对象

       例: 对应的用户对象(包含 姓名、性别两个属性)就叫做一个模型或者叫用户表(包含 姓名、性别两个字段)

M0 - 数据、对象模型层   

        概念:执行模型时所创建的运行元素组成

        例:张三、男  这个实实在在存在的对象(UML面向对象逻辑结构下叫对象)或者叫数据(对应物理存储下叫数据)

M1 M2 M3 层存储的数据就叫做元数据


附:MOF 与  UML 、CWM、XMI 的关系

MOF 定义了一种通用的元语言,用来创建其他的语言 

UML 定义了一种源自MOF的元语言,用来描述面向对象的系统 

CWM 定义了一种源自MOF的元语言,用来描述数据仓库和相关系统 

XMI 定义了共享源自MOF模型的方法


参考:

      http://blog.sina.com.cn/s/blog_79d1df070100pjar.html

      http://blog.csdn.net/teamlet/article/details/28271633

© 著作权归作者所有

共有 人打赏支持
cccyb
粉丝 30
博文 251
码字总数 22260
作品 1
西安
高级程序员
模型转换框架--MOFScript

MOFScript 主要的目的是开发支持模型到文本转换的工具和框架。比如支持从模型生成代码或文档等。它提供一个元模型未知的框架,这个框架能够使用任何 类型的元模型和它的实例来生成文本。 它的...

匿名 ⋅ 2008/09/24 ⋅ 0

Eclipse ATL

ATL是一种混合语言(宣告式与命令式的混合)设计用于表达MDA框架中的模型转换。它通过一种抽象的语法(一种MOF元模型)进行描述,建模者可以利用 上下文相关的语法和一个辅助的图形符号来描绘转换...

匿名 ⋅ 2008/09/24 ⋅ 0

元数据转换框架--Kermeta

Kermeta是一种面向模型的语言填补了元语言如MOF,EMOF和Ecore的空白,这些元语言主要是集中于结构上的规范说明没有内置支持对行为的定 义。Kermeta是作为EMOF的一个扩展进行构建对它添加了可执...

匿名 ⋅ 2008/09/24 ⋅ 0

模型驱动架构

模型驱动架构(Model Driven Architecture,MDA)是由OMG定义的一个软件开发框架。它是一种基于UML以及其他工业标准的框架,支持软件设计和模型的可视化、存储和交换。和UML相比,MDA能够创建出...

茶码古道 ⋅ 2012/03/15 ⋅ 0

TCP/IP 协议族概述

TCP/IP 协议的体系结构 TCP/IP 协议族的四层模型和 OSI 七层模型 四层模型中各个层次的作用和特点 四层模型中各个层次对应的协议

梦想家Peng ⋅ 2016/03/08 ⋅ 0

微软利用机器学习强化防毒软件,轻松阻挡恶意入侵

微软近日揭露了如何将机器学习应用在自家防毒软件 Windows Defender Antivirus 上,以自动化及多层机器学习架构,缩小新的恶意攻击从出现到被侦测的时间差。 Windows Defender Antivirus 使用...

王练 ⋅ 2017/12/17 ⋅ 7

[8] Window PowerShell DSC 学习系列----MOF文件和DSC Module的部署

在前面的第7节,笔者分享了如何安装Pull服务器,如何生成MOF文件。那么生成了MOF文件之后,如何在Pull服务器上部署?另外如果MOF文件中又引用了其他的DSC Module或者DSC Resource,那么应该如...

chancein007 ⋅ 2017/01/29 ⋅ 0

TCP/IP四层模型和OSI七层模型

TCP/IP四层模型和OSI七层模型对应表。我们把OSI七层网络模型和Linux TCP/IP四层概念模型对应,然后将各种网络协议归类。 表1-1 TCP/IP四层模型和OSI七层模型对应表 1.网络接口 网络接口把数...

晨曦之光 ⋅ 2012/03/09 ⋅ 0

关于mysql mof提权研究

无意中看到有关mysql的这种提权方式,趁着有空余时间便研究了起来,发现网上有挺多地方写的不够详细的,研究的时候也卡壳了一段时间。 利用前提: 操作系统为windows 操作系统版本不宜太高,...

z2pp ⋅ 2017/10/25 ⋅ 0

第八章 进程间通信

8.1 OSI参考模型 8.1.1 OSI参考模型简介 OSI(Open System Interconnect),即开放式系统互联。一般都叫OSI参考模型。 OSI参考模型是ISO(国际标准化组织)组织在1985年研究的网络互联模型。...

忘情OK ⋅ 2017/04/26 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

收集自网络的wordpress 分页导航的代码教程(全网最全版)

wordpress 分页导航是用来切换文章的一个功能,添加了 wordpress 分页导航后,用户即可自由到达指定的页面数浏览分类文章,而这样的一个很简单功能却有很多朋友在用插件:WP-PageNavi,插件的...

Rhymo-Wu ⋅ 36分钟前 ⋅ 0

微服务 WildFly Swarm 入门

Hello World 就像前面章节中的其他框架一样,我们希望添加一些基本的 Hello-world 功能,然后在其上逐步添加更多的功能。让我们从在我们的项目中创建一个 HolaResources 开始。您可以使用您的...

woshixin ⋅ 43分钟前 ⋅ 0

Maven的安装和Eclipse的配置

1. 下载Maven 下载地址 2. 解压压缩包,放到自己习惯的硬盘中 此处我将其放到了 D:\Tools 目录下。 3. 配置环境变量 右键此电脑 -> 属性 -> 高级系统设置 -> 环境变量。 在系统变量中新建,变...

影狼 ⋅ 51分钟前 ⋅ 0

python pip使用国内镜像的方法

国内源 清华:https://pypi.tuna.tsinghua.edu.cn/simple 阿里云:http://mirrors.aliyun.com/pypi/simple/ 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/ 华中理工大学:http://......

良言 ⋅ 51分钟前 ⋅ 0

对于url变化的spa应该如何使用微信jssdk

使用vue单页面碰上微信jssdk config验证失败的坑。第一次成功 之后切换页面全部失败,找到了解决方法,第一次验证成功后保存验证信息 切换页面时验证信息直接拿来用,加一个wx.error() 失败时...

孙冠峰 ⋅ 56分钟前 ⋅ 0

Spring Cloud Gateway 一般集成

SCF发布,带来很多新东西,不过少了点教程,打开方式又和以前的不一样,比如这个SCG,压根就没有入门指导,所以这里写一个,以备后用。 一、集成 pom.xml <dependency> <groupI...

kut ⋅ 59分钟前 ⋅ 0

建造模式

《JAVA与模式》之建造模式

Cobbage ⋅ 今天 ⋅ 0

WePY框架开发的小程序如何在微信web开发者工具中运行起来

一、首先需要安装node.js,安装步骤如下: 首先下载安装包 https://nodejs.org/en/download/ 点击下载相应的zip版本 然后将文件夹解压到任意目录 比如我这里解压到了:C:\Program Files\node...

Helios51 ⋅ 今天 ⋅ 0

使用EnumSet 代替位域(32)

1、位域(Bit field):使用or 运算将几个常量合并到一个集合中 位操作,可以有效地执行 AND 、OR 这样的位操作 但是 位域比int 常量枚举缺点更多 2、java.util 包里面的EnumSet 类是有效的替...

职业搬砖20年 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部