gmStudio User Guide
gmStudio is a Migration 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, your application code, COM API details, and custom rules are all used to direct the upgrade
Choice of Rule Implementations -- rules may be specified as text: declaratively using XML, using our java-like scripting language, or using any .NET language with our .NET API
Choice of Language Translations -- automatically rewrite VB6/VBScript/ASP/COM 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
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 allowing quick experimentation and iterations cycles
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 forty years of research and development in the area of compiler design and linguistic semantic 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
All of these components may be configured through declarative and procedural rules that bring additional information and preferences into the translation process allowing translations that more precisely preserve functionality and go beyond the original code. All of these components may be configured through declarative and procedural rules that bring additional information and preferences into the translation process allowing translations that more precisely preserve functionality and go beyond the original code. |
|---|