Method and system for dynamically synthesizing a computer program by differentially resolving atoms based on user context data
First Claim
1. A method in a computer system for dynamically generating a custom application program tailored to an identified user, comprising:
- storing a plurality of possible functions for the application program, each possible function having conditions that may be evaluated against user attributes of the identified user;
retrieving an application program having at least one function that is undetermined;
for each undetermined function of the application program, automatically selecting one of the possible functions by matching one or more user attributes of the identified user to one or more of the conditions associated with the possible function, such that the non-selected functions are excluded from the application program bring generated; and
providing each selected function for execution as part of the application program.
7 Assignments
0 Petitions
Accused Products
Abstract
A method and system for dynamically synthesizing a computer program based on user context data is provided. In accordance with the invention, a request is received to generate a computer program for an identified user. In response, an incomplete definition of the computer program, from which portions of the definition are omitted, is retrieved. For each portion of the computer program omitted from the incomplete definition of the computer program, a plurality of possible versions of the omitted portion are accessed. Each possible version produces a different behavior in the computer program when it is added to the computer program. Further, each possible version has one or more conditions that may be evaluated against user attributes for the identified user to determine whether the possible version is acceptable for the user. Next, for each possible version of each omitted portion, the conditions of the possible version are evaluated to determine whether the possible version is acceptable for the user. A preference rule is then used to select, for each omitted portion, one possible version determined to be acceptable. Finally, the versions of the omitted portions of the computer program selected as preferred are added to the incomplete definition of the computer program in order to complete the definition of the computer program. In a further preferred embodiment of the present invention, the completed computer program is executed on behalf of the identified user.
-
Citations
11 Claims
-
1. A method in a computer system for dynamically generating a custom application program tailored to an identified user, comprising:
-
storing a plurality of possible functions for the application program, each possible function having conditions that may be evaluated against user attributes of the identified user; retrieving an application program having at least one function that is undetermined; for each undetermined function of the application program, automatically selecting one of the possible functions by matching one or more user attributes of the identified user to one or more of the conditions associated with the possible function, such that the non-selected functions are excluded from the application program bring generated; and providing each selected function for execution as part of the application program. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method in a computer system for developing a custom application program that can be tailored to user attributes in response to a request to execute the custom application program, comprising:
-
constructing an application program in which a portion of the application program is represented in the application program by a placeholder which may be replaced with different possible portions of the application program, each possible portion of the application program producing a different behavior in the application program; designating two or more possible portions of the application program with which the placeholder may be replaced; for each designated possible portion, defining conditions relating to user attributes that specify whether the behavior produced by the possible portion is acceptable for a user having particular user attributes; and specifying a rule for automatically selecting one of the acceptable possible portions as preferred, such that, in response to a request to execute the custom application program, the defined conditions may be evaluated to determine whether the behavior produced by each of the designated possible portions is acceptable for an identified user and the specified rule may be applied to automatically select one of the possible portions that produces acceptable behavior with which the placeholder in the constructed program may be replaced to tailor the developed custom application program for the identified user.
-
-
8. A computer program product for dynamically generating a custom application program tailored to an identified user, the computer program product comprising:
-
program code for storing a plurality of possible functions for the application program, each possible function having conditions that may be evaluated against user attributes of the identified user; program code for retrieving at application program having at least one action that is undetermined; program code for automatically selecting one of the possible functions for each undetermined function of the application according to one or more user attributes of the identified user, and one or more of the conditions associated with the possible function such that the non-selected functions are excluded from the application program being generated; program code for providing each selected function for execution as part of the application program; and a computer readable medium on which the program codes are stored.
-
-
9. A computer program product for constructing a custom application program tailored to user attributes of a user in response to a request to execute the custom application program, the computer program product comprising:
-
an application program including a portion represented by a placeholder which is replaceable by different possible portions of the application program; plural possible portions of the application program for replacing the placeholder, each possible portion of the application program producing a different behavior in the application program; program code for defining at least one condition specifying whether the behavior produced by the possible portion is acceptable for a user having particular user attributes; program code for specifying a rule for automatically selecting an acceptable possible portion as preferred, such that, in response to a request to execute the custom application program, program code evaluates the defined conditions to determine whether the behavior produced by each of the designated possible portions is acceptable for an identified user; program code for automatically selecting one of the possible portions that produces acceptable behavior according to the conditions associated with the user attributes of the user to replace the placeholder in the constructed program; and a computer readable medium on which the program codes are stored.
-
-
10. A method of customizing an application program comprising:
-
storing on a server computer an incomplete application program; storing on the server computer plurality of functions for completing the application program, each function producing a different behavior; receiving at the server computer user attributes of a user of a client computer; selecting automatically at least one acceptable function of the plurality of functions according to conditions associated with the acceptable functions and the user attributes; combining the selected functions with the incomplete application to create a customized application, such that the non-selected functions are excluded from the customized application; and transmitting the customized application to the client computer.
-
-
11. A method of customizing an application program comprising:
-
storing on a client computer an incomplete application program; storing on a server computer a plurality of functions for completing the application program, each function producing a different behavior; receiving at the server computer user attributes of a user of the client computer; selecting automatically at least one acceptable function of the plurality of functions according to conditions associate with the acceptable functions And the user attributes; transmitting the selected functions to the client computer; and combining at the client computer the transmitted selected functions with the incomplete application to create a customized application, such that the non-selected functions are excluded from the customized application.
-
Specification