This experience report presents a model-driven approach to legacy system modernization that inserts an enriched, technology-agnostic intermediate model between the legacy codebase and the modern target platform, and reports on its application and evaluation. The four-stage process of analysis, enrichment, synthesis, and transition systematically extracts, abstracts, and transforms system artifacts. We apply our approach to a large industrial application built on legacy versions of the .NET Framework and ASP.NET MVC and show that core user interface components and page structures can be migrated semi-automatically to a modern web stack while preserving functional behavior and essential non-functional qualities. By consolidating architectural knowledge into explicit model representations, the resulting codebase exhibits higher maintainability and extensibility, thereby improving developer experience. Although automation is effective for standard patterns, migration of bespoke layout composites remains challenging and requires targeted manual adaptation. Our contributions are: (i) an end-to-end model-driven process, (ii) an enriched intermediate model that captures structure, dependencies, and semantic metadata, (iii) transformation rules that preserve functional behavior and essential non-functional qualities, and (iv) application and evaluation of the approach in an industrial setting. Overall, model-based abstractions reduce risk and effort while supporting scalable, traceable modernization of legacy applications. Our approach generalizes to comparable modernization contexts and promotes reuse of migration patterns.
翻译:本经验报告提出了一种模型驱动的遗留系统现代化方法,该方法在遗留代码库与现代目标平台之间引入了一个丰富的、与技术无关的中间模型,并报告了其应用与评估情况。分析、丰富、合成与过渡的四阶段过程系统地提取、抽象并转换系统工件。我们将该方法应用于一个基于旧版本 .NET Framework 和 ASP.NET MVC 构建的大型工业应用,结果表明,核心用户界面组件与页面结构能够以半自动方式迁移至现代 Web 技术栈,同时保持功能行为与必要的非功能性质量。通过将架构知识整合为显式的模型表示,最终得到的代码库展现出更高的可维护性与可扩展性,从而改善了开发人员体验。尽管自动化对于标准模式是有效的,但定制化布局组合的迁移仍然具有挑战性,需要有针对性的手动调整。我们的贡献包括:(i) 一个端到端的模型驱动流程,(ii) 一个捕获结构、依赖关系和语义元数据的丰富中间模型,(iii) 保持功能行为与必要非功能性质量的转换规则,以及 (iv) 该方法在工业环境中的应用与评估。总体而言,基于模型的抽象降低了风险与工作量,同时支持可扩展、可追溯的遗留应用程序现代化。我们的方法可推广至类似的现代化场景,并促进了迁移模式的重用。