The DIBOL to C Conversion Process
Migration Specialties' CBL Translator is a powerful tool used to convert DIBOL application source code to ANSI C. This page provides an overview of the entire DIBOL to C conversion process. As the following explanations illustrate, converting from DIBOL to C under OpenVMS using our CBL Translator and conversion services is a straightforward process. Technical details concerning CBL's conversion of DIBOL source code to C can be viewed on our CBL Example page.
Determining Conversion Effort
The amount of effort necessary to carry out a conversion is primarily influenced by the size and complexity of the applications in question. Proper estimation of a conversion effort requires that the software to be converted be analyzed in its entirety. Migration Specialties can provide estimations of conversion effort provided we can analyze the DIBOL applications to be converted This can be done at the customer site or at our corporate offices. There is no simple formula for estimating a conversion; each application tends to contain unique elements. Conversion effort and cost will depend upon the size and complexity of the applications and the number and experience of the people involved.
The manpower necessary to accomplish a DIBOL conversion may be provided by the customer, by Migration Specialties, or by a combination of the two. Usually, this depends on the availability of local resources with the necessary expertise and on time constraints dictated by the customer's business needs. The customer brings detailed application knowledge to the table while Migration Specialties provides expertise in software conversion projects and the CBL conversion tool. Thus, joint projects work the best. Details about who will do the work, where the work will be done, and time frames for project completion are defined prior to delivery of a proposal by Migration Specialties.
Successful conversion projects require advanced preparation and planning. Activities such as the following are a necessary prerequisite to a successful conversion effort:
- inventorying and organizing the existing applications into logical subsystems;
- developing test data files, scripts, and reports;
- developing an overall Acceptance Test Plan;
- identifying resources for the conversion effort;
- developing a conversion schedule and time line; and
- training of appropriate personnel.
Most of these activities can be accomplished in a short period of time and will benefit the overall effort immensely. Development of a comprehensive Acceptance Test Plan is important to verify that the conversion process has accurately and completely converted an application. Once acceptance testing has been completed, the cut-over to live production using the converted software can be made.
Phases of a Conversion Project
The following sections offer an outline of the conversion planning methodology employed by Migration Specialties. The steps outlined below serve as guidelines rather than a strict set of rules, as conversion project planning is always dependent upon ongoing business needs and availability of hardware, software, and personnel resources. Careful planning and flexibility are key to any successful conversion. Time frames for a conversion project are strictly dependent on the project's size, complexity, and resource availability.
Phase 1: Planning and Preparation
Planning and preparation are the most important phase of the project. Do them well and you ensure a smooth conversion project. Do them poorly and you are looking at project overruns, schedule slips, additional expense, and possible disaster. Phase 1 is also where you make the final determination that the code can be converted. If, during the inventory step, you find source code is missing, or during compile testing you have problems, then the source code may not be fit to convert. Stopping a well-planned conversion project at the end of Phase 1 is far less expensive or career damaging than being forced to abandon a project in the midst of Phase 3 due to poor preparations.
- Software applications that are to be converted are inventoried and the code is frozen for the duration of the project. As the application is inventoried, components that are not to be converted are eliminated. Freezing code changes prevents modifications to the system during the conversion project that might result in invalid test results during the acceptance test phase.
- The applications are scanned to ensure that all of the components necessary to successfully complete the conversion are present.
- The DIBOL code is test compiled using the DIBOL compiler to check for any compilation warnings or errors. Any existing warnings or errors are resolved before beginning the conversion of the code to C.
- An Acceptance Test Plan is developed. This is a plan that describes the acceptance testing of the converted software. The plan includes test cases for all major software components and may include criteria for parallel testing. Parallel runs between the original DIBOL application and the converted application are an excellent way to confirm a successful conversion and we strongly encourage customers to include them in the test plan. Once these tests have been successfully completed, the application will be ready to run in a production environment.
- Test data files are generated for initial testing of the converted software. Using the test data files, sample output and interactive screen scripts can be generated to test the software after it has been converted.
- System operations are analyzed and a time that least interferes with overall operations is selected to begin the conversion process. A conversion schedule is drawn up, ensuring that resources and personnel will be available for the project.
Migration Specialties offers conversion-planning services designed to assist you in effectively and efficiently planning your conversion project. Our extensive experience in software conversions will help you quickly identify key components and resources necessary to ensure a successful conversion project.
Phase 2: Conversion and Initial Testing
Once the DIBOL programs to be converted have been identified and a conversion plan has been developed, actual work on the conversion of code begins. DIBOL code is converted to C using the following steps:
- The DIBOL code is run through the translator to create the header and translation files necessary to complete the conversion process.
- The DIBOL code is run through the translator a second time using the header and translation files created in step a. The results of this pass are scanned for translation warnings and errors. These are resolved.
- The DIBOL code is run through the translator again to ensure a clean translation.
- Compilation, linking, and testing of the converted code begins.
- Code optimization begins. Code optimization is an optional process that improves the efficiency and readability of the generated C code. It requires retranslating the DIBOL code using the CBL /OPTIMIZE parameter and may involve modifications to the DIBOL source code to achieve better results in C.
Steps c, d, and e are repeated as many times as are necessary to achieve the level of optimization desired.
When converting DIBOL to C on an OpenVMS system, any DCL procedures associated with the application should work without modification. If you are converting DIBOL to C to run on a non-OpenVMS system, then DCL procedures associated with the application will need to be rewritten to function under the new operating system.
When engaged by the customer to deliver DIBOL conversion services, Migration Specialties uses a suite of internal tools and procedures to automate the conversion process as much as possible. This process ensures a rapid, accurate, and repeatable conversion of code.
Once optimization and initial testing of the converted applications have been completed, the applications are ready for final testing using the Acceptance Test Plan. If Migration Specialties is delivering a turnkey service, this is the point where the converted code would be returned to the customer.
Phase 3: Acceptance Testing and Rollout of Converted Applications
- After an application has been converted from DIBOL to C, it is tested according to the Acceptance Test Plan using the test scripts, test data files, and reports generated during Phase 1 of the project. If parallel testing was part of the acceptance plan, it takes place here. With acceptance testing successfully completed, you are ready to begin production cut-over to the converted application.
- Placing the converted application into production is the last step in the conversion process. The C programs are switched from test data to live data files and the users begin using the new programs. A thorough Acceptance Test Plan will ensure that the production rollout of the new C-based system goes smoothly. One of the advantages of the CBL conversion solution is that the users will not see any differences in the appearance or functionality of their applications and will require no retraining.
When delivering a turnkey conversion service, Migration Specialties travels to your site during acceptance testing and participates in the testing process. We assist you in resolving problems or discrepancies that arise during acceptance testing. You may also opt to have us remain onsite during the production cut-over to help ensure a smooth transition to the converted applications.
That's the DIBOL to C conversion process in a nutshell. The process is straightforward, but each step is critical to success. Key to a successful conversion project is careful planning and a thorough Acceptance Test Plan. Migration Specialties is fully equipped to assist you in carrying out a rapid and accurate conversion of your DIBOL applications. And don't forget, if converting your DIBOL is too daunting, there is always the option of porting it using our VAX emulation solution. Give us a call and let's get things underway!