内容


将 UML 模型迁移到 IBM Rational Software Architect 8.0 格式

Comments

IBM® Rational® Software Architect 8.0 提供了处理图表时的一些性能改进。为了使用这种便利,首先你必须将模型转化为 Software Architect 8.0 设计环境所使用的新格式。

为了转化你的模型,你可以自己打开每一个模型。然后,在 Model Editor 中,显示 Details 页面。在 Model Operations 部分中,点击 Upgrade... 按钮。

图 1. 在 Model Editor 中,点击“Upgrade...”按钮来手动迁移你的模型
Model Editors Details 部分
Model Editors Details 部分

如果你拥有想要转化批量的模型,那么你可能会发现上述的过程十分耗时。为了更有效率地工作,在处理它们之前对你的模型进行批次转化,是一个不错的主意。

你可以编写一个插件,它使用 Rational Software Architect 开发环境统一建模语言™ (UML)的公共程序编程界面(API),它将会自动迁移模型。

激活插件功能

首先,你要确保安装了插件功能。启动 IBM Installation Manager 并选择了 Modify 选项。选择适当的包组并点击 Next 两次。你会看到接下来的界面。从这里,展开 IBM Rational Software ArchitectExtensibility and patterns-based engineering。确定 Pluglets 复选框被选中了。

图 2. 在 Installation Manager 中,确保安装了 Pluglets 功能
描述 Modify Packages 页面的图
描述 Modify Packages 页面的图

图 2 的大图

第二,为了激活产品之中的插件功能,显示 Preferences 对话框并选择 GeneralCapabilities。然后,点击 Advanced… 按钮并在 Capabilities 树中展开 Development。选中 Pluglet Development 复选框。

图 3. 确保你选择了 Pluglet Development 功能
显示 Advanced Capabilities Settings 的屏幕截图
显示 Advanced Capabilities Settings 的屏幕截图

第三,下载本文附件的插件,并使用 FileImport...Existing Project into Workspace 来将其导入到你的工作区之中。

运行插件

现在你已经为运行插件做好了准备。

为了运行插件,右击 MigrateModel.java 并从下列菜单中选择 Run AsPluglet

图 4. 选择 Run As,Pluglet
显示 Project Explorer 内容菜单的图
显示 Project Explorer 内容菜单的图

注意:如果 Run AsPluglet 没有显示的话,很可能因为你并没有完成前面章节中所介绍的两步。

你要在工作区中只打开模型或者打开所有内容。选择合适的选项,并等待迁移过程的完成。

迁移性错误

迁移性状态,包括迁移性错误,将会出现在 Console 视图之中。从这里,你可以看到哪些模型得到了成功的迁移,哪些遇到了迁移性错误。

图 5. 迁移性状态出现在 Console 视图之中
显示 Migration Errors 与 Console 视图
显示 Migration Errors 与 Console 视图

图 5 的大图

通过设计,如果从工作区中不能得到所有需要的概述那么迁移过程将会失败:在这种情况下,弹出窗口将会在迁移期间出现。

为了解决这个问题,请确定在工作区中你拥有这些概述,或者对受影响的模型不应用概述。为了不应用概述,你可以打开模型。从 Model Editor 中,显示 Details 页面。选择丢失的概述并点击 Remove 或者 Repair… 按钮。

图 6. 未解决的概述必须删除或者修复,以让迁移过程成功进行
Model Editor 的 Details 选项
Model Editor 的 Details 选项

图 6 的大图

当插件遇到带有大量模型引用的未迁移模型时,插件也可能失败。你可以按照 Technote 1443594 中的指南,以得到这个问题的解决方案。一旦模型得到了成功的迁移,它就不需要再遵循 Technote 中所描述的步骤了。

理解插件

通过催促用户迁移所有的模型,或者只是打开的模型,插件决定了要迁移什么模型。如果用户选择只迁移打开模型,那么公共的 API 调用 UMLModeler.getOpenModelRoots() 会得到使用。另外一种情况,如果用户选择迁移所有的模型,那么我们将会咨询工作区根,以浏览搜索 .emx (模型)文件。

对于迁移的每一个文件,我们会运行 AbstractTransactionalCommand 中的一个公共 API UMLModeler.forceMigrate(字符串)。需要在 AbstractTransactionalCommand 中运行迁移,因为模型元素将会由迁移过程更改。

结论

遵循上面所描述的步骤,现在你可以成功将模型迁移至 Software Architect 8.0 环境。通过权衡使用帮助你快速打开模型的特性,你的团队就能更好地有效率合作了。

致谢

作者感谢 Dusko Misic 和 Michael Hanner 对本文所做的评审工作。


下载资源


相关主题


评论

添加或订阅评论,请先登录注册

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Rational
ArticleID=607250
ArticleTitle=将 UML 模型迁移到 IBM Rational Software Architect 8.0 格式
publish-date=01102011