模型驱动MDA-GME建模(1)

工欲善其事,必先利其器!

GME是做学术研究的一个开源建模工具。如果要学会GME,我们需要大量的篇幅介绍才能完成这个学习过程。如果大家有兴趣,我可以在以后的文章中单独介绍。如果你有专研精神,可以自己参照网站提供的英文操作手册。

GME(Generic Modeling Environment)通用建模环境是一个可配置的工具包,用于创建特定于领域的建模和程序合成环境。配置是通过指定应用程序域的建模范式(建模语言)的元模型来完成的。建模范式包含与域相关的所有语法、语义和表示信息;将使用哪些概念来构造模型,这些概念之间可能存在哪些关系,建模人员如何组织和查看这些概念,以及控制模型构造的规则。

英文好的朋友可以参照下面的链接

https://www.isis.vanderbilt.edu/Projects/gme/

这里是下载地址(我用的版本 17.12.6 x64

http://repo.isis.vanderbilt.edu/GME/

上面的语言是不是有点晦涩难懂?简单说来它是一个建模工具。不同于其他的建模工具,GME可以帮助我们建立元模型,我们再通过元模型来构建我们的业务模型。关于元模型其实就是构成我们业务模型的基本元素模型以及可以联系各个元素之间的关系的基本模型。让我们来举栗子:

原子,分子,多彩的物质世界。

其中原子,可以看成是元模型,分子之间的结合关系就是元模型中各个元素的约束关系。这样就可以构成我们多彩的物质世界。不懂没关系,让我们来慢慢剥开问题看本质。

GME里面提供了元元模型。(由于我们要研究MDA 模型驱动开发,限于篇幅,我之列出和我们相关的元元模型元素)

  1. <<Atom>>
  2. <<Model>>
  3. <<Connection>>
  4. <<Reference>>
  5. <<FCO>>
  6. <<Attribute>>
  7. <<Connector>>
  8. <<Constraint>>

利用上面的元元模型,我设计出下列元模型元素:

  1. Product
  2. Role
  3. Property(Property,UniqueProperty,PropertyReference)
  4. Connection