Data processing: software development – installation – and managem – Software program development tool – Code generation
Reexamination Certificate
1998-11-09
2002-07-30
Choules, Jack (Department: 2177)
Data processing: software development, installation, and managem
Software program development tool
Code generation
C717S113000
Reexamination Certificate
active
06427230
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates generally to an improved object management system for tracking, cataloging, and managing data and code modules; and, more specifically, to an object management system and method for using objects storing meta-data to model a reusable group of code of data modules, and to further model the external interfaces presented by the group of code and data modules, the system being used to manage and to analyze the reusable group of code and data modules prior to performing renovation or migration operations on any of the code or data modules included in the group.
2. Background of the Invention
Many of today's software solutions are being designed using an object oriented approach. According to this methodology, a design is broken into code and data modules wherein each module is tailored to perform a discrete function on data to which it is passed. If each module is designed to accomplish the function in a generalized, versus a task-specific, way, the modules may potentially be reused to solve a different task. Using this type of object-oriented approach, a large library of modules can be developed which may be mixed and matched to solve a variety of problems.
Using object oriented design methodology, each reusable code or data module has predefined relationships to other modules. As a simple example, consider a program module that includes instructions that reference data in a table. The program module might be described as having a relationship to the table module of “references”. Within a large complex system, thousands of modules and module relationships may be defined. For more information on object-oriented design methodology, see “Object-Oriented System Development” by Dennis de Champeaux, Douglas Lea, and Penelope Faure, published by Addison Wesley, 1993.
Using an object-oriented coding approach, it is possible to develop new solutions using existing functional code and data modules. For example, some of the existing code routines that may apply to a banking system could be similarly applied to a mail-order catalog business. Re-using these pre-existing routines saves development and test time. Another way to re-use code and/or data components involves identifying groups of such modules to be migrated from a first processing environment to a second processing environment. This type of migration operation may require re-implementation of some or all of the code modules into a different coding language, for example, or may involve creating additional layers of code called “wrappers” to bridge the existing code interfaces to the new platform architecture.
A user may also want to identify a pre-existing group of code and data modules so that the particular identified group may undergo a renovation operation. Such operations are necessary to update code and data modules to accommodate changing requirements. A good illustration of this type of operation involves updating code modules to correctly handle dates occurring after Dec. 31, 1999. Another type of renovation effort is needed to allow software to handle the European Monetary Unit (EMU), or “Euro”, which will become the common currency within many European countries within the next few years. Still other types of conversion are necessary when porting software between two machines that do not use the same word sizes, or when porting code to a machine having an expanded addressing space.
In all of the above examples, identification of all of the code and data modules needed to form a coherent, integrated application may be a very difficult task. Modules often have complex interdependencies. For example, a program module may call multiple subroutine modules. Each subroutine module may make additional references to databases, tables, or other data structures. The interdependencies must be accounted to when deciding how to group modules for potential re-use. For example, assume a particular program is to be incorporated into a group of modules that can be used to calculate end-of-month bank statements. All related subroutine modules and data structures associated with the bank statement generation and which are referenced by the main program must also be added to the group of modules.
To aid in the development of reusable groups or “packages” of code and data modules, some system is needed to catalog the various interdependencies between these modules. This system would ideally include a user interface that would aid users in understanding the various code and data interdependencies, and would further aid in the selection of the necessary modules.
Additionally, once identification of a complete set of modules has been accomplished, that set should be eligible for reuse within other groups. Also, groups of modules should be cataloged and made eligible for re-use in the same manner lower-level modules are cataloged.
OBJECTS
It is a primary object of the invention to provide an improved object management system for cataloging code and data modules for potential re-use;
It is another object of the invention to provide an object management system for aiding users in selecting a group of re-usable code and data modules that can be used as an integrated package to perform a given task;
It is still another object of the invention to provide an object management system which catalogs each of the code and data modules in the system for re-use using a respective object that stores meta-data describing the respective module;
It is yet another object of the invention to provide an object management system that is model-driven, and that uses objects storing meta-data to catalog each of the code and data modules in the system, wherein each of the objects are of a pre-defined object type as defined in the system model;
It is yet another object of the invention to provide an object management system having an interactive user interface for allowing users to selectively include or omit code or data modules from a reusable group of such modules based on generalized requirements;
It is still another object of the invention to provide an object management system whereby the inclusion of modules within a reusable group of modules can be specified using filters;
It is still another object of the invention to provide an iterative and interactive method whereby a user is capable of locating all re-usable modules included within an object oriented programming environment which are necessary to perform a desired task;
It is yet another object of an invention to provide a system for allowing a user to define groups of re-usable code and data modules, whereby each of the groups so created become available for re-use within other groups of re-usable code and data modules;
It is still another object of the invention to provide an object management system that is model-driven, and that supports the creation of hierarchical code and data packages by combining low-level code and data modules, wherein the hierarchical packages are formed according to package types defined in the model;
It is yet another object of the invention to provide an object management system that supports the creation of groups of reusable code and data modules, wherein the modules contained within a group may be migrated from a first data processing platform to another data processing platform as a functional unit;
It is yet another object of the invention to provide an object management system that supports the creation of groups of reusable code and data modules, wherein the modules contained within a group may be made accessible from external data processing environments through the creation of code wrappers;
It is still another object of the invention to provide an object management system that supports the creation of groups of reusable code and data modules, wherein the modules contained within a group may be operated on as a functional unit for purposes of performing code renovation operations;
It is another object of the invention is to provide a system for allowing various unrelated hierarchical modul
Goiffon David A.
Johnson David R.
Atlass Michael B.
Choules Jack
Johnson Charles A.
Starr Mark T.
Unisys Corporation
LandOfFree
System and method for defining and managing reusable groups... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with System and method for defining and managing reusable groups..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and System and method for defining and managing reusable groups... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2855031