Knowledge Discovery Metamodel-ISO/IEC 19506: A standard to modernize legacy systems Ricardo Pérez-Castillo , Ignacio García-Rodríguez de Guzmán, Mario Piattini Alarcos Research Group, University of Castilla-La Mancha, P° de la Universidad, 4 13071, Ciudad Real, Spain abstract article info Article history: Received 27 April 2010 Received in revised form 15 February 2011 Accepted 21 February 2011 Available online 27 February 2011 Keywords: KDM ISO19506 Knowledge management Software modernization Legacy system Legacy systems age over time as a consequence of uncontrolled maintenance, thus they must be evolved while its valuable embedded knowledge is preserved. Software modernization, and particularly Architecture-Driven Modernization, has become the best solution in the legacy systemsevolution. ADM denes the Knowledge Discovery Metamodel specication, now being adopted as ISO/IEC 19506 by the International Standards Organization. The KDM metamodel allows to represent all the software artifacts recovered during reverse engineering techniques at different abstraction levels. This paper presents how to use KDM to modernize legacy systems, making them more agile, preserving the embedded business knowledge and reducing maintenance costs. © 2011 Elsevier B.V. All rights reserved. 1. Introduction As the history of software engineering reveals, information systems are not static entities, but changeable over time. Information systems degrade and age, and they become legacy information systems because the code of these systems was written long ago and now may be technologically obsolete [49]. This problem is known as the software erosion phenomenon [52]. Most often, it is due to maintenance activities carried out over time, since the successive maintenance changes in an information system minimize its quality. In this case, a new and improved system must replace the previous one. However, replacing these systems completely from scratch is very expensive, and also slows down the achievement of ROI (Return of Investment) [48]. Additionally, the software embeds a signicant amount of business knowledge over time that would be lost if entirely replaced [44]. In tackling the software erosion phenomenon, evolutionary maintenance is the best solution for obtaining improved systems without discarding the existing systems, which minimizes software erosion effects. Evolutionary maintenance addresses adaptive and perfective maintenance changes [17], and makes it possible to manage controllable costs and preserve the valuable business knowledge embedded in the legacy system. Reengineering has been the main mechanism for addressing the evolutionary maintenance of legacy systems for a considerable time [8]. Reengineering preserves the legacy knowledge of the systems and makes it possible to maintain software easily at a low cost [7]. This reengineering process consists of the examination and alteration of a legacy system to reconstitute it in a new form and the subsequent implementation of the new form [10]. Nevertheless, a 2005 study [48] states that over 50% of all reengineering projects currently fail, due to two main weaknesses: formalization and automation problems. On the one hand, reengi- neering processes lack formalization and standardization [21], since these processes are carried out in an ad hoc manner. Thus, different reengineering tools that address specic tasks in the reengineering process cannot be integrated or reused in different reengineering projects. And on the other hand, the reengineering of large complex legacy information systems is very difcult to automate [9]; since the reengineering processes cannot be repeatable, as a consequence of the formalization problem. Therefore the cost of maintenance based on reengineering grows signicantly. At this time, software modernization is a new specic kind of evolutionary maintenance paradigm to solve reengineering problems. ADM (Architecture-Driven Modernization) as dened by OMG (Object Management Group) [36], advocates carrying out the reengineering process but considering model-driven development principles. That is, ADM deals with all the involved software artifacts as models in a homogenous manner, and it facilitates the formaliza- tion of deterministic transformations between those models [33]. The model transformations can be formalized by means of QVT (Query/ Views/Transformations), the model transformation language pro- posed by OMG [39]. The automation of the model transformations together with the model-driven development principles makes it Computer Standards & Interfaces 33 (2011) 519532 Corresponding author. Tel.: + 34 926295300; fax: + 34 926295354. E-mail addresses: ricardo.pdelcastillo@uclm.es (R. Pérez-Castillo), ignacio.grodriguez@uclm.es (I.G.-R. de Guzmán), mario.piattini@uclm.es (M. Piattini). 0920-5489/$ see front matter © 2011 Elsevier B.V. All rights reserved. doi:10.1016/j.csi.2011.02.007 Contents lists available at ScienceDirect Computer Standards & Interfaces journal homepage: www.elsevier.com/locate/csi