MoDisco:模型驱动的软件现代化框架

最近,AtlanMod研究团队的Hugo Bruneliere、Jordi Cabot、Frédéric Jouault和MIA软件的Frederic Madiot共同发布了针对MoDisco项目的简短介绍,该项目是一个通用的并且可扩展的开源反向工程解决方案。他们写到:

几乎所有公司都正面临着这样的问题,他们不得不管理、维护甚至替换现存的遗留系统。很多情况下,他们需要解决的首要问题就是真正理解大型遗留系统的功能、架构和数据等等,结果,当前反向工程仍然是软件工程的一大挑战。
主要的挑战就是能够找出并理解遗留系统的功能、架构和数据等等,并对其进行反向工程,以得到有意义的展现,可以在稍后加以利用并重新实现。
MoDisco集中使用了MDE原则和技术,以改善现存的反向工程方法。

他们解释说,在反向工程中关键的问题就在于遗留系统的异质性,而MoDisco的关键目标就是:

模型驱动反向工程(MDRE)正在将实现技术的异质世界转变为模型的同质世界。

MoDisco是围绕两个阶段来构建的:模型发现(Model Discovery)和模型理解(Model Understanding)。

(模型发现)包括从遗留系统的源代码、原始数据、现有的文档等等中获取代表系统(或者至少是系统的一部分)视图的模型的过程。这个模型会提供系统的统一展现,这与表现选定视角的给定元模型是一致的。
在模型理解阶段,我们会分析和计算这些模型的内容,特别会使用模型转换,直到我们获得了最终所需要的系统展现或数据(例如,源代码、文档、结构化的数据等等)。

MoDisco是Eclipse的开源项目,它提供了一种可扩展和可自定义的MDRE框架,是我们可以开发模型驱动工具来支持不同的反向工程情况,像遗留系统的迁移或者现代化、质量保证、向后生成文档等等。

目前,MoDisco包含以下组件:

  • 模型浏览器(针对大型模型)。
  • 模型扩展和自定义机制。
  • 模型查询管理器
  • 发现程序管理器和相关的工作流。
  • 度量可视化工具。

MoDisco还提供并使用了知识发现原模型(KDM)和软件度量原模型(SMM)的稳定实现。它为Java反向工程提供了扩展的专门针对该项技术的支持(包括完整的Java原模型以及相关的发现程序),还提供了XML反向工程(针对像Struts或者Hibernate之类的JEE框架的配置文件)。

查看英文原文:MoDisco: A Model-Driven Software Modernization Framework

你可能感兴趣的:(MoDisco:模型驱动的软件现代化框架)