使用UML工具进行本体建模:MagicDraw教程
1. UML工具现状
在使用UML工具进行本体建模之前,我们需要了解当前工具存在的一些限制。目前最大的问题是,只有少数工具能够成功地相互交换模型。20世纪90年代末,第一批UML工具广泛流行时,缺乏通用的模型交换标准,导致它们在模型序列化的方式上存在差异。尽管后来UML XMI被采用为模型交换的标准,但仍有一些工具更喜欢使用专有的非XML格式,例如IBM Rational Rose。即使工具将模型序列化为UML XMI,其使用的UML XMI格式也可能不同,因此通常无法在一个工具中打开另一个工具创建的模型。
如今,大多数工具都试图在旧UML功能的基础上以某种插件的形式支持UML2。在UML2得到全面支持之前(这有望解决互操作性问题),选择UML工具时需要格外谨慎。一些工具比其他工具更友好,特别是那些基于“标准”元数据存储库的工具,如NetBeans MDR(基于OMG MOF 1.4标准)和Eclipse EMF(基于Ecore,虽不是标准但得到广泛支持)。一般来说,基于同一存储库的工具之间有一定的互操作性,但与竞争存储库的工具几乎没有互操作性。
虽然这些信息可能看起来过于技术化,但在UML和MDA工具的当前发展阶段,这是非常重要的。我们可以使用任何工具绘制图表,甚至可以用粉笔和黑板,但最终我们希望能够在另一个工具中打开模型,或者将其转换为其他技术。例如,团队可以从本体开始,将其转换为UML平台无关的领域模型,然后生成Java实现。要实现这些,我们需要了解哪些工具能够相互“通信”,而目前这往往是一个问题。不过,行业正在努力实现互操作性,OMG UML2和MOF2标准是朝着这个方向的关键规范。基于这些标准的工具应该不会有上述困难,