System and method for a functional extensibility framework
First Claim
Patent Images
1. A computerized method for assembling code modules comprising:
- pre-registering one or more weakly-typed code modules, wherein each module from said one or more weakly-typed code modules comprises one or more weakly-typed variables, in a computer-readable storage;
pre-creating one or more enhanced code modules by performing, for each enhanced code module, one or more steps comprising storing an association between the enhanced code module and a set of data comprising;
i) a weakly-typed variable from a weakly typed code module from the one or more weakly typed code modules, andii) a strong attribute type,in the computer-readable storage, such that the pre-creation of the one or more enhanced code modules results in the computer-readable storage containing a list comprising each of said one or more enhanced code modules and the associated strong attribute types;
accepting a request for a value for a variable of a requested strong attribute type from an external program at runtime;
retrieving said list from said computer readable storage;
using said list, determining which enhanced code module is associated with said strong attribute type of said requested variable;
executing said enhanced code module to determine said value for said variable of said strong attribute type; and
returning said value to said external program.
3 Assignments
0 Petitions
Accused Products
Abstract
There is disclosed a framework which utilizes contemporaneous assembly of processing modules, strong typing, and integrated caching to assemble processing elements from different sources robustly and minimize system failures as software modules are upgraded.
93 Citations
15 Claims
-
1. A computerized method for assembling code modules comprising:
-
pre-registering one or more weakly-typed code modules, wherein each module from said one or more weakly-typed code modules comprises one or more weakly-typed variables, in a computer-readable storage; pre-creating one or more enhanced code modules by performing, for each enhanced code module, one or more steps comprising storing an association between the enhanced code module and a set of data comprising; i) a weakly-typed variable from a weakly typed code module from the one or more weakly typed code modules, and ii) a strong attribute type, in the computer-readable storage, such that the pre-creation of the one or more enhanced code modules results in the computer-readable storage containing a list comprising each of said one or more enhanced code modules and the associated strong attribute types; accepting a request for a value for a variable of a requested strong attribute type from an external program at runtime; retrieving said list from said computer readable storage; using said list, determining which enhanced code module is associated with said strong attribute type of said requested variable; executing said enhanced code module to determine said value for said variable of said strong attribute type; and returning said value to said external program. - View Dependent Claims (2, 3, 4)
-
-
5. A computerized method for assembling code modules comprising:
-
pre-registering a plurality of weakly-typed code modules, wherein said weakly-typed code modules comprise one or more weakly-typed variables, in a computer-readable storage; pre-creating at least one enhanced code module by associating at least one of said weakly-typed variables with at least one strong attribute type; accepting a request for a value for a variable of said strong attribute type from an external program at runtime; accessing a computer-readable storage comprising a list of said strong attribute types and their associated enhanced code modules; determining a dependency path of said enhanced code modules to derive said requested value; executing the enhanced code modules in said dependency path to determine said value; and returning said value to said external program. - View Dependent Claims (6, 7, 8, 9)
-
-
10. A computerized method for assembling one or more code modules to calculate a rate associated with a phone call comprising:
-
pre-programming a generic code module configured to return a derived value based on a difference between a first and second value; pre-registering said generic code module in a computer-readable storage; pre-creating an enhanced code module to be associated with said generic code module by associating a strong attribute type with said derived value wherein said strong attribute type is of type zone; accepting a request for a value of type zone from an external program; determining which enhanced code module returns a value of type zone; executing said enhanced code module; and returning said value of type zone to said external program.
-
-
11. A computerized method for assembling code modules comprising:
-
pre-registering a data extension module comprising one or more weakly-typed variables in a computer-readable storage; pre-creating a data enhancement module by performing one or more steps comprising storing an association between a weakly-typed variable from said one or more weakly-typed variables and a strong attribute type in the computer-readable storage, such that said pre-creation results in the computer-readable storage containing a list comprising the data enhancement module and an association with the strong attribute type as output of the data enhancement module; accepting a request for a value of said strong attribute type from an external program at runtime; retrieving the list from said computer readable storage; based on the association between the strong attribute type and the data enhancement module in the list, identifying the data enhancement module for execution; executing said data enhancement module; and returning said value to said external program.
-
-
12. A computer readable medium having computer executable instructions for performing a method comprising:
-
pre-registering at least one code module wherein said code module comprises at least one weakly-typed variable; pre-associating at least one of said weakly-typed variables with a strong type; accepting a request for a value for a variable of said strong type from an external program; determining which of said pre-registered code modules will return a value for said requested strongly-typed variable; executing said code module determined in the previous step; and returning said value to said external program. - View Dependent Claims (13, 14)
-
-
15. A computerized method for assembling code modules comprising:
-
pre-registering a plurality of weakly-typed code modules, wherein each weakly-typed code module from said plurality of weakly-typed code modules comprises one or more weakly-typed variables, in a computer-readable storage; pre-creating a plurality of enhanced code modules by performing, for each enhanced code module, one or more steps comprising storing an association between the enhanced code module and a set of data comprising; i) a weakly-typed variable from a weakly-typed code module, and ii) a strong attribute type, such that the pre-creation of the plurality of enhanced code modules results in the computer-readable storage containing a list comprising each of said plurality of enhanced code modules and the associated strong attribute types; accepting a request for a value for a variable of a requested strong attribute type from an external program at runtime; retrieving the list from the computer-readable storage; using the list, determining which enhanced code module is associated with said requested strong attribute type; executing said enhanced code module to determine said value for said variable of said requested strong attribute type and, if said enhanced code module requires a value for an additional variable of a different strong attribute type; a) using the list, determining which additional enhanced code module is associated with said different strong attribute type; b) executing said additional enhanced code module to determine said value for said additional variable of said different strong attribute type and, if said additional enhanced code module requires a value for another additional variable of a further strong attribute type, repeating steps (a)-(b); c) returning said value for said additional variable to said enhanced code module; returning said value for said variable of said requested strong attribute type to said external program.
-
Specification