Success Stories

Just Emulate It!

If you come away from this page thinking a DIBOL to C conversion can be hard and expensive, it can. Even with help from professionals like Migration
Specialties, converting programming languages and operating systems can be a tough project. That's why hardware emulation is such a good alternative.
Rather than struggle with code conversion and learning a new operating system, get yourself a new virtual VAX. There is no code conversion, no application
changes, and no user retraining. You can stay with DIBOL as long as you like, but now you can deploy the applications on PC's! Best of all, the solution
can be implemented in days, not months. See our VAX Emulation page for more information on this great
solution.

WARNING: Javascript disabled.
Your browsing experience at this web site will be improved if
Javascript is enabled in your web browser.

On this page...

CBL Overview

Migration Specialties' CBL Translator is a powerful programmer's tool designed to be used by knowledgeable DIBOL programmers who also possess
a basic understanding of the C
programming language. CBL will not convert your DIBOL applications to C and have you up and running in hours. Instead, CBL makes converting DIBOL
to C a much easier and more structured task, reducing the risk and effort inherent in any conversion project. Using CBL to convert DIBOL to C will
save you a substantial amount of time and money.

Deploying CBL

The CBL Translator is deployed like a programming language compiler. A compiler such as VAX DIBOL inputs DIBOL source code
and uses it to generate object code. CBL inputs DIBOL source code and uses it to generate ANSI C code. As with any language
compiler, the more skilled and experienced the programmer, the more benefits that can be derived from CBL. Like the DIBOL
compiler, CBL uses command qualifiers and compiler directives to control how the DIBOL code is converted and what sort of
output code is generated. A good understanding of both DIBOL and C is helpful to get the most out of CBL.

A key CBL benefit is that it allows continued maintenance of DIBOL application code. You have the option of improving the generated
C code by modifying the DIBOL source code to facilitate its conversion to C. This methodology allows DIBOL programmers with rudimentary
C skills to quickly become proficient at producing sophisticated C code while maintaining a common code base. The translation process
serves as a teaching aid in training DIBOL programmers the intricacies of C programming.

CBL is also an excellent way to do a one-way conversion of DIBOL to C. In this scenario, you use the CBL Translator to convert
your applications to C, then switch to a C-based development environment. We recommend a skilled C programmer be involved
in one-way conversion so you can take advantage of CBL's potent optimization features to produce the best
C code possible from your DIBOL base.

DIBOL Conversion for OpenVMS

Using CBL to convert DIBOL to C to run under OpenVMS is the most straightforward and least difficult
type of conversion. Essentially, the only application component being changed is the DIBOL source code.
Command procedures, system services, the file system, and calls to non-DIBOL applications remain unchanged.

CBL can be effectively employed in an OpenVMS DIBOL conversion by personnel with reasonable DIBOL skills and very basic C skills.
The CBL for OpenVMS kit is designed to work with the native OpenVMS C compiler. Using CBL is an excellent way to migrate DIBOL
applications to the Alpha and Integrity OpenVMS environment. Migration Specialties provides direct assistance and turnkey solutions
for OpenVMS DIBOL conversions.

DIBOL Conversion for UNIX

Converting a DIBOL application to C to run under UNIX or Linux is more complex than converting the same
application to run under OpenVMS. In addition to converting the DIBOL source code to C, you have the following issues to address:

File system replacement.

Command procedure replacement.

System service call replacement.

Non-DIBOL application call replacement.

A DIBOL to UNIX conversion will require comprehensive planning and application testing and should be conducted by personnel
with well developed UNIX and C skills. CBL kits targeted at older versions of the SCO UNIX and HP-UX environments are available.

Migration Specialties only provides indirect support for UNIX and Linux conversions. We are primarily an OpenVMS shop and do
not maintain Unix expertise on staff. However, we do have some UNIX exposure and are happy to work with you to convert
your applications to a UNIX environment on a contractual basis. You also have the option of purchasing the CBL source
code and modifying the translator to suit your specific conversion needs.

DIBOL Conversion for Windows

Converting a DIBOL application to C to run in a Windows environment is more complex than converting the same application to run under OpenVMS.
As with a UNIX conversion, additional issues must be addressed:

File system replacement.

Command procedure replacement.

System service call replacement.

Non-DIBOL application call replacement.

A DIBOL to Windows conversion will require comprehensive planning and application testing. It should be conducted by personnel
with well advanced Windows and C development skills. Batch DIBOL program conversion should be straightforward once the
replacement file system has been identified and configured. However, conversion to a Windows environment generally requires
the replacement of the interactive portions of the DIBOL application with a GUI
interface. The CBL Translator does not generate GUI code; it
is strictly a DIBOL converter. Development of a GUI interface
must be done manually or with other tools.

CBL kits targeted at Windows, Windows NT, and MS-DOS are available. These kits are admittedly out-dated, but are a reasonable
starting point for converting DIBOL to a modern Windows platform. The CBL MS-DOS and Windows kits were designed to work with Microsoft C version 7.0
compiler and the Microsoft C version 8.0c compiler contained in the Microsoft Visual C++ 1.5 kit.

As with UNIX conversions, Migration Specialties only provides indirect support for Windows conversions. We are primarily an
OpenVMS shop and do not maintain Windows programming expertise on staff. However, we do have some Windows exposure and
are happy to work with you to convert your applications to a Windows environment on a contractual basis. You also have
the option of purchasing the CBL source code and modifying the translator to suit your specific conversion needs.

Conversion Effort

The amount of effort required to carry out a DIBOL to C conversion is dependent upon several factors. They are:

DIBOL programming skills.

C programming skills.

Level of code complexity.

Level of code standardization.

Size of application(s).

Target environment.

Target environment skills.

Conversion time frame.

User expectations.

On the other hand, converting a DIBOL application to C to run under OpenVMS is a straightforward process, provided the DIBOL
source code is reasonably standardized and does not use exotic constructs or extensions. This type of conversion can be carried
out quickly with minimal impact on the system and its users. On the other hand, if you are expecting to convert your DIBOL applications
into full-blown windowing applications, complete with point and click Graphical User Interfaces (GUI), you have your work cut
out for you even with the assistance of CBL. Carrying out this type of conversion in a short period of time is challenging, and
carrying it out while trying to learn C can be difficult and frustrating.

The bottom line is that a good understanding of your present DIBOL applications and the target
environment, along with realistic expectations concerning time and resources, are crucial to the
success of a conversion project. CBL is a powerful tool that will assist you in your conversion
efforts. It is not a substitute for adequate preparation and planning when conducting a conversion.

Migration Specialties has decades of experience assessing, planning, and delivering software migrations. We are specialists
in the field, capable of delivering migration services on a turnkey basis. See our Migration
Services page for additional information.

ISAM Issues

DIBOL under OpenVMS uses the native RMS file system for
data management and storage. If a DIBOL application is moved from OpenVMS to another environment, then
RMS features
must be replaced with another Indexed Sequential Access Method (ISAM) file system or with a database. Under other operating
systems, ISAM services can be provided by a variety
of products.

CBL does not provide automated support for non-RMSISAM file services.
ISAM header files and generic function prototypes
are provided with CBL to assist experienced C programmers in integrating the chosen
ISAM system with the C code generated by CBL. No
further documentation or support for ISAM conversion
is provided.

GUI Issues

Development of a GUI interface for a DIBOL application
converted by CBL is a job for an experienced GUI programmer.
CBL does not provide automated support for conversion to any type of GUI
environment. As with ISAM support, programmers are basically
on their own when carrying out a GUI conversion. The CBL for Windows
kits provide GUI enabling source and header files. These files are
intended as examples to be used by the programmers carrying out the conversion. No further documentation or support for
GUI conversion is provided.

Database Issues

CBL does not automatically convert RMS calls to relational database
or SQL calls. However, CBL can be used in the database conversion
process to integrate database or SQL calls into the converted C code. The CBL Translator accomplishes this by permitting the user to embed
SQL and relational database code in the DIBOL source code. The embedded code is flagged as passthru code by the user, whereupon the CBL
Translator passes the embedded code through to the generated C source file and includes it in the C application.

When converting from a flat-file system to a database environment, be sure the database system has been properly planned and designed
before attempting the conversion. Trying to retrofit a flat-file application to a poorly designed database can be very costly and time consuming.

OpenVMS-based Database Conversions

If part of the goal in an OpenVMS-based DIBOL conversion is to move the applications into a relational database environment, then we
recommend that this be undertaken in two steps.

Convert the DIBOL code to C and test the converted applications using the existing RMS-based
flat files. This confirms the accuracy of the application conversion and creates the automated CBL procedures that
will be used to convert the application again.

Replace the RMS file system with calls to a relational database.
The database calls can be embedded in the DIBOL source code using compiler directives. The CBL Translator recognizes
compiler directives and will insert the database code into the generated C code.

By using a two-step conversion process, application and data conversion issues are separated. Any problems found during testing
in step one are application conversion issues. Problems found during step two testing are database implementation issues.
Using a two-step conversion process makes the conversion easier and faster.

Non-OpenVMS Database Conversions

Unlike OpenVMS-based DIBOL conversion, if you are moving the application to a non-OpenVMS platform and a database environment,
we recommend the database calls be integrated into the DIBOL application before it is converted. This way you can take immediate
advantage of CBL's passthru capabilities and have the calls appear in the resulting C code. When converting to a non-OpenVMS environment,
it is not feasible to separate the application and data conversion elements.

Summary

Converting an application from one programming language to another is always a challenging task. CBL helps reduce both the time spent
converting an application and the risks involved in an application conversion. Effective use of CBL requires that you understand the
DIBOL applications being converted, the DIBOL programming language, and the target environment. A successful conversion effort requires
careful planning and adequate resources, regardless of the conversion tools used.

Professional Assistance

At Migration Specialties application migrations are our specialty. We are ready and able to help you develop a better understanding of
the conversion process and how tools like CBL can help you reduce the risk, effort, and cost of a migration project. Contact us for additional
information and a professional assessment of your migration needs.