Object oriented framework mechanism for customization of object oriented frameworks
First Claim
1. An apparatus comprising:
- a processor;
a memory coupled to the processor; and
a first object-oriented framework mechanism residing in the memory and executed by the processor, the first framework mechanism providing at least one framework customization environment for customizing a second framework.
1 Assignment
0 Petitions
Accused Products
Abstract
An object oriented framework mechanism for customization of object oriented frameworks provides an infrastructure that embodies the steps necessary to customize a selected object oriented framework (referred to herein as an “input framework”). Combining core functions provided by the framework with extensions provided by the framework consumer (i.e., user), results in a framework customization environment. The architecture of the framework allows a user to determine the conditions and parameters that apply to the specific framework customization environment while allowing the user to interact with the framework using an interface that is consistent regardless of the specific combination of parameters specified by the user. The extensible functions allow new framework customization environments to be easily implemented using the framework. The framework thus allows a common programming interface for generating many different framework customization environments and also provides a substantially common user interface for customizing any input framework. An input framework is selected, and a subset of the extension points for the selected framework are selected for customizing the input framework. Each extension point generates one or more extensions, which are added to the customized framework. The customized framework may then be saved, and may be used to generate a customized application.
-
Citations
93 Claims
-
1. An apparatus comprising:
-
a processor;
a memory coupled to the processor; and
a first object-oriented framework mechanism residing in the memory and executed by the processor, the first framework mechanism providing at least one framework customization environment for customizing a second framework. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
at least one input framework object corresponding to the second framework;
at least one object method that determines at least one extension point in the second framework;
at least one object method that determines flow of control in the second framework; and
at least one object method that stores at least one extension to the second framework.
-
-
3. The apparatus of claim 2 wherein the input framework class is a core class of the first framework mechanism, the implementation of which cannot be modified by a user.
-
4. The apparatus of claim 2 wherein the input framework class further defines:
-
at least one object method that generates a customized application from a customized framework that is generated by customizing the second framework; and
at least one object method that displays a core portion of the second framework to a user.
-
-
5. The apparatus of claim 2 wherein the first framework mechanism further comprises a framework customization controller class, the framework customization controller class defining:
-
at least one framework customization controller object; and
at least one object method that displays a representation of the second framework; and
at least one object method that generates a customized application from a customized framework that is generated by customizing the second framework.
-
-
6. The apparatus of claim 5 wherein the first framework mechanism further comprises a framework library class, the framework library class defining:
-
at least one framework library object;
at least one object method that determines the frameworks stored in the framework library object that correspond to a specified domain;
at least one object method that instantiates at least one framework in the framework library object; and
at least one object method that stores at least one framework in the framework library object.
-
-
7. The apparatus of claim 6 wherein the first framework mechanism further comprises an extension point class, the extension point class defining:
-
at least one extension point object; and
.at least one object method that generates at least one extension to the second framework corresponding to the extension point object.
-
-
8. The apparatus of claim 7 wherein the first framework mechanism further comprises:
-
a class that defines a flow of control for the second framework; and
a class that defines a core portion of the second framework.
-
-
9. The apparatus of claim 7 wherein the first framework mechanism further comprises:
-
a class that defines at least one extension mechanism for the second framework;
a class that defines at least one extension to the second framework; and
a class that defines at least one extension point wizard for the second framework, the extension point wizard using the at least one extension mechanism to generate the at least one extension to the second framework.
-
-
10. The apparatus of claim 7 wherein the first framework mechanism further comprises a meta language class, the meta language class defining:
at least one meta language object corresponding to a representation of the second framework that is stored in persistent storage.
-
11. The apparatus of claim 10 wherein the first framework mechanism further comprises:
-
a class that defines a mechanism that generates a customized application from a customized framework that is generated by customizing the second framework;
a class that defines generated source code corresponding to the customized application; and
a class that defines the customized application.
-
-
12. The apparatus of claim 11 wherein the first framework mechanism further comprises a framework customization tools class, the framework customization tools class defining:
at least one framework customization tools object that at least partially determines the framework customization environment.
-
13. The apparatus of claim 12 wherein the first framework mechanism comprises a framework customizer class, the framework customizer class defining:
at least one framework customizer object corresponding to a user that customizes the second framework.
-
14. The apparatus of claim 1 wherein the first framework mechanism comprises a framework customization controller class, the framework customization controller class defining:
-
at least one framework customization controller object;
at least one object method that displays a representation of the second framework; and
at least one object method that generates a customized application from a customized framework that is generated by customizing the second framework.
-
-
15. The apparatus of claim 14 wherein the framework customization controler class is a core class of the first framework mechanism, the implementation of which cannot be modified by a user.
-
16. The apparatus of claim 1 wherein the first framework mechanism comprises a framework library class, the framework library class defining:
-
at least one framework library object;
at least one object method that determines the frameworks stored in the framework library object that correspond to a specified domain;
at least one object method that instantiates at least one framework in the framework library object; and
at least one object method that stores at least one framework in the framework library object.
-
-
17. The apparatus of claim 16 wherein the framework library class is a core clss of the first framework mechanism, the implementation of which cannot be modified by a user.
-
18. The apparatus of claim 1 wherein the first framework mechanism comprises an extension point class, the extension point class defining:
-
at least one extension point object; and
at least one object method that generates at least one extension to the second framework corresponding to the extension point object.
-
-
19. The apparatus of claim 18 wherein the extension point class is an extensible class of the first framework mechanism, the implementation of which by a user defines at least a portion of the at least one framework customization environment.
-
20. The apparatus of claim 1 wherein the first framework mechanism comprises:
-
a class that defines a flow of control for the second framework; and
a class that defines a core portion of the second framework.
-
-
21. The apparatus of claim 1 wherein the first framework mechanism comprises:
-
a class that defines at least one extension mechanism for the second framework;
a class that defines at least one extension to the second framework; and
a class that defines at least one extension point wizard for the second framework, the extension point wizard using the at least one extension mechanism to generate the at least one extension to the second framework.
-
-
22. The apparatus of claim 1 wherein the first framework mechanism comprises a meta language class, the meta language class defining:
at least one meta language object corresponding to a representation of the second framework that is stored in persistent storage.
-
23. The apparatus of claim 1 wherein the first framework mechanism comprises:
-
a class that defines a mechanism that generates a customized application from a customized framework that is generated by customizing the second framework;
a class that defines generated source code corresponding to the customized application; and
a class that defines the customized application.
-
-
24. The apparatus of claim 1 wherein the first framework mechanism comprises a framework customization tools class, the framework customization tools class defining:
at least one framework customization tools object that at least partially determines the framework customization environment.
-
25. The apparatus of claim 1 wherein the first framework mechanism comprises framework customizer class, the framework customizer class defining:
at least one framework customizer object corresponding to a user that customizes the second framework.
-
26. The apparatus of claim 1 wherein the first framework mechanism comprises:
-
at least one core function defined by at least one core class and by the relationships between a plurality of classes within the first framework mechanism, wherein the implementation of the at least one core function is defined by the first framework mechanism and cannot be modified by a user of the first framework mechanism; and
at least one extensible function defined by at least one extensible class, wherein the implementation of the at least one extensible function is defined by the user of the first framework mechanism by extending the at least one extensible class.
-
-
27. A method for customizing a second framework, the method comprising the steps of:
-
providing a first extensible object oriented framework mechanism that customizes the second framework according to extended portions of the first framework mechanism; and
executing the first object oriented framework mechanism on an apparatus. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34)
extending the fist framework mechanism to define a framework customization environment.
-
-
29. The method of claim 27 wherein the first object oriented framework mechanism that customizes the second framework performs the steps of:
-
(a) determining a plurality of extension points in the second framework;
(b) selecting from the plurality of extension points a subset of extension points to extend;
(c) selecting from the subset a selected extension point;
(d) generating at least one extension to the second framework corresponding to the selected extension point;
(e) adding the at least one extension to a customized framework;
(f) repeating steps (c) through (e) for each extension point in the subset to customize the second framework and to create therefrom the customized framework.
-
-
30. The method of claim 29 further including the step of interacting with an extension point wizard to complete the extension.
-
31. The method of claim 29 further including the step of generating a customized application from the customized framework.
-
32. The method of claim 29 wherein the step of determining a plurality of extension points in the second framework includes the steps of:
-
(1) selecting the second framework from a plurality of frameworks that correspond to a selected domain;
(2) retrieving the second framework;
(3) instantiating the second;
framework; and
(4) determining the plurality of extension points by interrogating the instantiated second framework.
-
-
33. The method of claim 29 wherein the step of selecting from the plurality of extension points a subset of extension points to extend includes the steps of:
-
(1) displaying the plurality of extension points to a user; and
(2) the user selecting the subset of extension points to extend from the displayed plurality of extension points.
-
-
34. The method of claim 29 wherein the step of generating at least one extension for the selected extension point includes the steps of:
-
(1) determining an extension mechanism that corresponds to the selected extension point; and
(2) the extension mechanism creating the at least one extension for the selected extension point.
-
-
35. A program product comprising:
-
a first object-oriented framework mechanism for customizing a second framework, the first framework mechanism including an extensible framework customization mechanism that customizes the second framework according to extended portions of the first framework mechanism that define a framework customization environment; and
signal bearing media bearing the first framework mechanism. - View Dependent Claims (36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48)
at least one input framework object corresponding to the second framework;
at least one object method that determines at least one extension point in the second framework;
at least one object method that determines flow of control in the second framework; and
at least one object method that stores at least one extension to the second framework.
-
-
39. The program product of claim 38 wherein the first framework mechanism further comprises:
-
at least one object method that generates a customized application from a customized framework that is generated by customizing the second framework; and
at least one object method that displays a core portion of the second framework to a user.
-
-
40. The program product of claim 35 wherein the first framework mechanism comprises:
-
at least one framework customization controller object;
at least one object method that displays a representation of the second framework; and
at least one object method that generates a customized application from a customized framework that is generated by customizing the second framework.
-
-
41. The program product of claim 35 wherein the first framework mechanism comprises:
-
at least one framework library object;
at least one object method that determines the frameworks stored in the framework library object that correspond to a specified domain;
at least one object method that instantiates at least one framework in the framework library object; and
at least one object method that stores at least one framework in the framework library object.
-
-
42. The program product of claim 35 wherein the first framework mechanism comprises:
-
at least one extension point object; and
at least one object method that generates at least one extension to the second framework corresponding to the extension point object.
-
-
43. The program product of claim 35 wherein the first framework mechanism comprises:
-
at least one flow of control object for the second framework; and
at least one core object for the second framework.
-
-
44. The program product of claim 35 wherein the first framework mechanism comprises:
-
at least one extension mechanism object for the second framework;
at least one extension object for the second framework; and
at least one extension point wizard object for the second framework, the at least one extension point wizard object using the at least one extension mechanism object to generate the at least one extension object for the second framework.
-
-
45. The program product of claim 35 wherein the first framework mechanism comprises:
at least one meta language object corresponding to a representation of the framework that is stored in persistent storage.
-
46. The program product of claim 35 wherein the first framework mechanism comprises:
-
a generator object that generates a customized application from a customized framework that is generated by customizing the second framework;
a generated source code object corresponding to the customized application; and
a customized application object corresponding to the customized application.
-
-
47. The program product of claim 35 wherein the first framework mechanism comprises:
at least one framework customization tools object that at least partially determines the framework customization environment.
-
48. The program product of claim 35 wherein the first framework mechanism comprises:
at least one framework customizer object corresponding to a user that customizes the second framework.
-
49. A first object oriented framework mechanism for use in an apparatus that supports an object oriented programming environment, the first framework mechanism comprising:
-
at least one input framework object corresponding to a second framework;
at least one framework customization controller object; and
at least one extension point object. - View Dependent Claims (50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60)
at least one framework library object;
at least one flow of control object for second framework;
at least one core object for the second framework;
at least one extension mechanism object for the second framework;
at least one extension object for the second framework; and
at least one extension point wizard object for the second framework, the at least one extension point wizard object using the at least one extension mechanism object to generate the at least one extension object for the second framework.
-
-
51. The first object oriented framework mechanism of claim 50 further comprising:
-
at least one meta language object corresponding to a representation of the second framework that is stored in persistent storage;
a generator object that generates a customized application from a customized framework that is generated by customizing the second framework;
a generated source code object corresponding to the customized application; and
a customized application object corresponding to the customized application.
-
-
52. The first object oriented framework mechanism of claim 51 further comprising:
-
at least one framework customization tools object that at least partially determines the framework customization environment;
at least one framework customizer object corresponding to a user that customizes the second framework.
-
-
53. The first object oriented framework mechanism of claim 52 further comprising:
-
at least one object method that determines at least one extension point in the second framework;
at least one object method that generates at least one extension to the second framework corresponding to the extension point object;
at least one object method that stores at least one extension to the second framework;
at least one object method that determines flow of control in the second framework;
at least one object method that displays a core portion of the second framework to a user;
at least one object method that displays a representation of the second framework;
at least one object method that generates a customized application from a customized framework that is generated by customizing the second framework;
at least one object method that determines flow of control in the second framework;
at least one object method that displays a core portion of the second framework to a user;
at least one object method that displays a representation of the second framework; and
at least one object method that generates a customized application from a customized framework that is generated by customizing the second framework.
-
-
54. The first object oriented framework mechanism of claim 49 further comprising:
-
at least one meta language object corresponding to a representation of the second framework that is stored in persistent storage;
a generator object that generates a customized application from a customized framework that is generated by customizing the second framework;
a generated source code object corresponding to the customized application; and
a customized application object corresponding to the customized application.
-
-
55. The first object oriented framework mechanism of claim 49 further comprising:
-
at least one framework customization tools object that at least partially determines the framework customization environment; and
at least one framework customizer object corresponding to a user that customizes the second framework.
-
-
56. The first object oriented framework mechanism of claim 49 further comprising:
-
at least one object method that determines at least one extension point in the second framework;
at least one object method that generates at least one extension to the second framework corresponding to the extension point object; and
at least one object method that stores at least one extension to the second framework.
-
-
57. The first object oriented framework mechanism of claim 49 further comprising:
at least one object method that generates a customized application from a customized framework that is generated by customizing the second framework.
-
58. The first object oriented framework mechanism of claim 49 further comprising:
-
at least one object method that determines flow of control in the second framework;
at least one object method that displays a core portion of the second framework to a user; and
at least one object method that displays a representation of the second framework.
-
-
59. The first object oriented framework mechanism of claim 56 further comprising:
at least one object method that generates a customized application from a customized framework that is generated by customizing the second framework.
-
60. The first object oriented framework mechanism of claim 49 further comprising:
-
at least one core function defined by relationships between a plurality of classes within the first framework mechanism, wherein the implementation of the at least one core function is defined by the in framework mechanism and cannot be modified by a user of the first framework mechanism; and
at least one extensible function defined by at least one extensible class, wherein the implementation of the at least one extensible function is defined by the user of the first framework mechanism by extending the at least one extensible class.
-
-
61. A method for customizing a second framework, the method comprising the steps of:
-
(A) providing a first object oriented framework mechanism comprising;
at least one input framework object corresponding to the second framework;
at least one framework customization controller object;
at least one framework library object; and
at least one extension point object;
(B) executing the first object oriented framework mechanism on an apparatus to customize the second framework. - View Dependent Claims (62, 63, 64, 65)
at least one flow of control object for the second framework;
at least one core object for the second framework;
at least one extension mechanism object for the second framework;
at least one extension object for the second framework; and
at least one extension point wizard object for the second framework, the at least one extension point wizard object using the at least one extension mechanism object to generate the at least one extension object for the second framework.
-
-
63. The method of claim 61 wherein the first object oriented framework mechanism further comprises:
-
at least one meta language object corresponding to a representation of the second framework that is stored in persistent storage;
a generator object that generates a customized application from a customized framework that is generated by customizing the second framework;
a generated source code object corresponding to the customized application; and
a customized application object corresponding to the customized application.
-
-
64. The method of claim 61 further including the step of:
extending the first framework mechanism to define a desired framework customization environment.
-
65. The method of claim 64 further including the steps of:
-
selecting functions required by the desired framework customization environment; and
extending the first framework mechanism to implement a plurality of classes and object methods that perform all the selected functions.
-
-
66. A program product comprising:
-
(A) a first object oriented framework mechanism for customizing a second framework including at least one input framework object corresponding to the second framework, at least one framework customization controller object, and at least one extension point object, wherein the first object oriented framework mechanism customizes the second framework according to extended portions of the first framework mechanism that are customized to provide the desired framework customization environment; and
(B) signal bearing media bearing the first object oriented framework mechanism. - View Dependent Claims (67, 68, 69, 70, 71, 72, 73, 74, 75)
at least one framework library object, and at least one extension point object;
at least one flow of control object for the second framework;
at least one core object for the second framework;
at least one extension mechanism object for the second framework;
at least one extension object for the second framework; and
at least one extension point wizard object for the second framework, the at least one extension point wizard object using the at least one extension mechanism object to generate the at least one extension object for the second framework.
-
-
70. The program product of claim 66 further comprising:
-
at least one meta language object corresponding to a representation of the second framework that is stored in persistent storage;
a generator object that generates a customized application from a customized framework that is generated by customizing the second framework;
a generated source code object corresponding to the customized application; and
a customized application object corresponding to the customized application.
-
-
71. The program product of claim 66 further comprising:
-
at least one framework customization tools object that at least partially determines the framework customization environment; and
at least one framework customizer object corresponding to a user that customizes the second framework.
-
-
72. The program product of claim 66 wherein the at least one extension point object is defined by at least one extensible class of the first framework mechanism, the implementation of which by a user defines at least a portion of the at least one framework customization environment.
-
73. The program product of claim 66 wherein the at least one input framework object and the at least one framework customization controller object are defined by core classes of the first framework mechanism, the implementation of which cannot be changed by a user.
-
74. The program product of claim 66 further comprising:
-
at least one object method that determines at least one extension point in the second framework;
at least one object method that generates at least one extension to the second framework corresponding to the extension point object; and
at least one object method that stores at least one extension to the second framework.
-
-
75. The program product of claim 74 further comprising:
-
at least one object method that determines flow of control in the second framework;
at least one object method that displays a core portion of the second framework to a user; and
at least one object method that displays a representation of the second framework.
-
-
76. A first object oriented framework mechanism that customizes a second framework, the first framework mechanism comprising:
-
at least one core function defined by relationships between a plurality of classes within the first framework mechanism, wherein the implementation of the at least one core function is defined by the first framework mechanism and cannot be modified by a user of the first framework mechanism; and
at least one extensible class wherein the implementation of the at least one extensible class is defined by the user of the first framework mechanism, by extending the at least one extensible class, thereby defining at least one framework customization environment. - View Dependent Claims (77, 78, 79, 80, 81)
at least one input framework object corresponding to the second framework;
at least one framework customization controller object; and
at least one extension point object.
-
-
78. The first object oriented framework mechanism of claim 77 further comprising:
-
at least one framework library object, and at least one extension point object;
at least one flow of control object for the second framework;
at least one core object for the second framework;
at least one extension mechanism object for the second framework;
at least one extension object for the second framework; and
at least one extension point wizard object for the second framework, the at least one extension point wizard object using the at least one extension mechanism object to generate the at least one extension object for the second framework.
-
-
79. The first object oriented framework mechanism of claim 77 further comprising:
-
at least one framework customization tools object that at least partially determines the framework customization environment; and
at least one framework customizer object corresponding to a user that customizes the second framework.
-
-
80. The program product of claim 76 further comprising:
-
at least one object method that determines at least one extension point in the second framework;
at least one object method that generates at least one extension to the second framework corresponding to the extension point object; and
at least one object method that stores at least one extension to the second framework.
-
-
81. The program product of claim 80 further comprising:
-
at least one object method that determines flow of control in the second framework;
at least one object method that displays a core portion of the second framework to a user; and
at least one object method that displays a representation of the second framework.
-
-
82. A method for customizing a second framework using an apparatus having a processor and a memory, the memory having a program that provides an object oriented programming environment, the method comprising the steps of:
-
(A) providing in the program a first object oriented framework mechanism that performs the framework customization according to extended portions of the first framework mechanism that are customized to provide a desired framework customization environment, the first framework mechanism including;
a set of core functions wherein the implementation of the core functions is defined by the first framework mechanism and cannot be modified by a user of the first framework mechanism; and
a set of extensible functions wherein the implementation of the extensible functions is defined by the user of the first framework mechanism;
(B) extending the extensible functions in the first framework mechanism to define particular classes having predetermined protocols and defining particular object methods that perform the framework customization, the extensible functions defining the desired framework customization environment;
(C) generating an executable framework customization system by integrating together the extensible functions and the core functions; and
(D) executing the executable framework customization system on the apparatus. - View Dependent Claims (83, 84, 85, 86, 87, 88)
(E) determining a plurality of extension points in the second framework;
(F) selecting from the plurality of extension points a subset of extension points to extend;
(G) selecting from the subset a selected extension point;
(H) generating at least one extension for the selected extension point;
(I) adding the at least one extension to a customized framework;
(J) repeating steps (G) through (I) for each extension point in the subset to customize the second framework and to create therefrom the customized framework.
-
-
84. The method of claim 83 further including the step of interacting with an extension point wizard to complete the extension.
-
85. The method of claim 83 further including the step of generating a customized application from the customized framework.
-
86. The method of claim 83 wherein the step of determining a plurality of extension points in the second framework includes the steps of:
-
(1) selecting the send framework from a plurality of frameworks that correspond to a selected domain;
(2) retrieving the second framework;
(3) instantiating the second framework;
(4) determining the plurality of extension points by interrogating the instantiated second framework.
-
-
87. The method of claim 83 wherein the step of selecting from the plurality of extension points a subset of extension points to extend includes the steps of:
-
(1) displaying the plurality of extension points to a user; and
(2) the user selecting the subset of extension points to extend from the displayed plurality of extension points.
-
-
88. The method of claim 83 wherein the step of generating at least one extension for the selected extension point includes the steps of:
-
(1) determining an extension mechanism that corresponds to the selected extension point; and
(2) the extension mechanism creating the at least one extension for the selected extension point.
-
-
89. A program product comprising:
-
a first object oriented framework mechanism for customizing a second framework, the first framework mechanism including at least one core function defined by relationships between a plurality of classes within the first framework mechanism, wherein the implementation of the at least one core function is defined by the first framework mechanism and cannot be modified by a user of the first framework mechanism, the first framework mechanism further including at least one extensible function defined by at least one extensible class, wherein the implementation of the at least one extensible class is defined by the user of the first framework mechanism by extending the at least one extensible class, thereby defining a framework customization environment that governs the operation of the first framework mechanism; and
signal bearing media bearing the first object oriented framework mechanism. - View Dependent Claims (90, 91, 92, 93)
at least one input framework object corresponding to the second framework;
at least one framework customization controller object;
at least one extension point object;
wherein the first object oriented framework mechanism performns the framework customization according to extended portions of the first framework mechanism that are customized to provide a desired framework customization environment.
-
-
93. The program product of claim 92 further comprising:
-
at least one framework library object, and at least one extension point object;
at least one flow of control object for the second framework;
at least one core object for the second framework;
at least one extension mechanism object for the second framework;
at least one extension object for the second framework; and
at least one extension point wizard object for the second framework, the at least one extension point wizard object using the at least one extension mechanism object to generate the at least one extension object for the second framework.
-
Specification