Abstract
I. Introduction
II. Literature Review
III. Source-to-Model Framework (SRC2MOF)
IV. Implementation
V. Validation
Authors
Figures
References
Abstract
Legacy systems are large applications which are significant in performing daily organizational operations and cannot be upgraded easily especially in the absence of architectural and design documentation. Software modernization is an emerging field of software engineering, which transforms the legacy systems into new one according to the specified requirements of stakeholders. It mainly deals with improving the architecture, features, rules and data sources of existing system. It always remained a challenging task to achieve high-level representation of legacy systems. In order to achieve this high-level representation, Reverse Engineering (RE) plays an integral role. The issues of traditional RE are overcome with the help of Model Driven Reverse Engineering (MDRE) such as it generates model-based view of the legacy systems, which is comprehensible and easy to understand for practitioners. MDRE is an active research area but it provides limited tool support to extract and model both structural and behavioral aspects of legacy systems. In this paper, a novel MDRE framework named as ‘‘Source to Model Framework (Src2MoF)’’is proposed to generate Unified Modeling Language (UML) structural (class) and behavioral (activity) diagrams from the Java source code. Src2MoF is based on the principles of Model Driven Engineering (MDE), which use models as first-class citizens alleviating the complexity of software systems. The contributions of this paper are as follows; first, an Intermediate Model Discoverer (IMD) is developed using source code parser to get the intermediate representation of the system from the existing Java code. Second, an open source transformation engine named ‘‘UML model generator’’ is implemented using Java, which takes these intermediate models as input, and produce high-level UML models of the subject legacy system. Finally, the two benchmark case studies are presented to depict the relevance and usability of Src2MoF.
Introduction
Legacy systems are used by many organizations because they execute critical operations and are non-negligible. Moreover, the high cost of replacing these systems limits the productivity of these organizations. Software modernization transforms legacy systems into modern systems based on the stakeholder’s requirements of an organization. Reverse Engineering (RE) plays an important role in software modernization and its history as old as the computer itself. Initially, it targeted computer hardware modernization but later, with the increasing use of software in 80s, it was dedicated for software systems. Reverse Engineering (RE) is a methodology extensively used to extract the valuable information of the underlying system at higher layer of abstraction using existing legacy system artefacts such as requirements, design, code [1]. By applying RE, it helps the practitioners to deal with legacy systems in following manner: 1) It helps to understand the key issues of an unsuccessful design and subsequently improve the design. 2) It is used to perform migration of systems from old platforms to new i.e. From ’as is’ state into a ’to be’ state. Reverse engineering of system can provide the most current documentation necessary for understanding the existing state of the system. RE helps an organization when a system is required to interface/work with other systems or products.