Model 模型、元模型和元元模型 争论

Model 模型、元模型和元元模型 争论,model,uml,metamodel,Model,Uml,Metamodel,我在学习软件工程, 我正在上“模型驱动工程”课程幻灯片 显然,本幻灯片的主要主题是模型 模型一般概念的定义为: 模型是一个系统的抽象表示,从某个角度来表示它 然后继续定义元模型: 元模型是用于构建和理解模型的模型。每个模型都必须符合元模型 我的课程幻灯片以地铁地图(模型)和it图例(元模型)为例 好的,到目前为止还不错 然后它不会停止并继续使用元元模型定义 元元模型是用于构建和理解元模型的模型。每个元模型都必须符合元元模型 怀疑 现在我在想设计师在分析一般问题时应该做些什么 例子 选择保存动物园

我在学习软件工程, 我正在上“模型驱动工程”课程幻灯片

显然,本幻灯片的主要主题是模型

模型一般概念的定义为:

模型是一个系统的抽象表示,从某个角度来表示它

然后继续定义元模型:

元模型是用于构建和理解模型的模型。每个模型都必须符合元模型

我的课程幻灯片以地铁地图(模型)和it图例(元模型)为例

好的,到目前为止还不错

然后它不会停止并继续使用元元模型定义

元元模型是用于构建和理解元模型的模型。每个元模型都必须符合元元模型

怀疑 现在我在想设计师在分析一般问题时应该做些什么

例子 选择保存动物园信息的问题,该动物园有:

  • 畜生
  • 笼子(存放动物的地方)
  • (喂养动物的)工人
现在,在我看来,这个“领域”的模型是:

该模型的元模型是:


好的,现在谁/什么是元元模型?

嗯,你上面的元模型没有意义。元模型是关于应用于领域建模的一般规则。对于动物园,您可以根据不同的动物需求设置有效的模型元素,用于设计动物笼。因此,鸟类的需求与哺乳动物不同。基本上,您可以从域中使用的业务对象的一般视图派生元模型。对于动物园来说,它们是
cage
animal
visitor
,等等。你可以用属性来装饰它们,你可以使用这些属性创建一个配置文件,在其中你可以将类原型化为
animal
,而这些属性又在配置文件中定义了原型属性

现在什么是元模型?这是抽象的一步。您可能需要创建不同的动物园(内部由元模型处理)。然后,会出现来自外部的需求,这些需求会在顶部出现。就像你想要狩猎公园,或水上动物园等。它有点像洋葱模型,你可以附上另一个meta^3模型。当然,在实践中,你更愿意看到人们制作元模型。他们通常直接在键盘上破解代码(只是开玩笑)。但是,只有在学术界才需要更多的元模型。

元模型是建模语言的模型。事实上,它定义了一种建模语言(抽象语法)

元元模型是用于定义建模语言的语言的模型,定义建模语言定义语言的(抽象语法)

在元模型示例中,您定义了建模语言元素“类”和(二进制定向的)“关联”。但最好使用“源”和“目标”作为关联的结束名


您的示例的元元模型需要包括语言元素,用于以类的形式定义“类”和(二进制定向的)“关联”,并将“源”和“目标”定义为关联。因此,您的示例中的元元模型可能仅由两个类组成
关联

您能为zoo域问题的模型、元模型和元元元模型制作一个图形示例吗?嗯,这可能有点遥远。创建元模型需要数周甚至数月的时间,直到您可以在生产中使用它(而且它永远不会真正结束)。上面提到的业务对象将成为一个很长的列表,它还包括可能的关系、枚举和诸如此类的东西。如果你真的感兴趣,你可以PM我,我可以给你一个在EA中制作的元模型,我为我的一本书创建的。哦,是的,现在我的情况更清楚了。是模型和元模型以及UML模型和元模型的一般概念让我感到困惑。谢谢你!请注意,您的元模型只定义了二进制关联,而二进制关联通常(在UML中)没有任何方向,因此它们没有源和目标,只有两个类参与其中。但即使在UML中,关联的一般概念也没有方向(我的错误是使用UML的具体语法来表示一般模型),在这个元模型中,我想表示每个关联都有一个源和一个目的地这一事实。这不是元模型的目的吗?表示建模语言的“语义”(abstrat语法)?我将编辑我的问题,以便更好地表达这一点。谢谢你的回答!我只是想指出,在UML中,关联没有“源”和“目的地”。当然,你可以这样定义它们。但是,您不应该使用“源”和“目的地”作为关联名称,而是作为共同响应关联的名称结束。