Mechanism employing a memory area for exchanging information...

Data processing: software development – installation – and managem – Software program development tool – Translation of code

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

Reexamination Certificate

active

06243860

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates to computer systems and, more particularly, to compilers for computer systems.
2. Background Information
A compiler includes a computer process or program which translates a computer language into machine code. An intermediate compiler includes a compiler which translates a higher level computer language into a lower level computer language which is not yet optimized into true machine code.
Intermediate computer language compilers such as Perl (i.e., a computer scripting language), Tcl/Tk (i.e., another computer scripting language), and the various UNIX shell interpreters (e.g., Bourne Shell, Korn Shell and C shell which translate a higher level language into lower level code at run time) serve as “glue” between different computer codes. These languages provide a mechanism for integrating various computer processes and programs to perform specific automation tasks.
In a highly regulated environment, in which various complex computer codes are maintained by numerous teams, configuration and control of information in automation projects is quite difficult. Additionally, users frequently require customization of automated sub-processes to meet plant specific requirements. To this end, prior art computer code was developed to overlay textual information and trace the pedigree of all input and output data which was used to create a computer code input deck, calculation note or report. By employing that prior art computer code, users can customize ASCII information, with such code automatically tracking the customization and providing information to a verifier in report form.
In the nuclear industry, for example, process automation is very complex. Over the decades, numerous engineers have written millions of lines of code. This coding is regulated and controlled. Nuclear reactor safety analysis, for example, demands automation that is not only elaborate, but flexible, to meet the strictest quality assurance standards.
It is known to provide data objects which have size information in object oriented programming. It is also known to process information using symbols. For example, interpreters pass and use symbol pointers. Normally, memory is pointed to, as in a compiled language such as, for example, C, C++ or FORTRAN; or memory is a symbolic string reference in an interpreter, such as Perl or a UNIX shell; or else there is strictly a direct reference to memory in an interpreter, such as BASIC.
It is known to employ memory which is shared between pre-compiled processes m computer systems. It is believed that UNIX “shared memory” is employed between pre-compiled processes, and is compile time bound and managed for synchronization using semaphores or record locking.
It is known to share information and memory across run-time compiled elements in UNIX systems by employing complex and expensive programming techniques such as data-piping and compile time usage restrictions.
It is known in the UNIX operating system argv[ ], argc array interaction with C programs, to pass strings from parent to child, but not from child to parent.
The prior art code is capable of tracing the pedigree of computer code ASCII input data through a process using a conventional UNIX script. However, there is room for improvement.
SUMMARY OF THE INVENTION
It is believed that the prior art cannot track the pedigree of a script process itself. In many situations, a user may wish to employ quality assured components, but customize a particular sub-process and track the pedigree of data, as well as various processes, in a final report.
The present invention provides a computer apparatus including a central processing unit, a parent process for execution by the central processing unit, a child process for execution by the central processing unit, a memory accessible by the central processing unit, and a run time compiler. The memory includes a memory area for access by both of the parent process and the child process. The run time compiler includes means for invoking the compiler during execution of the parent process, means for compiling the child process, means for executing the child process, and means employing the memory area for exchanging information between the child process and the parent process.
As a preferred refinement, each of the parent process and the child process has a pedigree, and the run time compiler further includes means for checking the pedigree of the parent process and the pedigree of the child process at run time. Preferably, the run time compiler further includes means for determining the pedigree of the parent process and the pedigree of the child process at run time, and means for reducing the pedigree of the parent process to the lowest pedigree of the parent and child processes.
As another preferred refinement, the means for invoking the run time compiler includes means employing a function call for invoking the compiler from the parent process. Preferably, the child process includes a plurality of data objects and code objects, and the means for executing the child process includes means employing a return list for forwarding the data objects and the code objects to the parent process from the child process.
As another aspect of the invention, a computer apparatus includes a central processing unit for executing a plurality of processes, a memory accessible by the central processing unit, and an application program. The memory includes a memory area for access by the processes. The application program includes an application process compiled by a first compiler process, and a second compiler process residing with the application process. The second compiler process includes an intermediate language compiler kernel, means for attaching the compiler kernel to the application process, means for invoking the compiler kernel during execution of the application process, and means employing the memory area for exchanging information between the second compiler process and the application process.
As a preferred refinement, the application process is a first application process, and the processes executed by the central processing unit include the first application process and a subsequent second application process. The means employing the memory area includes means for exchanging information between the first application process and the subsequent second application process.
As a further aspect of the invention, a program product comprises a run time compiler and signal bearing media bearing the run time compiler. The run time compiler includes means for invoking the compiler during execution of a parent process, means for compiling a child process, means for executing the child process, and means for exchanging information between the child process and the parent process by employing a memory.
As a still further aspect of the invention, a program product for an application program compiled by a first compiler comprises a second compiler capable of residing with the application program, and signal bearing media bearing the second compiler. The second compiler includes an intermediate language compiler kernel, means for attaching the compiler kernel to the application program, means for invoking the compiler kernel during execution of the application program, and means for exchanging information between the second compiler and the application program by employing a memory.


REFERENCES:
patent: 5418964 (1995-05-01), Conner et al.
patent: 5421016 (1995-05-01), Conner et al.
patent: 5481722 (1996-01-01), Skinner
patent: 5511199 (1996-04-01), Anthias et al.
patent: 5832264 (1998-11-01), Hart et al.
patent: 5913059 (1999-06-01), Torii
Li et al., Generating Explicit Communication from Shared-Memory Program References, 1990, p. 865-876.*
Kandermir et al., Compiler Algorithms for Optimizing Locality and Parallelism on Shared and Distributed Memory Machines, 1997, p. 236-247.*
Register, A. The Objects is Integration, 1994. p. 37-40.*
Westinghouse Electric Corporation,Expander User Manual, Nov. 19, 1996

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

Mechanism employing a memory area for exchanging information... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Mechanism employing a memory area for exchanging information..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Mechanism employing a memory area for exchanging information... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2509348

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