Herbert-ABS offers leading edge loading and salvage analysis software packages as well as software design tools to the maritime and offshore industries. Great Migrations worked with Herbert-ABS to accelerate upgrading their VB6 to .NET. Great Migrations used gmStudio to generate a C# system containing 22 application projects generated from the VB6 codes and also containing a COM stub framework generated from the COM dependencies. All projects were cross-referential and organized into a VS2015 project for subsequent refactoring, verification and optimization by the Herbert-ABS development team. The development of this "Phase 1" upgrade solution took about 10 weeks.
|FILES||693K LOC Logic and 79K LOC GUI in 1,712 Files: 411 Forms, 9 MDIForm, 1,040 Classes, 124 UserControls, and 102 Modules organized into 22 VBPs.|
|BINARIES||12 EXEs, 7 DLLs, 2 Controls, 1 OLE EXE|
|MEMBERS||41,918 unique subprograms: 11,893 subroutines, 9,439 functions, 10,695 properties, 1,084 externs, 8,808 event handlers.|
|UI||535 unique UI containers containing 8,183 instances of 178 different kinds of controls.|
|COM||19,076 calls to external COM components. The diversity of COM members is 1,690 unique members from 316 classes in 40 COM components.|
|WIN32||1,169 calls to 445 unique entry-point APIs from 17 libraries. API Calls are made from 98 different user procedures.|
All COM dependencies were satisfied by a COM stub framework generated automatically from actual COM usage found in the source codebase. The generated stub framework contained assemblies generated for third-party COM components as well as in-house components not available as source code. This framework was subsequently upgraded to functional .NET components by the in-house development team as part of their effort to verify and optimize the generated .NET code.
The core features of the translation engine were improved in several ways for this project including the following features: