Claims
- 1. A method for creating objects comprising the steps of:
obtaining a generative model; and processing said generative model to generate said objects.
- 2. The method of claim 1 wherein said step of processing further comprises the steps of:
finding a plurality of builder calls located in a builder call list in said generative model; obtaining a profile comprised of a plurality of builder inputs; creating a generative container to hold said objects as they are created; and using said builder calls to create said objects in said generative container.
- 3. The method of claim 2 whereby said step of obtaining a generative model further comprises the step of:
using a generation manager to obtain said generative model.
- 4. The method of claim 2 wherein said step of using said builder calls further comprises the steps of:
performing regeneration with said generation manager for a first phase using said builder calls; and repeating said step of performing regeneration for a plurality of phases.
- 5. The method of claim 4 wherein said step of performing regeneration further comprises the steps of:
using a generative context to obtain a plurality of generative handlers related to said plurality of builder calls in said builder call list; and executing said plurality of builder calls.
- 6. The method of claim 5 wherein said step of executing further comprises the steps of:
configuring a subset of said builder calls to be marked as disabled or enabled; and executing the subset of said builder calls marked enabled.
- 7. The method of claim 5 wherein said step of executing further comprises the steps of:
processing a first builder call from said builder call list; using said generative context to initialize a first generative handler related to said first builder call; initializing a first builder for said first builder call; invoking the regeneration method of said first builder; and repeating said steps of processing, using said generative context, initializing a first builder and invoking the regeneration method for said plurality builder calls.
- 8. The method of claim 7 wherein said step of initializing a first builder further comprises the steps of:
looking up said first builder identified by a builder definition; obtaining an instance of said first builder by using said set of builder inputs; and preparing to call said current builder.
- 9. The method of claim 8 wherein said step of obtaining said first builder requires instantiating a new instance of said first builder.
- 10. The method of claim 2 further comprises:
creating said generative model.
- 11. The method of claim 10 wherein said step of creating further comprises the steps of:
using a designer application to create said generative model; performing a regeneration process with said generative model; viewing results of said regeneration process; and optionally editing said generative model.
- 12. The method of claim 11 wherein said step of using a designer application further comprises the steps of:
instantiating a builder editor in order to create a new builder call; obtaining a builder definition object and looking up the definitions of builder inputs for a first selected builder call in said generative model; constructing a plurality of dynamic builder inputs that correspond to said builder inputs; and instantiating a coordinator function of a builder identified by said first selected builder call.
- 13. The method of claim 12 wherein said step of instantiating a builder editor instantiates said builder editor in order to modify a second selected builder call in said builder call list of said generative model.
- 14. The method of claim 12 wherein said step of obtaining a builder definition further comprises the steps of:
obtaining the name of a type of builder to use in constructing a new builder call in said builder call list; and using said name to obtain said builder definition object.
- 15. The method of claim 12 further comprises the steps of:
instantiating a set of builder user interface widgets; setting up said coordinator function; making said generative container available to said coordinator function; and saving in said builder call updated dynamic builder input values entered via said user interface widgets.
- 16. The method of claim 2 further comprises the step of:
creating said profile.
- 17. The method of claim 16 wherein said step of creating further comprises the steps of:
editing said profile using a customizer application; performing regeneration with said profile; and obtaining a second set of generated objects.
- 18. The method of claim 17 further comprising the step of:
executing said second set of generated objects in an execution engine.
- 19. The method of claim 2 further comprises the step of:
modifying said plurality of builder inputs in said profile using a customizer application.
- 20. The method of claim 1 wherein said objects can be serialized.
- 21. The method of claim 1 wherein said objects are presented in XML.
- 22. The method of claim 1 wherein said objects are source objects.
- 23. The method of claim 22 wherein said source objects are in expressed in a programming language.
- 24. The method of claim 23 wherein said programming language is Java.
- 25. The method of claim 22 wherein said source objects are expressed in an inference engine rules language.
- 26. The method of claim 25 wherein said inference engine rules language is the ILOG rules language.
- 27. The method of claim 22 wherein said source objects comprise a plurality of system logic objects.
- 28. The method of claim 1 further comprising the step of:
executing said generated objects in an execution engine.
- 29. A system for creating objects comprising:
a generative model; a profile; a regeneration engine; a plurality of builders; and a generative container whereby said regeneration engine processes said generative model along with said profile to control said plurality of builders to generate said objects in said generative container.
- 30. The system of claim 29 wherein said plurality of builders edit said objects in said generative container.
- 31. The system of claim 29 wherein said regeneration engine further comprises a generation manager.
- 32. The system of claim 29 wherein said generation manager performs a plurality of phases of regeneration.
- 33. The system of claim 32 further comprises:
a generative context; a generative handler; a builder inputs object; and a builder definition object.
- 34. The system of claim 33 wherein said builder definition object further comprises:
a plurality of builder input definitions; and a plurality of builder group definitions.
- 35. The system of claim 32 wherein said generative container further comprises:
generative elements that point to a plurality of objects.
- 36. The system of claim 29 further comprises:
an execution engine; and an operating application whereby said execution engine executes said objects in said operating application.
- 37. The system of claim 29 wherein said generative model further comprises:
a builder call list comprising a plurality of builder calls.
- 38. The system of claim 37 further comprises:
a designer application whereby said plurality of builder calls of said generative model can be edited.
- 39. The system of claim 38 wherein said designer application further comprises:
a builder call list view; a generative container view; and an application view.
- 40. The system of claim 39 wherein said designer application further comprises:
a builder editor whereby a builder definition is processed to generate a plurality of dynamic builder input for a builder specified by said a builder call in said plurality of builder calls.
- 41. The system of claim 29 wherein said profile further comprises:
a plurality of builder inputs.
- 42. The system of claim 41 further comprises:
a customizer application whereby said profile can be edited by a user.
- 43. The system of claim 41 further comprises:
a customizer application whereby said profile can be created by a user.
- 44. The system of claim 43 wherein said customizer application further comprises:
a profiles view; and a profiled application view.
- 45. The system of claim 29 wherein said objects can be serialized.
- 46. The system of claim 29 wherein said objects are presented in XML.
- 47. The system of claim 29 wherein said objects are source objects.
- 48. The system of claim 47 wherein said source objects are in expressed in a programming language.
- 49. The system of claim 48 wherein said programming language is Java.
- 50. The system of claim 47 wherein said source objects are expressed in an inference engine rules language.
- 51. The system of claim 50 wherein said inference engine rules language is the ILOG rules language.
- 52. The method of claim 47 wherein said source objects comprise a plurality of system logic objects.
- 53. A system of generating system logic objects comprises:
a regeneration engine; a generative model of builder calls; a profile of inputs; a plurality of builders whereby said regeneration engine uses said generative model to control said plurality of builders to dynamically generate system logic objects using inputs from said profile.
- 54. The system of claim 53 wherein said plurality of builders comprise:
a plurality of rule builders; a plurality of action builders; a plurality of junction builders; a plurality of condition builders; and a plurality of chain rule builders.
- 55. The system of claim 54 wherein said system logic objects further comprise:
zero or more rules; zero or more actions; zero or more junctions, zero or more phases; and zero or more structures.
- 56. The system of claim 55 wherein said plurality of rule builders create a plurality of said rules.
- 57. The system of claim 56 wherein said rules further comprise a base rule, comprising:
a plurality of conditions; a first set of zero or more actions in a “then” clause whereby said first set of zero or more actions are executed if said conditions are evaluated to be true; and a second set of zero or more action in an “else” clause whereby said second set of zero or more actions are executed if said conditions are evaluated to be false.
- 58. The system of claim 57 wherein said plurality of conditions further comprises a plurality of pre-conditions.
- 59. The system of claim 57 wherein said base rule can be configured to fire once before reset.
- 60. The system of claim 57 wherein said base rule further comprises:
a “from” phase condition check; a first “to” phase in said “then” clause; and a second “to” phase in said “else” clause.
- 61. The system of claim 57 wherein a chain rule is attached to said base rule.
- 62. The system of claim 57 wherein said chain rule is attached to said “then” clause of said base rule.
- 63. The system of claim 57 wherein said chain rule is attached to said “else” clause of said base rule.
- 64. The system of claim 57 wherein a plurality of chain rules are attached to said base rule whereby a chain of logical rules is formed.
- 65. The system of claim 64 wherein said plurality of chain rules are attached using automatic reference adaptation.
- 66. The system of claim 57 wherein a plurality of chain rules are attached to said base rule whereby a tree of logical rules is formed.
- 67. The system of claim 66 wherein said plurality of chain rules are attached using automatic reference adaptation.
- 68. The system of claim 57 wherein said plurality of conditions further comprises a plurality of junctions that logically connect said conditions.
- 69. The system of claim 55 wherein said plurality of conditions further comprises:
a variable status condition; an action status condition; a junction status condition; a service status condition; and a rule status condition.
- 70. The system of claim 55 wherein said plurality of actions further comprises:
a call service action; a call action action; a call method action; a set variable action; a set status action; a return object action; and a set page action.
- 71. The system of claim 55 wherein said action builders build said actions in said rules.
- 72. The system of claim 55 further comprises:
zero or more rule set builders; zero or more phase builders; and zero or more linked rule set builders.
- 73. The system of claim 53 wherein said builders can receive indirect references as inputs whereby values of inputs are resolved at time of regeneration.
- 74. The system of claim 53 wherein said builder calls can have instances with same name whereby overloading can be achieved.
- 75. A method of generating system logic objects comprising the steps of:
processing a generative model with a plurality of builder calls; using a profile comprised of a plurality of builder inputs; and using a plurality of builders specified by said builder calls with said builder inputs to create said system logic objects.
- 76. The method of claim 75 wherein said plurality of builders comprise:
a plurality of rule builders; a plurality of action builders; a plurality of junction builders; a plurality of condition builders; and a plurality of chain rule builders.
- 77. The method of claim 76 wherein said system logic objects further comprise:
zero or more rules; zero or more actions; zero or more junctions, zero or more phases; and zero or more structures.
- 78. The method of claim 77 wherein said plurality of rule builders create a plurality of said rules.
- 79. The method of claim 78 wherein said step of using a plurality of builders further comprises the step of:
building a base rule.
- 80. The method of claim 79 wherein said step of building a base rule further comprises steps of:
building a plurality of conditions; building a first set of zero or more actions in a “then” clause whereby said first set of zero or more actions are executed if said conditions are evaluated to be true; and building a second set of zero or more action in an “else” clause whereby said second set of zero or more actions are executed if said conditions are evaluated to be false.
- 81. The method of claim 80 wherein said plurality of conditions further comprises a plurality of pre-conditions.
- 82. The method of claim 80 wherein said base rule can be configured to fire once before reset.
- 83. The method of claim 80 further comprises the steps of:
building a “from” phase condition check in said base rule; building a first “to” phase in said “then” clause; and building a second “to” phase in said “else” clause.
- 84. The method of claim 80 further comprising the step of:
attaching a chain rule to said base rule.
- 85. The method of claim 84 wherein said chain rule is attached to said “then” clause of said base rule.
- 86. The method of claim 84 wherein said chain rule is attached to said “else” clause of said base rule.
- 87. The method of claim 80 further comprising the step of:
attaching a plurality of chain rules to said base rule whereby a chain of logical rules is formed.
- 88. The method of claim 86 wherein said step of attaching attaches said chain rules using automatic reference adaptation.
- 89. The method of claim 80 further comprising the step of:
attaching a plurality of chain rules to said base rule whereby a tree of logical rules is formed.
- 90. The method of claim 89 wherein said step of attaching attaches said chain rules using automatic reference adaptation.
- 91. The method of claim 80 wherein said plurality of conditions further comprises a plurality of junctions that logically connect said conditions.
- 92. The method of claim 77 wherein said plurality of conditions further comprises:
a variable status condition; an action status condition; a junction status condition; a service status condition; and a rule status condition.
- 93. The method of claim 77 wherein said plurality of actions further comprises:
a call service action; a call action action; a call method action; a set variable action; a set status action; a return object action; and a set page action.
- 94. The method of claim 77 wherein said action builders build said actions in said rules.
- 95. The method of claim 77 further comprises:
zero or more rule set builders; zero or more phase builders; and zero or more linked rule set builders.
- 96. The method of claim 75 wherein said builders can receive indirect references as inputs whereby values of inputs are resolved at time of regeneration.
- 97. The method of claim 75 wherein said builder calls can have instances with same name whereby overloading can be achieved.
Parent Case Info
[0001] This application claims the benefit of priority from U.S. Provisional Application titled “Method and Apparatus for Creating System Logic,” Serial No. 60/334,207, filed Nov. 28, 2001.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60334207 |
Nov 2001 |
US |