Iterative Translation Tuning
This page discusses the how gmStudio facilitates experimentation and improving the translation process.- Agile Migration In a Nutshell
- Comparing to a Snapshot
- Comparing Two Migration Tasks
- Comparing Tool-generated and Hand-fixed Code
Agile Migration In a Nutshell
A key activity in the GMM is customizing the conversion process to improve the quality of the translations produced by the tool so they are more functionally correct, more conformant to .NET standards and best practices, and ultimately require less manual work to finish. The quality of output from translation process is driven by two main inputs:-
The source migration unit (e.g., a VBP and the code files and
COM files it references or a collection of ASP files that make up a web
site). The source code is a tested-correct, complete and formal specification
of the application functionality and, in general, putting this specification
through a systematic transformation should result in a correct .NET code.
- The collection of translation rules and settings (e.g., a Translation Script and other translation configuration files). These rules help you bring additional information and direction to the conversion process and address situations where the resulting .NET code is either not correct or not "good enough" to meet your standards.
Key Point External Diff Tool | gmStudio does not implement a file comparison viewer internally; rather it will use whatever file comparision tool you select. The path to the external comparison tool and a command line specification for running it must be set from the User Default Screen. |
-
Comparing to a Snapshot
-
Comparing two migration tasks
- Comparing Tool-generated and Hand-fixed Code
Comparing to a Snapshot
When you run a translation, gmStudio saves a copy of the generated code in a text archive called a bundle file. Once this file has been saved, you can compare it to future translations to see the affect of configuration changes. The steps for comparing to a Snapshot are listed below:- Select [Run Translation] from the task context menu.
- Select [Snapshot a Baseline] from the task context menu
Choosing [Snapshot a Baseline] makes a copy of the last
translation bundle file and stores it for safe keeping in
the [workspace]\log\sav folder.
- Alter the migration inputs (e.g., translation script, refactor libraries)
- Select [Run Translation] from the task context menu
- Click the [Compare] button on the Toolbar to see the effects of the changes.
- Repeat the process to incrementally and iteratively refine the configuration to produce better .NET codes.
Comparing Two Migration Tasks
You can create two migration tasks that reference the same source code but have different Translation Scripts (and different TaskTags). The translations produced by the different scripts can be compared to see the effect of different combinations of settings. The steps for comparing two migration tasks are listed below:- Add two migration tasks to your migration project
that both reference the same source code but have different
translation scripts and different TaskTag values. Note that
the TaskTag value will be included in the names of all
output files and folders produced for the migration task.
- Select both tasks and select [Run Translation] from the task context menu
- Select both tasks and click the [Compare] button on the Toolbar
to compare the two translations.
- Repeat the process to incrementally and iteratively refine the configuration to produce better .NET codes.
Comparing Tool-generated and Hand-fixed Code
You will typically research translation refinement ideas by fixing and refactoring codes in a .NET IDE. After you make and verify a few changes, you can compare the hand-fixed code to the code that was generated automatically and then incorporate the refinements into the translation configuration. The steps for comparing to hand-fixed code are listed below:- Select [Run Translation] from the task context menu.
- Select [Deploy Translation] from the task context menu
- Click the [New IDE] button on the Toolbar to open the
.NET code in the .NET IDE.
- Modify the .NET code as desired and save the files
- Select [Rebundle Translation] from the task context menu.
This will produce a "new" bundle file and compare it to the
last one generated by the tool.
- Incorporate the changes into the migration process by modifying
the Translation Script (e.g. Target Edits) and RefactorLibraries
as needed.
- Repeat the process to incrementally and iteratively refine the configuration to produce better .NET codes.