Over the years, we have developed a number of commercial tools in the areas of computer language translation, software migration, simulation modeling, and multi-
dimensional data management. Two of these stand out:
- gmStudio, the Great Migrations Visual Basic to .NET Migration Tool
- gmFortran, the Promula FORTRAN to C Translator
gmStudio, the Great Migrations Visual Basic to .NET Migration Tool
gmStudio is a
Migration Development Platform which supports our
tool-assisted rewrite methodology. 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)
Both Visual Studio 2005 and VS2008 project formats are supported and various versions of the .NET Framework may be targeted. The earlier VS2003 format is available on request.
gmStudio is a complete migration management and automation environmnent
that supports code preparation, translation, and verification activities.
The gmStudio main form is shown below.
A detailed description of this form and the tool in general is in the
gmStudio
User's Guide. This tool is designed to support the migration of Visual Basic
Applications to .NET via translation to C# or VB.NET. It is a key component of our
tool-assisted migration methodology. We use 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 the entire BMW FS 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
BMW Financial Services .NET Adoption Case Study
The hallmark characteristics of gmBasic include the following:
-
Accurate - correctly transforms your application codebase to logically
equivalent .NET code
-
Flexible - can be configured to produce translations that meet your
custom restructuring and coding conventions; for example, replacing COM
components with managed components (e.g., ADODB to ADO.NET)
-
Scalable - handles multiple related projects (combinations of VB6
components and ASP pages) as a single, logical migration unit, not just
a batch of separate translations. The result is a coherent, consistent target codebase with no interop between migrated components.
-
Extensible - can be easily extended to recognize additional
libraries or restructuring rules. We have an extensive XML-based
migration configuration and a migration API.
-
Choice of Language - supports translation to both C# and VB.NET.
This also applies to conversion of VBScript in your ASP pages to C# or
VB.NET code behind.
-
Complete - supports all common VB6/ASP language features and COM
components distributed with VB and Windows
-
Mature - is based on proven principles of compiler design and
extensive experience in large scale migration projects.
-
Fast! - can translate typical VB projects in a few seconds
(e.g., it takes 12 minutes to compile a huge codebase of 175 VBPs,
3000 files, and 1.8 million lines of code).
The best way to learn about gmStudio is to see it for yourself in the context of
your application.
Contact us to request a demo or to find out about our
migration assessment service.
You will also find a number of white papers about our technology in the
Downloads section.
"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 semantic tranlsation. 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.
gmFortran, the Promula FORTRAN to C Translator
First published in 1987, this tool is the best-of-breed FORTRAN to C
translator around -- according to
independent reviews.
This tool can be used to produce custom C translations that are both correct
(functionally equivalent to the original FORTRAN) and C-readable (i.e., of high
C-code quality, subject to the client's C programming standards or custom
preferences).
Over the past thirty years, we have applied this tool in several hundred migration
projects around the world and have helped our clients in the porting of their
legacy applications (millions of lines of third-generation code) from mainframes
and other proprietary systems to more contemporary, open platforms.
This tool is also a general-purpose, multi-dialect and portable FORTRAN compiler.
It runs on multiple platforms and supports both the ANSI FORTRAN 66 and ANSI
FORTRAN 77 standard dialects. It also supports a large number of common extensions
such as those found in several commercial compilers, such as VAX FORTRAN, PDP
FORTRAN, and PRIME FORTRAN. Some Fortran 90 extensions are also supported.
Validated by the GSA FORTRAN Compiler Validation Test Suite, the Promula FORTRAN
compiler works by compiling FORTRAN source code to compilable C source code (from
where it derives its portability). It requires a C compiler to produce executable
code and is the ideal processor for hybrid FORTRAN/C applications.