Tool-Assisted VB6/ASP/COM to .NET Rewrite
VB/ASP/COM to .NET System Modernization Tool
gmStudio is a Code Re-Development Platform
gmStudio enables an agile Tool-Assisted Rewrite Methodology that accelerates the system re-engineering process and saves time 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 handles systems of inter-dependent components as well as stand-alone applications. gmStudio also includes extensive analysis and reporting capabilities to help you plan, track and manage complex software migration tasks.
Four types of migrations are supported:
- VB Classic to C#.NET
- VB Classic to VB.NET
- ASP Classic to ASP.NET (web application projects with C#.NET code behind)
- ASP Classic to ASP.NET (web application projects with VB.NET code behind)
All recent Visual Studio project formats are supported as well as choice of .NET framework version. Older Visual Studio versions available on request.
gmStudio is a complete system upgrade management and automation environment that supports preparation, translation, and verification activities. The gmStudio main form is shown here.
gmStudio is a key component of our tool-assisted migration software methodology. We have used this tool to develop custom translation and refactoring solutions for our clients’ migration projects — large or small. For example, we employed this tool with great success in the BMW Financial Services “Visual Basic Retirement” Project. The purpose of this project was to migrate to .NET their entire enterprise portfolio of about 500 business applications (totaling more than one million lines of VB6 code) via automated translation and refactoring of VB6/COM to C#/.NET. See the Case Study.
The hallmark features of gmBasic include the following:
- Choice of Target Language — automatically rewrite VB6/ASP/COM in either C# or VB.NET
- Choice of Target .NET Tools — choose any recent version of Visual Studio and Framework
- 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 intrinsics with .NET code that meets your standards
- Refactoring Commands — fine tune the translation with renaming, reauthoring, dead-code removal, etc.
- 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 — reengineer up to 500K LOC per minute
- COM Stub Generation — generate stubbed-out .NET classes for the COM components used by your code
- Application Stub Generation — stub out functions, modules or entire projects for code 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
- Multi-Project Capability — translate a group of inter-dependent VB6 projects as a coherent set and avoid using interop
- Analytics — plan and track your progress with an extensive set of migration analysis and reporting tools
“Under the hood”
gmStudio is a highly configurable, robust computer language processing and transformation system called gmBasic. gmBasic is the result of over thirty years’ research and development in the area of compiler design and applied linguistic theory to create a unique semantic translation technology that allows more accurate and complex transformations.
gmBasic has three basic 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.
A detailed description of this gmStudio and our methodology is in the gmStudio User’s Guide.