Reports and Services     Home     Content    

Analyze and Redesign vs.
Automated Conversion of MUMPS Code to C++

Analysis and Redesign

Short term costs are high

Long term / maintenance costs are low

Documented system

Stable design

Database design

Automated conversion of MUMPS to C++

Short term costs are moderate

MUMPS uses internal hierarchical database

C++ must have an interface to a database manager (SQL)

C++ code can be no better than the MUMPS code it was derived from

C++ does not execute comments

C++ does not execute data

Requires proprietary C++ library

May require manual intervention

Database design

Considerations

MUMPS has only one data type (and they are all different)

MUMPS will create a new variable if one is misspelled (for a set statement)

C++ has strong data typing

MUMPS vendor specific functions

C++ implementation must provide MUMPS vendor functionality

C++ implementation will have to provide MUMPS functionality

Database manager must be selected

Side effects (some programmers rely on side effects)

MUMPS code has GOTOs

MUMPS code is sometimes self modifying

 

Trade-Off

 

Analyze / Redesign

Automated Conversion

Short term costs

High

Moderate

Long term / maintenance

Low

Moderate

Documentation

Current design

`As was' design (extracted from code)

Design stability

High

Moderate

Data base design

Required

Required

Implementation of sparse arrays

No

Required

Implement context sensitive data typing

No

Required

Implement MUMPS functionality

No

Required

Parse MUMPS code

Required

Required

Run mflow analysis

Required

Required

Run naked analysis

Required

Required

Run metrics analysis

Required

Required

Transform script

No

Required

Transform filter

No

Required

Class library

No

Required

Header Files for Proprietary Classes

No

Required