图文并茂解释什么是元模型

最近读到一本好书(The Art of Software Architecture Design Methods and Techniques),一直以来对于元模型理解的困惑终于解开了,以下总结一下。

1 什么是元模型

1.1 模型(model)

     要理解元模型首先还是要理解模型,在软件系统系统领域有,类模型,功能模型,通信模型,部署模型等等(图1)。

关于元模型(MetaModel)的理解

图1

    不同模型可以描绘系统的某个方面的特征,展现了对于系统不同的关注点。如:对象模型关注系统内部对象及内部对象之间的关系,通信模型关注系统分布组件及组件之间的通信关系,功能模型关注系统功能模块及模块之间的关系。

1.2 元模型(Metamodel)

     有了对模型的理解再看元模型。元模型定义了描述某一模型的规范,具体来说就是组成模型的元素和元素之间的关系。元模型是相对与模型的概念,离开了模型元模型就没有了意义。下面来看一个类模型与其元模型的例子(图2)

关于元模型(MetaModel)的理解

                                   图2

     可以将元模型想象成为某种形式语言,这样模型就是一篇用该语言描述的文章,其中元模型中的元素就是该语言的词汇,元素之间的关系就是该语言的语法(图3)。

关于元模型(MetaModel)的理解

                                图3

     每个模型都有一种元模型来解释它,虽然这种元模型可能不是显而易见的,而模型与元模型也是相对的,对于元元模型来说元模型就是它的模型。模型与元模型构成了一个无限循环,而越往上抽象层次越高(图4)。举一个例子,随着抽象层次的提升,动物、植物在某个抽象层次有一致的元模型(都是有细胞构成的),再往上提升在某一抽象层次,动物植物矿物都是一致了(都是由分子构成)。

     关于元模型(MetaModel)的理解

                            图4

      

     元模型往往用来在某一特定的领域定义一个基础的通用的语言,来讨论和描述该领域的问题及解决方法。例如交通指示标志就定义了一种非常简单的元模型(图5)。当你在开车时无论在那个国家,只要看到了这些标志就能明白其所代表的意义,这样一来这些标志的组合事实上就是构成了某种意义的表达。

关于元模型(MetaModel)的理解
                     图5

2 定义自己的元模型

     在生活中元模型可以说是无处不在,在对元模型有了一定的理解后就可以动手实践,定义自己的元模型。例如:我在读书时常常会记录笔记,这种笔记是比较随意的看起来如图6。

     为了使笔记变得更通用和规范,使笔记中的各种要素与关系更加明确和清晰提高笔记的可读性,也为将来笔记可以被第三方的人员更好的理解。我为笔记定义了一个元模型(图7)。

关于元模型(MetaModel)的理解

                                          图7

     利用这个元模型记录的笔记样式如图8

猜你喜欢

转载自blog.csdn.net/zzhuan_1/article/details/88421419