Dynamic class packaging
First Claim
1. A computer implemented method for identifying modules of an executable program, comprising:
- initiating the executable program; and
monitoring the executable program as the executable program is running, the monitoring further including;
identifying a core module providing a software engine of said executable program;
identifying autonomous function modules, each corresponding to an optional function of the executable program not available in said core module;
identifying interrelated classes used during execution of each of said modules,wherein the full functionality of said executable program is defined by a cumulative contribution of all of said modules; and
subdividing said executable program into said core module and said autonomous function modules.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods and computer readable media for a software tool capable of subdividing programs into autonomous modules, where the modules enable a feature of the program, are provided. One exemplary method includes a computer implemented method for identifying modules of an executable program. The method begins with initiating the executable program. Then, the executable program is monitored as it is running. The monitoring of the executable program further includes, identifying interrelated classes for each of the modules where each of the modules correspond to a feature functionality of the executable program. Also included in the monitoring is generating a data structure for each module as the executable program is running. Here, the data structure defines the classes for each feature functionality.
-
Citations
30 Claims
-
1. A computer implemented method for identifying modules of an executable program, comprising:
-
initiating the executable program; and monitoring the executable program as the executable program is running, the monitoring further including; identifying a core module providing a software engine of said executable program; identifying autonomous function modules, each corresponding to an optional function of the executable program not available in said core module; identifying interrelated classes used during execution of each of said modules, wherein the full functionality of said executable program is defined by a cumulative contribution of all of said modules; and subdividing said executable program into said core module and said autonomous function modules. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method for creating class graphs, the class graphs identifying how modules of an executable program use classes of the executable program, the method comprising:
-
monitoring the executable program as the program is being run; identifying each class associated with a core module, the core module configured to run an engine of the program; executing each task associated with the program while the program is being monitored; identifying task functions not part of said core module, and separating each of said task functions into separate autonomous modules, wherein the full functionality of said executable program is defined by a cumulative contribution of all of said modules; recording each class used in the execution of each task and associating each identified class with the task'"'"'s corresponding module; subdividing said executable program into said core module and said autonomous modules; and defining a class graph for the core module and each autonomous module, wherein each class graph defines a class interaction within the core module and each autonomous module. - View Dependent Claims (7, 8, 9)
-
-
10. A method for subdividing an executable program comprising:
-
executing the program; monitoring the execution of the program; identifying a core module providing a software engine of said executable program; identifying autonomous function modules, each corresponding to an optional function of the executable program not available in said core module; maintaining a record of classes used during execution of each task within each module; and defining a class graph for each of the modules, the class graph representing an interaction of classes associated with each of the modules. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A method for developing a software product for an application, the application having a plurality of features, wherein each of the features is associated with at least one class, the method comprising:
-
identifying each class of the application; executing each of the features of the application; identifying each class associated with each of the features and collecting the identified classes associated with each feature into separate autonomous function modules;
wherein each function module is operable to execute its associated feature;subdividing the application into said autonomous function modules, wherein the full functionality of said executable program is defined by a cumulative contribution of all of said modules. - View Dependent Claims (18, 19, 20, 21)
-
-
22. A method for generating a autonomous module for partial functionality of an application program, the method comprising:
-
initiating the application program; selecting a functional task for execution; requesting a class loader to load classes associated with said functional task; monitoring the class loader to identify each class loaded for execution of said functional task; collecting all identified classes into said autonomous module; recording each class of the autonomous module; detecting an endpoint at which all the classes associated with the functional task have been loaded and included in said autonomous module; and establishing said autonomous module as a stand alone functional module for execution of the selected functional task. - View Dependent Claims (23, 24, 25, 26)
-
-
27. A computer storage medium having program instructions for creating class graphs, the class graphs identifying how modules of an executable program use classes of the executable program, the computer readable media comprising:
-
program instructions for monitoring the executable program as the program is being run; program instructions for identifying each class associated with a core module, the core module configured to run an engine of the program; program instructions for executing each task associated with the program while the program is being monitored; program instructions for recording each class used in the execution of each task and collecting the recorded classes into autonomous function modules corresponding to separate ones of each task associated with the program and not available in said core module; and program instructions for defining a class graph for the core module and each autonomous functional module, wherein each class graph defines a class interaction within the core module and each autonomous functional module. - View Dependent Claims (28, 29, 30)
-
Specification