IP Library Granted Patent US 6,865,566
Granted Patent B2
US 6,865,566 · App. 09/852,609 · Granted Mar 8, 2005

Approach for re-using business rules

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 6,865,566
App. No.
09/852,609
Granted
Mar 8, 2005
Kind
B2
Abstract

An approach is described for developing software that executes rules, such as business rules. A group of rule templates defines a rule structure for rules that may be executed by a rules engine. Separate ruleflow templates define tasks that entail the execution of rules. Each of the ruleflow templates associates a task with the group of rule templates. Because the ruleflow templates define the association between the tasks and the group of rule templates, during execution of the tasks a rules engine executes rules defined by the group of templates. User interfaces are automatically generated based on the group of rule templates. A user may interact with the user interfaces to edit the rules defined by the group of templates. After editing the rules, executing the tasks associated with the group of templates will cause execution of the modified rules.

Claims (66)

1. A method for developing rules applications, wherein the method comprises the computer implemented steps of:

generating a first template that defines a rules structure for rules that may be executed by a rules engine;

generating a second template describing a first set of tasks that includes a first task and an association with said task and said first template;

generating a set of rules based on said first template, wherein said association between said first task and said first template causes execution of said set of rules by said rules engine while executing said first task;

wherein the step of generating a second template describing an association with said first task and said first template includes the step of generating a second template that describes an association between said first task and a template group that includes said first template.

2. The method of claim 1 , the method further including the step of generating a third template describing a second set of tasks that includes a second task and association between said first template and said second task, wherein said association between said second task and said first template causes execution of said set of rules by said rules engine while executing said first task.

3. The method of claim 2 , the method further including the steps:

modifying said set of rules; and

after modifying said set of rules, executing said first task and said second task,

wherein executing said first task and said second task after modifying said set of rules causes execution of the modified set of rules.

4. The method of claim 1 , wherein the step of generating said set of rules includes generating said first set of rules based on said first template and instances of said first template.

5. The method of claim 4 , further including the steps of:

generating one or more user interfaces based on said first template; and

generating said instances in response to said user interfaces receiving input from a user indicating values for said instances.

6. The method of claim 5 , further including the steps of:

generating a third template describing a second set of tasks that includes a second task and association between said first template and said second task, wherein said association between said second task and said first template causes execution of said set of rules by said rules engine while executing said first task;

modifying said instances;

modifying said set of rules based on said first template and the modifications to said instances; and

after modifying said set of rules, executing said first task and said second task, wherein executing said first task and said second task after modifying said set of rules causes execution of the modified set of rules.

7. The method of claim 1 , wherein said first template is a rule template.

8. The method of claim 1 , wherein said second template is a ruleflow template describing tasks that entail execution of rules.

9. The method of claim 1 , wherein said first template describes a structure of a business rule.

10. A method for developing software that involves the execution of rules by a rules engine, wherein the method comorises the computer implemented steps of:

generating a group of rule templates that define rules structure for rules that may be executed by said rules engine;

generating a first ruleflow template that defines; a first set of tasks that includes a first task, and an association with said first task and a group of rule templates;

generating a second ruleflow template that defines; a second set of tasks that includes a second task, an association with said second task and said group of rule templates;

generating a set of rules based on said group of templates,

wherein said association between said first task and said group of templates causes execution of said set of rules by said rules engine while executing said first task;

wherein said association between said second task and said group of templates causes execution of said set of rules by said rules engine while executing said second task;

generating one or more user interfaces based on said group of rule templates;

generating instances of said group of rule templates in response to said user interfaces receiving input from a user indicating values for said instances;

generating changes to said instances in response to said user interface receiving further input from said user indicating new values for said instances;

modifying said set of rules based on said group of rule templates and said changes to said instances; and

after modifying said set of rules, executing said first task and said second task, wherein executing said first task and said second task after modifying said set of rules causes execution of the modified set of rules.

11. A computer-readable medium carrying one or more sequences of instructions for developing rule applications, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of;

generating a first template that defines a rules structure for rules that may be executed by a rules engine;

generating a second template describing a first set of tasks that includes a first task and an association with said task and said first template;

generating a set of rules based on said first template;

wherein said association between said first task and said first template causes execution said set of rules by said rules engine while executing said first task; and

wherein the step of generating a second template describing an association with said first task and said first template includes the step of generating a second template that describes an association between said first task and a template group that includes said first template.

12. The computer-readable medium of claim 11 , the computer-readable medium further including one or more instructions for performing the step of generating a third template describing a second set of tasks that includes a second task and association between said first template and said second task, wherein said association between said second task and said first template causes execution of said set of rules by said rules engine while executing said first task.

13. The computer-readable medium of claim 12 , the computer-readable medium further including one or more instructions for performing the steps of:

modifying said set of rules; and

after modifying said set of rules, executing said first task and said second task, wherein executing said first task and said second task after modifying said set of rules causes execution of the modified set of rules.

14. The computer-readable medium of claim 11 , wherein the step of generating said set of rules includes generating said first set of rules based on said first template and instances of said first template.

15. The computer-readable medium of claim 14 , further including one or more instructions for performing the steps of:

generating one or more user interfaces based on said first template; and

generating said instances in response to said user interfaces receiving input from a user indicating values for said instances.

16. The computer-readable medium of claim 15 , further including one or more instructions for performing the steps of:

generating a third template describing a second set of tasks that includes a second task and association between said first template and said second task, wherein said association between said second task and said first template causes execution of said set of rules by said rules engine while executing said first task;

modifying said instances;

modifying said set of rules based on said first template and the modifications to said instances; and

after modifying said set of rules, executing said first task and said second task, wherein executing said first task and said second task after modifying said set of rules causes execution of the modified set of rules.

17. The computer-readable medium of claim 11 , wherein said first template is a rule template.

18. The computer-readable medium of claim 11 , wherein said second template is a ruleflow template describing tasks that entail execution of rules.

19. The computer-readable medium of claim 11 , wherein said first template describes a structure of a business rule.

20. A computer-readable medium carrying one or more sequences of instructions for developing software that involves the execution of rules by a rules engine, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of:

generating a group of rule templates that define rules structure for rules that may be executed by said rule engine;

generating a first ruleflow template that defines; a first set of tasks that includes a first task, and an association with said first task and a group of rule templates;

generating a second ruleflow template that defines; a second set of tasks that includes a second task, an association with said second task and said group of rule templates;

generating a set of rules based on said group of templates, wherein said association between said first task and said group of templates causes execution of said set of rules by said rules engine while executing said first task, and wherein said association between said second task and said group of templates causes execution of said set of rules by said rules engine while executing said second task;

generating one or more user interfaces based on said group of rule templates;

generating instances of said group of rule templates in response to said user interfaces receiving input from a user indicating values for said instances;

generating changes to said instances in response to said user interface receiving further input from said user indicating new values for said instances;

modifying said set of rules based on said group of rule templates and said changes to said instances; and

after modifying said set of rules, executing said first task and said second task, wherein executing said first task and said second task after modifying said set of rules causes execution of the modified set of rules.

Assignments (7)
MERGER Recorded Apr 8, 2004
From: HNC SOFTWARE, INC.
To: FAIR ISAAC CORPORATION
Reel/Frame 014506/0405 →
MERGER Recorded Jun 2, 2003
From: FAIR, ISAAC AND COMPANY, INCORPORATED
To: FAIR ISAAC CORPORATION
Reel/Frame 014119/0706 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 31, 2003
From: SERRANO-MORALES, CARLOS A.; MELLOR, DAVID J.; WERNER, CHRIS G. C.; MARCE, JEAN-LUC M.; LERMAN, MARC
To: HNC SOFTWARE, INC.
Reel/Frame 013711/0134 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 4, 2001
From: SERRANO-MORALES, CARLOS; MAJOOR, JOHAN; MELLOR, DAVID; MARCE, JEAN-LUC; LERMAN, MARC; WERNER, CHRIS
To: BROKAT TECHNOLOGIES, INC.
Reel/Frame 012129/0142 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 4, 2001
From: BROKAT TECHNOLOGIES, INC.
To: HNC SOFTWARE INC.
Reel/Frame 012124/0577 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 16, 2001
From: BROKAT TECHNOLOGIES, INC.
To: HNC SOFTWARE INC.
Reel/Frame 012295/0874 →
(ASSIGNMENT OF ASSIGNOR'S INTEREST) RE-RECORD TO CORRECT THE RECORDATION DATE OF 9-04-2001 TO 8-16-2001 PREVIOUSLY RECORDED AT REEL 12129, FRAME 0142. Recorded Aug 16, 2001
From: SERRANO-MORALES, CARLOS; MAJOOR, JOHAN; MELLOR, DAVID; MARCE, JEAN-LUC; LERMAN, MARC; WERNER, CHRIS
To: BROKAT TECHNOLOGIES, INC.
Reel/Frame 012299/0881 →