An Approach for Creating KDM2PSM Transformation Engines in ADM Context: The RUTE-K2J Case

  • Guisella Angulo UFSCar
  • Daniel San Martín UFSCar
  • Bruno Santos UFSCar
  • Fabiano Cutigi Ferrari UFSCar
  • Valter Vieira de Camargo UFSCar

Resumo


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.
Palavras-chave: Java Model, KDM, Model transformation, PSM
Publicado
17/09/2018
ANGULO, Guisella; MARTÍN, Daniel San; SANTOS, Bruno; FERRARI, Fabiano Cutigi; CAMARGO, Valter Vieira de. An Approach for Creating KDM2PSM Transformation Engines in ADM Context: The RUTE-K2J Case. In: SIMPÓSIO BRASILEIRO DE COMPONENTES, ARQUITETURAS E REUTILIZAÇÃO DE SOFTWARE (SBCARS), 12. , 2018, São Carlos/SP. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2018 . p. 92–101.