📄 umlmetametamodel002.htm
字号:
<head><meta NAME="´¡ãÍâÈí¼þ¹¡è³Ì" Content="Author:Asia Alien"><title>UML元元模型(中文)</title><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><link REL="stylesheet" HREF="../../newcss.css" TYPE="text/css"></head><body><font face="Times New Roman"> </font><font face="Arial" size="5"><p><img border="0" src="i/umldilver.gif" WIDTH="606" HEIGHT="15"></font></p> <h3><a name="1">1. 简介</a> <a href="umlmetametamodel000.htm">返回目录</a><br> <font face="Arial" size="5"></h3> </font> <p>在文档UML语义中描述的UML元模型定义了使用UML表示对象模型的完整语义。而它本身是用元递归的方式定义的,即用UML记号表示法和语义的一个子集来说明自己。这样,UML元模型用一种类似于把一个编译器用于编译自己的方式来自扩展。 <font face="Times New Roman"></p> </font><p>本文档提供了元模型体系结构的一些背景,并且定义了UML元元模型。体系结构的方法有几点优越性:</p> <blockquote> <p>通过建立一个体系结构基础,增加了UML元模型的严格性。 <font face="Times New Roman"></p> </font><p align="JUSTIFY">它有助于我们对UML元模型中的核心元对象的进一步理解。 <font face="Times New Roman"></p> </font><p align="JUSTIFY">它为今后对UML元模型的扩展定义奠定了体系结构基础。</p> <p align="JUSTIFY">它提供了把UML元模型和其它基于四层元建模体系结构(如:OMG元对象Facility工具,CDIF)的概念统一起来的体系结构基础。 <font face="Times New Roman"></p> </blockquote> </font><p>在许多情况下,被称为元模型技术的应用将基于元元模型,而不是元模型。例如,一个用于模型互交换的转换传送格式应当基于一个元元模型,这个元元模型很容易映射到所涉及到的不同的元模型上。因而,有必要对元元模型加以适当的定义。</p> <font face="Arial" size="5"><p></font><a name="_Toc376668793"></a><a name="1.1">1.1 背景</a> <font face="Arial" size="5"></p> </font> <p>通常公认的元建模的概念框架基于一个四层的体系结构:</p> <blockquote> <p align="JUSTIFY">元元模型(meta-metamodel)<font face="Times New Roman"></p> </font><p align="JUSTIFY">元模型(metamodel)<font face="Times New Roman"></p> </font><p align="JUSTIFY">模型(model)<font face="Times New Roman"></p> </font><p align="JUSTIFY">用户对象(user object)<font face="Times New Roman"></p> </blockquote> <p></font><br> 元元建模层(meta-metamodling)构成了元建模(metamodeling)体系结构的基础结构。这一层的主要责任是定义描述元模型的语言。一个元元模型定义了这样一个模型,它比元模型具有更高的抽象级别,而且比它定义的元模型更加简洁。一个元元模型能够定义多个元模型,而每个元模型也可以与多个元元模型相关联。通常所说的相关联的元模型和元元模型共享同一个设计原理和构造,也不是绝对的准则。每一层都需要维持自己设计的完整性。在元元模型层上的元元对象的例子有:元类、元属性和元操作。</p> <p>一个元模型是一个元元模型的实例。元模型层的主要责任是定义描述模型的语言。一般来说,元模型比定义它的元元模型更加精细,尤其是当它们定义动态语义时。在元模型层上的元对象的例子如:类、属性、操作和构件。</p> <p>一个模型是一个元模型的实例。模型层的主要责任是定义描述信息论域的语言。在建模层上的对象的例子如:StockShare、askPrice、sellLimitOrder和StockQuoteServer。<em> <font face="Times New Roman"></p> </em></font> </em><p>用户对象(a.k.a.用户数据)是一个模型的实例。用户对象层的主要责任是描述一个特定的信息论域。在用户对象层的对象的例子如:<Acme_Software_Share 98789>、654.56、sell_limit_order和<Stock_Quote_Svr 32123>。</p> <p>对元建模层的描述的总结见表1。</p> <table border="1" cellspacing="1" cellpadding="6" width="614" align="LEFT" hspace="12" align="center"> <tr> <td>> </td> </tr> <tr> <td width="22%">层</td> <td width="39%">说明</td> <td width="39%">例子</td> </tr> <tr> <td width="22%">元元模型</td> <td width="39%">元建模体系结构的基础构造。定义了描述元模型的语言。 </td> <td width="39%">元类、元属性、元操作</td> </tr> <tr> <td width="22%">元模型</td> <td width="39%">元元模型的实例。定义了描述模型的语言。<br> </td> <td width="39%">类、属性、操作、构件</td> </tr> <tr> <td width="22%">模型</td> <td width="39%">元模型的实例。定义了描述信息论域的语言。</td> <td width="39%">StockShare,askPrice, sellLimitOrder,StockQuoteServer.</td> </tr> <tr> <td width="22%">用户对象 <br> (用户数据)</td> <td width="39%">模型的实例。定义了一个特定的信息论域。</td> <td width="39%"><Acme_Software_Share 98789>, 654.56,sell_limit_order, <Stock_Quote_Svr 32123></td> </tr> </table> <p align="CENTER">表1: 四层元建模体系结构</p> <font face="Times New Roman"><p align="CENTER"></font> <font face="Times New Roman"></p> </font> <font size="5"><p></font><font size="5"><p> <p> </font><p> <font face="Times New Roman"></p> </font><p>元建模层之间的依赖关系以UML表示法表示如下: </p> <p>图1<a name="chart1"></a><font face="Times New Roman"></p> </font><font face="Times New Roman" size="3"><p align="CENTER"><img border="0" src="i/image37.gif" WIDTH="324" HEIGHT="392"></p> </font><p align="CENTER">图1:四层元建模体系结构</p> <font face="Times New Roman"><p></font> 尽管元建模型体系结构可以扩展成含有附加层的结构,但是这一般是没有用的。附加的元层(如,元元元建模层)之间往往很相似并且在语义上也没有明显的区别。因此,我们把讨论限定在传统的四层元建模体系结构上。<br> </p> <font size="5"> <p><a href="umlmetametamodel000.htm">返回目录</a></p> </body>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -