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.