Report program language source code translation to...

Data processing: software development – installation – and managem – Software program development tool – Code generation

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C717S137000, C714S100000

Reexamination Certificate

active

06467079

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates generally to the field of high level computer programming languages and translating source code in one computer programming language to source code in another high level language for compilation, and more particularly to the translation of VisualAge® Report Program Generator (VARPG) source code to Java® source code. VisualAge is a trademark of International Business Machines Corporation and Java is a trademark of Sun Microsystems.
2. Description of the Related Art
Businesses have invested money, time, and resources in computers and computer systems which store and access large quantities of data relating to specific matters, such as financial accounts, inventory, customers, employees, etc. Businesses are sensitive to the loss of their investment when new computer technology arises which may result in their investments becoming obsolete. An important consideration, therefore, in introducing new computer technology is adapting it to interface with existing computer technology.
A computer database is the organizational structure in which large quantities of data are stored and managed to facilitate efficient storage, search, retrieval, and use of the data in the database. Computer scientists and other researchers have developed a number of different conceptual models under which databases may be constructed. The most prevalent database model created by business programming languages is known as a relational database. In a relational database the data are typically organized in tables and each data element in a table is indexed by its row and column in the table. The programmer who creates the database has considerable latitude in specifying the rows, columns, keys, and other characteristics that define the schema of a relational database. The above-described data model underlying relational databases was developed to facilitate the storage and retrieval of data under the control of procedural or structured programming languages, such as the Report Program Generator (RPG). Because procedural programming languages and relational databases were for many years being developed and improved upon contemporaneously with one another, procedural languages are well-suited to manipulating relational database data. For example, most procedural programming languages allows a programmer to access an element of a table by specifying its row and column. Although a program would not necessarily access a database element using that feature of the programming language, the point to note is that relational schema and procedural programming share common concepts and programming philosophies.
Another type of programming, known as object-oriented” programming (OOP), is becoming increasingly popular and may eventually supplant procedural programming. OOP languages, such as Smalltalk, C++, and Java, allow programmers to approach their programming tasks in a way that is believed to be more natural and intuitive than the rigidity of the procedural programming languages. A potential problem, however, is that OOP languages do not inherently interface smoothly with relational databases in which businesses may have a substantial investment. For example, the concept of indexing a table of data elements by row and column is in itself somewhat at odds with the OOP philosophy of handling an object in accordance with what it represents rather than how it is represented in a rigid data structure. The goal of OOP is to reduce the time and costs associated with developing complex software by creating small, reusable sections of program code that can be quickly and easily combined and reused to create new programs. The code sections are known as objects. The software object may model the attributes or characteristics of the real-world object and, in many cases, may also model its behavior. For example, an OOP employee object may have certain attributes of a real employee, such as a name, an address, an employee number, and so forth. Exploiting the full capabilities of the OOP source code, the employee object could be used in a program corresponding to the way one would interact with a real employee. For example, the employee object could provide the employee's address when asked for that information or provide the employee's status, e.g., “on vacation,” when asked for status information.
Object-oriented databases (OODBs) that are specifically designed to facilitate storage and retrieval of objects have been developed. Objects that are stored in a data store are known as persistent objects because they “persist” after the program that created them ceases executing.
Despite the recent development of dedicated OODBs, businesses have invested billions of dollars over the years in their existing or legacy relational databases so it would be an extraordinarily uneconomical task to transfer all legacy relational data into OODBs. Furthermore, relational databases continue to be viable; they are continuously developed and improved and remain commercially available.
Thus there is a need for object-oriented programming to access and interact with relational databases.
There is also a need to enable programmers skilled in procedural programming languages, such as Report Program Generator, to take advantage of electronic business on the Internet and the world wide web using such object oriented programming as Java applications while in the context of RPG language.
SUMMARY OF THE INVENTION
A computer-implemented method for generating source code in an object-oriented language from a report generator language source code is provided wherein the method comprises the steps of naming a class for the source code in the object-oriented language and generating internal instance variables used in emulating report generator language behaviour in the object-oriented source code. The method further converts global fields of the report generator language to instance variables, and specifications for input/output formats of the report generator language to object-oriented methods for reading and writing records, and a calculation specification to object-oriented methods. A constructor that creates and initializes the global fields, and object-oriented methods for error detection and correction are generated. The method may further comprise generating a main method in the object-oriented language, as well as generating methods to interface with a GUI.
The report generator language may be VARPG and the source may be a NOMAIN project or a VISUAL project, or an EXE project. The object-oriented language to which the projects are converted may be Java. The input/output formats of the report generator language may further be converted to object-oriented methods for reading, writing, clearing, and resetting records and windows.
The invention may further embody a computer-implemented method of calling Java methods from a report program language, comprising the steps of adding an Object datatype to the report program language wherein the Object datatype represents fields that can store a Java object reference. A CLASS keyword is added to the report program language wherein the CLASS keyword specifies the class of the Object datatype. This embodiment further adds an extension of the EXTPROC keyword to the report program language which specifies the name of the Java method to be called and class to which the method belongs.
Yet, the invention may further embody a computer-implemented method converting an RPG project to Java source code comprising the steps of naming a class and then generating internal instance variables used in emulating RPG behaviour in the source code in Java. Global fields of the report generator language are converted to Java instance variables and specifications for input/output formats of the report generator language are converted to Java methods for reading, writing, clearing, and resetting records and windows. A calculation specification is converted to Java methods and a Java constructor that creates and initializes the global fields

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Report program language source code translation to... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Report program language source code translation to..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Report program language source code translation to... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2989624

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.