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