Model-driven software engineering (MDE) techniques are not only useful in forward engineering scenarios, but can also be successfully applied to evolve existing systems. RAD (Rapid Application Development) platforms emerged in the nineties, but the success of modern software technologies motivated that a large number of enterprises tackled the migration of their RAD applications, such as Oracle Forms. Our research group has collaborated with a software company in developing a solution to migrate PL/SQL monolithic code on Forms triggers and program units to Java code separated in several tiers. Our research focused on the model-driven reengineering process applied to develop the migration tool for the conversion of PL/SQL code to Java. Legacy code is represented in form of KDM (Knowledge-Discovery Metamodel) models. In this paper, we propose a software process to implement a model-driven re-engineering. This process integrates a TDD-like approach to incrementally develop model transformations with three kinds of validations for the generated code. The implementation and validation of the re-engineering approach are explained in detail, as well as the evaluation of some issues related with the application of MDE.
翻译:模型驱动软件工程(MDE)技术不仅在前向工程场景中具有应用价值,也能成功应用于现有系统的演进。RAD(快速应用开发)平台兴起于九十年代,而现代软件技术的成功促使大量企业着手迁移其RAD应用程序(例如Oracle Forms)。本研究团队与一家软件公司合作开发了一套解决方案,用于将Forms触发器及程序单元中的PL/SQL单体代码迁移至分层架构的Java代码。本研究聚焦于应用模型驱动重构流程来开发PL/SQL代码至Java的迁移工具。遗留代码以KDM(知识发现元模型)模型的形式进行表征。本文提出了一种实现模型驱动重构的软件流程。该流程融合了类TDD方法以增量式开发模型转换,并为生成代码提供三类验证机制。文中详细阐述了该重构方法的实现与验证过程,同时对MDE应用中的若干相关问题进行了评估。