Data processing: software development – installation – and managem – Software program development tool – Translation of code
Reexamination Certificate
1998-08-19
2003-04-08
Morse, Gregory (Department: 2122)
Data processing: software development, installation, and managem
Software program development tool
Translation of code
C717S108000, C717S116000, C717S136000, C717S140000, C717S147000, C717S148000
Reexamination Certificate
active
06546549
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to a source code transformation process for transforming source code including a description concerning an object interaction method known as a stub method into source code which is adapted to a program execution environment. The present invention also is concerned with a computer-readable recording medium which stores a source code transformation program for implementing the source code transformation process. Details of certain features of the present invention are described in European Patent Application No. 0.753,811 A1 entitled “Data processing method and device” and filed by the same assignee on Jul. 12, 1996 claiming a Convention Priority on JP 178625/95, filed Jul. 14, 1997, the complete disclosure of which is hereby incorporated herein by reference.
2. Description of the Related Art
In general, object-oriented programming frequently uses object interaction methods. The term “object interaction” is used in this specification to mean, for example, a process for sending a message from one object to another. The object interaction is an essential service offered by an operating system in object-oriented programming.
Methods employed in object interaction are generally referred to as “stub methods”. Thus, a stub method is used in object-oriented programming for the purpose of sending a message from one object to another. In the following description, the object from which the message is sent will be referred to as a “client object”, while the object which receives the message will be referred to as a “server object”.
For instance, when it is desired to execute the procedure of a server object on another computer linked through a network, a message is sent through the network from the client object to the server object to be executed on the other computer. It is thus possible to execute the procedure of the server object on the other computer linked through the network. It will be understood that a remote control operation for calling a procedure to be executed on a different computer through a network can be performed in the same way as that performed by a local procedure call interface.
In general, a stub generator is used for generating a stub method. More specifically, such a stub generator reads source code containing information concerning a stub method described in a certain programming language and generates a stub method from the read source code. In most cases, the stub generator has both a function for generating a stub method concerning the client object which is the message sender and a function for generating a stub method concerning the server object which is the message receiver. With these functions, the client object and the server object can be set up very easily with a high degree of versatility.
A description will be given of a process for forming a program by using a stub generator.
Formation of the program using a stub generator includes describing a program for a non-object-interaction portion by means of the C++ programming language and describing a program for an object-interaction portion by using an interface definition language. The “interface definition language” is a language which defines the interface for the communication between the objects. The interface definition language may be, for example, a language determined by the CORBA (Common Object Request Broker Architecture) which is a rule for implementing object-oriented distributed processing environments.
More specifically, referring to
FIG. 4
, the process of forming an application program for object interaction begins with the formation of three kinds of source codes which are referred to as the “first, “second” and “third” source codes.
The first source code contains stub method information described in the interface definition language. This means that the interface to be used for the object interaction is defined by the first source code. In
FIG. 4
, a file f
1
in which the first source code is written is indicated as “Test.idl”.
The second source code contains server object information described in a programming language such as C++. Thus, the second source code contains the portion of the server object information other than the object interaction information described in the first source code. The second source code further contains, for example, a procedure for calling, from the stub method described by the first source code, a method for generating a thread which performs processing based on the received message. In
FIG. 4
, a file f
2
describing the second source code is represented by “Test svc_proc.cc”.
The third source code contains the client object information described in a programming language such as C++. It is to be noted that the third source code includes the portion of the client object information other than the object interaction information described in the first source code. Thus, the third code contains a description for implementing a main function, e.g., connection to an appropriate service, in the form of an application program. In
FIG. 4
, a file f
3
in which the third code is described is represented by “Test.cc” and “Test.h”. The “Test.h” file is an include file which is incorporated in the “Test.cc” file.
The first source code described in the interface definition language is transformed by a stub generator
101
into source code described with the same programming language as that used for the description of the second and third source codes. Thus, the stub generator
101
generates a stub method which is described by a programming language such as C++ rather than by the interface definition language.
More specifically, the transformation performed by the stub generator
101
generates from the file f
1
in which the first code is described, a file f
4
which contains a stub method description for the server object, a file f
5
containing a stub method description for the client object, and an include file f
6
which is to be commonly used by objects involved in the object interaction.
In
FIG. 4
, the file f
4
containing the stub method description for the server object is represented by “TestStub.cc” and “TestStub.h”. The “TestStub.h” file is an include file incorporated in the “TestStub.cc” file. The file f
5
containing stub method description for the client object is represented by “TestProxy.cc” and “TestProxy.h”. The “TestProxy.h” file is an include file incorporated in the “TestProxy.cc” file. The include file f
6
commonly used by the objects involved in the object interaction is represented by “TestEntry.h” and “TestMsg.h”.
Then, compilation is performed on each of the file f
2
containing the description of the second source code, the file f
3
containing the description of the third source code, and the files f
4
to f
6
generated by the stub generator
101
, and the results of the compilation are linked, thereby forming a server object executable file f
7
for the server object and a client object executable file f
8
Thus, in the process shown in
FIG. 4
, the server object executable file f
7
is generated by an executable file generating program
102
having a compiler and a linker from the resources which include the file f
2
(Test_svc_proc.cc) describing the second source code, the file f
4
(TestStub.cc, TestStub.h) containing the stub method description for the server object, and the include file f
6
(TestEntry.h, TestMsg.h). which is commonly used by the objects taking part in the object interaction. At the same time, the client object executable file f
8
is generated by an executable file generating program
103
having a compiler and a linker from the resources which include the file f
3
(Test.h, Test.cc) describing the third source code, the file f
5
(TestProxy.cc, TestProxy.h) containing the stub method description for the client object, and the include file f
6
(TestEntry.h, TestMsg.h). which is commonly used by the objects taking part in the object interaction.
In general, there are a vari
Frommer William S.
Frommer & Lawrence & Haug LLP
Morse Gregory
Savit Glenn F.
Sony Corporation
LandOfFree
Source code transformation process and recording medium does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Source code transformation process and recording medium, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Source code transformation process and recording medium will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3066094