Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

 Iterative Translation Tuning

...

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.

Incremental Refinement Revealed

Varying these inputs results in different translation conditions and different, hopefully better, .NET codes. This is typically done by comparing different translations using a text comparison tool (e.g. Beyond Compare, CSDiff) and incrementally refining the translation configuration so that problems are removed and improvements are retained.

...

Info
titleFile Comparison 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.

gmStudio facilitates

...

leverages comparisons  comparisons to refine the translation process:

...

  • Comparing to a Snapshot
     
  • Comparing two migration tasks
     
  • Comparing Tool-generated and Hand-fixed Code

...

Table of Contents
maxLevel3
minLevel3

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:

  1. Select [Run Translation] from the task context menu.

...

  1.  
  2. 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.

...

  1.  
  2. Alter the migration inputs (e.g., translation script, refactor libraries)

...

  1.  
  2. Select [Run Translation] from the task context

...

  1. menu 
  2. Click the [Compare] button on the Toolbar to see the effects of the changes.

...

  1.  
  2. 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:

  1. 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.

...

  1.  
  2. Select both tasks and select [Run Translation] from the task context

...

  1. menu 

...

  1. Select both tasks and click the [Compare] button on the Toolbar to compare the two translations.

...

  1.  
  2. 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:

  1. Select [Run Translation] from the task context menu.

...

  1.  
  2. Select [Deploy Translation] from the task context

...

  1. menu 
  2. Click the [New IDE] button on the Toolbar to open the .NET code in the .NET IDE.

...

  1.  
  2. Modify the .NET code as desired and save the

...

  1. files 
  2. 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.

...

  1.  
  2. Incorporate the changes into the migration process by modifying the Translation Script (e.g. Target Edits) and RefactorLibraries as needed.

...

  1.  
  2. Repeat the process to incrementally and iteratively refine the configuration to produce better .NET codes.

Comparing Snapshots in batch – TODO

Comparing Snapshot folder – TODO