An Approach for Creating KDM2PSM Transformation Engines in ADM Context: The RUTE-K2J Case - Angulo, Guisella; Martín, Daniel San; Santos, Bruno; Ferrari, Fabiano Cutigi; Camargo, Valter Vieira de (Anais do Simpósio Brasileiro de Componentes, Arquiteturas e Reutilização de Software (SBCARS); 2018: Anais do XII Simpósio Brasileiro de Componentes, Arquiteturas e Reutilização de Software, 2018)
Architecture-Driven Modernization (ADM) is a type of software reenginering that employs standard metamodels along the process and deals with the whole system architecture. The main metamodel is the Knowledge-Discovery Metamodel (KDM), which is language, platform independent and it is able to represent several aspects of a software system. Although there is much research effort in the reverse engineering phase of ADM, little have been published around the forward engineering one; mainly on the generation of Platform-Specific Models (PSM) from KDM. This phase is essential as it belongs to the final part of the horseshoe cycle, completing the reengineering process. However, the lack of research and the absence of tooling support hinders the industrial adoption of ADM. Therefore, in this paper we propose an approach to support engineers in creating Transformation Engines (TE) from KDM to any other PSM. This approach was emerged from the experience in creating a TE called RUTE-K2J, which aims at generating Java Model from KDM. The transformation rules of RUTE-K2J were tested considering sets of common code structures that normally appears when modernizing systems. The test cases have shown the transformation rules were able to generate correctly 92% of the source code that was submitted to the transformation.