HP 3000 Manuals

Detecting Incompatibilities [ Migration Process Guide ] MPE/iX 5.0 Documentation


Migration Process Guide

Detecting Incompatibilities 

Use the Migration Toolset during the analysis and planning stage.  Using
the tools, you can detect most migration-related problems in MPE V/E
files before you migrate them to an MPE/iX-based system.

Some problems cannot be detected by the Migration Toolset.  They can only
be determined by someone who has a working knowledge of what the
application does and how it does it.  These problems are summarized in
Appendix D, "Incompatibilities".

The Migration Toolset, discussed later in this chapter, has three tools:

   *   MPT, Migration Planning Tool,

   *   OCA, Object Code Analyzer,

   *   RTM, Run Time Monitor,

The Migration Toolset detects and reports on incompatibilities found in
two types of files:

   *   Program and segmented library (SL) files containing object code.

   *   Job stream files and UDC files.

Appendix D lists known incompatibilities between MPE V/E and MPE/iX
including those incompatibilities detected by the Migration Toolset.

Searching Program and SL Files 

The incompatibilities found in program and SL (segmented library) files
are generally caused by the program or SL calling certain external
procedures (or system intrinsics) or by the use of Privileged Mode
capability.  The Migration Toolset uses two methods of detecting
incompatibilities found in object code:

   *   Static search through files containing object code

   *   Dynamic search during program execution

Using the static search method, program and SL files are searched for
instances of calls to external procedures and system intrinsics that may
cause problems when the object code is executed on an MPE/iX-based system
(either in CM or when recompiled in NM). This method reports an
incompatibility whether or not the call is executed at run time.

Two migration tools, MPT and OCA, report on incompatibilities found using
the static search method of detection.

Using the dynamic search method, applications are monitored during
execution on an MPE V/E-based system for occurrences of calls to MPE V/E
intrinsics and programmatically executable commands which are either not
supported, or have modified parameters or return values in MPE/iX. This
method reports an incompatibility only when the problem code is executed
in a manner that would cause a problem when executed on an MPE/iX-based
system.

RTM reports on incompatibilities found using the dynamic search method of
detection.  In addition, the MPT is able to access the information
gathered by the RTM and include the information in its own reports.

Searching Job Stream Files and UDC Files 

Incompatibilities found in job stream files and UDC (user-defined
command) files are caused by instances in the file of calls to
incompatible or modified commands.  Using the static method of search,
job stream and UDC files are searched line-by-line for instances of calls
to commands that may cause problems when the file is used on an
MPE/iX-based system.  MPT detects and reports on incompatibilities found
in job stream and UDC files.

Migration Planning Tool 

MPT provides a first look at the potential issues arising from migrating
files from an MPE V/E-based computer system to an MPE/iX-based computer
system.  MPT is not intended to be all-encompassing, but rather a vehicle
for providing a sense of direction to the migration process.

MPT is easy to use by inexperienced programmers and analysts, yet
provides in-depth detail for more sophisticated users.  MPT can combine
the information compiled by RTM into the final MPT reports (when RTM is
run prior to creating the MPT database).  MPT is also used to identify
those program and segmented library files that require further analysis
by OCA.

MPT is a package of programs and parameter files that you use to generate
the following:

   1.  a database containing comprehensive information about files on
       your MPE V/E-based HP 3000 Computer System.

   2.  migration planning reports (up to six levels) from information
       collected from the database.  The reports contain information on:

   3.  a report listing the Hewlett-Packard software products that are
       fully or partially installed on your MPE V/E-based system.

          *   estimates of disk capacity for files migrating from an MPE
              V/E-based system to an MPE/iX-based system.

          *   places in files where problems may be encountered after the
              files are migrated to an MPE/iX-based system.

The MPT package runs entirely on an MPE V/E-based HP 3000 Computer System
in either batch mode or interactive mode.  The MPT package does not deal
with the implications of adding new applications nor any consequences
related to system performance.  Its purpose is to assess disk capacity
requirements and to uncover incompatibilities that might affect the
migration effort.

Refer to Appendix I, "Using the Migration Planning Tool" for detailed
information about MPT.

Object Code Analyzer.   

OCA is a utility to aid in migrating application programs from an MPE
V/E-based HP 3000 (running U-MIT or later) to an MPE/iX-based HP 3000.
OCA reports definite problem areas and warns of potential problems that
may be encountered when migrating an application to an MPE/iX-based
system.  The OCA can scan program and SL files on MPE V/E-based HP 3000
systems in either interactive or batch mode.  OCA will be able to locate
any potential incompatibilities with only one pass.

Using OCA, you can:

   *   locate program and SL files to be analyzed.

   *   identify incompatibilities independent of the source language.

   *   find all occurrences of a potential incompatibility.  OCA does not
       depend on run-time execution.

   *   Identify the location of incompatibilities in code by reporting
       the code segment and the offset within the segment.

   *   Determine which SL files are required to migrate an application.

   *   Look for calls to uncallable entry points to the MPE V/E operating
       system.

   *   Look for calls to any user-selected external procedure.

OCA can be used to provide code segment and offset information when an
incompatibility is found.  You can then determine the procedure and the
offset within the procedure by using a PMAP to trace an incompatibility
back to a location in the source code.  This information simplifies the
task of identifying the exact location of the incompatibility.  By
examining each of these locations you can determine if a true
incompatibility exists.

Refer to Appendix B, "Using the Object Code Analyzer" for detailed
information about the OCA.

Run Time Monitor.   

RTM is a data capture facility you use at run time to identify
incompatible areas within MPE V/E-based applications.  The following
events are logged

   *   calls to MPE V/E intrinsics

   *   programmatically executable commands which are not supported, or
       which have modified parameters or return values in MPE/iX.

When a user program or library procedure makes a call to system software
to invoke an incompatible feature, the event and location of the call is
logged.  You can select from predefined classes of events to detect with
the program RTMSYS. A report program, RTMREP, provides summaries
according to program and event, in addition to a record-level detailed
report.  MPT can access the data captured by RTM and include RTM data in
its own reports on incompatibilities.

You should run RTM long enough to have a complete activity cycle
monitored.  For instance, if you want to determine if an accounting
application has any run-time incompatibilities, you will need to have RTM
enabled long enough to monitor not only end-of-week or end-of-month
activities, but also end-of-quarter or end-of-year activities to ensure
that all portions of the application program paths are properly exercised
and monitored.

Using RTM, you can:

   *   Identify incompatibilities independent of the source language.

   *   Trap all events from all library and program paths executed.

   *   Trace an event to the code segment and offset in code.  Use this
       information, with a PMAP and source listing, to locate the
       incompatibility.

   *   Flag a potential problem in cases where return codes or values
       have been modified for MPE/iX. However, no incompatibility exists
       if your program does not depend on the modified return value.

Refer to Appendix C, "Using Run Time Monitor" for detailed information
about RTM.

Migration Toolset:  A Comparison Between the Tools.   

There are some inherent differences between MPT, OCA, and RTM. While one
tool may be better suited for detecting a particular type of event, it is
recommended that you use all three tools to get an accurate picture of
your potential incompatibilities.

MPT is best suited for:.   

   *   Getting an initial approximation of the complexity of the
       migration effort.

   *   Summarizing migration issues at a system level, account level,
       group level, and file level.

   *   Generating reports that incorporate the results of both static
       search methods and dynamic search methods.

   *   Projecting MPE/iX disk space requirements for MPE V/E files.

   *   Identifying Hewlett-Packard products installed on the MPE
       V/E-based system.

   *   Reporting on incompatibilities found in job stream files and UDC
       files as well as in program and SL files.

OCA is best suited for:.   

   *   Analyzing all programs and SL files to be migrated to a 900 series
       HP 3000.

   *   Detecting incompatibilities in code paths that may not have been
       executed while RTM was enabled.

   *   Locating calls to user-selected external procedures.

   *   Quickly determining potential incompatibilities.

   *   Detecting calls to unsupported routines.

RTM is best suited for:.   

   *   Investigating a particular class of events based on an OCA report.

   *   Detecting incompatibilities that can only be determined at run
       time.

   *   Analyzing applications on a long-term basis.

   *   Obtaining information on the frequency of particular
       incompatibilities.



MPE/iX 5.0 Documentation