Thursday, December 15, 2022

Overview of a Modernization tool and process in architecture driven modernization.

 


 

This section is explained in the context of the modernization of a database forms application to a Java platform. An important part of the migration could involve PL/SQL triggers in legacy Forms code. In a Forms application, the sets of SQL statements corresponding to triggers are tightly coupled to the User Interface. The cost of the migration project is proportional to the number and complexity of these couplings. The reverse engineering process involves extracting KDM models from the SQL code.  

An extractor that generates the KDM model from SQL code can be automated. A framework that provides domain specific languages for extraction of model is available and this can be used to create a model that conforms to a target KDM from program that conforms to grammar. Dedicated parsers can help with this code-to-model transformation. 

 

A major factor that determines the time and effort required for the migration of  a trigger is its coupling to the user interface which includes the number and kind of statements for accessing the User Interface. A tool to analyze this coupling helps to estimate the modernization costs. Several metrics can be defined to measure the coupling that influences the efforts of migrating triggers. For example, these metrics are based on the UI statements’ count, location, and type such as whether for reading or writing. The couplings can be classified as reflective, declarative, and imperative. The extracted KDM models can then be transformed into Software Measurement Metamodels.

With the popularity of machine learning techniques and SoftMax classification, extracting domain classes according to syntax tree meta-model and semantic graphical information has become more meaningful. The two-step process of parsing to yield Abstract Syntax Tree Meta-model and restructuring to express Abstract Knowledge Discovery Model becomes enhanced with collocation and dependency information. This results in classifications at code organization units that were previously omitted. For example, code organization and call graphs can be used for such learning as shown in reference 1. The discovery of KDM and SMM can also be broken down into independent learning mechanisms with the Dependency Complexity being one of them.

No comments:

Post a Comment