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 systems’ evolution. ADM defines the Knowledge
Discovery Metamodel specification, 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 significant
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 specific 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 difficult 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 significantly.
At this time, software modernization is a new specific kind of
evolutionary maintenance paradigm to solve reengineering problems.
ADM (Architecture-Driven Modernization) as defined 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) 519–532
⁎ 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