Jacquard Systems Research

Reverse Engineering Services from Jacquard Systems Research

Automated Code Regeneration

One of most stressful aspects of certain re-engineering tasks is the repetitive nature of the editing that must be done to accomplish them. In many cases, JSR can identify syntax to replace the existing code without additional programmer intervention. The existing programming staff need not be sidetracked from its current schedules to perform dull editing tasks.

Another benefit of automated code regeneration is the predictability of results. Once a replacement technique has been proven satisfactory, keystroke error is removed from the equation.

User Interface Replacement

The advent of new Graphical User Interfaces from M implementors creates new opportunities for modernization of the "look and feel" of M systems.Sometimes the appropriate reaction is a complete re-write of the system. JSR can help by providing tables of information on the prompting and validation code in your existing system.

Data Dictionary Creation

Data dictionaries have been in use in the M community for a fairly long time. The most recent developments in this area give users who are not M programmers access to data in M globals via an ODBC link. There are numerous PC based reporting systems that can use M data through these data dictionaries. JSR can help automate the creation of data dictionaries, and develops tools to import and export descriptions of M databases to CASE tools such as System ArchitectTM and S-DesignerTM.

Creation of Technical Documentation

Technical documentation is often the part of a project that never materializes. Either the staff is forced to move on to a new coding endeavor, or the debugging effort absorbs the time allocated for documentation. Even if technical documentation is done well, chances are high that in a few years it will be out-of-date. JSR can train your staff in the use of tools that will enable them to keep the picture of the system up-to-date. This is a real benefit for those who face system or data auditors.

Migration to Client-Server Architecture

Movement to client-server systems may require re-design of code to take advantage of the capabilities of the separation of the two functions. Ideally, you want the client machine to handle most of the user interface processing, and the server or servers to handle most of the data management. Most M systems currently have the two processes inextricably bound together. JSR can help with efforts to redesign by identifying all file accesses, and by designing a methodology for centralizing DB accesses.

Port of code to a new M platform

Although M is an ANSI and ISO standard language, many features supplied by M vendors will not run on another implementor's system. JSR can help you identify and replace non-portable code. We can also help you establish and enforce in-house coding standards that will make a repeat of this effort unnecessary.

Implementation of new standard language features

Implementation of new standard elements of the M language may make your software more appealing to potential purchasers. In particular, the use of Transaction Processing can improve the reliability of your software. However, implementation of Transaction Processing often requires redesign and re-coding of the parts of the software that access the database. JSR can automate much of this process.

Redesign of critical modules

If you plan to re-build any part of a system, you should take a good look at the old system first. Code often contains a model of the business practices of the organization that have not been documented by any other means. Even if the objective is to change the way the organization does business, it is imperative that you make informed choices.

What are the features of the system?
Which those features must be preserved?
How is information collected?
Are there algorithms that model business practices
Is there unused code in the system?