gmStudio User Guide

Search Child Pages

gmStudio is an Upgrade Solution Development Platform

gmStudio enables an agile Tool-Assisted Rewrite Methodology that accelerates the work of rewriting large software systems without sacrificing quality or control. As a migration development platform, gmStudio helps you verify, improve, and customize your translations so that they fit the unique requirements of your source code and .NET development standards.  gmStudio supports preparation, translation, and verification activities and includes extensive analysis and reporting capabilities to help you plan, track and manage even the most large and complex migration projects.  

The hallmark features and capabilities of gmStudio include the following:

  • Comprehensive Input System – source language descriptions, application code, COM API details, and custom rules are all used to direct the upgrade
  • Choice of Target Language -- automatically rewrite in either C# or VB.NET
  • Choice of Target Tools -- supports all Visual Studio and .NET Framework versions
  • Multi-Project Capability -- translate a group of inter-dependent VB6 projects as a coherent set and avoid using COM interop
  • ASP to ASP.NET -- create Web-Application Projects with codebehind and advanced restructuring for #include files
  • Custom COM Replacement -- replace COM classes with .NET code that meets your standards
  • Custom API Replacement -- replace Win32 API calls with .NET code that meets your standards
  • Custom Language Replacement -- replace VB6 intrinsic functions and classes with .NET code that meets your standards
  • Multiple Customization Options – customize your conversion using declarative XML, interpreted scripts, or DLLs developed in C, managed C++, C# or VB.NET.
  • Refactoring Commands -- fine tune the translation with renaming, reauthoring, dead-code removal, etc.
  • Shared File Consolidation – re-host content from shared code files into assemblies
  • Circular Reference Resolution – break circular references by converting circular references to interface references 
  • Pre-Editing -- use translation script commands to alter the VB6/ASP code before translation
  • Post-Editing -- use translation script commands to alter the .NET code after translation
  • High Performance -- read, interpret, and rewrite up to 500K LOC per minute
  • COM Stub Generation -- generate stubbed-out .NET classes for the COM components used by your applications
  • Application Stub Generation -- stub out functions, modules or entire projects you plan to rewrite by hand
  • Content Templates -- use custom, dynamic templates for project files, AssemblyInfo files, and many other code structures
  • Custom Deployment/Build Processes -- add your tasks to the deployment/build processes for the translated code
  • Manumatic Translation -- automatically integrate hand-written code blocks/methods/files with translated output
  • Automatic Configurable Type Inference -- minimize the use of weak typing when a stronger type is more correct
  • Build Order Calculation -- compute the translation/build order for a set of inter-dependent VB6 projects
  • Include Order Calculation -- compute the translation/build order for a set of inter-dependent ASP pages and #include files
  • Analytics  -- plan and track your progress with an extensive customizable set of migration analysis and reporting tools

 

"Under the hood"

gmStudio is powered by a highly configurable, robust computer language processing system called gmBasic.   gmBasic is the result of over thirty years' research and development in the area of compiler design and linguistic theory applied to create a unique semantic translation technology that allows more accurate and complex transformations of program source codes.

gmBasic has three integrated components

  •   Compiler: Builds a comprehensive semantic model
    of the source codebase and external COM components

  •   Analyzer: evaluates and restructures the model to
    fit the desired architecture patterns.
     
  •   Author: interprets the optimized model to generate
    clean, correct code that meets custom standards and conventions.