最近,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
评论