Glossary

This page provides definitions for the various terms used in the Great Migrations Methodology:


TermMeaning
BND FileAlso known as a bundle file; a BND file is a single text file containing multiple individual files' contents and the command directives for extracting and writing the individual files to separate files on disk. Typically a BND file contains the the generated output of a translation operation: csproj file, AssemblyInfo file, resx files, and code files. Processing a BND file with the Deploy.exe utility executes the deployment commands in the BND file and "deploys" the generated contents to disk.  See also Deployment.
Build LogA log produced by running a .NET compiler against the .NET code produced by the translator. 
Build OrderThe order in which a set of inter-related VBPs must be built in order to satisfy their dependencies (from the bottom up). The build order is also the translation order for Migration Projects that reference inter-related VBPs. 
Code BundleSee BND File 
DDF FileAn Declaration Description File provides a detailed description of the entry point APIs in a Win32 DLL. Declarations in the DDF files will be used when the IgnoreWin32=on option is set; otherwise the declarations in code take precedence.  A number of DDFs are distributed with gmStudio and they are located in the language folder (e.g. kernel.dcl.xml) 
Deploy LocationA folder that will receive the target project folders. 
Deploy LogA log produced by running the deployment step of a migration task. See also Bundle File. 
COM ComponentA COM type library that contains enums, classes, properties, methods, and events. May be an OCX, DLL, TLB, OLB, or OLE EXE. (aka COM External; aka COM dependency) A COM component may be replaced in several ways: with an Interoped wrapper that is generated by .NET framework tools (MSBuild,tlbimport), with a Prototype shell that is generated by gmStudio and then implemented by hand, or by a managed component that you buy, build, or borrow (from open source). 
gmBasicThe VB6/ASP/COM to .NET translator. It is a command line executable invoked by gmStudio to perform various types of translation and reporting operations.
gmILThe Great Migrations Intermediate Language is a binary reverse-polish representation. Source languages are compiled into gmIL. That representation is then analyzed and modified to be expressible in a target language. Then the gmIL is authored in that target language.
GMMThe Great Migrations Methodology. An iterative migration methodology that produces a high-yield translation process which can be used to migrate and re-engineer legacy codes to a form that is correct and conformant to new computing platform requirements. 
gmNIThe Great Migrations Native Interface makes writing native methods in C, C++, or C# possible to handle situations when a migration cannot be written entirely in the languages supported by the standard capabilities of the translation tool. Native code methods, loaded into runtime libraries, can handle events triggered during the translation process. These native methods have direct access to all of the information being managed during the translation via an extensive set of service classes.
gmPLThe Great Migrations Programming Language is a simple command language used to issue instructions to gmBasic and to enter declarations into the symbol table. It is not a procedural programming language, it is an xml-style scripting language.
gmSLThe Great Migrations Scripting Language is a procedural language for use with customizing the facilities of gmBasic. It uses C-style syntax and is executed interpretively. It can also be embedded, using ASP-style syntax, into gmPL; thus, greatly enhancing the power and flexibility of that language.
gmslAPIThe Great Migrations Scripting Language API is a .NET API used for implementing custom VB6/ASP/COM translation tools that integrate Great Migrations technologies with the .NET framework.
gmStudioAn IDE that integrates various software transformation tools and facilitates the Tool-Assisted Rewrite methodology
IDF CacheThe collection of IDFs that describe the external COM components and the internal libraries and controls referenced by the VB6 code in a Migration Project. 
IDFAn Interface Description File provides a detailed description of the elements in a COM component or a code file referenced by a VBP.  If an IDF is modified to affect the interpretation or expression of a COM API in source or target code, it is referred to as a custom IDF.
Include OrderThe order in which #include files are loaded by an including ASP page. The include order also identifies the files in your Web Migration Project as being Pages, Includes, or Pulp. 
Interop AssemblyA .NET assembly that provides a Runtime-Callable Wrapper (RCW) or proxy so that a .NET application can use the types defined in a COM type library. Alternatively, it may be a COM type library that provides a COM-Callable Wrapper (CCW) or proxy so that a VB6/ASP applications can use the types defined in a .NET assembly. 
Library LocationA folder where the Interop assemblies for a Migration Project are located. This is usually [workspace]\interop. 
Migration ProjectA collection of migration settings and tasks stored as an XML file with a gmproj extension. 
Migration UnitThe object of a migration task. A VBP, web page, or multi-unit translation script. 
MigrationSupport

A namespace that contains a number of classes which simplify a direct translation from VB6 to .NET.

ProtoType Translations will automatically generate a stubbed-out version of MigrationSupport classes and methods according to the specifications defined in MIgrationSupport.dll.xml file.

A binary implementation of this assembly is included with gmStudio to support our sample translations, including a data access API that emulates a significant portion of the ADODB API.

The use of the MigrationSupport library is optional: gmStudio can be configured to produce translations that do not use it or to use your own runtime support functions.

 If you would like access to the source code of the MIgrationSupport library contact us.


Migration TaskA collection of metadata that describes the status and nature of work to convert a Migration Unit to .NET. 
Migration TeamA group of skilled software engineers working to run the tools, analyze the results, identify issues, resolve issues, run tests, verify results, and deploy the final .NET code to production on the target platform. 
Migration WorkspaceA directory containing the folders and files needed to prepare, translate, and verify a migration project. 
PageSliceThe set of files processed when an ASP page is compiled by gmStudio. This includes the page itself and all files #included directly or indirectly. 
ProtoType AssemblyA .NET assembly containing stubbed-out external COM classes used by your application code. Also known as a Stub Assembly. 
ProtoType FileA source file added to your .NET project that contains a stubbed external COM class. See Prototype Assembly. 
Re-bundleTo generate a new code bundle file containing the source files from the .NET deployment folder. The new bundle can be compared with the original translation to identify the specific manual changes that should be incorporated into the translation configuration and applied automatically in subsequent translation cycles. 
Report ScriptAn XML document that specifies the parameters for a report. 
ScriptRulesA facility for organizing gmPL/gmSL commands that will be used in the translation process conditionally.
Semantic ModelA comprehensive collection of information about the source code and migration configuration used in a translation. 
Session LogA running activity log of operations performed during a gmStudio Session. See [workspace]\log\session.tab. 
SnapshotTo save a copy of the last translation code bundle file. The saved bundle can be compared with subsequent translations to identify the effects of configuration or source code changes. 
Source ProjectA visual basic project and related source files in the source codebase specified by a Migration Unit. 
Source CodebaseA collection of Source projects and their dependencies referenced by a Migration Project. 
StubSee Prototype. 
SubSystemA named collection of upgrade rules (gmPL) and logic (gmSL) that can be activated with the <Select SubSystem> statement.  Up to 5 SubSystems can be loaded in addition to a default NET language dialect (CSH or VBN)   At present the only custom subsystem is for Windows Presentation Foundation (wpf).  Defining and using subsystems is an advanced customization technique; contact Great Migrations to learn more.
Target ProjectA .NET project and related source files in the target codebase. May be a C# or VB.NET project. 
Target Project FolderA folder where the output files for a given migration unit are located. The name of this folder is typically derived from the name of the migration settings, the migration task tag, and the target language. 
Target CodebaseA collection of Target projects and their dependencies. 
Translation LogA text file produced by running a translation. 

Translation Script
(aka Task Script)

An XML document that contains the migration commands to direct the translation of a Migration Unit.  Typically Translation Scripts contain gmPL commands but they can also be implemented in gmSL.
User Command ScriptA console command script (CMD) file associated with a migration task that specifies user-defined operations to be done after translation, deployment, and build. 
VBI FileA binary file containing the semantic model produced by gmBasic. 
Virtual RootA folder path used to resolve #includes for ASP translations.Â