Data processing method and apparatus

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

C717S152000, C717S152000, C717S152000, C717S152000, C717S152000

Reexamination Certificate

active

06230315

ABSTRACT:

TECHNICAL FIELD
The present invention relates in general to a data processing method and apparatus and in particular to a data processing method and apparatus for transforming computer recognizable information from one form to another.
BACKGROUND OF THE INVENTION
problem of transforming such information can be regarded as having two planes. The first plane concerns the transformation of information types. The second plane concerns the meaning of the information before and after transformation.
For example, consider the specific problem of transforming an object model into computer programming language source code. The first plane of the problem concerns transformation of objects within the object model, such as transformation of class objects in an implementation object model into an ordered collection of characters or “textual stream”. The second plane of the problem, in the case of a class object, concerns the information actually extracted from the class object (eg name, super-class etc.) and how such information is represented in the textual stream (eg. by position).
Conventionally, the problem of transforming an object model into source code has been solved using a “code generator” in the form of a static computer program. If the inputs to a static program change, or if a different output is required, the program must be re-written. There is consequently a general reluctance to upgrade conventional code generators in order to handle new programming technologies. Furthermore, any increase in the diversity of application of a code generator based on conventional static programming techniques requires a corresponding increase in the size of the code generating code which, in turn makes the code generator harder to maintain.
In a conventional object-oriented programming language such as Smalltalk, there are class definitions to define objects. Messaging allows such objects to collaborate with each other. The Smalltalk Virtual Machine allows such objects to be created and to execute their behavior. However, when a Smalltalk run-time program is delivered, it is a static program. In other words, a Smalltalk run-time program cannot be adapted to take account of changes in either inputs or outputs. Furthermore, the behaviour of objects therein cannot be changed. An example of a conventional method for automatic generation of object-oriented code for mapping relational data to objects is described in U.S. Pat. No. 5,499,371.
SUMMARY OF THE INVENTION
In accordance with the present invention, the aforementioned problems associated with conventional code generators are alleviated by employing a collection of persistent objects which cooperate to perform the transformation. These persistent objects are known as transformation agents and the collaborations between such agents form a transformational agent model.
In a preferred embodiment of the present invention, there is provided a method for transforming computer data from a first form to a second form, the method comprising: representing the first form of the computer data by an object model having a plurality of objects; providing a plurality of transformational agents each for transforming an object into a portion of the second form; and linking the transformational agents to produce a transformational agent model; and, transforming the object model into the second form based on the transformational agent model.
Viewing the present invention from another aspect, there is now provided apparatus for transforming computer data from a first form to a second form, the apparatus comprising: means for representing the first form of the computer data by an object model having a plurality of objects; means for providing a plurality of transformational agents each for transforming an object into a portion of the second form; and means for linking the transformational agents to produce a transformational agent model; and, means for transforming the object model into the second form based on the transformational agent model.
Viewing the present invention from yet another aspect, there is now provided a computer program product for transforming computer data from a first form to a second form, the product comprising: means for representing the first form of the computer data by an object model having a plurality of objects; means for providing a plurality of transformational agents each for transforming an object into a portion of the second form; and means for linking the transformational agents to produce a transformational agent model; and, means for transforming the object model into the second form based on the transformational agent model.
Returning to the aforementioned first problem plane, in a preferred example of a code generator embodying the present invention, there are provided transformational agents having a behaviour for turning objects into streams. For example, the transformation of the class object Address into a textual stream providing a simple definition of the class object may be as follows:
{ClassObject}Address T>{TextualStream} “Object subclass: Address”
where {} indicates object instances of a class and T> is the transformational operator.
Moving to the aforementioned second problem plane, the agent responsible for the above example transformation requests the superclass from the class object, {ClassObject}Object in the above example, and the name of the class object, {TextualStream}“Address”. The agent also knows the format of the stream: superclass name followed by the textual stream “subclass”, followed by the name of the class object.
What follows is a brief general description of a preferred example of a transformational agent model.
A Transformational agent model comprises a set of ordered collaborations defining transformational behaviour between transformational agents. In a preferred example of a transformational agent model, each agent understands the behaviour required to perform a specific transformation. The transformational behaviour definition for the agents is polymorphic. Thus, the model as a whole is polymorphic.
The number of different sets of transformational behaviour the model and the agents therein can understand is effectively unlimited. This guarantees to any agent of a transformational agent model that any other agent within the same model will understand any of the sets of transformational behaviour that the agent itself understands. Thus, there is an implicit description in an agent of all the transformational behaviour it may expect from other agents within the same model. However, each agent of the model does not have to perform the transformational behaviour in the same manner.
Each agent of the model, when requested to perform the transformational behaviour, returns a result that is understood by the requester of the behaviour. An agent's transformational behaviour is defined polymorphically. Thus, the result of the transformational behaviour is also polymorphic. Any parameter in the request to perform the behaviour is thus also polymorphic. Every agent of the model has a common understanding of the possible values of each of any parameters in the transformational behaviour request and the result of the behaviour.
In some embodiments of the present invention, the behaviour, parameters, and results definition corresponding to the transformational agent model, and the agents therein, may be non-polymorphic in nature.
In practice, one of the transformational agents in the model is defined as the start point from which the transformation begins. The agent defined as the start point is the agent which first executes its transformational behaviour.


REFERENCES:
patent: 5499371 (1996-03-01), Henninger et al.
patent: 5768564 (1998-06-01), Andrews et al.
patent: 5799193 (1998-08-01), Sherman et al.
patent: 5983020 (1999-11-01), Sweeney et al.
patent: 6083276 (2000-07-01), Davidson et al.
patent: 0 709 773 (1996-01-01), None
patent: 0 706 125 (1996-10-01), None
Woelk et al., “An Object-Oriented Approach to Multimedia Databases”, ACM, p

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

Data processing method and apparatus does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Data processing method and apparatus, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Data processing method and apparatus will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2444503

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