首页 / 专利库 / 人工智能 / 共指链 / 用于规则编辑、模拟、版本控制和业务流程管理的集成系统

用于规则编辑、模拟、版本控制和业务流程管理的集成系统

阅读:1025发布:2020-05-29

专利汇可以提供用于规则编辑、模拟、版本控制和业务流程管理的集成系统专利检索,专利查询,专利分析的服务。并且提供了用于管理与 数据处理 系统中的应用程序一起使用的一个或多个规则的系统和方法。提供了集成 用户界面 以使得用户能够 访问 集成应用开发系统,该集成应用开发系统使得能够对规则集进行版本控制和业务流程管理,每个规则集包括一个或多个规则。响应于来自第一用户的指令,从该储存库中检出规则集的特定版本,将该规则集从第一状态转变为第二状态,并且将该规则集检回到该储存库中。与该第一规则集的特定版本相关联的日志数据对象存储以下信息:(i) 指定 哪个用户从该储存库中检出规则集、以及哪个用户批准该规则集从该第一状态转变为该第二状态的信息;或(ii)指定指示从该储存库中检出该规则集的时间的时间戳、以及指示该规则集从该第一状态转变为该第二状态的时间的时间戳的信息。,下面是用于规则编辑、模拟、版本控制和业务流程管理的集成系统专利的具体信息内容。

1.一种用于管理与数据处理系统中的应用程序一起使用的一个或多个规则的计算机实施的方法,该方法包括:
提供集成用户界面以使得用户能够访问集成应用开发系统,该集成应用开发系统使得能够对规则集进行版本控制和业务流程管理,其中,每个规则集包括一个或多个规则,每个规则包括一个或多个规则例,该一个或多个规则例根据规则的输入来计算规则的输出值,并且每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;
将第一规则集的多个版本存储在储存库中;
将具有关于该第一规则集的多个版本的信息的至少一个日志数据对象存储在该储存库中;
通过该集成用户界面的第一用户界面接收来自与第一用户标识符相关联的第一用户的指令;以及
响应于来自该第一用户的指令,
从存储在该储存库中的该第一规则集的多个版本中选择该第一规则集的特定版本,并且
将该第一规则集的特定版本从多个状态中的第一状态转变为该多个状态中的第二状态;以及
将以下各项中的至少一项存储在与该第一规则集的特定版本相关联的日志数据对象中:
(i)指定以下各项的信息:与该第一用户标识符相关联的用户从该储存库中选择该第一规则集的特定版本、并且与该第一用户标识符相关联的用户批准该第一规则集的特定版本从该第一状态转变为该第二状态,或
(ii)指定以下各项的信息:从该储存库中选择该第一规则集的特定版本与第一时间戳相关联、并且将该第一规则集的特定版本从该第一状态转变为该第二状态与第二时间戳相关联。
2.如权利要求1所述的方法,包括:通过该集成用户界面接收来自与第二用户标识符相关联的第二用户的第二指令;
响应于来自该第二用户的第二指令,
从存储在该储存库中的多个规则集中选择一组两个或更多个规则集,每个规则集是从该规则集的多个版本中选择的该规则集的特定版本,并且
将该组所选规则集与发布标签相关联;
通过该集成用户界面接收来自与第三用户标识符相关联的第三用户的第三指令;以及响应于来自该第三用户的第三指令,
将该发布标签从多个状态中的第一状态转变为该多个状态中的第二状态。
3.如权利要求2所述的方法,包括:将以下各项中的至少一项存储在与该发布标签相关联的日志数据对象中:
(i)指定以下各项的信息:与该第二用户标识符相关联的用户选择该组规则集、并且与该第三用户标识符相关联的用户批准将发布标签从该第一状态转变为该第二状态,或(ii)指定以下各项的信息:选择该组规则集与第三时间戳相关联、并且将该发布标签从该第一状态转变为该第二状态与第四时间戳相关联。
4.如权利要求1所述的方法,其中,该第一状态指示该第一规则集是仍在编辑的草稿,并且该第二状态指示该第一规则集已准备好被审阅者审阅。
5.如权利要求1所述的方法,其中,该第一状态指示该第一规则集已准备好由有权批准该第一规则集以供发布的用户审阅,并且该第二状态指示该第一规则集被最终确定并准备好发布。
6.如权利要求1所述的方法,其中,每个规则集与将输入数据变换为输出数据的软件或数据处理实体中的至少一个相对应。
7.如权利要求1所述的方法,其中,该集成应用开发系统包括源代码控制模块和业务流程管理模块,该源代码控制模块处理对该第一规则集的特定版本的选择,并且该业务流程管理模块处理该第一规则集的特定版本从该第一状态到该第二状态的转变。
8.如权利要求7所述的方法,其中,该源代码控制模块处理将以下各项中的至少一项存储在该日志数据对象中:(i)指定该第一用户从该储存库中选择该第一规则集的特定版本的信息;或(ii)指定从该储存库中选择该第一规则集的特定版本与该第一时间戳相关联的信息,并且
该业务流程管理模块处理将以下各项中的至少一项存储在该日志数据对象中:(i)指定该第一用户批准该第一规则集的特定版本从该第一状态转变为该第二状态的信息;或(ii)指定该第一规则集的特定版本从该第一状态转变为该第二状态与该第二时间戳相关联的信息。
9.如权利要求1所述的方法,包括:从该储存库中检出该第一规则集的特定版本,并且在将该第一规则集的特定版本检入回该储存库中之前,定存储在该储存库中的该第一规则集的特定版本以防止其他用户修改该储存库中的该第一规则集的特定版本。
10.如权利要求1所述的方法,包括:
通过该集成用户界面的第二用户界面接收来自与第二用户标识符相关联的第二用户的指令;
响应于来自该第二用户的指令,
从存储在该储存库中的该第一规则集的多个版本中选择该第一规则集的特定版本,并且
执行以下各项操作中的至少一项:
(i)将应用程序与该第一规则集的特定版本相关联,并根据该第一规则集的特定版本中的一个或多个规则来模拟执行该应用程序以处理输入记录并产生输出,或(ii)检索已存储的通过先前根据该第一规则集的特定版本中的一个或多个规则来模拟执行处理输入记录以产生输出的应用程序所产生的输出。
11.如权利要求10所述的方法,包括:将以下各项中的至少一项存储在与该第一规则集的特定版本相关联的日志数据对象中:
(i)指定以下各项的信息:与该第二用户标识符相关联的用户从该储存库中选择该第一规则集的特定版本、并且与该第二用户标识符相关联的用户使用该第一规则集的特定版本来模拟执行该应用程序以产生输出,
(ii)指定以下各项的信息:与该第二用户标识符相关联的用户从该储存库中选择该第一规则集的特定版本、并且与该第二用户标识符相关联的用户检索已存储的通过先前使用该第一规则集的特定版本来模拟执行该应用程序所产生的输出,
(iii)指定以下各项的信息:从该储存库中选择该第一规则集的特定版本与第三时间戳相关联、并且使用该第一规则集的特定版本来模拟执行该应用程序以产生输出与第四时间戳相关联,或
(iv)指定以下各项的信息:从该储存库中选择该第一规则集的特定版本与第三时间戳相关联、并且检索已存储的通过先前使用该第一规则集的特定版本来模拟执行该应用程序所产生的输出与第四时间戳相关联。
12.如权利要求11所述的方法,其中,该集成应用开发系统包括源代码控制模块和模拟模块,该源代码控制模块处理将以下各项中的至少一项存储在该日志数据对象中:
(i)指定与该第二用户标识符相关联的用户从该储存库中选择该第一规则集的特定版本的信息,或
(ii)指定从该储存库中选择该第一规则集的特定版本与该第一时间戳相关联的信息,并且
该模拟模块处理将以下各项中的至少一项存储在该日志数据对象中:
(i)指定与该第二用户标识符相关联的用户使用该第一规则集的特定版本来模拟执行该应用程序以产生输出的信息,
(ii)指定与该第二用户标识符相关联的用户检索已存储的通过先前使用该第一规则集的特定版本来模拟执行该应用程序所产生的输出的信息,
(iii)指定使用该第一规则集的特定版本来模拟执行该应用程序以产生输出与该第二时间戳相关联的信息,或
(iv)指定检索已存储的通过先前使用该第一规则集的特定版本来模拟执行该应用程序所产生的输出与该第二时间戳相关联的信息。
13.如权利要求10所述的方法,其中,该集成应用开发系统包括源代码控制模块和模拟模块,该源代码控制模块处理对该第一规则集的特定版本的选择,并且该模拟模块处理根据该第一规则集的特定版本中的规则来模拟执行该应用程序以处理输入记录并产生输出。
14.如权利要求10所述的方法,其中,在该第一用户的计算机终端处提供该第一用户界面并且在第二用户的计算机终端处提供该第二用户界面。
15.如权利要求1所述的方法,包括:
响应于来自该第一用户的指令,编辑该第一规则集的特定版本;
将已编辑的该第一规则集的特定版本存储在该储存库中,以及
将以下各项中的至少一项存储在与该第一规则集的特定版本相关联的日志数据对象中:
(i)指定该第一用户编辑了该第一规则集的特定版本的信息,或
(ii)指定对该第一规则集的特定版本的修改与第三时间戳相关联的信息。
16.如权利要求15所述的方法,其中,该集成应用开发系统包括源代码控制模块、业务流程管理模块和规则编辑器,
该源代码控制模块处理对该第一规则集的特定版本的选择,
该业务流程管理模块处理该第一规则集的特定版本从该第一状态到第二状态的转变,并且
该规则编辑器处理对该第一规则集的特定版本的编辑。
17.一种计算机可读介质,存储有用于管理与数据处理系统中的应用程序一起使用的一个或多个规则的计算机程序,该计算机程序包括用于使计算机系统执行以下操作的指令:
提供集成用户界面以使得用户能够访问集成应用开发系统,该集成应用开发系统使得能够对规则集进行版本控制和业务流程管理,其中,每个规则集包括一个或多个规则,每个规则包括一个或多个规则例,该一个或多个规则例根据规则的输入来计算规则的输出值,并且每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;
将第一规则集的多个版本存储在储存库中;
将具有关于该第一规则集的多个版本的信息的至少一个日志数据对象存储在该储存库中;
通过该集成用户界面的第一用户界面接收来自与第一用户标识符相关联的第一用户的指令;以及
响应于来自该第一用户的指令,
从存储在该储存库中的该第一规则集的多个版本中选择该第一规则集的特定版本,并且
将该第一规则集的特定版本从多个状态中的第一状态转变为该多个状态中的第二状态;并且
将以下各项中的至少一项存储在与该第一规则集的特定版本相关联的日志数据对象中:
(i)指定以下各项的信息:与该第一用户标识符相关联的用户从该储存库中选择该第一规则集的特定版本、并且与该第一用户标识符相关联的用户批准该第一规则集的特定版本从该第一状态转变为该第二状态,或
(ii)指定以下各项的信息:从该储存库中选择该第一规则集的特定版本与第一时间戳相关联、并且将该第一规则集的特定版本从该第一状态转变为该第二状态与第二时间戳相关联。
18.一种用于管理与应用程序一起使用的一个或多个规则的系统,该系统包括:
数据存储系统,该数据存储系统存储一个或多个规则;
至少一个输出设备或端口,用于提供图形用户界面;以及
计算机系统,该计算机系统耦合到该数据存储系统和该至少一个输出设备或端口,包括用于以下操作的电路系统:
提供集成用户界面以使得用户能够访问集成应用开发系统,该集成应用开发系统使得能够对规则集进行版本控制和业务流程管理,其中,每个规则集包括一个或多个规则,每个规则包括一个或多个规则例,该一个或多个规则例根据规则的输入来计算规则的输出值,并且每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;
将第一规则集的多个版本存储在储存库中;
将具有关于该第一规则集的多个版本的信息的至少一个日志数据对象存储在该储存库中;
通过该集成用户界面的第一用户界面接收来自与第一用户标识符相关联的第一用户的指令;以及
响应于来自该第一用户的指令,
从存储在该储存库中的该第一规则集的多个版本中选择该第一规则集的特定版本,并且
将该第一规则集的特定版本从多个状态中的第一状态转变为该多个状态中的第二状态;并且
将以下各项中的至少一项存储在与该第一规则集的特定版本相关联的日志数据对象中:
(i)指定以下各项的信息:与该第一用户标识符相关联的用户从该储存库中选择该第一规则集的特定版本、并且与该第一用户标识符相关联的用户批准该第一规则集的特定版本从该第一状态转变为该第二状态,或
(ii)指定以下各项的信息:从该储存库中选择该第一规则集的特定版本与第一时间戳相关联、并且将该第一规则集的特定版本从该第一状态转变为该第二状态与第二时间戳相关联。
19.一种用于管理与应用程序一起使用的一个或多个规则的系统,该系统包括:
用于提供集成用户界面以使得用户能够访问集成应用开发系统的装置,该集成应用开发系统使得能够对规则集进行版本控制和业务流程管理,其中,每个规则集包括一个或多个规则,每个规则包括一个或多个规则例,该一个或多个规则例根据规则的输入来计算规则的输出值,并且每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;
用于将第一规则集的多个版本存储在储存库中的装置;
用于将具有关于该第一规则集的多个版本的信息的至少一个日志数据对象存储在该储存库中的装置;
用于通过该集成用户界面的第一用户界面接收来自与第一用户标识符相关联的第一用户的指令的装置;
用于响应于来自该第一用户的指令从该储存库中选择该第一规则集的特定版本的装置;
用于响应于来自该第一用户的指令而将该第一规则集的特定版本从多个状态中的第一状态转变为该多个状态中的第二状态的装置;
以及
用于将以下各项中的至少一项存储在与该第一规则集的特定版本相关联的日志数据对象中的装置:
(i)指定以下各项的信息:与该第一用户标识符相关联的用户从该储存库中选择该第一规则集的特定版本、并且与该第一用户标识符相关联的用户批准该第一规则集的特定版本从该第一状态转变为该第二状态,或
(ii)指定以下各项的信息:从该储存库中选择该第一规则集的特定版本与第一时间戳相关联、并且将该第一规则集的特定版本从该第一状态转变为该第二状态与第二时间戳相关联。
20.一种用于管理与数据处理系统中的应用程序一起使用的一个或多个规则的计算机实施的方法,该方法包括:
提供集成用户界面以使得用户能够访问集成应用开发系统,该集成应用开发系统使得能够对规则集进行编辑、模拟、业务流程管理和版本控制,其中,每个规则集包括一个或多个规则,每个规则包括一个或多个规则例,该一个或多个规则例根据规则的输入来计算规则的输出值,并且每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;
将第一规则集的多个版本存储在储存库中;
将具有关于该第一规则集的多个版本的信息的至少一个日志数据对象存储在该储存库中;
通过该集成用户界面的第一用户界面接收来自与第一用户标识符相关联的第一用户的指令;以及
响应于来自该第一用户的指令,
从存储在该储存库中的该第一规则集的多个版本中选择该第一规则集的特定版本,编辑该第一规则集的特定版本,
将应用程序与该第一规则集的特定版本相关联,并根据该第一规则集的特定版本中的规则来模拟执行该应用程序以处理输入记录并产生输出,以及
将该第一规则集的特定版本从多个状态中的第一状态转变为该多个状态中的第二状态。
21.如权利要求20所述的方法,包括:将以下各项中的至少一项存储在与该第一规则集的特定版本相关联的日志数据对象中:
(i)指定以下各项的信息:与该第一用户标识符相关联的用户从该储存库中选择该第一规则集的特定版本、编辑该第一规则集的特定版本、使用该第一规则集的特定版本来模拟执行该应用程序以产生输出、并且批准将该第一规则集的特定版本从该第一状态转变为该第二状态,或
(ii)指定以下各项的信息:从该储存库中选择该第一规则集的特定版本与第一时间戳相关联;编辑该第一规则集的特定版本与第二时间戳相关联;使用该第一规则集的特定版本来模拟执行该应用程序与第三时间戳相关联;并且将该特定规则集从该第一状态转变为该第二状态与第四时间戳相关联。
22.如权利要求21所述的方法,其中,该集成应用开发系统包括规则编辑器、模拟模块、业务流程管理模块和源代码控制模块,
该规则编辑器处理将指定与该第一用户标识符相关联的用户编辑了该第一规则集的特定版本的信息存储在该日志数据对象中,
该模拟模块处理将指定与该第一用户标识符相关联的用户使用已编辑的该第一规则集的特定版本来模拟执行该应用程序的信息存储在该日志数据对象中,
该业务流程管理模块处理将指定与该第一用户标识符相关联的用户批准将该第一规则集的特定版本从该第一状态转变为该第二状态的信息存储在该日志数据对象中,并且该源代码控制模块处理将指定与该第一用户标识符相关联的用户从该储存库选择该第一规则集的特定版本的信息存储在该日志数据对象中。
23.如权利要求21所述的方法,其中,该集成应用开发系统包括规则编辑器、模拟模块、业务流程管理模块和源代码控制模块,
该源代码控制模块处理将指定从该储存库中选择该第一规则集的特定版本与该第一时间戳相关联的信息存储在该日志数据对象中,
该规则编辑器处理将指定对该第一规则集的特定版本的编辑与该第二时间戳相关联的信息存储在该日志数据对象中,
该模拟模块处理将指定使用该第一规则集的特定版本来模拟执行该应用程序与该第三时间戳相关联的信息存储在该日志数据对象中,并且
该业务流程管理模块处理将指定将特定规则集从该第一状态转变为该第二状态与该第四时间戳相关联的信息存储在该日志数据对象中。
24.如权利要求20所述的方法,其中,该集成应用开发系统包括规则编辑器、模拟模块、业务流程管理模块和源代码控制模块,
该规则编辑器处理对该第一规则集的特定版本的编辑,
该模拟模块处理根据该第一规则集的特定版本中的一个或多个规则来模拟执行该应用程序以处理输入记录并产生输出,
该业务流程管理模块处理该第一规则集的特定版本从该第一状态到第二状态的转变,并且
该源代码控制模块处理对该第一规则集的特定版本的检入和检出。
25.一种计算机可读介质,存储有用于管理与数据处理系统中的应用程序一起使用的一个或多个规则的计算机程序,该计算机程序包括用于使计算机系统执行以下操作的指令:
提供集成用户界面以使得用户能够访问集成应用开发系统,该集成应用开发系统使得能够对规则集进行编辑、模拟、业务流程管理和版本控制,其中,每个规则集包括一个或多个规则,每个规则包括一个或多个规则例,该一个或多个规则例根据规则的输入来计算规则的输出值,并且每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;
将第一规则集的多个版本存储在储存库中;
将具有关于该第一规则集的多个版本的信息的至少一个日志数据对象存储在该储存库中;
通过该集成用户界面的第一用户界面接收来自与第一用户标识符相关联的第一用户的指令;以及
响应于来自该第一用户的指令,
从存储在该储存库中的该第一规则集的多个版本中选择该第一规则集的特定版本,编辑该第一规则集的特定版本,
将应用程序与该第一规则集的特定版本相关联,并根据该第一规则集的特定版本中的规则来模拟执行该应用程序以处理输入记录并产生输出,并且
将该第一规则集的特定版本从多个状态中的第一状态转变为该多个状态中的第二状态。
26.一种用于管理与应用程序一起使用的一个或多个规则的系统,该系统包括:
数据存储系统,该数据存储系统存储一个或多个规则;
至少一个输出设备或端口,用于提供图形用户界面;以及
计算机系统,该计算机系统耦合到该数据存储系统和该至少一个输出设备或端口,包括用于以下操作的电路系统:
提供集成用户界面以使得用户能够访问集成应用开发系统,该集成应用开发系统使得能够对规则集进行编辑、模拟、业务流程管理和版本控制,其中,每个规则集包括一个或多个规则,每个规则包括一个或多个规则例,该一个或多个规则例根据规则的输入来计算规则的输出值,并且每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;
将第一规则集的多个版本存储在储存库中;
将具有关于该第一规则集的多个版本的信息的至少一个日志数据对象存储在该储存库中;
通过该集成用户界面的第一用户界面接收来自与第一用户标识符相关联的第一用户的指令;以及
响应于来自该第一用户的指令,
从该储存库中选择该第一规则集的特定版本,
编辑该第一规则集的特定版本,
将应用程序与该第一规则集的特定版本相关联,并根据该第一规则集的特定版本中的规则来模拟执行该应用程序以处理输入记录并产生输出,并且
将该第一规则集的特定版本从多个状态中的第一状态转变为该多个状态中的第二状态。
27.一种用于管理与应用程序一起使用的一个或多个规则的系统,该系统包括:
用于提供集成用户界面以使得用户能够访问集成应用开发系统的装置,该集成应用开发系统使得能够对规则集进行编辑、模拟、业务流程管理和版本控制,其中,每个规则集包括一个或多个规则,每个规则包括一个或多个规则例,该一个或多个规则例根据规则的输入来计算规则的输出值,并且每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;
储存库,用于存储储存库中的第一规则集的多个版本和具有关于该第一规则集的多个版本的信息的至少一个日志数据对象;
该集成用户界面的第一用户界面,用于接收来自与第一用户标识符相关联的第一用户的指令;
用于响应于来自该第一用户的指令而从存储在该储存库中的该第一规则集的多个版本中选择该第一规则集的特定版本的装置;
用于响应于来自该第一用户的指令来编辑该第一规则集的特定版本的装置;
用于响应于来自该第一用户的指令而将应用程序与该第一规则集的特定版本相关联的装置;
用于响应于来自该第一用户的指令而根据该第一规则集的特定版本中的规则来模拟执行该应用程序以处理输入记录并产生输出的装置;以及
用于响应于来自该第一用户的指令而将该第一规则集的特定版本从多个状态中的第一状态转变为该多个状态中的第二状态的装置。
28.一种用于管理与数据处理系统中的应用程序一起使用的一个或多个规则容器的计算机实施的方法,该方法包括:
提供集成用户界面以使得用户能够访问集成应用开发系统,该集成应用开发系统使得能够对规则容器进行版本控制和业务流程管理,其中,每个规则容器包括两个或更多个规则集,每个规则集包括一个或多个规则,每个规则包括一个或多个规则例,该一个或多个规则例根据规则的输入来计算规则的输出值,并且每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;
将第一规则容器的多个版本存储在储存库中;
将具有关于该第一规则容器的多个版本的信息的至少一个日志数据对象存储在该储存库中;
通过该集成用户界面的第一用户界面接收来自与第一用户标识符相关联的第一用户的指令;以及
响应于来自该第一用户的指令,
从存储在该储存库中的该第一规则容器的多个版本中选择该第一规则容器的特定版本,并且
将该第一规则容器的特定版本从多个状态中的第一状态转变为该多个状态中的第二状态;并且
将以下各项中的至少一项存储在与该第一规则容器的特定版本相关联的日志数据对象中:
(i)指定以下各项的信息:与该第一用户标识符相关联的用户从该储存库中选择该第一规则容器的特定版本、并且与该第一用户标识符相关联的用户批准该第一规则容器的特定版本从该第一状态转变为该第二状态,或
(ii)指定以下各项的信息:从该储存库中选择该第一规则容器的特定版本与第一时间戳相关联、并且将该第一规则容器的特定版本从该第一状态转变为该第二状态与第二时间戳相关联。
29.如权利要求28所述的方法,包括:通过该集成用户界面接收来自与第二用户标识符相关联的第二用户的第二指令;
响应于来自该第二用户的第二指令,
从存储在该储存库中的多个规则容器中选择一组两个或更多个规则容器,每个规则容器是从该规则容器的多个版本中选择的该规则容器的特定版本,并且
将该组所选规则容器与发布标签相关联;
通过该集成用户界面接收来自与第三用户标识符相关联的第三用户的第三指令;以及响应于来自该第三用户的第三指令,
将该发布标签从多个状态中的第一状态转变为该多个状态中的第二状态。
30.如权利要求29所述的方法,包括:将以下各项中的至少一项存储在与该发布标签相关联的日志数据对象中:
(i)指定以下各项的信息:与该第二用户标识符相关联的用户选择该组规则容器、并且与该第三用户标识符相关联的用户批准将发布标签从该第一状态转变为该第二状态,或(ii)指定以下各项的信息:选择该组规则容器与第三时间戳相关联、并且将该发布标签从该第一状态转变为该第二状态与第四时间戳相关联。
31.如权利要求28所述的方法,其中,该第一状态指示该第一规则容器是仍在编辑的草稿,并且该第二状态指示该第一规则容器已准备好被审阅者审阅。
32.如权利要求28所述的方法,其中,该第一状态指示该第一规则容器已准备好由有权批准第一规则容器以供发布的用户审阅,并且该第二状态指示该第一规则容器被最终确定并准备好发布。
33.如权利要求28所述的方法,其中,每个规则集与将输入数据变换为输出数据的软件模块或数据处理实体中的至少一个相对应。
34.如权利要求28所述的方法,其中,该第一规则容器的特定版本包括指向该第一规则容器的特定版本中的每个规则集的指针
35.如权利要求28所述的方法,包括:响应于来自该第一用户的指令,将该第二规则容器的特定版本中的规则集从“开放”状态转变为“已提交”状态,其中,“开放”状态指示该规则集是仍在编辑的草稿,并且“已提交”状态指示该规则集已准备好进行审阅。
36.如权利要求35所述的方法,包括:对该第二规则容器的特定版本的状态的转变独立于对该第二规则容器的特定版本中的规则集的状态的转变。
37.如权利要求35所述的方法,包括:确定该第二规则容器的特定版本处于“开放”状态,并且该第二规则容器的特定版本中的所有该规则集都处于“已提交”状态,以及响应于确定该第二规则容器的特定版本处于“开放”状态并且该第二规则容器的特定版本中的所有该规则集都处于“已提交”状态,自动地将该第二规则容器的特定版本从“开放”状态转变为“已提交”状态。
38.如权利要求37所述的方法,包括:响应于来自第二用户的指令,将该第二规则容器的特定版本中的规则集之一从“已批准”状态转变为“开放”状态,以及
响应于将该第二规则容器的特定版本中的规则集之一从“已批准”状态转变为“开放”状态,自动地将该第二规则容器的特定版本从“已批准”状态转变为“开放”状态。
39.如权利要求28所述的方法,其中,该集成应用开发系统包括源代码控制模块和业务流程管理模块,该源代码控制模块处理对该第一规则容器的特定版本的检入和检出,并且该业务流程管理模块处理该第一规则容器的特定版本从该第一状态到该第二状态的转变。
40.如权利要求39所述的方法,其中,该源代码控制模块处理将以下各项中的至少一项存储在该日志数据对象中:(i)指定该第一用户从该储存库中选择该第一规则容器的特定版本的信息;或(ii)指定从该储存库中选择该第一规则容器的特定版本与该第一时间戳相关联的信息,并且
该业务流程管理模块处理将以下各项中的至少一项存储在该日志数据对象中:(i)指定该第一用户批准该第一规则容器的特定版本从该第一状态转变为该第二状态的信息;或(ii)指定该第一规则容器的特定版本从该第一状态转变为该第二状态与该第二时间戳相关联的信息。
41.如权利要求28所述的方法,包括:
通过该集成用户界面的第二用户界面接收来自与第二用户标识符相关联的第二用户的指令;
响应于来自该第二用户的指令,
从存储在该储存库中的该第一规则容器的多个版本中选择该第一规则容器的特定版本,并且
执行以下各项操作中的至少一项:
(i)将应用程序与该第一规则容器的特定版本相关联,并根据该第一规则容器的特定版本中的规则集中的规则来模拟执行该应用程序以处理输入记录并产生输出,或(ii)检索已存储的通过先前根据该第一规则容器的特定版本中的规则集中的规则来模拟执行处理输入记录以产生输出的应用程序所产生的输出。
42.如权利要求41所述的方法,包括:将以下各项中的至少一项存储在与该第一规则容器的特定版本相关联的日志数据对象中:
(i)指定以下各项的信息:与该第二用户标识符相关联的用户从该储存库中选择该第一规则容器的特定版本、并且与该第二用户标识符相关联的用户使用该第一规则容器的特定版本来模拟执行该应用程序以产生输出,
(ii)指定以下各项的信息:与该第二用户标识符相关联的用户从该储存库中选择该第一规则容器的特定版本、并且与该第二用户标识符相关联的用户检索已存储的通过先前使用该第一规则容器的特定版本来模拟执行该应用程序所产生的输出,
(iii)指定以下各项的信息:从该储存库中选择该第一规则容器的特定版本与第三时间戳相关联、并且使用该第一规则容器的特定版本来模拟执行该应用程序以产生输出与第四时间戳相关联,或
(iv)指定以下各项的信息:从该储存库中选择该第一规则容器的特定版本与第三时间戳相关联、并且检索已存储的通过先前使用该第一规则容器的特定版本来模拟执行该应用程序所产生的输出与第四时间戳相关联。
43.如权利要求42所述的方法,其中,该集成应用开发系统包括源代码控制模块和模拟模块,该源代码控制模块处理将以下各项中的至少一项存储在该日志数据对象中:
(i)指定与该第二用户标识符相关联的用户从该储存库中选择该第一规则容器的特定版本的信息,或
(ii)指定从该储存库中选择该第一规则容器的特定版本与该第一时间戳相关联的信息,并且
该模拟模块处理将以下各项中的至少一项存储在该日志数据对象中:
(i)指定与该第二用户标识符相关联的用户使用该第一规则容器的特定版本来模拟执行该应用程序以产生输出的信息,
(ii)指定与该第二用户标识符相关联的用户检索已存储的通过先前使用该第一规则容器的特定版本来模拟执行该应用程序所产生的输出的信息,
(iii)指定使用该第一规则容器的特定版本来模拟执行该应用程序以产生输出与该第二时间戳相关联的信息,或
(iv)指定检索已存储的通过先前使用该第一规则容器的特定版本来模拟执行该应用程序所产生的输出与该第二时间戳相关联的信息。
44.如权利要求41所述的方法,其中,该集成应用开发系统包括源代码控制模块和模拟模块,该源代码控制模块处理对该第一规则容器的特定版本的检入和检出,并且该模拟模块处理根据该第一规则容器的特定版本中的规则来模拟执行该应用程序以处理输入记录并产生输出。
45.如权利要求41所述的方法,其中,在该第一用户的计算机终端处提供该第一用户界面并且在第二用户的计算机终端处提供该第二用户界面。
46.如权利要求28所述的方法,包括:
响应于来自该第一用户的指令,编辑该第一规则容器的特定版本;
将已编辑的该第一规则容器的特定版本存储在该储存库中,以及
将以下各项中的至少一项存储在与该第一规则容器的特定版本相关联的日志数据对象中:
(i)指定该第一用户编辑了该第一规则容器的特定版本的信息,或
(ii)指定对该第一规则容器的特定版本的修改与第三时间戳相关联的信息。
47.如权利要求46所述的方法,其中,该集成应用开发系统包括源代码控制模块、业务流程管理模块和规则编辑器,
该源代码控制模块处理对该第一规则容器的特定版本的检入和检出,
该业务流程管理模块处理该第一规则容器的特定版本从该第一状态到该第二状态的转变,并且
该规则编辑器处理对该第一规则容器的特定版本的编辑。
48.一种计算机可读介质,存储有用于管理与数据处理系统中的应用程序一起使用的一个或多个规则容器的计算机程序,该计算机程序包括用于使计算机系统执行以下操作的指令:
提供集成用户界面以使得用户能够访问集成应用开发系统,该集成应用开发系统使得能够对规则容器进行版本控制和业务流程管理,其中,每个规则容器包括两个或更多个规则集,每个规则集包括一个或多个规则,每个规则包括一个或多个规则例,该一个或多个规则例根据规则的输入来计算规则的输出值,并且每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;
将第一规则容器的多个版本存储在储存库中;
将具有关于该第一规则容器的多个版本的信息的至少一个日志数据对象存储在该储存库中;
通过该集成用户界面的第一用户界面接收来自与第一用户标识符相关联的第一用户的指令;以及
响应于来自该第一用户的指令,
从存储在该储存库中的该第一规则容器的多个版本中选择该第一规则容器的特定版本,并且
将该第一规则容器的特定版本从多个状态中的第一状态转变为该多个状态中的第二状态;并且
将以下各项中的至少一项存储在与该第一规则容器的特定版本相关联的日志数据对象中:
(i)指定以下各项的信息:与该第一用户标识符相关联的用户从该储存库中选择该第一规则容器的特定版本、并且与该第一用户标识符相关联的用户批准该第一规则容器的特定版本从该第一状态转变为该第二状态,或
(ii)指定以下各项的信息:从该储存库中选择该第一规则容器的特定版本与第一时间戳相关联、并且将该第一规则容器的特定版本从该第一状态转变为该第二状态与第二时间戳相关联。
49.一种用于管理与应用程序一起使用的一个或多个规则容器的系统,该系统包括:
数据存储系统,该数据存储系统存储一个或多个规则容器;
至少一个输出设备或端口,用于提供图形用户界面;以及
计算机系统,该计算机系统耦合到该数据存储系统和该至少一个输出设备或端口,包括用于以下操作的电路系统:
提供集成用户界面以使得用户能够访问集成应用开发系统,该集成应用开发系统使得能够对规则容器进行版本控制和业务流程管理,其中,每个规则容器包括两个或更多个规则集,每个规则集包括一个或多个规则,每个规则包括一个或多个规则例,该一个或多个规则例根据规则的输入来计算规则的输出值,并且每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;
将第一规则容器的多个版本存储在储存库中;
将具有关于该第一规则容器的多个版本的信息的至少一个日志数据对象存储在该储存库中;
通过该集成用户界面的第一用户界面接收来自与第一用户标识符相关联的第一用户的指令;以及
响应于来自该第一用户的指令,
从该储存库中选择该第一规则容器的特定版本,并且
将该第一规则容器的特定版本从多个状态中的第一状态转变为该多个状态中的第二状态;并且
将以下各项中的至少一项存储在与该第一规则容器的特定版本相关联的日志数据对象中:
(i)指定以下各项的信息:与该第一用户标识符相关联的用户从该储存库中选择该第一规则容器的特定版本、并且与该第一用户标识符相关联的用户批准该第一规则容器的特定版本从该第一状态转变为该第二状态,或
(ii)指定以下各项的信息:从该储存库中选择该第一规则容器的特定版本与第一时间戳相关联、并且将该第一规则容器的特定版本从该第一状态转变为该第二状态与第二时间戳相关联。
50.一种用于管理与应用程序一起使用的一个或多个规则的系统,该系统包括:
用于提供集成用户界面以使得用户能够访问集成应用开发系统的装置,该集成应用开发系统使得能够对规则容器进行版本控制和业务流程管理,其中,每个规则容器包括两个或更多个规则集,每个规则集包括一个或多个规则,每个规则包括一个或多个规则例,该一个或多个规则例根据规则的输入来计算规则的输出值,并且每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;
储存库,用于存储第一规则容器的多个版本和具有关于该第一规则容器的多个版本的信息的至少一个日志数据对象;
该集成用户界面的第一用户界面,用于接收来自与第一用户标识符相关联的第一用户的指令;
用于响应于来自该第一用户的指令而从该储存库中选择该第一规则容器的特定版本的装置;
用于响应于来自该第一用户的指令而将该第一规则容器的特定版本从多个状态中的第一状态转变为该多个状态中的第二状态的装置;
以及
用于将以下各项中的至少一项存储在与该第一规则容器的特定版本相关联的日志数据对象中的装置:
(i)指定以下各项的信息:与该第一用户标识符相关联的用户从该储存库中选择该第一规则容器的特定版本、并且与该第一用户标识符相关联的用户批准该第一规则容器的特定版本从该第一状态转变为该第二状态,或
(ii)指定以下各项的信息:从该储存库中选择该第一规则容器的特定版本与第一时间戳相关联、并且将该第一规则容器的特定版本从该第一状态转变为该第二状态与第二时间戳相关联。
51.一种用于管理与数据处理系统中的应用程序一起使用的一个或多个规则的计算机实施的方法,该方法包括:
提供集成用户界面以使得用户能够访问集成应用开发系统,该集成应用开发系统使得能够对规则容器进行编辑、模拟、业务流程管理和版本控制,其中,每个规则容器包括两个或更多个规则集,每个规则集包括一个或多个规则,每个规则包括一个或多个规则例,该一个或多个规则例根据规则的输入来计算规则的输出值,并且每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;
将第一规则容器的多个版本存储在储存库中;
将具有关于该第一规则容器的多个版本的信息的至少一个日志数据对象存储在该储存库中;
通过该集成用户界面的第一用户界面接收来自与第一用户标识符相关联的第一用户的指令;以及
响应于来自该第一用户的指令,
从存储在该储存库中的该第一规则容器的多个版本中选择该第一规则容器的特定版本,
编辑该第一规则容器的特定版本,
将应用程序与该第一规则容器的特定版本相关联,并根据该第一规则容器的特定版本中的规则来模拟执行该应用程序以处理输入记录并产生输出,并且
将该第一规则容器的特定版本从多个状态中的第一状态转变为该多个状态中的第二状态。
52.如权利要求51所述的方法,包括:将以下各项中的至少一项存储在与该第一规则容器的特定版本相关联的日志数据对象中:
(i)指定以下各项的信息:与该第一用户标识符相关联的用户从该储存库中选择该第一规则容器的特定版本、编辑该第一规则容器的特定版本、使用该第一规则容器的特定版本来模拟执行该应用程序以产生输出、并且批准将该第一规则容器的特定版本从该第一状态转变为该第二状态,或
(ii)指定以下各项的信息:从该储存库中选择该第一规则容器的特定版本与第一时间戳相关联;编辑该第一规则容器的特定版本与第二时间戳相关联;使用该第一规则容器的特定版本来模拟执行该应用程序与第三时间戳相关联;并且将该特定规则容器从该第一状态转变为该第二状态与第四时间戳相关联。
53.如权利要求52所述的方法,其中,该集成应用开发系统包括规则编辑器、模拟模块、业务流程管理模块和源代码控制模块,
该规则编辑器处理将指定与该第一用户标识符相关联的用户编辑了该第一规则容器的特定版本的信息存储在该日志数据对象中,
该模拟模块处理将指定与该第一用户标识符相关联的用户使用该第一规则容器的特定版本来模拟执行该应用程序的信息存储在该日志数据对象中,
该业务流程管理模块处理将指定与该第一用户标识符相关联的用户批准将该第一规则容器的特定版本从该第一状态转变为该第二状态的信息存储在该日志数据对象中,并且该源代码控制模块处理将指定与该第一用户标识符相关联的用户从该储存库选择该第一规则容器的特定版本的信息存储在该日志数据对象中。
54.如权利要求52所述的方法,其中,该集成应用开发系统包括规则编辑器、模拟模块、业务流程管理模块和源代码控制模块,
该源代码控制模块处理将指定从该储存库中选择该第一规则容器的特定版本与该第一时间戳相关联的信息存储在该日志数据对象中,
该规则编辑器处理将指定对该第一规则容器的特定版本的编辑与该第二时间戳相关联的信息存储在该日志数据对象中,
该模拟模块处理将指定使用该第一规则容器的特定版本来模拟执行该应用程序与该第三时间戳相关联的信息存储在该日志数据对象中,并且
该业务流程管理模块处理将指定将特定规则容器从该第一状态转变为该第二状态与该第四时间戳相关联的信息存储在该日志数据对象中。
55.如权利要求51所述的方法,其中,该集成应用开发系统包括规则编辑器、模拟模块、业务流程管理模块和源代码控制模块,
该规则编辑器处理对该第一规则容器的特定版本的编辑,
该模拟模块处理根据该第一规则容器的特定版本中的规则来模拟执行该应用程序以处理输入记录并产生输出,
该业务流程管理模块处理该第一规则容器的特定版本从该第一状态到该第二状态的转变,并且
该源代码控制模块处理对该第一规则容器的特定版本的检入和检出。
56.一种计算机可读介质,存储有用于管理与数据处理系统中的应用程序一起使用的一个或多个规则的计算机程序,该计算机程序包括用于使计算机系统执行以下操作的指令:
提供集成用户界面以使得用户能够访问集成应用开发系统,该集成应用开发系统使得能够对规则容器进行编辑、模拟、业务流程管理和版本控制,其中,每个规则容器包括两个或更多个规则集,每个规则集包括一个或多个规则,每个规则包括一个或多个规则例,该一个或多个规则例根据规则的输入来计算规则的输出值,并且每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;
将第一规则容器的多个版本存储在储存库中;
将具有关于该第一规则容器的多个版本的信息的至少一个日志数据对象存储在该储存库中;
通过该集成用户界面的第一用户界面接收来自与第一用户标识符相关联的第一用户的指令;以及
响应于来自该第一用户的指令,
从存储在该储存库中的该第一规则容器的多个版本中选择该第一规则容器的特定版本,
编辑该第一规则容器的特定版本,
将应用程序与该第一规则容器的特定版本相关联,并根据该第一规则容器的特定版本中的规则来模拟执行该应用程序以处理输入记录并产生输出,并且
将该第一规则容器的特定版本从多个状态中的第一状态转变为该多个状态中的第二状态。
57.一种用于管理与应用程序一起使用的一个或多个规则的系统,该系统包括:
数据存储系统,该数据存储系统存储一个或多个规则;
至少一个输出设备或端口,用于提供图形用户界面;以及
计算机系统,该计算机系统耦合到该数据存储系统和该至少一个输出设备或端口,包括用于以下操作的电路系统:
提供集成用户界面以使得用户能够访问集成应用开发系统,该集成应用开发系统使得能够对规则容器进行编辑、模拟、业务流程管理和版本控制,其中,每个规则容器包括两个或更多个规则集,每个规则集包括一个或多个规则,每个规则包括一个或多个规则例,该一个或多个规则例根据规则的输入来计算规则的输出值,并且每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;
将第一规则容器的多个版本存储在储存库中;
将具有关于该第一规则容器的多个版本的信息的至少一个日志数据对象存储在该储存库中;
通过该集成用户界面的第一用户界面接收来自与第一用户标识符相关联的第一用户的指令;以及
响应于来自该第一用户的指令,
从该储存库中选择该第一规则容器的特定版本,
编辑该第一规则容器的特定版本,
将应用程序与该第一规则容器的特定版本相关联,并根据该第一规则容器的特定版本中的规则来模拟执行该应用程序以处理输入记录并产生输出,并且
将该第一规则容器的特定版本从多个状态中的第一状态转变为该多个状态中的第二状态。
58.一种用于管理与应用程序一起使用的一个或多个规则的系统,该系统包括:
用于提供集成用户界面以使得用户能够访问集成应用开发系统的装置,该集成应用开发系统使得能够对规则容器进行编辑、模拟、业务流程管理和版本控制,其中,每个规则容器包括两个或更多个规则集,每个规则集包括一个或多个规则,每个规则包括一个或多个规则例,该一个或多个规则例根据规则的输入来计算规则的输出值,并且每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;
储存库,用于存储第一规则容器的多个版本和具有关于该第一规则容器的多个版本的信息的至少一个日志数据对象;
该集成用户界面的第一用户界面,用于接收来自与第一用户标识符相关联的第一用户的指令;
用于响应于来自该第一用户的指令而从存储在该储存库中的该第一规则容器的多个版本中选择该第一规则容器的特定版本的装置;
用于响应于来自该第一用户的指令编辑该第一规则容器的特定版本的装置;
用于响应于来自该第一用户的指令而将应用程序与该第一规则容器的特定版本相关联的装置;
用于响应于来自该第一用户的指令而根据该第一规则容器的特定版本中的规则来模拟执行该应用程序以处理输入记录并产生输出的装置;以及
用于响应于来自该第一用户的指令而将该第一规则容器的特定版本从多个状态中的第一状态转变为该多个状态中的第二状态的装置。
59.一种用于管理与数据处理系统中的应用程序一起使用的一个或多个规则的计算机实施的方法,该方法包括:
提供集成用户界面以使得用户能够访问集成应用开发系统,该集成应用开发系统使得能够对规则容器进行编辑、业务流程管理和版本控制,其中,每个规则容器包括两个或更多个规则集,每个规则集包括一个或多个规则,每个规则包括一个或多个规则例,该一个或多个规则例根据规则的输入来计算规则的输出值,并且每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;
将第一规则的多个版本存储在储存库中;
将具有关于该第一规则容器的多个版本的信息的至少一个日志数据对象存储在该储存库中;
通过该集成用户界面的第一用户界面接收来自与第一用户标识符相关联的第一用户的指令;以及
响应于来自该第一用户的指令,
从存储在该储存库中的该第一规则的多个版本中选择该第一规则的特定版本,其中,该第一规则的特定版本包括在第一规则容器中,
编辑该第一规则的特定版本,
将“已批准”状态或最终状态分配给该第一规则的特定版本,该“已批准”状态或该最终状态指示该第一规则的特定版本不需要被进一步编辑或不能被进一步编辑,在该第一规则的特定版本已经被分配了该“已批准”状态或该最终状态之后,自动地确定存在该第一规则容器的某一版本处于“开放”状态或相当于“开放”状态的状态,其中,“开放”状态指示该第一规则容器处于仍可以被编辑的草稿模式,以及
响应于确定存在该第一规则容器的某一版本处于“开放”状态或相当于“开放”状态的状态,将该第一规则的特定版本添加到该第一规则容器的处于“开放”状态或相当于“开放”状态的状态的版本。
60.如权利要求59所述的方法,包括:响应于来自该第一用户的指令,在该第一规则的特定版本已经被分配了“已批准”状态或最终状态之后,自动确定该第一规则容器的任何版本都不处于“开放”状态或相当于“开放”状态的状态,以及
响应于确定该第一规则容器的任何版本都不处于“开放”状态或相当于“开放”状态的状态,自动地生成该第一规则容器的新版本、向该第一规则容器的新版本分配“开放”状态,并且将该第一规则的特定版本添加到该第一规则容器的新版本中。
61.一种计算机可读介质,存储有用于管理与数据处理系统中的应用程序一起使用的一个或多个规则容器的计算机程序,该计算机程序包括用于使计算机系统执行以下操作的指令:
提供集成用户界面以使得用户能够访问集成应用开发系统,该集成应用开发系统使得能够对规则容器进行编辑、业务流程管理和版本控制,其中,每个规则容器包括两个或更多个规则集,每个规则集包括一个或多个规则,每个规则包括一个或多个规则例,该一个或多个规则例根据规则的输入来计算规则的输出值,并且每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;
将第一规则的多个版本存储在储存库中;
将具有关于该第一规则容器的多个版本的信息的至少一个日志数据对象存储在该储存库中;
通过该集成用户界面的第一用户界面接收来自与第一用户标识符相关联的第一用户的指令;以及
响应于来自该第一用户的指令,
从存储在该储存库中的该第一规则的多个版本中选择该第一规则的特定版本,其中,该第一规则的特定版本包括在第一规则容器中,
编辑该第一规则的特定版本,
将“已批准”状态或最终状态分配给该第一规则的特定版本,该“已批准”状态或该最终状态指示该第一规则的特定版本不需要被进一步编辑或不能被进一步编辑,在该第一规则的特定版本已经被分配了该“已批准”状态或该最终状态之后,自动地确定存在该第一规则容器的某一版本处于“开放”状态或相当于“开放”状态的状态,其中,“开放”状态指示该第一规则容器处于仍可以被编辑的草稿模式,以及
响应于确定存在该第一规则容器的某一版本处于“开放”状态或相当于“开放”状态的状态,将该第一规则的特定版本添加到该第一规则容器的处于“开放”状态或相当于“开放”状态的状态的版本。
62.一种用于管理与应用程序一起使用的一个或多个规则容器的系统,该系统包括:
数据存储系统,该数据存储系统存储一个或多个规则容器;
至少一个输出设备或端口,用于提供图形用户界面;以及
计算机系统,该计算机系统耦合到该数据存储系统和该至少一个输出设备或端口,包括用于以下操作的电路系统:
提供集成用户界面以使得用户能够访问集成应用开发系统,该集成应用开发系统使得能够对规则容器进行编辑、业务流程管理和版本控制,其中,每个规则容器包括两个或更多个规则集,每个规则集包括一个或多个规则,每个规则包括一个或多个规则例,该一个或多个规则例根据规则的输入来计算规则的输出值,并且每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;
将第一规则的多个版本存储在储存库中;
将具有关于该第一规则容器的多个版本的信息的至少一个日志数据对象存储在该储存库中;
通过该集成用户界面的第一用户界面接收来自与第一用户标识符相关联的第一用户的指令;以及
响应于来自该第一用户的指令,
从存储在该储存库中的该第一规则的多个版本中选择该第一规则的特定版本,其中,该第一规则的特定版本包括在第一规则容器中,
编辑该第一规则的特定版本,
将“已批准”状态或最终状态分配给该第一规则的特定版本,该“已批准”状态或该最终状态指示该第一规则的特定版本不需要被进一步编辑或不能被进一步编辑,在该第一规则的特定版本已经被分配了该“已批准”状态或该最终状态之后,自动地确定存在该第一规则容器的某一版本处于“开放”状态或相当于“开放”状态的状态,其中,“开放”状态指示该第一规则容器处于仍可以被编辑的草稿模式,以及
响应于确定存在该第一规则容器的某一版本处于“开放”状态或相当于“开放”状态的状态,将该第一规则的特定版本添加到该第一规则容器的处于“开放”状态或相当于“开放”状态的状态的版本。
63.一种用于管理与应用程序一起使用的一个或多个规则的系统,该系统包括:
用于提供集成用户界面以使得用户能够访问集成应用开发系统的装置,该集成应用开发系统使得能够对规则容器进行编辑、业务流程管理和版本控制,其中,每个规则容器包括两个或更多个规则集,每个规则集包括一个或多个规则,每个规则包括一个或多个规则例,该一个或多个规则例根据规则的输入来计算规则的输出值,并且每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;
储存库,用于存储第一规则的多个版本和具有关于该第一规则容器的多个版本的信息的至少一个日志数据对象;
该集成用户界面的第一用户界面,用于接收来自与第一用户标识符相关联的第一用户的指令;
用于响应于来自该第一用户的指令而从存储在该储存库中的该第一规则的多个版本中选择该第一规则的特定版本的装置,其中,该第一规则的特定版本包括在第一规则容器中,
用于响应于来自该第一用户的指令来编辑该第一规则的特定版本的装置,
用于响应于来自该第一用户的指令而将“已批准”状态或最终状态分配给该第一规则的特定版本的装置,该“已批准”状态或该最终状态指示该第一规则的特定版本不需要被进一步编辑或不能被进一步编辑,
用于在该第一规则的特定版本已经被分配了该“已批准”状态或该最终状态之后自动地确定存在该第一规则容器的某一版本处于“开放”状态或相当于“开放”状态的状态的装置,其中,“开放”状态指示该第一规则容器处于仍可以被编辑的草稿模式,以及用于响应于确定存在该第一规则容器的某一版本处于“开放”状态或相当于“开放”状态的状态而将该第一规则的特定版本添加到该第一规则容器的处于“开放”状态或相当于“开放”状态的状态的版本的装置。
64.一种用于管理与数据处理系统中的应用程序一起使用的一个或多个规则的计算机实施的方法,该方法包括:
提供集成用户界面的第一用户界面以使得能够检入和检出规则规范、编辑规则规范并接收状态转变信息;
通过该第一用户界面接收来自与第一用户标识符相关联的第一用户的第一指令;
响应于来自该第一用户的第一指令,从储存库中选择规则规范,其中,该规则规范具有第一版本号并且指定包括一组规则的规则集,每个规则包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;
通过该第一用户界面接收来自该第一用户的编辑指令;
基于来自该第一用户的编辑指令来修正该规则规范;
将该规则集与多个状态中的第一状态相关联;
通过该第一用户界面接收来自该第一用户的第二指令;
响应于来自该第一用户的第二指令,将第二版本号分配给该规则规范;
通过该集成用户界面中的第二用户界面,从与第二用户标识符相关联的第二用户接收与该规则集相关联的转变信息;
基于该转变信息、和与该规则集相关联的允许转变、以及该第一状态,将该规则集与该多个状态中的第二状态相关联,其中,该第二状态不同于该第一状态;以及将第一数据和第二数据存储在该储存库中,该第一数据将该规则规范的第二版本的改变与该第一用户标识符相关联,并且该第二数据将从该第一状态到该第二状态的转变与该第二用户标识符相关联。
65.如权利要求64所述的方法,包括:
将第一时间戳和第二时间戳存储在该日志数据对象中,该第一时间戳指示将该第二版本号分配给该规则规范的时间,并且该第二时间戳指示将当前状态与该规则规范相关联的时间。
66.如权利要求64所述的方法,包括:
将应用程序与该规则集相关联;以及
根据该规则集中的规则来模拟执行该应用程序以处理输入记录并且产生输出;
其中,该第一用户界面或该第二用户界面中的至少一个还使得能够根据该规则集中的规则来模拟执行该应用程序以处理记录。
67.如权利要求66所述的方法,包括:
将该规则规范的多个版本存储在该储存库中;以及
对于该规则规范的每个版本,存储第一数据和第二数据,该第一数据具有关于与该规则规范的最新修改相关联的用户标识符的信息,该第二数据具有关于与同该规则规范所指定的规则集相关联的对当前状态的分配或从前一状态到当前状态的转变相关联的用户标识符的信息。
68.如权利要求67所述的方法,包括:
对于该规则规范的每个版本,存储第一时间戳和第二时间戳,该第一时间戳指示将该规则规范检入该储存库中的时间,并且该第二时间戳指示当前状态与该规则规范相关联的时间。
69.如权利要求67所述的方法,包括:
从该储存库中检索该规则规范的特定版本;以及
显示与该规则规范的特定版本的最新修改相关联的用户标识符,以及与同该规则规范的特定版本所指定的规则集相关联的对当前状态的分配或从前一状态到当前状态的转变相关联的用户标识符。
70.如权利要求67所述的方法,包括:
在该第一用户界面或该第二用户界面中的至少一个中提供所显示的第一输入元素,以使得用户能够选择该规则规范的特定版本;以及
在该第一用户界面或该第二用户界面中的该至少一个中提供所显示的第二输入元素,以使得该用户能够将应用程序与由该规则规范的所选版本指定的规则集相关联,并且根据由该规则规范的所选版本指定的规则集中的规则来模拟执行该应用程序以处理输入记录并产生输出。
71.如权利要求64所述的方法,包括:
将该规则规范的多个版本存储在该储存库中;以及
对于该规则规范的每个版本,存储第一数据和第二数据,该第一数据具有关于与该规则规范的最新修改相关联的用户标识符的信息,该第二数据具有关于与同该规则规范所指定的规则集相关联的对当前状态的分配或从前一状态到当前状态的转变相关联的用户标识符的信息。
72.如权利要求71所述的方法,包括:
对于该规则规范的每个版本,存储第一时间戳和第二时间戳,该第一时间戳指示将该规则规范检入该储存库中的时间,并且该第二时间戳指示当前状态与该规则规范相关联的时间。
73.如权利要求64所述的方法,包括:
将该规则规范的多个版本存储在该储存库中;以及
对于该规则规范的每个版本,
使得一个或多个用户能够将初始状态分配给该规则集或将该规则集从一个状态转变为另一状态,以及
每次将该规则规范以与检出该规则规范时相比被修改的状态检入该储存库中时,存储将该初始状态向该规则集的分配与分配该初始状态的用户的用户标识符相关联或将该规则集从一个状态到另一状态的转变与修改了与该规则集相关联的状态的用户的用户标识符相关联的数据,并且存储指示分配初始状态的时间或状态被修改的时间的时间戳。
74.如权利要求73所述的方法,包括:
在集成用户界面中提供所显示的第一输入元素,以使得用户能够选择该规则规范的特定版本;
在该集成用户界面中提供所显示的第二输入元素,以使得该用户能够将应用程序与由规则规范的所选版本指定的规则集相关联;
提供用于模拟的输入记录;要使用的数据(日期和客户ID,其可以是识别测试数据的一种方式),(客户标识符,以细化要测试的特定记录);
根据由该规则规范的所选版本指定的规则集中的规则来模拟执行该应用程序以处理这些输入记录并产生输出;以及
基于模拟执行该应用程序的结果显示调试信息,其中,该调试信息对于调试该规则集是有用的。
75.如权利要求74所述的方法,包括:
在该集成用户界面中提供所显示的第三输入元素,以使得该用户能够选择特定时间;
显示在所选时间该规则集的状态;以及
显示与该用户相关联的用户标识符,该用户使该规则集与所选时间的状态相关联。
76.如权利要求74所述的方法,其中,该调试信息包括关于在根据由该规则规范的所选版本指定的规则集中的规则来模拟执行该应用程序以处理输入记录期间触发了哪些规则例的信息。
77.如权利要求74所述的方法,其中,该规则规范包括具有与这些规则例相对应的多个行的电子表格,该电子表格包括与可用数据值相对应的触发列,这些规则例包括与这些可用数据值有关的多组触发准则,每个规则例被配置为使得:对于其中该规则例具有一个或多个准则的每个触发列,如果给定记录的一个或多个值满足该一个或多个触发准则,则该规则例适用于此记录,并且
其中,该调试信息包括关于哪个触发准则被评估为真或者哪个触发准则被评估为假的信息中的至少一个信息。
78.如权利要求64所述的方法,其中,将该第一数据和该第二数据存储在该储存库中包括存储或修改与该规则集相关联的一个或多个标签,该一个或多个标签包括指向规则集的相应版本的指针和该规则集的状态信息。
79.一种计算机可读介质,存储有用于管理与数据处理系统中的应用程序一起使用的一个或多个规则的计算机程序,该计算机程序包括用于使计算机系统执行以下操作的指令:
提供集成用户界面的第一用户界面以使得能够检入和检出规则规范、编辑规则规范并接收状态转变信息;
通过该第一用户界面接收来自与第一用户标识符相关联的第一用户的第一指令;
响应于来自该第一用户的第一指令,从储存库中选择规则规范,其中,该规则规范具有第一版本号并且指定包括一组规则的规则集,每个规则包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;
通过该第一用户界面接收来自该第一用户的编辑指令;
基于来自该第一用户的编辑指令来修正该规则规范;
将该规则集与多个状态中的第一状态相关联;
通过该第一用户界面接收来自该第一用户的第二指令;
响应于来自该第一用户的第二指令,将第二版本号分配给该规则规范;
通过该集成用户界面中的第二用户界面,从与第二用户标识符相关联的第二用户接收与该规则集相关联的转变信息;
基于该转变信息、和与该规则集相关联的允许转变、以及该第一状态,将该规则集与该多个状态中的第二状态相关联,其中,该第二状态不同于该第一状态;以及将第一数据和第二数据存储在该储存库中,该第一数据将该规则规范的第二版本的改变与该第一用户标识符相关联,并且该第二数据将从该第一状态到该第二状态的转变与该第二用户标识符相关联。
80.一种用于管理与应用程序一起使用的一个或多个规则的系统,该系统包括:
数据存储系统,该数据存储系统存储一个或多个规则规范;
至少一个输出设备或端口,用于提供图形用户界面;以及
计算机系统,该计算机系统耦合到该数据存储系统和该至少一个输出设备或端口,包括用于以下操作的电路系统:
提供集成用户界面的第一用户界面以使得能够检入和检出规则规范、编辑规则规范并接收状态转变信息;
通过该第一用户界面接收来自与第一用户标识符相关联的第一用户的第一指令;
响应于来自该第一用户的第一指令,从储存库中选择规则规范,其中,该规则规范具有第一版本号并且指定包括一组规则的规则集,每个规则包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;
通过该第一用户界面接收来自该第一用户的编辑指令;
基于来自该第一用户的编辑指令来修正该规则规范;
将该规则集与多个状态中的第一状态相关联;
通过该第一用户界面接收来自该第一用户的第二指令;
响应于来自该第一用户的第二指令,将第二版本号分配给该规则规范;
通过该集成用户界面中的第二用户界面,从与第二用户标识符相关联的第二用户接收与该规则集相关联的转变信息;
基于该转变信息、和与该规则集相关联的允许转变、以及该第一状态,将该规则集与该多个状态中的第二状态相关联,其中,该第二状态不同于该第一状态;以及将第一数据和第二数据存储在该储存库中,该第一数据将该规则规范的第二版本的改变与该第一用户标识符相关联,并且该第二数据将从该第一状态到该第二状态的转变与该第二用户标识符相关联。
81.一种用于管理与应用程序一起使用的一个或多个规则的系统,该系统包括:
用于提供集成用户界面的第一用户界面以使得能够检入和检出规则规范、编辑规则规范并接收状态转变信息的装置;
用于通过该第一用户界面接收来自与第一用户标识符相关联的第一用户的第一指令的装置;
用于响应于来自该第一用户的第一指令而从储存库中选择规则规范的装置,其中,该规则规范具有第一版本号并且指定包括一组规则的规则集,每个规则包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;
用于通过该第一用户界面接收来自该第一用户的编辑指令的装置;
用于基于来自该第一用户的编辑指令来修正该规则规范的装置;
用于将该规则集与多个状态中的第一状态相关联的装置;
用于通过该第一用户界面接收来自该第一用户的第二指令的装置;
用于响应于来自该第一用户的第二指令而将第二版本号分配给该规则规范的装置;
用于通过该集成用户界面中的第二用户界面从与第二用户标识符相关联的第二用户接收与该规则集相关联的转变信息的装置;
用于基于该转变信息、和与该规则集相关联的允许转变、以及该第一状态而将该规则集与该多个状态中的第二状态相关联的装置,其中,该第二状态不同于该第一状态;以及用于将第一数据和第二数据存储在该储存库中的装置,该第一数据将该规则规范的第二版本的改变与该第一用户标识符相关联,并且该第二数据将从该第一状态到该第二状态的转变与该第二用户标识符相关联。
82.一种用于管理与数据处理系统中的应用程序一起使用的一个或多个规则容器的计算机实施的方法,每个规则容器包括两个或更多个规则集,该方法包括:
提供集成应用开发系统以使得能够检入和检出规则容器以及包含在该规则容器中的规则规范,并且将该规则容器从一种状态转变为另一种状态,其中,该集成应用开发系统提供集成用户界面,该集成用户界面包括用于接收来自用户的指令并向这些用户提供信息的用户界面;
通过该集成用户界面的第一界面接收来自与第一用户标识符相关联的第一用户的第一指令;
响应于来自该第一用户的第一指令,
从储存库中选择规则容器,该规则容器至少包括第一规则规范和第二规则规范,其中,该规则容器具有第一版本号,该第一规则规范具有第二版本号,该第二规则规范具有第三版本号,该第一规则规范和该第二规则规范中的每一个指定包括一组规则的规则集,每个规则包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;
将由该第一规则规范指定的第一规则集与规则集的多个状态中的第一状态相关联;
将该规则容器与规则容器的多个状态中的第一状态相关联;以及
将第四版本号分配给该规则容器并将第五版本号分配给该第一规则规范,该第四版本号不同于该第一版本号,并且该第五版本号不同于该第二版本号。
83.如权利要求82所述的方法,包括:通过该集成用户界面的第一界面接收与该规则容器相关联的第一转变信息和与该第一规则集相关联的第二转变信息,该第一转变信息和该第二转变信息由该第一用户提供;
基于该第一转变信息和与该规则容器相关联的允许转变,将该规则容器与规则容器的多个状态中的第二状态相关联,其中,规则容器的第二状态不同于规则容器的第一状态;
基于该第二转变信息和与该第一规则集相关联的允许转变,将该第一规则集与规则集的多个状态中的第二状态相关联,其中,规则集的第二状态不同于规则集的第一状态;以及将第一日志数据、第二日志数据和第三日志数据存储在日志数据对象中,该第一日志数据指定该第一用户选择该规则容器,该第二日志数据指定该第一用户批准该规则容器从规则容器的第一状态转变为第二状态,并且该第三日志数据指定该第一用户批准该第一规则集从规则集的第一状态转变为第二状态。
84.如权利要求83所述的方法,其中,该日志数据对象中的第一日志数据指定该第一用户选择具有该第一版本号的规则容器,该第二日志数据指定该第一用户批准具有该第一版本号的规则容器从规则容器的第一状态转变为第二状态,并且该第三日志数据指定该第一用户批准具有该第二版本号的第一规则集从规则集的第一状态转变为第二状态。
85.如权利要求83所述的方法,包括:通过该集成用户界面的第二界面接收来自与第二用户标识符相关联的第二用户的第二指令;
响应于来自该第二用户的第二指令,从该储存库中选择该规则容器;
通过该集成用户界面的第二界面,接收与该规则容器相关联的第三转变信息和与该第一规则集相关联的第四转变信息,该第三转变信息和该第四转变信息由该第二用户提供;
基于该第三转变信息和与该规则容器相关联的允许转变,将该规则容器与规则容器的多个状态中的第三状态相关联,其中,规则容器的第三状态不同于规则容器的第二状态;
基于该第四转变信息和与该第一规则集相关联的允许转变,将该第一规则集与规则集的多个状态中的第三状态相关联,其中,规则集的第三状态不同于规则集的第二状态;以及将第四日志数据、第五日志数据和第六日志数据存储在该日志数据对象中,该第四日志数据指定该第二用户选择该规则容器,该第五日志数据指定该第二用户批准该规则容器从规则容器的第二状态转变为第三状态,并且该第六日志数据指定该第二用户批准该第一规则集从规则集的第二状态转变为第三状态。
86.如权利要求85所述的方法,其中,该日志数据对象中的第四日志数据指定该第二用户选择具有该第四版本号的规则容器,该第五日志数据指定该第二用户批准具有该第四版本号的规则容器从规则容器的第二状态转变为第三状态,并且该第六日志数据指定该第二用户批准具有该第五版本号的第一规则集从规则集的第一状态转变为第二状态。
87.如权利要求82所述的方法,包括:通过该集成用户界面的第二界面接收来自与第二用户标识符相关联的第二用户的第二指令;
响应于来自该第二用户的第二指令,从该储存库中选择该规则容器,
通过该集成用户界面的第二界面接收来自该第二用户的第三指令;以及
响应于来自该第二用户的第三指令,执行以下各项操作中的至少一项:(i)将应用程序与该规则容器相关联,并根据该规则容器中的规则集中的规则来模拟执行该应用程序以处理输入记录并产生输出,或(ii)检索先前已存储的通过先前使用该规则容器中的规则集中的规则来模拟执行应用程序以处理输入记录所产生的输出。
88.如权利要求87所述的方法,包括:将第一日志数据、第二日志数据和第三日志数据存储在日志数据对象中,该第一日志数据指定该第一用户在第一时间点选择该规则容器,该第二日志数据指定该第二用户在第二时间点选择该规则容器,并且该第三日志数据指定该第二用户执行以下各项操作中的至少一项:(i)根据该规则容器中的规则集中的规则来模拟执行该应用程序以处理输入记录并且产生输出,或(ii)检索先前已存储的通过先前使用该规则容器中的规则集中的规则来模拟执行该应用程序以处理输入记录所产生的输出。
89.如权利要求87所述的方法,包括:通过该集成用户界面的第三界面接收来自与第三用户标识符相关联的第三用户的第四指令;
响应于来自该第三用户的第四指令,从该储存库中选择该规则容器,
通过该集成用户界面的第三界面接收来自该第三用户的转变信息;以及
响应于来自该第三用户的转变信息而将该规则容器转变为指示该规则容器准备好被发布的发布状态。
90.如权利要求89所述的方法,包括:将第一日志数据、第二日志数据和第三日志数据、第四日志数据和第五日志数据存储在日志数据对象中,
该第一日志数据指定该第一用户在第一时间点选择该规则容器,
该第二日志数据指定该第二用户在第二时间点选择该规则容器,
该第三日志数据指定该第二用户执行以下各项操作中的至少一项(i)根据该规则容器中的规则集中的规则来模拟执行该应用程序以处理输入记录并产生输出,或(ii)检索先前已存储的作为先前使用该规则容器中的规则集中的规则来模拟执行该应用程序以处理输入记录的结果的输出,
该第四日志数据指定该第三用户在第三时间点选择该规则容器,并且
该第五日志数据指定该第三用户批准将该规则容器转变为该发布状态。
91.一种计算机可读介质,存储有用于管理与数据处理系统中的应用程序一起使用的一个或多个规则容器的计算机程序,该计算机程序包括用于使计算机系统执行以下操作的指令:
提供集成应用开发系统以使得能够检入和检出规则容器以及包含在该规则容器中的规则规范,并且将该规则容器从一种状态转变为另一种状态,其中,该集成应用开发系统包括集成用户界面模块,该集成用户界面模块提供用于接收来自用户的指令并向这些用户提供信息的用户界面;
通过该集成用户界面的第一界面接收来自与第一用户标识符相关联的第一用户的指令;
响应于来自该第一用户的第一指令,
从储存库中选择规则容器,该规则容器至少包括第一规则规范和第二规则规范,其中,该规则容器具有第一版本号,该第一规则规范具有第二版本号,该第二规则规范具有第三版本号,该第一规则规范和该第二规则规范中的每一个指定包括一组规则的规则集,每个规则包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;
将由该第一规则规范指定的第一规则集与规则集的多个状态中的第一状态相关联;
将该规则容器与规则容器的多个状态中的第一状态相关联;以及
将第四版本号分配给该规则容器并将第五版本号分配给该第一规则规范。
92.一种用于管理与应用程序一起使用的一个或多个规则容器的系统,该系统包括:
数据存储系统,该数据存储系统存储一个或多个规则容器;
至少一个输出设备或端口,用于提供图形用户界面;以及
计算机系统,该计算机系统耦合到该数据存储系统和该至少一个输出设备或端口,包括用于以下操作的电路系统:
提供集成应用开发系统以使得能够检入和检出规则容器以及包含在该规则容器中的规则规范,并且将该规则容器从一种状态转变为另一种状态,其中,该集成应用开发系统包括集成用户界面,该集成用户界面包括用于接收来自用户的指令并向这些用户提供信息的用户界面;
通过该集成用户界面的第一界面接收来自与第一用户标识符相关联的第一用户的指令;
响应于来自该第一用户的第一指令,
从储存库中选择规则容器,该规则容器至少包括第一规则规范和第二规则规范,其中,该规则容器具有第一版本号,该第一规则规范具有第二版本号,该第二规则规范具有第三版本号,该第一规则规范和该第二规则规范中的每一个指定包括一组规则的规则集,每个规则包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;
将由该第一规则规范指定的第一规则集与规则集的多个状态中的第一状态相关联;
将该规则容器与规则容器的多个状态中的第一状态相关联;以及
将第四版本号分配给该规则容器并将第五版本号分配给该第一规则规范。
93.一种用于管理与应用程序一起使用的一个或多个规则的系统,该系统包括:
用于提供集成应用开发系统以使得能够检入和检出规则容器以及包含在该规则容器中的规则规范的装置,并且将该规则容器从一种状态转变为另一种状态,其中,该集成应用开发系统包括集成用户界面,该集成用户界面包括用于接收来自用户的指令并向这些用户提供信息的用户界面;
用于通过该集成用户界面的第一界面接收来自与第一用户标识符相关联的第一用户的指令的装置;
用于响应于来自该第一用户的第一指令而从储存库中选择规则容器的装置,该规则容器至少包括第一规则规范和第二规则规范,其中,该规则容器具有第一版本号,该第一规则规范具有第二版本号,该第二规则规范具有第三版本号,该第一规则规范和该第二规则规范中的每一个指定包括一组规则的规则集,每个规则包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;
用于响应于来自该第一用户的第一指令而将由该第一规则规范指定的第一规则集与规则集的多个状态中的第一状态相关联的装置;
用于响应于来自该第一用户的第一指令而将由该规则容器与规则容器的多个状态中的第一状态相关联的装置;以及
用于响应于来自该第一用户的第一指令而将第四版本号分配给该规则容器、并将第五版本号分配给该第一规则规范的装置。
94.一种用于管理与数据处理系统中的应用程序一起使用的一个或多个规则的计算机实施的方法,该方法包括:
提供集成用户界面以使得能够对规则集进行版本控制和业务流程管理,其中,每个规则集包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;
通过该集成用户界面的第一界面接收来自与第一用户标识符相关联的第一用户的指令;
响应于来自该第一用户的指令,从储存库中选择具有第一版本号的第一规则集、将该第一规则集从第一状态转变为第二状态、并将第二版本号分配给该第一规则集;
通过该集成用户界面的第二界面接收来自与第二用户标识符相关联的第二用户的指令;
响应于来自该第二用户的指令,从该储存库中选择具有该第二版本号的第一规则集,并将该第一规则集从该第二状态转变为第三状态;以及
将指定以下各项的信息存储在公共日志中:该第一用户选择具有该第一版本号的第一规则集,该第一用户批准该第一规则集从该第一状态转变为该第二状态,该第二用户选择具有该第二版本号的第一规则集,并且该第二用户批准该第一规则集从该第二状态转变为该第三状态。
95.如权利要求94所述的方法,其中,该集成用户界面被配置为还使得能够对规则集进行模拟,并且该方法包括:
通过该集成用户界面的第三界面接收来自与第三用户标识符相关联的第三用户的指令;
响应于来自该第三用户的指令,从该储存库中选择具有该第二版本号的第一规则集,并且执行以下各项操作中的至少一项:(i)将应用程序与该第一规则集相关联,并根据该第一规则集中的规则来模拟执行该应用程序以处理输入记录并产生输出,或(ii)检索先前已存储的通过先前使用该第一规则集中的规则来模拟执行应用程序以处理输入记录所产生的输出;以及
将指定以下操作的信息存储在该公共日志中:该第三用户选择具有该第二版本号的第一规则集,并且该第三用户执行以下各项操作中的至少一项:(i)根据该第一规则集中的规则来模拟执行该应用程序以处理输入记录并产生输出,或(ii)检索先前已存储的通过先前使用该第一规则集中的规则来模拟执行应用程序以处理输入记录所产生的输出。
96.如权利要求94所述的方法,其中,该集成用户界面被配置为还使得能够对规则集进行编辑,并且该方法包括:
通过该集成用户界面的第一界面接收来自该第一用户的编辑指令;
响应于来自该第一用户的编辑指令来编辑该第一规则集;以及
将指定该第一用户编辑了该第一规则集的信息存储在该公共日志中。
97.如权利要求94所述的方法,其中,该第一界面被示出在该第一用户的显示器上,并且该第二界面被示出在该第二用户的显示器上。
98.一种计算机可读介质,存储有用于管理与数据处理系统中的应用程序一起使用的一个或多个规则的计算机程序,该计算机程序包括用于使计算机系统执行以下操作的指令:
提供集成用户界面以使得能够对规则集进行版本控制和业务流程管理,其中,每个规则集包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;
通过该集成用户界面的第一界面接收来自与第一用户标识符相关联的第一用户的指令;
响应于来自该第一用户的指令,从储存库中选择具有第一版本号的第一规则集、将该第一规则集从第一状态转变为第二状态、并将第二版本号分配给该第一规则集;
通过该集成用户界面的第二界面接收来自与第二用户标识符相关联的第二用户的指令;
响应于来自该第二用户的指令,从该储存库中选择具有该第二版本号的第一规则集,并将该第一规则集从该第二状态转变为第三状态;以及
将指定以下各项的信息存储在公共日志中:该第一用户选择具有该第一版本号的第一规则集,该第一用户批准该第一规则集从该第一状态转变为该第二状态,该第二用户选择具有该第二版本号的第一规则集,并且该第二用户批准该第一规则集从该第二状态转变为该第三状态。
99.一种用于管理与应用程序一起使用的一个或多个规则的系统,该系统包括:
数据存储系统,该数据存储系统存储一个或多个规则;
至少一个输出设备或端口,用于提供图形用户界面;以及
计算机系统,该计算机系统耦合到该数据存储系统和该至少一个输出设备或端口,包括用于以下操作的电路系统:
提供集成用户界面以使得能够对规则集进行版本控制和业务流程管理,其中,每个规则集包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;
通过该集成用户界面的第一界面接收来自与第一用户标识符相关联的第一用户的指令;
响应于来自该第一用户的指令,从储存库中选择具有第一版本号的第一规则集、将该第一规则集从第一状态转变为第二状态、并将第二版本号分配给该第一规则集;
通过该集成用户界面的第二界面接收来自与第二用户标识符相关联的第二用户的指令;
响应于来自该第二用户的指令,从该储存库中选择具有该第二版本号的第一规则集,并将该第一规则集从该第二状态转变为第三状态;以及
将指定以下各项的信息存储在公共日志中:该第一用户选择具有该第一版本号的第一规则集,该第一用户批准该第一规则集从该第一状态转变为该第二状态,该第二用户选择具有该第二版本号的第一规则集,并且该第二用户批准该第一规则集从该第二状态转变为该第三状态。
100.一种用于管理与应用程序一起使用的一个或多个规则的系统,该系统包括:
用于提供集成用户界面以使得能够对规则集进行版本控制和业务流程管理的装置,其中,每个规则集包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;
用于通过该集成用户界面的第一界面接收来自与第一用户标识符相关联的第一用户的指令的装置;
用于响应于来自该第一用户的指令而从储存库中选择具有第一版本号的第一规则集、并将该第一规则集从第一状态转变为第二状态、并将第二版本号分配给该第一规则集的装置;
用于通过该集成用户界面的第二界面接收来自与第二用户标识符相关联的第二用户的指令的装置;
用于响应于来自该第二用户的指令而从该储存库中选择具有该第二版本号的第一规则集、并将该第一规则集从该第二状态转变为第三状态的装置;以及
用于将指定以下各项的信息存储在公共日志中的装置:该第一用户选择具有该第一版本号的第一规则集,该第一用户批准该第一规则集从该第一状态转变为该第二状态,该第二用户选择具有该第二版本号的第一规则集,并且该第二用户批准该第一规则集从该第二状态转变为该第三状态。
101.一种用于管理与数据处理系统中的应用程序一起使用的一个或多个规则的计算机实施的方法,该方法包括:
提供集成用户界面以使得能够对规则容器进行版本控制和业务流程管理,其中,每个规则容器包括多个规则集,每个规则集包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,并且每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;
通过该集成用户界面的第一界面接收来自与第一用户标识符相关联的第一用户的指令;以及
响应于来自该第一用户的指令,
从储存库中选择第一规则容器的第一版本,其中,该第一规则容器的第一版本与第一规则集的第一版本和第二规则集的第一版本相关联,该第一规则容器的第一版本包括指向该第一规则集的第一版本的指针和指向该第二规则集的第一版本的指针,并且该第二规则集的第一版本与规则集的第一状态相关联,
生成该第一规则容器的第二版本,
生成作为该第二规则集的第一版本的副本的该第二规则集的第二版本,其中,该第二规则集的第二版本与规则集的第一状态相关联,
将该第二规则集的第一版本从规则集的第一状态转变为规则集的第二状态,以及向该第一规则容器的第二版本添加指向该第一规则集的第一版本的指针和指向该第二规则集的第二版本的指针。
102.如权利要求101所述的方法,包括:将以下各项中的至少一项存储在日志数据对象中:
(i)指定以下各项的信息:该第一用户选择该第一规则容器的第一版本、生成该第一规则容器的第二版本、并且批准该第二规则集的第一版本从该第一状态转变为该第二状态,或
(ii)指定以下各项的信息:选择该第一规则容器的第一版本与第一时间戳相关联;生成该第一规则容器的第二版本与第二时间戳相关联;并且将该第二规则集的第一版本从该第一状态转变为该第二状态与第三时间戳相关联。
103.如权利要求101所述的方法,其中,该第一规则容器的第一版本最初与规则容器的第一状态相关联,并且该方法包括:
响应于来自该第一用户的指令而将该第一规则容器的第一版本从规则容器的第一状态转变为规则容器的第二状态。
104.如权利要求103所述的方法,包括:将以下各项中的至少一项存储在该日志数据对象中:(i)指定该第一用户批准该第一规则容器的第一版本从该第一状态转变为该第二状态的信息;或(ii)指定该第一规则容器的第一版本从该第一状态转变为该第二状态与该第一时间戳相关联的信息。
105.如权利要求101所述的方法,包括:
通过该集成用户界面的第二界面接收来自与第二用户标识符相关联的第二用户的指令;以及
响应于来自该第二用户的指令,
从该储存库中选择该第一规则容器的第一版本,并且
执行以下各项操作中的至少一项:(i)将应用程序与该第一规则容器的第一版本相关联,并且根据该第一规则容器的第一版本中的规则集中的规则来模拟执行该应用程序以处理输入记录并产生输出,或(ii)检索先前已存储的通过先前使用该第一规则容器的第一版本中的规则集中的规则来模拟执行应用程序以处理输入记录所产生的输出。
106.如权利要求105所述的方法,包括:将以下各项中的至少一项存储在日志数据对象中:
(i)指定以下各项的信息:该第二用户选择该第一规则容器的第一版本、并且结合该第一规则容器的第一版本来模拟执行该应用程序,
(ii)指定以下各项的信息:该第二用户选择该第一规则容器的第一版本、并且检索先前已存储的通过先前使用该第一规则容器的第一版本中的规则集中的规则来模拟执行该应用程序以处理输入记录所产生的输出,
(iii)指定以下各项的信息:选择该第一规则容器的第一版本与第一时间戳相关联、并且结合该第一规则容器的第一版本来模拟执行该应用程序与第二时间戳相关联,或(iv)指定以下各项的信息:选择该第一规则容器的第一版本与第一时间戳相关联,并且检索先前已存储的通过先前使用该第一规则容器的第一版本中的规则集中的规则来模拟执行该应用程序以处理输入记录所产生的输出与第二时间戳相关联。
107.如权利要求105所述的方法,其中,该第一界面被提供给该第一用户的显示器,并且该第二界面被提供给该第二用户的显示器。
108.如权利要求101所述的方法,包括:
通过该集成用户界面的第二界面接收来自与第二用户标识符相关联的第二用户的指令;
响应于来自该第二用户的指令,
从该储存库中选择该第一规则容器的第一版本,
编辑该第一规则容器中的第一规则集的第一版本,以及
将该第一规则集的第一版本从规则集的第一状态转变为规则集的第二状态。
109.如权利要求108所述的方法,包括:将以下各项中的至少一项存储在日志数据对象中:
(i)指定以下各项的信息:该第二用户选择该第一规则容器的第一版本、编辑该第一规则集的第一版本、并且批准该第一规则集的第一版本从该第一状态转变为该第二状态,或(ii)指定以下各项的信息:选择该第一规则容器的第一版本与第一时间戳相关联;编辑该第一规则集的第一版本与第二时间戳相关联;并且将该第一规则集的第一版本从该第一状态转变为该第二状态与第三时间戳相关联。
110.一种计算机可读介质,存储有用于管理与数据处理系统中的应用程序一起使用的一个或多个规则容器的计算机程序,该计算机程序包括用于使计算机系统执行以下操作的指令:
提供集成用户界面以使得能够对规则容器进行版本控制和业务流程管理,其中,每个规则容器包括多个规则集,每个规则集包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,并且每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;
通过该集成用户界面的第一界面接收来自与第一用户标识符相关联的第一用户的指令;以及
响应于来自该第一用户的指令,
从储存库中选择第一规则容器的第一版本,其中,该第一规则容器的第一版本与第一规则集的第一版本和第二规则集的第一版本相关联,该第一规则容器的第一版本包括指向该第一规则集的第一版本的指针和指向该第二规则集的第一版本的指针,并且该第二规则集的第一版本与规则集的第一状态相关联,
生成该第一规则容器的第二版本,
生成作为该第二规则集的第一版本的副本的该第二规则集的第二版本,其中,该第二规则集的第二版本与规则集的第一状态相关联,
将该第二规则集的第一版本从规则集的第一状态转变为规则集的第二状态,以及向该第一规则容器的第二版本添加指向该第一规则集的第一版本的指针和指向该第二规则集的第二版本的指针。
111.一种用于管理与应用程序一起使用的一个或多个规则容器的系统,该系统包括:
数据存储系统,该数据存储系统存储一个或多个规则容器;
至少一个输出设备或端口,用于提供图形用户界面;以及
计算机系统,该计算机系统耦合到该数据存储系统和该至少一个输出设备或端口,包括用于以下操作的电路系统:
提供集成用户界面以使得能够对规则容器进行版本控制和业务流程管理,其中,每个规则容器包括多个规则集,每个规则集包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,并且每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;
通过该集成用户界面的第一界面接收来自与第一用户标识符相关联的第一用户的指令;以及
响应于来自该第一用户的指令,
从储存库中选择第一规则容器的第一版本,其中,该第一规则容器的第一版本与第一规则集的第一版本和第二规则集的第一版本相关联,该第一规则容器的第一版本包括指向该第一规则集的第一版本的指针和指向该第二规则集的第一版本的指针,并且该第二规则集的第一版本与规则集的第一状态相关联,
生成该第一规则容器的第二版本,
生成作为该第二规则集的第一版本的副本的该第二规则集的第二版本,其中,该第二规则集的第二版本与规则集的第一状态相关联,
将该第二规则集的第一版本从规则集的第一状态转变为规则集的第二状态,以及向该第一规则容器的第二版本添加指向该第一规则集的第一版本的指针和指向该第二规则集的第二版本的指针。
112.一种用于管理与应用程序一起使用的一个或多个规则容器的系统,该系统包括:
用于提供集成用户界面以使得能够对规则容器进行版本控制和业务流程管理的装置,其中,每个规则容器包括多个规则集,每个规则集包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,并且每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;
用于通过该集成用户界面的第一界面接收来自与第一用户标识符相关联的第一用户的指令的装置;
用于响应于来自该第一用户的指令而从储存库中选择第一规则容器的第一版本的装置,其中,该第一规则容器的第一版本与第一规则集的第一版本和第二规则集的第一版本相关联,该第一规则容器的第一版本包括指向该第一规则集的第一版本的指针和指向该第二规则集的第一版本的指针,并且该第二规则集的第一版本与规则集的第一状态相关联;
用于响应于来自该第一用户的指令而生成该第一规则容器的第二版本的装置;
用于响应于来自该第一用户的指令而生成作为该第二规则集的第一版本的副本的该第二规则集的第二版本的装置,其中,该第二规则集的第二版本与规则集的第一状态相关联;
用于响应于来自该第一用户的指令而将该第二规则集的第一版本从规则集的第一状态转变为规则集的第二状态的装置;以及
用于响应于来自该第一用户的指令而向该第一规则容器的第二版本添加指向该第一规则集的第一版本的指针和指向该第二规则集的第二版本的指针的装置。
113.一种用于管理与数据处理系统中的应用程序一起使用的一个或多个规则的计算机实施的方法,该方法包括:
提供集成用户界面以使得用户能够与集成应用开发系统交互以对规则容器进行版本控制和业务流程管理,其中,每个规则容器包括多个规则集,每个规则集包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,并且每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;
将第一规则容器的多个版本存储在储存库中,该第一规则容器的每个版本包括多个规则集;
通过该集成用户界面的第一界面接收来自与第一用户标识符相关联的第一用户的指令;以及
响应于来自该第一用户的指令,
从存储在该储存库中的该第一规则容器的多个版本中选择该第一规则容器的特定版本,并且
执行以下各项操作中的至少一项:(i)将该第一规则容器的特定版本从第一状态转变为第二状态,或(ii)将该第一规则容器的特定版本中的特定规则集从第一状态转变为第二状态。
114.如权利要求113所述的方法,包括:将以下各项中的至少一项存储在日志数据对象中:
(i)指定以下各项的信息:该第一用户选择该第一规则容器的特定版本、并且批准该第一规则容器的特定版本从该第一状态转变为该第二状态,
(ii)指定以下各项的信息:选择该第一规则容器的特定版本与第一时间戳相关联、并且将该第一规则容器的特定版本从该第一状态转变为该第二状态与第二时间戳相关联,(iii)指定以下各项的信息:该第一用户选择该第一规则容器的特定版本、并且批准该第一规则容器的特定版本中的特定规则集从该第一状态转变为该第二状态,或(iv)指定以下各项的信息:选择该第一规则容器的特定版本与第一时间戳相关联、并且将该第一规则容器的特定版本中的特定规则集从该第一状态转变为该第二状态与第二时间戳相关联。
115.如权利要求113所述的方法,其中,对于包括多个规则集的每个规则容器,该规则容器包括指向这些规则集的指针,并且每个指针指向该储存库中存储相应规则集的位置
116.如权利要求115所述的方法,其中,至少两个不同的规则容器包括指向公共规则集的指针。
117.如权利要求113所述的方法,包括:
通过该第一界面接收来自该第一用户的第二组指令,以及
响应来自该第一用户的第二组指令,
从存储在该储存库中的该第二规则容器的多个版本中选择第二规则容器的特定版本,并且
执行以下各项操作中的至少一项:(i)将应用程序与该第二规则容器的特定版本相关联,并根据该第二规则容器的特定版本中的规则集中的规则来模拟执行该应用程序以处理输入记录并产生输出,或(ii)检索先前已存储的通过先前模拟执行与该第二规则容器的特定版本相关联的应用程序所产生的输出。
118.如权利要求117所述的方法,包括:将以下各项中的至少一项存储在日志数据对象中:
(i)指定以下各项的信息:该第一用户选择该第二规则容器的特定版本、并且结合该第二规则容器的特定版本来模拟执行该应用程序,
(ii)指定以下各项的信息:该第一用户选择该第二规则容器的特定版本、并且检索先前已存储的通过先前结合该第二规则容器的特定版本来模拟执行该应用程序所产生的输出,
(iii)指定以下各项的信息:选择该第二规则容器的特定版本与第一时间戳相关联、并且结合该第二规则容器的特定版本来模拟执行该应用程序与第二时间戳相关联,或(iv)指定以下各项的信息:选择该第二规则容器的特定版本与第一时间戳相关联、并且检索先前已存储的通过先前结合该第二规则容器的特定版本来模拟执行该应用程序所产生的输出与第二时间戳相关联。
119.如权利要求113所述的方法,包括:
通过该集成用户界面使得规则容器的一个或多个创作者能够编辑该规则容器并批准该规则容器从第一状态转变为第二状态的转变,以及
通过该集成用户界面使得一个或多个审阅者能够进行以下操作:
审阅该规则容器的内容,
执行以下各项操作中的至少一项:(i)将应用程序与该规则容器相关联,并根据该规则容器中的规则集中的规则来模拟执行该应用程序以处理输入记录并产生输出,或(ii)检索先前已存储的通过先前结合该规则容器来模拟执行应用程序所产生的输出;以及执行以下各项操作中的至少一项:(i)拒绝该规则容器并使该规则容器从该第二状态转变为该第一状态,或(ii)批准该规则容器从该第二状态转变为第三状态。
120.如权利要求119所述的方法,其中,该第一状态表示该规则容器正被编辑,并且该第二状态表示该规则容器已准备好进行审阅,并且该第三状态表示该规则容器已准备好发布。
121.如权利要求113所述的方法,包括:
通过该集成用户界面使得一个或多个用户能够管理该第一规则容器的多个发布版,该多个发布版包括当前发布版和较早发布版;
从该储存库中检索该第一规则容器的较早发布版;以及
执行以下各项操作中的至少一项:(i)将应用程序与该第一规则容器的较早发布版相关联,并且根据该第一规则容器的较早发布版中的规则集中的规则来模拟执行该应用程序以处理输入记录并产生输出,或(ii)检索先前已存储的通过先前结合该第一规则容器的较早发布版来模拟执行该应用程序所产生的输出。
122.如权利要求121所述的方法,包括:通过该集成用户界面使得该一个或多个用户能够查阅日志数据对象,该日志数据对象具有关于以下各项的信息:对该第一规则容器的较早发布版进行了哪些修改、谁进行了这些修改、何时进行了这些修改、谁批准了将该第一规则容器的较早发布版从该第一状态转变为该第二状态、以及谁批准了将该第一规则容器的较早发布版从该第二状态转变为该第三状态。
123.一种计算机可读介质,存储有用于管理与数据处理系统中的应用程序一起使用的一个或多个规则容器的计算机程序,该计算机程序包括用于使计算机系统执行以下操作的指令:
提供集成用户界面以使得用户能够与集成应用开发系统交互以对规则容器进行版本控制和业务流程管理,其中,每个规则容器包括多个规则集,每个规则集包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,并且每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;
将第一规则容器的多个版本存储在储存库中,该第一规则容器的每个版本包括多个规则集;
通过该集成用户界面的第一界面接收来自与第一用户标识符相关联的第一用户的指令;以及
响应于来自该第一用户的指令,
从存储在该储存库中的该第一规则的多个版本中选择该第一规则容器的特定版本,并且
执行以下各项操作中的至少一项:(i)将该第一规则容器的特定版本从第一状态转变为第二状态,或(ii)将该第一规则容器的特定版本中的特定规则集从第一状态转变为第二状态。
124.一种用于管理与应用程序一起使用的一个或多个规则容器的系统,该系统包括:
数据存储系统,该数据存储系统存储一个或多个规则容器;
至少一个输出设备或端口,用于提供图形用户界面;以及
计算机系统,该计算机系统耦合到该数据存储系统和该至少一个输出设备或端口,包括用于以下操作的电路系统:
提供集成用户界面以使得用户能够与集成应用开发系统交互以对规则容器进行版本控制和业务流程管理,其中,每个规则容器包括多个规则集,每个规则集包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,并且每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;
将第一规则容器的多个版本存储在储存库中,该第一规则容器的每个版本包括多个规则集;
通过该集成用户界面的第一界面接收来自与第一用户标识符相关联的第一用户的指令;以及
响应于来自该第一用户的指令,
从存储在该储存库中的该第一规则容器的多个版本中选择该第一规则容器的特定版本,并且
执行以下各项操作中的至少一项:(i)将该第一规则容器的特定版本从第一状态转变为第二状态,或(ii)将该第一规则容器的特定版本中的特定规则集从第一状态转变为第二状态。
125.一种用于管理与应用程序一起使用的一个或多个规则容器的系统,该系统包括:
用于提供集成用户界面以使得用户能够与集成应用开发系统交互以对规则容器进行版本控制和业务流程管理的装置,其中,每个规则容器包括多个规则集,每个规则集包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,并且每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;
用于将第一规则容器的多个版本存储在储存库中的装置,该第一规则容器的每个版本包括多个规则集;
用于通过该集成用户界面的第一界面接收来自与第一用户标识符相关联的第一用户的指令的装置;
用于响应于来自该第一用户的指令而从存储在该储存库中的该第一规则容器的多个版本中选择该第一规则容器的特定版本的装置;以及
用于响应于来自该第一用户的指令执行以下各项操作中的至少一项的装置:(i)将该第一规则容器的特定版本从第一状态转变为第二状态,或(ii)将该第一规则容器的特定版本中的特定规则集从第一状态转变为第二状态。
126.一种用于管理与数据处理系统中的应用程序一起使用的一个或多个规则的计算机实施的方法,该方法包括:
提供集成用户界面以使得能够接收转变信息、将该应用程序与包括一组规则的规则集相关联、并模拟执行该应用程序;
接收指定该规则集的规则规范,该规则集中的每个规则包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;
将该规则集与多个阶段中的第一阶段相关联;
通过该集成用户界面接收与该规则集相关联的转变信息;
基于该转变信息、和与该规则集相关联的允许转变、以及该第一阶段,将该规则集与该多个阶段中的第二阶段相关联,其中,该第二阶段不同于该第一阶段;
通过该集成用户界面接收第一指令;
响应于第一指令,执行以下各项操作中的至少一项:
(i)将该应用程序与该规则集相关联,并根据该规则集中的规则来模拟执行该应用程序以处理输入记录并产生输出值,或
(ii)检索已存储的通过先前使用该规则集来模拟执行该应用程序所产生的输出。
127.如权利要求126所述的方法,其中,该集成用户界面使得用户能够访问将信息存储在公共日志数据对象中的业务流程管理模块和模拟模块,
该业务流程管理模块将以下各项中的至少一项存储在该公共日志数据对象中:(i)指定哪个用户批准了该规则集从该第一状态转变为该第二状态的信息,或(ii)指定该规则集从该第一状态转变为该第二状态与第一时间戳相关联的信息,并且
该模拟模块将以下各项中的至少一项存储在该公共日志数据对象中:(i)指定哪个用户使用该规则集来模拟执行该应用程序以产生输出的信息;(ii)哪个用户检索已存储的通过先前使用该第一规则集的特定版本来模拟执行该应用程序所产生的输出值的信息;
(iii)指定使用该规则集来模拟执行该应用程序以产生输出值与第二时间戳相关联的信息;或(iv)指定检索已存储的通过先前使用该规则集来模拟执行该应用程序所产生的输出值与第二时间戳相关联的信息。
128.如权利要求126所述的方法,其中,接收规则规范包括接收电子表格,该电子表格具有与这些规则例相对应的多个行。
129.如权利要求128所述的方法,其中,该电子表格包括与可用数据值相对应的触发列,并且这些规则例包括与这些可用数据值有关的多组触发准则。
130.如权利要求129所述的方法,其中,每个规则例被配置为使得:对于其中该规则例具有一个或多个准则的每个触发列,如果给定记录的一个或多个值满足一个或多个触发准则,则该规则例适用于此记录。
131.如权利要求130所述的方法,其中,该电子表格包括一个或多个输出列,每个输出列与潜在输出变量相对应,并且该输出变量的值由该输出列中的单元格决定,其中,该单元格位于与适用于该给定记录的规则例相对应的行上。
132.如权利要求131所述的方法,其中,该单元格包括被分配给该输出变量的输出值或被评估以生成该输出值的表达式中的至少一个。
133.如权利要求126所述的方法,其中,该多个阶段包括开发生命周期的多个开发阶段。
134.如权利要求133所述的方法,其中,该多个开发阶段包括开发阶段或测试阶段中的至少一个。
135.如权利要求126所述的方法,其中,该规则集包括用于执行以下各项操作中的至少一项的一组准则:将数据从一种格式转换为另一种格式、关于数据进行确定、或基于一组输入数据生成新数据。
136.如权利要求126所述的方法,其中,该规则规范包括具有多个行的规则规范表,每行针对一组一个或多个潜在输入中的每一个定义一个规则例并包含一个关系。
137.如权利要求136所述的方法,其中,这些关系中的至少一个包括以下中的一个或多个:具有等于阈值的值、具有高于阈值的值、具有低于阈值的值、具有属于一组值的值、具有与模式匹配的值、具有与另一输入的值的关系、具有与另一规则规范的输出的值的关系、或具有与存储器中的值的关系。
138.如权利要求137所述的方法,其中,这些行中的至少一行还包含输出,该输出包括以下中的一个或多个:这些输入值的组合、预定值、或根据这些输入值中的一个或多个计算的值。
139.如权利要求126所述的方法,包括:将该规则规范中的多个规则例转换为多个逻辑表达式、将该多个逻辑表达式编译成计算机可执行代码、以及将该计算机可执行代码结合到该应用程序中。
140.如权利要求126所述的方法,包括:将该多个规则例转换为变换、以及将该变换与基于图的计算中的组件相关联,该基于图的计算具有通过链接表示数据流的元素而连接的数据处理组件。
141.如权利要求126所述的方法,其中,可允许转变包括以下各项中的至少一项:(i)在开发生命周期的最早阶段中的规则集可以被升级到稍后阶段,但不能被进一步降级;(ii)既不在该开发生命周期的最早阶段也不在最后阶段的规则集可以被升级到该开发生命周期的稍后阶段或被降级到较早阶段;或(iii)在该开发生命周期的最后阶段中的规则集可以被降级到较早阶段但不能被进一步升级。
142.如权利要求141所述的方法,包括:在作为该集成用户界面的一部分的编辑器界面中提供所显示的一个或多个输入元素,包括以下各项中的至少一项:(i)当该规则集处于该开发生命周期的最早阶段时,在该编辑器界面中显示用于升级该规则集的第一输入元素并且不显示用于降级该规则集的输入元素;(ii)当该规则集即不处于最早开发阶段也不处于最后开发阶段时,在该编辑器界面中显示用于升级该规则集的第一输入元素和用于降级该规则集的第二输入元素;或(iii)当该规则集处于最后开发阶段时,在该编辑器界面中显示用于降级该规则集的第二输入元素并且不显示用于升级该规则集的输入元素。
143.如权利要求126所述的方法,其中,该规则集的每个版本在该多个开发阶段之间转变。
144.如权利要求143所述的方法,包括:接收指定规则集的不同版本的多个规则规范,以及
显示该规则集的不同版本的标识符以及与该规则集的不同版本相关联的开发阶段。
145.如权利要求144所述的方法,其中,显示该规则集的不同版本的标识符以及与该规则集的不同版本相关联的阶段包括显示该规则集的多个主要版本或次要版本以及与该规则集的主要版本或次要版本相关联的阶段。
146.如权利要求126所述的方法,包括:存储该规则集的副本并执行以下各项操作中的至少一项:(i)基于与该规则集相关联的第二阶段自动地命名该规则集的副本,或自动地将标识符添加到该规则集的副本的文件名,其中,该标识符基于与该规则集相关联的第二阶段。
147.如权利要求126所述的方法,包括:接收标记规范,该标记规范指定与该规则集相关联的标签的多种可能状态、与这些状态中的每一种状态相关联的一个或多个输入元素、以及与这些输入元素中的每一个输入元素相关联的目标状态。
148.如权利要求147所述的方法,其中,响应于用户与所显示的输入元素的交互,该标签与同所显示的输入元素相关联的目标状态相关联。
149.如权利要求126所述的方法,包括:使用具有指向该规则集的指针的标签来保持跟踪与该规则集相关联的状态,其中,该标签基于可允许转变在这些状态之间进行转变。
150.如权利要求149所述的方法,其中,该标签存储关于与该规则集相关联的审阅历史的信息。
151.如权利要求126所述的方法,其中,该多个阶段包括该规则集的批准流程中的多个阶段。
152.一种用于管理与数据处理系统中的应用程序一起使用的一个或多个规则的方法,该方法包括:
接收一组规则规范,每个规则规范指定包括一组规则的规则集,每个规则包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;
接收指定以下各项的转变规范:可以与各个规则集相关联的第一多个状态、可以与一组规则集相关联的第二多个状态、与各个规则集相关联的可允许状态转变、以及与该组规则集相关联的可允许状态转变;
将每个规则集与该第一多个状态之一相关联;
将该组规则集与该第二多个状态之一相关联;
接收与这些规则集之一相关联的第一转变信息;
基于该第一转变信息、与该规则集相关联的允许转变、以及当前与该规则集相关联的状态,将该规则集与该第一多个状态中的另一个状态相关联;
接收与该组规则集相关联的第二转变信息;
基于该第二转变信息、与该组规则集相关联的允许转变、以及当前与该组规则集相关联的状态,将该组规则集与该第二多个状态中的另一个状态相关联;以及
将应用程序与该组规则集相关联,其中,该应用程序被配置为根据该组规则集中的规则来处理输入记录并产生输出。
153.如权利要求152所述的方法,其中,该第一多个状态包括以下各项中的至少一项:
(i)多个开发生命周期状态;或(ii)多个批准流程状态。
154.如权利要求153所述的方法,其中,该第二多个状态包括以下各项中的至少一项:
(i)多个开发生命周期状态;或(ii)多个批准流程状态。
155.如权利要求152所述的方法,包括:将每个规则集与包含关于与该规则集相关联的状态的信息的第一标签相关联,并且当与该规则集相关联的状态改变时更新该第一标签。
156.如权利要求155所述的方法,包括:将该组与具有包含关于与该组规则集相关联的状态的信息的第二标签相关联,并且当与该组规则集相关联的状态改变时更新该第二标签。
157.一种计算机可读介质,存储有用于管理与数据处理系统中的应用程序一起使用的一个或多个规则的计算机程序,该计算机程序包括用于使计算机系统执行以下操作的指令:
提供集成用户界面以使得能够接收转变信息、将该应用程序与包括一组规则的规则集相关联、并模拟执行该应用程序;
接收指定该规则集的规则规范,该规则集中的每个规则包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;
将该规则集与多个阶段中的第一阶段相关联;
通过该集成用户界面接收与该规则集相关联的转变信息;
基于该转变信息、和与该规则集相关联的允许转变、以及该第一阶段,将该规则集与该多个阶段中的第二阶段相关联,其中,该第二阶段不同于该第一阶段;
通过该集成用户界面接收用于将该应用程序与该规则集相关联的第一指令;
响应于该第一指令,将该应用程序与该规则集相关联;
通过该集成用户界面接收用于模拟执行该应用程序的第二指令;以及
响应于该第二指令,根据该规则集中的规则来模拟执行该应用程序以处理输入记录并产生输出。
158.一种用于管理与应用程序一起使用的一个或多个规则的系统,该系统包括:
数据存储系统,该数据存储系统存储一个或多个规则规范以及定义阶段之间的允许转变的一个或多个转变规范;
至少一个输出设备或端口,用于提供图形用户界面;以及
计算机系统,该计算机系统耦合到该数据存储系统和该至少一个输出设备或端口,包括用于以下操作的电路系统:
提供集成用户界面以使得能够进接收转变信息、将该应用程序与包括一组规则的规则集相关联、并模拟执行该应用程序;
从该数据存储系统检索指定该规则集的规则规范,该规则集中的每个规则包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;
将该规则集与多个阶段中的第一阶段相关联;
通过该集成用户界面接收与该规则集相关联的转变信息;
基于该转变信息、和与该规则集相关联的允许转变、以及该第一阶段,将该规则集与该多个阶段中的第二阶段相关联,其中,该第二阶段不同于该第一阶段;
通过该集成用户界面接收用于将该应用程序与该规则集相关联的第一指令;
响应于该第一指令,将应用程序与该规则集相关联;
通过该集成用户界面接收用于模拟执行该应用程序的第二指令;以及
响应于该第二指令,根据该规则集中的规则来模拟执行该应用程序以处理输入记录并产生输出。
159.一种用于管理与应用程序一起使用的一个或多个规则的系统,该系统包括:
用于提供集成用户界面以使得能够接收转变信息、将该应用程序与包括一组规则的规则集相关联、并模拟执行该应用程序的装置;
用于接收指定该规则集的规则规范的装置,该规则集中的每个规则包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;
用于将该规则集与多个阶段中的第一阶段相关联的装置;
用于通过该集成用户界面接收与该规则集相关联的转变信息的装置;
用于基于该转变信息、和与该规则集相关联的允许转变、以及该第一阶段而将该规则集与该多个阶段中的第二阶段相关联的装置,其中,该第二阶段不同于该第一阶段;
用于通过该集成用户界面接收用于将该应用程序与该规则集相关联的第一指令的装置;
用于响应于该第一指令而将应用程序与该规则集相关联的装置;
用于通过该集成用户界面接收用于模拟执行该应用程序的第二指令的装置;以及用于响应于该第二指令而根据该规则集中的规则来模拟执行该应用程序以处理输入记录并产生输出的装置。
160.一种计算机可读介质,存储有用于管理与应用程序一起使用的一个或多个规则的计算机程序,该计算机程序包括用于使计算机系统执行以下操作的指令:
接收一组规则规范,每个规则规范指定包括一组规则的规则集,每个规则包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;
接收指定以下各项的转变规范:可以与各个规则集相关联的第一多个状态、可以与一组规则集相关联的第二多个状态、与各个规则集相关联的可允许状态转变、以及与该组规则集相关联的可允许状态转变;
将每个规则集与该第一多个状态之一相关联;
将该组规则集与该第二多个状态之一相关联;
接收与这些规则集之一相关联的第一转变信息;
基于该第一转变信息、与该规则集相关联的允许转变、以及当前与该规则集相关联的状态,将该规则集与该第一多个状态中的另一个状态相关联;
接收与该组规则集相关联的第二转变信息;
基于该第二转变信息、与该组相关联的允许转变、以及当前与该组相关联的状态,将该组规则规范与该第二多个状态中的另一个状态相关联;以及
将应用程序与该组规则规范相关联,其中,该应用程序被配置为根据由该规则规范指定的规则集中的规则来处理输入记录并产生输出。
161.一种用于管理与应用程序一起使用的一个或多个规则的系统,该系统包括:
数据存储系统,该数据存储系统存储一个或多个规则规范和一个或多个转变规范;
至少一个输出设备或端口,用于提供图形用户界面;以及
计算机系统,该计算机系统耦合到该数据存储系统和该至少一个输出设备或端口,包括用于以下操作的电路系统:
从该数据存储系统中接收一组规则规范,每个规则规范指定包括一组规则的规则集,每个规则包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;
从该数据存储系统中接收指定以下各项的转变规范:可以与各个规则集相关联的第一多个状态、可以与一组规则集相关联的第二多个状态、与各个规则集相关联的可允许状态转变、以及与该组规则集相关联的可允许状态转变;
将每个规则集与该第一多个状态之一相关联;
将该组规则集与该第二多个状态之一相关联;
接收与这些规则集之一相关联的第一转变信息;
基于该第一转变信息、与该规则集相关联的允许转变、以及当前与该规则集相关联的状态,将该规则集与该第一多个状态中的另一个状态相关联;
接收与该组规则集相关联的第二转变信息;
基于该第二转变信息、与该组相关联的允许转变、以及当前与该组相关联的状态,将该组规则规范与该第二多个状态中的另一个状态相关联;以及
将应用程序与该组规则规范相关联,其中,该应用程序被配置为根据由该规则规范指定的规则集中的规则来处理输入记录并产生输出。
162.一种用于管理与应用程序一起使用的一个或多个规则的系统,该系统包括:
用于接收一组规则规范的装置,每个规则规范指定包括一组规则的规则集,每个规则包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;
用于接收指定以下各项的转变规范的装置:可以与各个规则集相关联的第一多个状态、可以与一组规则集相关联的第二多个状态、与各个规则集相关联的可允许状态转变、以及与该组规则集相关联的可允许状态转变;
用于将每个规则集与该第一多个状态之一相关联的装置;
用于将该组规则集与该第二多个状态之一相关联的装置;
用于接收与这些规则集之一相关联的第一转变信息的装置;
用于基于该第一转变信息、与该规则集相关联的允许转变、以及当前与该规则集相关联的状态而将该规则集与该第一多个状态中的另一个状态相关联的装置;
用于接收与该组规则集相关联的第二转变信息的装置;
用于基于该第二转变信息、与该组相关联的允许转变、以及当前与该组相关联的状态而将该组规则规范与该第二多个状态中的另一个状态相关联的装置;以及
用于将应用程序与该组规则规范相关联的装置,其中,该应用程序被配置为根据由该规则规范指定的规则集中的规则来处理输入记录并产生输出。
163.一种计算机可读介质,存储有用于管理与应用程序一起使用的一个或多个规则的计算机程序,该计算机程序包括用于使计算机系统执行以下操作的指令:
接收指定包括一组规则的规则集的规则规范,每个规则包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;
接收指定与该规则集相关联的多个状态之间的可允许转变的转变规范,并且对于每个转变,被授权的一个或多个用户来实施该转变;
将该规则集与该多个状态中的第一状态相关联;
接收与该规则集相关联的转变信息;
验证提供该转变信息的用户有权提供该转变信息;
在验证提供该转变信息的用户有权提供该转变信息之后,基于转变信息、和与该规则集相关联的允许转变、以及该第一状态,将该规则集与该多个状态中的第二状态相关联,其中,该第二状态不同于该第一状态;以及
将应用与该规则集相关联,其中,该应用程序被配置为根据该规则集中的规则来处理输入记录并产生输出。
164.一种用于管理与数据处理系统中的应用程序一起使用的一个或多个规则的系统,该系统包括:
数据存储系统,该数据存储系统存储一个或多个规则规范和一个或多个转变规范;
至少一个输出设备或端口,用于提供图形用户界面;以及
计算机系统,该计算机系统耦合到该数据存储系统和该至少一个输出设备或端口,包括用于以下操作的电路系统:
从该数据存储系统中接收指定包括一组规则的规则集的规则规范,每个规则包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;
从该数据存储系统中接收指定与该规则集相关联的多个状态之间的可允许转变的转变规范,并且对于每个转变,被授权的一个或多个用户来实施该转变;
将该规则集与该多个状态中的第一状态相关联;
接收与该规则集相关联的转变信息;
验证提供该转变信息的用户有权提供该转变信息;
在验证提供该转变信息的用户有权提供该转变信息之后,基于转变信息、和与该规则集相关联的允许转变、以及该第一状态,将该规则集与该多个状态中的第二状态相关联,其中,该第二状态不同于该第一状态;以及
将应用与该规则集相关联,其中,该应用程序被配置为根据该规则集中的规则来处理输入记录并产生输出。
165.一种用于管理与应用程序一起使用的一个或多个规则的系统,该系统包括:
用于接收指定包括一组规则的规则集的规则规范的装置,每个规则包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;
用于接收指定与该规则集相关联的多个状态之间的可允许转变的转变规范的装置,并且对于每个转变,被授权的一个或多个用户来实施该转变;
用于将该规则集与该多个状态中的第一状态相关联的装置;
用于接收与该规则集相关联的转变信息的装置;
用于验证提供该转变信息的用户有权提供该转变信息的装置;
用于在验证提供该转变信息的用户有权提供该转变信息之后、基于该转变信息和与该规则集相关联的允许转变、以及该第一状态而将该规则集与该多个状态中的第二状态相关联的装置,其中,该第二状态不同于该第一状态;以及
用于将应用与该规则集相关联的装置,其中,该应用程序被配置为根据该规则集中的规则来处理输入记录并产生输出。

说明书全文

用于规则编辑、模拟、版本控制和业务流程管理的集成系统

优先权声明

申请要求2017年6月6日提交的美国专利申请序列号62/515,845的优先权,并且该申请的内容通过引用以其全文结合在此。

背景技术

[0001] 本说明书涉及一种对规则进行编辑、模拟、版本控制和业务流程管理的集成系统。
[0002] 在一些示例中,常规的规则集源代码控制工具使得软件程序员团队能够在开发和更新若干个规则集时管理规则集的源代码。源代码控制工具维护规则集的中央储存库。软件程序员可以检出规则集、使用规则编辑器来编辑规则集,并将规则集本地存储在程序员的计算机上。在规则集被检出时,该规则集将被定,并且不能由其他程序员进行编辑。在程序员完成对规则集的编辑之后,程序员可以使用规则模拟器、通过将规则集应用于测试数据来模拟规则集的执行。当程序员对规则集的更改感到满意时,程序员检入规则集。发明内容
[0003] 在一个方面,总体上,本说明书以一种用于管理与数据处理系统中的应用程序一起使用的一个或多个规则的方法为特征。该方法包括:提供集成用户界面以使得用户能够访问集成应用开发系统,该集成应用开发系统使得能够对规则集进行版本控制和业务流程管理,其中,每个规则集包括一个或多个规则,每个规则包括一个或多个规则例,该一个或多个规则例根据规则的输入来计算规则的输出值,并且每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;将第一规则集的多个版本存储在储存库中;将具有关于该第一规则集的多个版本的信息的至少一个日志数据对象存储在该储存库中;以及通过该集成用户界面提供的第一用户界面接收来自与第一用户标识符相关联的第一用户的指令。该方法包括:响应于来自该第一用户的这些指令,从该储存库中检出该第一规则集的特定版本;将该第一规则集的特定版本从多个状态中的第一状态转变为该多个状态中的第二状态;以及将该第一规则集的特定版本检入回该储存库中。该方法包括将以下各项中的至少一项存储在与该第一规则集的特定版本相关联的日志数据对象中:(i)指定以下各项的信息:与该第一用户标识符相关联的用户从该储存库中检出该第一规则集的特定版本、并且与该第一用户标识符相关联的用户批准该第一规则集的特定版本从该第一状态转变为该第二状态;或(ii)指定以下各项的信息:从该储存库中检出该第一规则集的特定版本与该第一时间戳相关联、并且将该第一规则集的特定版本从该第一状态转变为该第二状态与第二时间戳相关联。
[0004] 多个方面可以包括以下特征中的一个或多个特征。该第一状态可以指示该第一规则集是仍在编辑的草稿,并且该第二状态可以指示该第一规则集已准备好被审阅者审阅。
[0005] 该第一状态可以指示该第一规则集已准备好由有权批准第一规则集以供发布的用户审阅,并且该第二状态可以指示该第一规则集被最终确定并准备好发布。
[0006] 每个规则集可以与将输入数据变换为输出数据的软件模或数据处理实体中的至少一个相对应。
[0007] 该集成应用开发系统可以包括源代码控制模块和业务流程管理模块,该源代码控制模块可以处理对该第一规则集的特定版本的检入和检出,并且该业务流程管理模块可以处理该第一规则集的特定版本从该第一状态到该第二状态的转变。
[0008] 该源代码控制模块可以处理将以下各项中的至少一项存储在该日志数据对象中:(i)指定该第一用户从该储存库中检出该第一规则集的特定版本的信息;或(ii)指定从该储存库中检出该第一规则集的特定版本与该第一时间戳相关联的信息。该业务流程管理模块可以处理将以下各项中的至少一项存储在该日志数据对象中:(i)指定该第一用户批准该第一规则集的特定版本从该第一状态转变为该第二状态的信息;或(ii)指定该第一规则集的特定版本从该第一状态转变为该第二状态与该第二时间戳相关联的信息。
[0009] 该方法可以包括:在从该储存库中检出该第一规则集的特定版本之后,并且在将该第一规则集的特定版本检入回该储存库中之前,锁定存储在该储存库中的该第一规则集的特定版本以防止其他用户修改该储存库中的该第一规则集的特定版本。
[0010] 该方法可以包括:通过该集成用户界面的第二用户界面接收来自与第二用户标识符相关联的第二用户的指令。该方法可以包括:响应于来自该第二用户的指令,从该储存库中检出该第一规则集的特定版本,以及执行以下各项操作中的至少一项:(i)将应用程序与该第一规则集的特定版本相关联,并根据该第一规则集的特定版本中的一个或多个规则执行该应用程序以处理输入记录并产生输出,或(ii)检索已存储的通过先前根据该第一规则集的特定版本中的一个或多个规则执行处理输入记录以产生输出的应用程序所产生的输出。该方法可以包括将该第一规则集的特定版本检入回该储存库中。
[0011] 该方法可以包括将以下各项中的至少一项存储在与该第一规则集的特定版本相关联的日志数据对象中:(i)指定以下各项的信息:与该第二用户标识符相关联的用户从该储存库中检出该第一规则集的特定版本、并且与该第二用户标识符相关联的用户使用该第一规则集的特定版本来执行该应用程序以产生输出;(ii)指定以下各项的信息:与该第二用户标识符相关联的用户从该储存库中检出该第一规则集的特定版本、并且与该第二用户标识符相关联的用户检索已存储的通过先前使用该第一规则集的特定版本执行该应用程序所产生的输出;(iii)指定以下各项的信息:从该储存库中检出该第一规则集的特定版本与第三时间戳相关联、并且使用该第一规则集的特定版本执行该应用程序以产生输出与第四时间戳相关联;或(iv)指定以下各项的信息:从该储存库中检出该第一规则集的特定版本与第三时间戳相关联、并且检索已存储的通过先前使用该第一规则集的特定版本执行该应用程序所产生的输出与第四时间戳相关联。
[0012] 该集成应用开发系统可以包括源代码控制模块和模拟模块。该源代码控制模块可以处理将以下各项中的至少一项存储在该日志数据对象中:(i)指定与该第二用户标识符相关联的用户从该储存库中检出该第一规则集的特定版本的信息;或(ii)指定从该储存库中检出该第一规则集的特定版本与该第一时间戳相关联的信息。该模拟模块可以处理将以下各项中的至少一项存储在该日志数据对象中:(i)指定与该第二用户标识符相关联的用户使用该第一规则集的特定版本执行该应用程序以产生输出的信息;(ii)指定与该第二用户标识符相关联的用户检索已存储的通过先前使用该第一规则集的特定版本来执行该应用程序所产生的输出的信息;(iii)指定使用该第一规则集的特定版本来执行该应用程序以产生输出与该第二时间戳相关联的信息;或(iv)指定检索已存储的通过先前使用该第一规则集的特定版本来执行该应用程序所产生的输出与该第二时间戳相关联的信息。
[0013] 该集成应用开发系统可以包括源代码控制模块和模拟模块。该源代码控制模块可以处理对该第一规则集的特定版本的检入和检出,并且该模拟模块可以处理根据该第一规则集的特定版本中的规则来执行该应用程序以处理输入记录并产生输出。
[0014] 可以在该第一用户的计算机终端处提供该第一用户界面并且可以在第二用户的计算机终端处提供该第二用户界面。
[0015] 该方法可以包括:响应于来自该第一用户的指令来编辑该第一规则集的特定版本;将已编辑的该第一规则集的特定版本存储在该储存库中,以及将以下各项中的至少一项存储在与该第一规则集的特定版本相关联的日志数据对象中:(i)指定该第一用户编辑了该第一规则集的特定版本的信息;或(ii)指定对该第一规则集的特定版本的修改与第三时间戳相关联的信息。
[0016] 该集成应用开发系统可以包括源代码控制模块、业务流程管理模块和规则编辑器。该源代码控制模块可以处理对该第一规则集的特定版本的检入和检出,该业务流程管理模块可以处理将该第一规则集的特定版本从该第一状态到该第二状态的转变,并且该规则编辑器可以处理对该第一规则集的特定版本的编辑。
[0017] 在另一方面,总体上,提供了一种计算机可读介质,该计算机可读介质存储有用于管理与数据处理系统中的应用程序一起使用的一个或多个规则的计算机程序。该计算机程序包括用于使计算系统进行以下操作的指令:提供集成用户界面以使得用户能够访问集成应用开发系统,该集成应用开发系统使得能够对规则集进行版本控制和业务流程管理,其中,每个规则集包括一个或多个规则,每个规则包括一个或多个规则例,该一个或多个规则例根据规则的输入来计算规则的输出值,并且每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;将第一规则集的多个版本存储在储存库中;将具有关于该第一规则集的多个版本的信息的至少一个日志数据对象存储在该储存库中;以及通过该集成用户界面的第一用户界面接收来自与第一用户标识符相关联的第一用户的指令。该计算机程序包括用于使该计算系统进行以下操作的指令:响应于来自该第一用户的指令,从该储存库中检出该第一规则集的特定版本;将该第一规则集的特定版本从多个状态中的第一状态转变为该多个状态中的第二状态;以及将该第一规则集的特定版本检入回该储存库中。该计算机程序包括用于使该计算系统进行以下操作的指令:将以下各项中的至少一项存储在与该第一规则集的特定版本相关联的日志数据对象中:(i)指定以下各项的信息:与该第一用户标识符相关联的用户从该储存库中检出该第一规则集的特定版本、并且与该第一用户标识符相关联的用户批准该第一规则集的特定版本从该第一状态转变为该第二状态;或(ii)指定以下各项的信息:从该储存库中检出该第一规则集的特定版本与该第一时间戳相关联、并且将该第一规则集的特定版本从该第一状态转变为该第二状态与第二时间戳相关联。
[0018] 在另一方面,总体上,提供了一种用于管理与应用程序一起使用的一个或多个规则的系统。该系统包括:数据存储系统,该数据存储系统存储一个或多个规则;至少一个输出设备或端口,用于提供图形用户界面;以及计算机系统,该计算机系统耦合到该数据存储系统和该至少一个输出设备或端口。该计算机系统包括用于以下操作的电路系统:提供集成用户界面以使得用户能够访问集成应用开发系统,该集成应用开发系统使得能够对规则集进行版本控制和业务流程管理,其中,每个规则集包括一个或多个规则,每个规则包括一个或多个规则例,该一个或多个规则例根据规则的输入来计算规则的输出值,并且每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;将第一规则集的多个版本存储在储存库中;将具有关于该第一规则集的多个版本的信息的至少一个日志数据对象存储在该储存库中;以及通过该集成用户界面的第一用户界面接收来自与第一用户标识符相关联的第一用户的指令。该计算机系统包括用于以下操作的电路系统:响应于来自该第一用户的指令,从该储存库中检出该第一规则集的特定版本;将该第一规则集的特定版本从多个状态中的第一状态转变为该多个状态中的第二状态;以及将该第一规则集的特定版本检入回该储存库中。该计算机系统包括用于以下操作的电路系统:将以下各项中的至少一项存储在与该第一规则集的特定版本相关联的日志数据对象中:(i)指定以下各项的信息:与该第一用户标识符相关联的用户从该储存库中检出该第一规则集的特定版本、并且与该第一用户标识符相关联的用户批准该第一规则集的特定版本从该第一状态转变为该第二状态;或(ii)指定以下各项的信息:从该储存库中检出该第一规则集的特定版本与该第一时间戳相关联、并且将该第一规则集的特定版本从该第一状态转变为该第二状态与第二时间戳相关联。
[0019] 在另一方面,总体上,提供了一种用于管理与应用程序一起使用的一个或多个规则的系统。该系统包括:用于提供集成用户界面以使得用户能够访问集成应用开发系统的装置,该集成应用开发系统使得能够对规则集进行版本控制和业务流程管理,其中,每个规则集包括一个或多个规则,每个规则包括一个或多个规则例,该一个或多个规则例根据规则的输入来计算规则的输出值,并且每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;用于将第一规则集的多个版本存储在储存库中的装置;用于将具有关于该第一规则集的多个版本的信息的至少一个日志数据对象存储在该储存库中的装置;用于通过该集成用户界面的第一用户界面接收来自与第一用户标识符相关联的第一用户的指令的装置;用于响应于来自该第一用户的指令而从该储存库中检出该第一规则集的特定版本的装置;用于响应于来自该第一用户的指令而将该第一规则集的特定版本从多个状态中的第一状态转变为该多个状态中的第二状态的装置;用于响应于来自该第一用户的指令而将该第一规则集的特定版本检入回该储存库中的装置;以及用于将以下各项中的至少一项存储在与该第一规则集的特定版本相关联的日志数据对象中的装置:(i)指定以下各项的信息:与该第一用户标识符相关联的用户从该储存库中检出该第一规则集的特定版本、并且与该第一用户标识符相关联的用户批准该第一规则集的特定版本从该第一状态转变为该第二状态;或(ii)指定以下各项的信息:从该储存库中检出该第一规则集的特定版本与该第一时间戳相关联、并且将该第一规则集的特定版本从该第一状态转变为该第二状态与第二时间戳相关联。
[0020] 在另一方面,总体上,提供了一种用于管理与数据处理系统中的应用程序一起使用的一个或多个规则的方法。该方法包括:提供集成用户界面以使得用户能够访问集成应用开发系统,该集成应用开发系统使得能够对规则集进行编辑、模拟、业务流程管理和版本控制,其中,每个规则集包括一个或多个规则,每个规则包括一个或多个规则例,该一个或多个规则例根据规则的输入来计算规则的输出值,并且每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;将第一规则集的多个版本存储在储存库中;将具有关于该第一规则集的多个版本的信息的至少一个日志数据对象存储在该储存库中;以及通过该集成用户界面的第一用户界面接收来自与第一用户标识符相关联的第一用户的指令。该方法包括:响应于来自该第一用户的指令,从该储存库中检出该第一规则集的特定版本;编辑该第一规则集的特定版本;将应用程序与该第一规则集的特定版本相关联,并根据该第一规则集的特定版本中的规则来执行该应用程序以处理输入记录并产生输出;将该第一规则集的特定版本从多个状态中的第一状态转变为该多个状态中的第二状态;以及将该第一规则集的特定版本检入回该储存库中。
[0021] 多个方面可以包括以下特征中的一个或多个特征。该方法可以包括将以下各项中的至少一项存储在与该第一规则集的特定版本相关联的日志数据对象中:(i)指定以下各项的信息:与该第一用户标识符相关联的用户从该储存库中检出该第一规则集的特定版本、编辑该第一规则集的特定版本、使用该第一规则集的特定版本来执行该应用程序以产生输出、并且批准该第一规则集的特定版本从该第一状态转变为该第二状态;或(ii)指定以下各项的信息:从该储存库中检出该第一规则集的特定版本与该第一时间戳相关联、编辑该第一规则集的特定版本与第二时间戳相关联、使用该第一规则集的特定版本来执行该应用程序与第三时间戳相关联、并且将该特定规则集从该第一状态转变为该第二状态与第四时间戳相关联。
[0022] 该集成应用开发系统可以包括规则编辑器、模拟模块、业务流程管理模块和源代码控制模块。该规则编辑器可以处理将指定与该第一用户标识符相关联的用户编辑了该第一规则集的特定版本的信息存储在该日志数据对象中,该模拟模块可以处理将指定与该第一用户标识符相关联的用户使用已编辑的该第一规则集的特定版本来执行该应用程序的信息存储在该日志数据对象中,该业务流程管理模块可以处理将指定与该第一用户标识符相关联的用户批准该第一规则集的特定版本从该第一状态转变为该第二状态的信息存储在该日志数据对象中,并且该源代码控制模块可以处理将指定与该第一用户标识符相关联的用户从该储存库检出该第一规则集的特定版本的信息存储在该日志数据对象中。
[0023] 该集成应用开发系统可以包括规则编辑器、模拟模块、业务流程管理模块和源代码控制模块。该源代码控制模块可以处理将指定从该储存库中检出该第一规则集的特定版本与该第一时间戳相关联的信息存储在该日志数据对象中,该规则编辑器可以处理将指定对该第一规则集的特定版本的编辑与该第二时间戳相关联的信息存储在该日志数据对象中,该模拟模块可以处理将指定使用该第一规则集的特定版本来执行该应用程序与该第三时间戳相关联的信息存储在该日志数据对象中,并且该业务流程管理模块可以处理将指定将该特定规则集从该第一状态转变为该第二状态与该第四时间戳相关联的信息存储在该日志数据对象中。
[0024] 该集成应用开发系统可以包括规则编辑器、模拟模块、业务流程管理模块和源代码控制模块。该规则编辑器可以处理对该第一规则集的特定版本的编辑,该模拟模块可以处理根据该第一规则集的特定版本中的一个或多个规则来执行该应用程序以处理输入记录并产生输出,该业务流程管理模块可以处理该第一规则集的特定版本从该第一状态到该第二状态的转变,并且该源代码控制模块可以处理对该第一规则集的特定版本的检入和检出。
[0025] 在另一方面,总体上,提供了一种计算机可读介质,该计算机可读介质存储有用于管理与数据处理系统中的应用程序一起使用的一个或多个规则的计算机程序。该计算机程序包括用于使计算系统进行以下操作的指令:提供集成用户界面以使得用户能够访问集成应用开发系统,该集成应用开发系统使得能够对规则集进行编辑、模拟、业务流程管理和版本控制,其中,每个规则集包括一个或多个规则,每个规则包括一个或多个规则例,该一个或多个规则例根据规则的输入来计算规则的输出值,并且每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;将第一规则集的多个版本存储在储存库中;将具有关于该第一规则集的多个版本的信息的至少一个日志数据对象存储在该储存库中;以及通过该集成用户界面的第一用户界面接收来自与第一用户标识符相关联的第一用户的指令。该计算机程序包括用于使该计算系统进行以下操作的指令:响应于来自该第一用户的指令,从该储存库中检出该第一规则集的特定版本;编辑该第一规则集的特定版本;将应用程序与该第一规则集的特定版本相关联;根据该第一规则集的特定版本中的规则来执行该应用程序以处理输入记录并产生输出;将该第一规则集的特定版本从多个状态中的第一状态转变为该多个状态中的第二状态;以及将该第一规则集的特定版本检入回该储存库中。
[0026] 在另一方面,总体上,提供了一种用于管理与应用程序一起使用的一个或多个规则的系统。该系统包括:数据存储系统,该数据存储系统存储一个或多个规则;至少一个输出设备或端口,用于提供图形用户界面;以及计算机系统,该计算机系统耦合到该数据存储系统和该至少一个输出设备或端口。该计算机系统包括用于以下操作的电路系统:提供集成用户界面以使得用户能够访问集成应用开发系统,该集成应用开发系统使得能够对规则集进行编辑、模拟、业务流程管理和版本控制,其中,每个规则集包括一个或多个规则,每个规则包括一个或多个规则例,该一个或多个规则例根据规则的输入来计算规则的输出值,并且每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;将第一规则集的多个版本存储在储存库中;将具有关于该第一规则集的多个版本的信息的至少一个日志数据对象存储在该储存库中;以及通过该集成用户界面的第一用户界面接收来自与第一用户标识符相关联的第一用户的指令。该计算机系统包括用于以下操作的电路系统:响应于来自该第一用户的指令,从该储存库中检出该第一规则集的特定版本;编辑该第一规则集的特定版本;将应用程序与该第一规则集的特定版本相关联,并根据该第一规则集的特定版本中的规则来执行该应用程序以处理输入记录并产生输出;将该第一规则集的特定版本从多个状态中的第一状态转变为该多个状态中的第二状态;以及将该第一规则集的特定版本检入回该储存库中。
[0027] 在另一方面,总体上,提供了一种用于管理与应用程序一起使用的一个或多个规则的系统。该系统包括:用于提供集成用户界面以使得用户能够访问集成应用开发系统的装置,该集成应用开发系统使得能够对规则集进行编辑、模拟、业务流程管理和版本控制,其中,每个规则集包括一个或多个规则,每个规则包括一个或多个规则例,该一个或多个规则例根据规则的输入来计算规则的输出值,并且每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;储存库,用于存储储存库中的第一规则集的多个版本和具有关于该第一规则集的多个版本的信息的至少一个日志数据对象;该集成用户界面的第一用户界面,用于接收来自与第一用户标识符相关联的第一用户的指令;用于响应于来自该第一用户的指令而从该储存库中检出该第一规则集的特定版本的装置;用于响应于来自该第一用户的指令来编辑该第一规则集的特定版本的装置;用于响应于来自该第一用户的指令而将应用程序与该第一规则集的特定版本相关联的装置;用于响应于来自该第一用户的指令而根据该第一规则集的特定版本中的规则来执行该应用程序以处理输入记录并产生输出的装置;用于响应于来自该第一用户的指令而将该第一规则集的特定版本从多个状态中的第一状态转变为该多个状态中的第二状态的装置;以及用于响应于来自该第一用户的指令而将该第一规则集的特定版本检入回该储存库中的装置。
[0028] 在另一方面,总体上,提供了一种用于管理与数据处理系统中的应用程序一起使用的一个或多个规则容器的方法。该方法包括:提供集成用户界面以使得用户能够访问集成应用开发系统,该集成应用开发系统使得能够对规则容器进行版本控制和业务流程管理,其中,每个规则容器包括两个或更多个规则集,每个规则集包括一个或多个规则,每个规则包括一个或多个规则例,该一个或多个规则例根据规则的输入来计算规则的输出值,并且每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;将第一规则容器的多个版本存储在储存库中;将具有关于该第一规则容器的多个版本的信息的至少一个日志数据对象存储在该储存库中;以及通过该集成用户界面的第一用户界面接收来自与第一用户标识符相关联的第一用户的指令。该方法包括:响应于来自该第一用户的指令,从该储存库中检出该第一规则容器的特定版本;将该第一规则容器的特定版本从多个状态中的第一状态转变为该多个状态中的第二状态;以及将该第一规则容器的特定版本检入回该储存库中。该方法包括将以下各项中的至少一项存储在与该第一规则容器的特定版本相关联的日志数据对象中:(i)指定以下各项的信息:与该第一用户标识符相关联的用户从该储存库中检出该第一规则容器的特定版本、并且与该第一用户标识符相关联的用户批准该第一规则容器的特定版本从该第一状态转变为该第二状态;或(ii)指定以下各项的信息:从该储存库中检出该第一规则容器的特定版本与该第一时间戳相关联、并且将该第一规则容器的特定版本从该第一状态转变为该第二状态与第二时间戳相关联。
[0029] 多个方面可以包括以下特征中的一个或多个特征。该第一状态可以指示该第一规则容器是仍在编辑的草稿,并且该第二状态可以指示该第一规则容器已准备好被审阅者审阅。
[0030] 该第一状态可以指示该第一规则容器已准备好由有权批准第一规则容器以供发布的用户审阅,并且该第二状态可以指示该第一规则容器被最终确定并准备好发布。
[0031] 每个规则集可以与将输入数据变换为输出数据的软件模块或数据处理实体中的至少一个相对应。
[0032] 该第一规则容器的特定版本可以包括指向该第一规则容器的特定版本中的每个规则集的指针
[0033] 该方法可以包括:响应于来自该第一用户的指令,将该第二规则容器的特定版本中的规则集从“开放”状态转变为“已提交”状态,其中,“开放”状态指示该规则集是仍在编辑的草稿,并且“已提交”状态指示该规则集已准备好进行审阅。
[0034] 该方法可以包括:对该第二规则容器的特定版本的状态的转变独立于对该第二规则容器的特定版本中的规则集的状态的转变。
[0035] 该方法可以包括:确定该第二规则容器的特定版本处于“开放”状态,并且该第二规则容器的特定版本中的所有规则集都处于“已提交”状态;以及响应于确定该第二规则容器的特定版本处于“开放”状态并且该第二规则容器的特定版本中的所有规则集都处于“已提交”状态,自动地将该第二规则容器的特定版本从“开放”状态转变为“已提交”状态。
[0036] 该方法可以包括:响应于来自第二用户的指令,将该第二规则容器的特定版本中的规则集之一从“已批准”状态转变为“开放”状态,以及响应于将该第二规则容器的特定版本中的规则集之一从“已批准”状态转变为“开放”状态,自动地将该第二规则容器的特定版本从“已批准”状态转变为“开放”状态。
[0037] 该集成应用开发系统可以包括源代码控制模块和业务流程管理模块,该源代码控制模块可以处理对该第一规则容器的特定版本的检入和检出,并且该业务流程管理模块可以处理该第一规则容器的特定版本从该第一状态到该第二状态的转变。
[0038] 该源代码控制模块可以处理将以下各项中的至少一项存储在该日志数据对象中:(i)指定该第一用户从该储存库中检出该第一规则容器的特定版本的信息;或(ii)指定从该储存库中检出该第一规则容器的特定版本与该第一时间戳相关联的信息,并且该业务流程管理模块可以处理将以下各项中的至少一项存储在该日志数据对象中:(i)指定该第一用户批准该第一规则容器的特定版本从该第一状态转变为该第二状态的信息;或(ii)指定该第一规则容器的特定版本从该第一状态转变为该第二状态与该第二时间戳相关联的信息。
[0039] 该方法可以包括:通过该集成用户界面的第二用户界面接收来自与第二用户标识符相关联的第二用户的指令。该方法可以包括:响应于来自该第二用户的指令,从该储存库中检出该第一规则容器的特定版本,以及执行以下各项操作中的至少一项:(i)将应用程序与该第一规则容器的特定版本相关联,并根据该第一规则容器的特定版本中的规则集中的规则来执行该应用程序以处理输入记录并产生输出,或(ii)检索已存储的通过先前根据该第一规则容器的特定版本中的规则集中的规则来执行处理输入记录以产生输出的应用程序所产生的输出。该方法可以包括将该第一规则容器的特定版本检入回该储存库中。
[0040] 该方法可以包括将以下各项中的至少一项存储在与该第一规则容器的特定版本相关联的日志数据对象中:(i)指定以下各项的信息:与该第二用户标识符相关联的用户从该储存库中检出该第一规则容器的特定版本、并且与该第二用户标识符相关联的用户使用该第一规则容器的特定版本来执行该应用程序以产生输出;(ii)指定以下各项的信息:与该第二用户标识符相关联的用户从该储存库中检出该第一规则容器的特定版本、并且与该第二用户标识符相关联的用户检索已存储的通过先前使用该第一规则容器的特定版本来执行该应用程序所产生的输出;(iii)指定以下各项的信息:从该储存库中检出该第一规则容器的特定版本与第三时间戳相关联、并且使用该第一规则容器的特定版本执行该应用程序以产生输出与第四时间戳相关联;或(iv)指定以下各项的信息:从该储存库中检出该第一规则容器的特定版本与第三时间戳相关联、并且检索已存储的通过先前使用该第一规则容器的特定版本来执行该应用程序所产生的输出与第四时间戳相关联。
[0041] 该集成应用开发系统可以包括源代码控制模块和模拟模块。该源代码控制模块可以处理将以下各项中的至少一项存储在该日志数据对象中:(i)指定与该第二用户标识符相关联的用户从该储存库中检出该第一规则容器的特定版本的信息;或(ii)指定从该储存库中检出该第一规则容器的特定版本与该第一时间戳相关联的信息。该模拟模块处理将以下各项中的至少一项存储在该日志数据对象中:(i)指定与该第二用户标识符相关联的用户使用该第一规则容器的特定版本执行该应用程序以产生输出的信息;(ii)指定与该第二用户标识符相关联的用户检索已存储的通过先前使用该第一规则容器的特定版本来执行该应用程序所产生的输出的信息;(iii)指定使用该第一规则容器的特定版本来执行该应用程序以产生输出与该第二时间戳相关联的信息;或(iv)指定检索已存储的通过先前使用该第一规则容器的特定版本来执行该应用程序所产生的输出与该第二时间戳相关联的信息。
[0042] 该集成应用开发系统可以包括源代码控制模块和模拟模块,该源代码控制模块可以处理对该第一规则容器的特定版本的检入和检出,并且该模拟模块可以处理根据该第一规则容器的特定版本中的规则来执行该应用程序以处理输入记录并产生输出。
[0043] 可以在该第一用户的计算机终端处提供该第一用户界面并且可以在第二用户的计算机终端处提供该第二用户界面。
[0044] 该方法可以包括:响应于来自该第一用户的指令来编辑该第一规则容器的特定版本;以及将已编辑的该第一规则容器的特定版本存储在该储存库中。该方法可以包括将以下各项中的至少一项存储在与该第一规则容器的特定版本相关联的日志数据对象中:(i)指定该第一用户编辑了该第一规则容器的特定版本的信息;或(ii)指定对该第一规则容器的特定版本的修改与第三时间戳相关联的信息。
[0045] 该集成应用开发系统可以包括源代码控制模块、业务流程管理模块和规则编辑器。该源代码控制模块可以处理对该第一规则容器的特定版本的检入和检出,该业务流程管理模块可以处理将该第一规则容器的特定版本从该第一状态到该第二状态的转变,并且该规则编辑器可以处理对该第一规则容器的特定版本的编辑。
[0046] 在另一方面,总体上,提供了一种计算机可读介质,该计算机可读介质存储有用于管理与数据处理系统中的应用程序一起使用的一个或多个规则容器的计算机程序。该计算机程序包括用于使计算系统进行以下操作的指令:提供集成用户界面以使得用户能够访问集成应用开发系统,该集成应用开发系统使得能够对规则容器进行版本控制和业务流程管理,其中,每个规则容器包括两个或更多个规则集,每个规则集包括一个或多个规则,每个规则包括一个或多个规则例,该一个或多个规则例根据规则的输入来计算规则的输出值,并且每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;将第一规则容器的多个版本存储在储存库中;将具有关于该第一规则容器的多个版本的信息的至少一个日志数据对象存储在该储存库中;以及通过该集成用户界面的第一用户界面接收来自与第一用户标识符相关联的第一用户的指令。该计算机程序包括用于使该计算系统进行以下操作的指令:响应于来自该第一用户的指令,从该储存库中检出该第一规则容器的特定版本;将该第一规则容器的特定版本从多个状态中的第一状态转变为该多个状态中的第二状态;以及将该第一规则容器的特定版本检入回该储存库中。该计算机程序包括用于使该计算系统进行以下操作的指令:将以下各项中的至少一项存储在与该第一规则容器的特定版本相关联的日志数据对象中:(i)指定以下各项的信息:与该第一用户标识符相关联的用户从该储存库中检出该第一规则容器的特定版本、并且与该第一用户标识符相关联的用户批准该第一规则容器的特定版本从该第一状态转变为该第二状态;或(ii)指定以下各项的信息:从该储存库中检出该第一规则容器的特定版本与该第一时间戳相关联、并且将该第一规则容器的特定版本从该第一状态转变为该第二状态与第二时间戳相关联。
[0047] 在另一方面,总体上,提供了一种用于管理与应用程序一起使用的一个或多个规则容器的系统。该系统包括:数据存储系统,该数据存储系统存储一个或多个规则容器;至少一个输出设备或端口,用于提供图形用户界面;以及计算机系统,该计算机系统耦合到该数据存储系统和该至少一个输出设备或端口。该计算机系统包括用于以下操作的电路系统:提供集成用户界面以使得用户能够访问集成应用开发系统,该集成应用开发系统使得能够对规则容器进行版本控制和业务流程管理,其中,每个规则容器包括两个或更多个规则集,每个规则集包括一个或多个规则,每个规则包括一个或多个规则例,该一个或多个规则例根据规则的输入来计算规则的输出值,并且每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;将第一规则容器的多个版本存储在储存库中;将具有关于该第一规则容器的多个版本的信息的至少一个日志数据对象存储在该储存库中;以及通过该集成用户界面的第一用户界面接收来自与第一用户标识符相关联的第一用户的指令。该计算机系统包括用于以下操作的电路系统:响应于来自该第一用户的指令,从该储存库中检出该第一规则容器的特定版本;将该第一规则容器的特定版本从多个状态中的第一状态转变为该多个状态中的第二状态;以及将该第一规则容器的特定版本检入回该储存库中。该计算机系统包括用于以下操作的电路系统:将以下各项中的至少一项存储在与该第一规则容器的特定版本相关联的日志数据对象中:(i)指定以下各项的信息:与该第一用户标识符相关联的用户从该储存库中检出该第一规则容器的特定版本、并且与该第一用户标识符相关联的用户批准该第一规则容器的特定版本从该第一状态转变为该第二状态;或(ii)指定以下各项的信息:从该储存库中检出该第一规则容器的特定版本与该第一时间戳相关联、并且将该第一规则容器的特定版本从该第一状态转变为该第二状态与第二时间戳相关联。
[0048] 在另一方面,总体上,提供了一种用于管理与应用程序一起使用的一个或多个规则的系统。该系统包括:用于提供集成用户界面以使得用户能够访问集成应用开发系统的装置,该集成应用开发系统使得能够对规则容器进行版本控制和业务流程管理,其中,每个规则容器包括两个或更多个规则集,每个规则集包括一个或多个规则,每个规则包括一个或多个规则例,该一个或多个规则例根据规则的输入来计算规则的输出值,并且每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;储存库,用于存储第一规则容器的多个版本和具有关于该第一规则容器的多个版本的信息的至少一个日志数据对象;该集成用户界面的第一用户界面,用于接收来自与第一用户标识符相关联的第一用户的指令;用于响应于来自该第一用户的指令而从该储存库中检出该第一规则容器的特定版本的装置;用于响应于来自该第一用户的指令而将该第一规则容器的特定版本从多个状态中的第一状态转变为该多个状态中的第二状态的装置;以及用于响应于来自该第一用户的指令而将该第一规则容器的特定版本检入回该储存库中的装置。该系统包括:用于将以下各项中的至少一项存储在与该第一规则容器的特定版本相关联的日志数据对象中的装置:(i)指定以下各项的信息:与该第一用户标识符相关联的用户从该储存库中检出该第一规则容器的特定版本、并且与该第一用户标识符相关联的用户批准该第一规则容器的特定版本从该第一状态转变为该第二状态;或(ii)指定以下各项的信息:从该储存库中检出该第一规则容器的特定版本与该第一时间戳相关联、并且将该第一规则容器的特定版本从该第一状态转变为该第二状态与第二时间戳相关联。
[0049] 在另一方面,总体上,提供了一种用于管理与数据处理系统中的应用程序一起使用的一个或多个规则的方法。该方法包括:提供集成用户界面以使得用户能够访问集成应用开发系统,该集成应用开发系统使得能够对规则容器进行编辑、模拟、业务流程管理和版本控制,其中,每个规则容器包括两个或更多个规则集,每个规则集包括一个或多个规则,每个规则包括一个或多个规则例,该一个或多个规则例根据规则的输入来计算规则的输出值,并且每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;将第一规则容器的多个版本存储在储存库中;将具有关于该第一规则容器的多个版本的信息的至少一个日志数据对象存储在该储存库中;以及通过该集成用户界面的第一用户界面接收来自与第一用户标识符相关联的第一用户的指令。该方法包括:响应于来自该第一用户的指令,从该储存库中检出该第一规则容器的特定版本;编辑该第一规则容器的特定版本;将应用程序与该第一规则容器的特定版本相关联,并根据该第一规则容器的特定版本中的规则来执行该应用程序以处理输入记录并产生输出;将该第一规则容器的特定版本从多个状态中的第一状态转变为该多个状态中的第二状态;以及将该第一规则容器的特定版本检入回该储存库中。
[0050] 多个方面可以包括以下特征中的一个或多个特征。该方法可以包括将以下各项中的至少一项存储在与该第一规则容器的特定版本相关联的日志数据对象中:(i)指定以下各项的信息:与该第一用户标识符相关联的用户从该储存库中检出该第一规则容器的特定版本、编辑该第一规则容器的特定版本、使用该第一规则容器的特定版本来执行该应用程序以产生输出、并且批准该第一规则容器的特定版本从该第一状态转变为该第二状态;或(ii)指定以下各项的信息:从该储存库中检出该第一规则容器的特定版本与该第一时间戳相关联、编辑该第一规则容器的特定版本与第二时间戳相关联、使用该第一规则容器的特定版本来执行该应用程序与第三时间戳相关联、并且将该特定规则容器从该第一状态转变为该第二状态与第四时间戳相关联。
[0051] 该集成应用开发系统可以包括规则编辑器、模拟模块、业务流程管理模块和源代码控制模块。该规则编辑器可以处理将指定与该第一用户标识符相关联的用户编辑了该第一规则容器的特定版本的信息存储在该日志数据对象中,该模拟模块可以处理将指定与该第一用户标识符相关联的用户使用该第一规则容器的特定版本来执行该应用程序的信息存储在该日志数据对象中,该业务流程管理模块可以处理将指定与该第一用户标识符相关联的用户批准该第一规则容器的特定版本从该第一状态转变为该第二状态的信息存储在该日志数据对象中,并且该源代码控制模块可以处理将指定与该第一用户标识符相关联的用户从该储存库检出该第一规则容器的特定版本的信息存储在该日志数据对象中。
[0052] 该集成应用开发系统可以包括规则编辑器、模拟模块、业务流程管理模块和源代码控制模块。该源代码控制模块可以处理将指定从该储存库中检出该第一规则容器的特定版本与该第一时间戳相关联的信息存储在该日志数据对象中,该规则编辑器可以处理将指定编辑该第一规则容器的特定版本与该第二时间戳相关联的信息存储在该日志数据对象中,该模拟模块可以处理将指定使用该第一规则容器的特定版本来执行该应用程序与该第三时间戳相关联的信息存储在该日志数据对象中,并且该业务流程管理模块可以处理将指定将该特定规则容器从该第一状态转变为该第二状态与该第四时间戳相关联的信息存储在该日志数据对象中。
[0053] 该集成应用开发系统可以包括规则编辑器、模拟模块、业务流程管理模块和源代码控制模块。该规则编辑器可以处理对该第一规则容器的特定版本的编辑,该模拟模块可以处理根据该第一规则容器的特定版本中的规则来该应用程序以处理输入记录并产生输出,该业务流程管理模块可以处理该第一规则容器的特定版本从该第一状态到该第二状态的转变,并且该源代码控制模块可以处理对该第一规则容器的特定版本的检入和检出。
[0054] 在另一方面,总体上,提供了一种计算机可读介质,该计算机可读介质存储有用于管理与数据处理系统中的应用程序一起使用的一个或多个规则的计算机程序。该计算机程序包括用于使计算系统进行以下操作的指令:提供集成用户界面以使得用户能够访问集成应用开发系统,该集成应用开发系统使得能够对规则容器进行编辑、模拟、业务流程管理和版本控制,其中,每个规则容器包括两个或更多个规则集,每个规则集包括一个或多个规则,每个规则包括一个或多个规则例,该一个或多个规则例根据规则的输入来计算规则的输出值,并且每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;将第一规则容器的多个版本存储在储存库中;将具有关于该第一规则容器的多个版本的信息的至少一个日志数据对象存储在该储存库中;以及通过该集成用户界面的第一用户界面接收来自与第一用户标识符相关联的第一用户的指令。该计算机程序包括用于使该计算系统进行以下操作的指令:响应于来自该第一用户的指令,从该储存库中检出该第一规则容器的特定版本;编辑该第一规则容器的特定版本;将应用程序与该第一规则容器的特定版本相关联,并根据该第一规则容器的特定版本中的规则来执行该应用程序以处理输入记录并产生输出;将该第一规则容器的特定版本从多个状态中的第一状态转变为该多个状态中的第二状态;以及将该第一规则容器的特定版本检入回该储存库中。
[0055] 在另一方面,总体上,提供了一种用于管理与应用程序一起使用的一个或多个规则的系统。该系统包括:数据存储系统,该数据存储系统存储一个或多个规则;至少一个输出设备或端口,用于提供图形用户界面;以及计算机系统,该计算机系统耦合到该数据存储系统和该至少一个输出设备或端口。该计算机系统包括用于以下操作的电路系统:提供集成用户界面以使得用户能够访问集成应用开发系统,该集成应用开发系统使得能够对规则容器进行编辑、模拟、业务流程管理和版本控制,其中,每个规则容器包括两个或更多个规则集,每个规则集包括一个或多个规则,每个规则包括一个或多个规则例,该一个或多个规则例根据规则的输入来计算规则的输出值,并且每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;将第一规则容器的多个版本存储在储存库中;将具有关于该第一规则容器的多个版本的信息的至少一个日志数据对象存储在该储存库中;以及通过该集成用户界面的第一用户界面接收来自与第一用户标识符相关联的第一用户的指令。该计算机系统包括用于以下操作的电路系统:响应于来自该第一用户的指令,从该储存库中检出该第一规则容器的特定版本;编辑该第一规则容器的特定版本;将应用程序与该第一规则容器的特定版本相关联,并根据该第一规则容器的特定版本中的规则来执行该应用程序以处理输入记录并产生输出;将该第一规则容器的特定版本从多个状态中的第一状态转变为该多个状态中的第二状态;以及将该第一规则容器的特定版本检入回该储存库中。
[0056] 在另一方面,总体上,提供了一种用于管理与应用程序一起使用的一个或多个规则的系统。该系统包括:用于提供集成用户界面以使得用户能够访问集成应用开发系统的装置,该集成应用开发系统使得能够对规则容器进行编辑、模拟、业务流程管理和版本控制,其中,每个规则容器包括两个或更多个规则集,每个规则集包括一个或多个规则,每个规则包括一个或多个规则例,该一个或多个规则例根据规则的输入来计算规则的输出值,并且每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;储存库,用于存储第一规则容器的多个版本和具有关于该第一规则容器的多个版本的信息的至少一个日志数据对象;该集成用户界面的第一用户界面,用于接收来自与第一用户标识符相关联的第一用户的指令;用于响应于来自该第一用户的指令而从该储存库中检出该第一规则容器的特定版本的装置;用于响应于来自该第一用户的指令编辑该第一规则容器的特定版本的装置;用于响应于来自该第一用户的指令而将应用程序与该第一规则容器的特定版本相关联的装置;用于响应于来自该第一用户的指令而根据该第一规则容器的特定版本中的规则来执行该应用程序以处理输入记录并产生输出的装置;用于响应于来自该第一用户的指令而将该第一规则容器的特定版本从多个状态中的第一状态转变为该多个状态中的第二状态的装置;以及用于响应于来自该第一用户的指令而将该第一规则容器的特定版本检入回该储存库中的装置。
[0057] 在另一方面,总体上,提供了一种用于管理与数据处理系统中的应用程序一起使用的一个或多个规则的方法。该方法包括:提供集成用户界面以使得用户能够访问集成应用开发系统,该集成应用开发系统使得能够对规则容器进行编辑、业务流程管理和版本控制,其中,每个规则容器包括两个或更多个规则集,每个规则集包括一个或多个规则,每个规则包括一个或多个规则例,该一个或多个规则例根据规则的输入来计算规则的输出值,并且每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;将第一规则的多个版本存储在储存库中;将具有关于该第一规则容器的多个版本的信息的至少一个日志数据对象存储在该储存库中;以及通过该集成用户界面的第一用户界面接收来自与第一用户标识符相关联的第一用户的指令。该方法包括:响应于来自该第一用户的指令,从该储存库中检出该第一规则的特定版本,其中,该第一规则的特定版本包括在第一规则容器中;编辑该第一规则的特定版本;以及将“已批准”状态分配给该第一规则的特定版本。该方法包括:在该第一规则的特定版本已经被分配了“已批准”状态之后,自动地确定存在该第一规则容器的某一版本处于“开放”状态或相当于“开放”状态的状态,其中,“开放”状态指示该第一规则容器处于仍可以被编辑的草稿模式。该方法包括:响应于确定存在该第一规则容器的某一版本处于“开放”状态或相当于“开放”状态的状态,将该第一规则的特定版本添加到该第一规则容器的处于“开放”状态或相当于“开放”状态的状态的版本。
[0058] 多个方面可以包括以下特征中的一个或多个特征。该方法可以包括:响应于来自该第一用户的指令,在该第一规则的特定版本已经被分配了“已批准”状态之后,自动确定该第一规则容器的任何版本都不处于“开放”状态或相当于“开放”状态的状态。该方法可以包括:响应于确定该第一规则容器的任何版本都不处于“开放”状态或相当于“开放”状态的状态,自动地生成该第一规则容器的新版本、向该第一规则容器的新版本分配“开放”状态、并且将该第一规则的特定版本添加到该第一规则容器的新版本中。
[0059] 在另一方面,总体上,提供了一种计算机可读介质,该计算机可读介质存储有用于管理与数据处理系统中的应用程序一起使用的一个或多个规则容器的计算机程序。该计算机程序包括用于使计算系统进行以下操作的指令:提供集成用户界面以使得用户能够访问集成应用开发系统,该集成应用开发系统使得能够对规则容器进行编辑、业务流程管理和版本控制,其中,每个规则容器包括两个或更多个规则集,每个规则集包括一个或多个规则,每个规则包括一个或多个规则例,该一个或多个规则例根据规则的输入来计算规则的输出值,并且每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;将第一规则的多个版本存储在储存库中;将具有关于该第一规则容器的多个版本的信息的至少一个日志数据对象存储在该储存库中;以及通过该集成用户界面的第一用户界面接收来自与第一用户标识符相关联的第一用户的指令。该计算机程序包括用于使该计算系统进行以下操作的指令:响应于来自该第一用户的指令,从该储存库中检出该第一规则的特定版本,其中,该第一规则的特定版本包括在第一规则容器中;编辑该第一规则的特定版本;以及将“已批准”状态分配给该第一规则的特定版本。该计算机程序包括用于使该计算系统进行以下操作的指令:在该第一规则的特定版本已经被分配了“已批准”状态之后,自动地确定存在该第一规则容器的某一版本处于“开放”状态或相当于“开放”状态的状态,其中,“开放”状态指示该第一规则容器处于仍可以被编辑的草稿模式。该计算机程序包括用于使该计算系统进行以下操作的指令:响应于确定存在该第一规则容器的某一版本处于“开放”状态或相当于“开放”状态的状态,将该第一规则的特定版本添加到该第一规则容器的处于“开放”状态或相当于“开放”状态的状态的版本。
[0060] 在另一方面,总体上,提供了一种用于管理与应用程序一起使用的一个或多个规则容器的系统。该系统包括:数据存储系统,该数据存储系统存储一个或多个规则容器;至少一个输出设备或端口,用于提供图形用户界面;以及计算机系统,该计算机系统耦合到该数据存储系统和该至少一个输出设备或端口。该计算机系统包括用于以下操作的电路系统:提供集成用户界面以使得用户能够访问集成应用开发系统,该集成应用开发系统使得能够对规则容器进行编辑、业务流程管理和版本控制,其中,每个规则容器包括两个或更多个规则集,每个规则集包括一个或多个规则,每个规则包括一个或多个规则例,该一个或多个规则例根据规则的输入来计算规则的输出值,并且每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;将第一规则的多个版本存储在储存库中;将具有关于该第一规则容器的多个版本的信息的至少一个日志数据对象存储在该储存库中;以及通过该集成用户界面的第一用户界面接收来自与第一用户标识符相关联的第一用户的指令。该计算机系统包括用于以下操作的电路系统:响应于来自该第一用户的指令,从该储存库中检出该第一规则的特定版本,其中,该第一规则的特定版本包括在第一规则容器中;编辑该第一规则的特定版本;以及将“已批准”状态分配给该第一规则的特定版本。该计算机系统包括用于以下操作的电路系统:在该第一规则的特定版本已经被分配了“已批准”状态之后,自动地确定存在该第一规则容器的某一版本处于“开放”状态或相当于“开放”状态的状态,其中,“开放”状态指示该第一规则容器处于仍可以被编辑的草稿模式。该计算机系统包括用于以下操作的电路系统:响应于确定存在该第一规则容器的某一版本处于“开放”状态或相当于“开放”状态的状态,将该第一规则的特定版本添加到该第一规则容器的处于“开放”状态或相当于“开放”状态的状态的版本。
[0061] 在另一方面,总体上,提供了一种用于管理与应用程序一起使用的一个或多个规则的系统。该系统包括:用于提供集成用户界面以使得用户能够访问集成应用开发系统的装置,该集成应用开发系统使得能够对规则容器进行编辑、业务流程管理和版本控制,其中,每个规则容器包括两个或更多个规则集,每个规则集包括一个或多个规则,每个规则包括一个或多个规则例,该一个或多个规则例根据规则的输入来计算规则的输出值,并且每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;储存库,用于存储第一规则的多个版本和具有关于该第一规则容器的多个版本的信息的至少一个日志数据对象;该集成用户界面的第一用户界面,用于接收来自与第一用户标识符相关联的第一用户的指令;用于响应于来自该第一用户的指令而从该储存库中检出该第一规则的特定版本的装置,其中,该第一规则的特定版本包括在第一规则容器中;用于响应于来自该第一用户的指令来编辑该第一规则的特定版本的装置;用于响应于来自该第一用户的指令而将“已批准”状态分配给该第一规则的特定版本的装置;用于在该第一规则的特定版本已经被分配了“已批准”状态之后自动地确定存在该第一规则容器的某一版本处于“开放”状态或相当于“开放”状态的状态的装置,其中,“开放”状态指示该第一规则容器处于仍可以被编辑的草稿模式;以及用于响应于确定存在该第一规则容器的某一版本处于“开放”状态或相当于“开放”状态的状态而将该第一规则的特定版本添加到该第一规则容器的处于“开放”状态或相当于“开放”状态的状态的版本的装置。
[0062] 在另一方面,总体上,提供了一种用于管理与数据处理系统中的应用程序一起使用的一个或多个规则的方法。该方法包括:提供第一集成用户界面,以使得能够检入和检出规则规范、编辑该规则集并接收状态转变信息;通过该第一集成用户界面接收来自与第一用户标识符相关联的第一用户的第一指令;响应于来自该第一用户的第一指令,从储存库中检出规则规范,其中,该规则规范具有第一版本号并且指定包括一组规则的规则集,每个规则包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;通过该第一集成用户界面接收来自该第一用户的编辑指令;基于来自该第一用户的编辑指令来修正该规则规范;将该规则集与多个状态中的第一状态相关联;通过该第一集成用户界面接收来自该第一用户的第二指令;响应于来自该第一用户的第二指令,将该规则规范检入到该储存库中,并且将第二版本号分配给该规则规范;通过第二集成用户界面,从与第二用户标识符相关联的第二用户接收与该规则集相关联的转变信息;基于该转变信息、和与该规则集相关联的允许转变、以及该第一状态,将该规则集与该多个状态中的第二状态相关联,其中,该第二状态不同于该第一状态;以及将第一数据和第二数据存储在该储存库中,该第一数据将该规则规范的第二版本的改变与该第一用户标识符相关联,并且该第二数据将从该第一状态到该第二状态的转变与该第二用户标识符相关联。
[0063] 多个方面可以包括以下特征中的一个或多个特征。该方法可以包括将第一时间戳和第二时间戳存储在该日志数据对象中,该第一时间戳指示将该规则规范的第二版本检入到该储存库的时间,并且该第二时间戳指示将当前状态与该规则规范相关联的时间。
[0064] 该方法可以包括;将应用程序与该规则集相关联;以及根据该规则集中的规则来执行该应用程序以处理输入记录并产生输出。该第一集成用户界面或该第二集成用户界面中的至少一个还使得能够根据该规则集中的规则来执行该应用程序以处理记录。
[0065] 该方法可以包括:将该规则规范的多个版本存储在该储存库中;以及对于该规则规范的每个版本,存储第一数据和第二数据,该第一数据具有关于与该规则规范的最新修改相关联的用户标识符的信息,该第二数据具有关于与同该规则规范所指定的规则集相关联的对当前状态的分配或从前一状态到当前状态的转变相关联的用户标识符的信息。
[0066] 该方法可以包括:对于该规则规范的每个版本,存储第一时间戳和第二时间戳,该第一时间戳指示将该规则规范检入该储存库中的时间,并且该第二时间戳指示当前状态与该规则规范相关联的时间。
[0067] 该方法可以包括:从该储存库中检索该规则规范的特定版本;以及显示与该规则规范的最新修改相关联的用户标识符,以及与同该规则规范所指定的规则集相关联的对当前状态的分配或从前一状态到当前状态的转变相关联的用户标识符。
[0068] 该方法可以包括:在集成用户界面中提供所显示的第一输入元素,以使得用户能够选择该规则规范的特定版本;以及在该集成用户界面中提供所显示的第二输入元素,以使得该用户能够将应用程序与由该规则规范的所选版本指定的规则集相关联,并且根据由该规则规范的所选版本指定的规则集中的规则来执行该应用程序以处理输入记录并产生输出。
[0069] 该方法可以包括:将该规则规范的多个版本存储在该储存库中;以及对于该规则规范的每个版本,存储第一数据和第二数据,该第一数据具有关于与该规则规范的最新修改相关联的用户标识符的信息,该第二数据具有关于与同该规则规范所指定的规则集相关联的对当前状态的分配或从前一状态到当前状态的转变相关联的用户标识符的信息。
[0070] 该方法可以包括:对于该规则规范的每个版本,存储第一时间戳和第二时间戳,该第一时间戳指示将该规则规范检入该储存库中的时间,并且该第二时间戳指示当前状态与该规则规范相关联的时间。
[0071] 该方法可以包括:将该规则规范的多个版本存储在该储存库中;以及对于该规则规范的每个版本,使得一个或个用户能够将初始状态分配给该规则集或将该规则集从一个状态转变为另一状态;以及每次将该规则规范以与检出该规则规范时相比被修改的状态检入该储存库中时,存储将该初始状态向该规则集的分配或该规则集从一个状态到另一状态的转变与修改了与该规则集相关联的状态的用户的用户标识符相关联的数据,并且存储指示状态被修改的时间的时间戳。
[0072] 该方法可以包括:在集成用户界面中提供所显示的第一输入元素,以使得用户能够选择该规则规范的特定版本;在该集成用户界面中提供所显示的第二输入元素,以使得该用户能够选择特定时间;在该集成用户界面中提供所显示的第三输入元素,以使得该用户能够将应用程序与由该规则规范的所选版本指定的规则集相关联;根据由该规则规范的所选版本指定的规则集中的规则来执行该应用程序以处理输入记录并产生输出;显示在所选时间该规则集的状态;以及显示与该用户相关联的用户标识符,该用户使该规则集与所选时间的状态相关联。
[0073] 将该第一数据和该第二数据存储在该储存库中可以包括存储或修改与该规则集相关联的一个或多个标签,并且该一个或多个标签可以包括指向规则集的相应版本的指针和该规则集的状态的信息。
[0074] 在另一方面,总体上,提供了一种计算机可读介质,该计算机可读介质存储有用于管理与数据处理系统中的应用程序一起使用的一个或多个规则的计算机程序。该计算机程序包括用于使计算系统进行以下操作的指令:提供第一集成用户界面,以使得能够检入和检出规则规范、编辑该规则集并接收状态转变信息;通过该第一集成用户界面接收来自与第一用户标识符相关联的第一用户的第一指令;响应于来自该第一用户的第一指令,从储存库中检出规则规范,其中,该规则规范具有第一版本号并且指定包括一组规则的规则集,每个规则包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;通过该第一集成用户界面接收来自该第一用户的编辑指令;基于来自该第一用户的编辑指令来修正该规则规范;将该规则集与多个状态中的第一状态相关联;通过该第一集成用户界面接收来自该第一用户的第二指令;响应于来自该第一用户的第二指令,将该规则规范检入到该储存库中,并且将第二版本号分配给该规则规范;通过第二集成用户界面,从与第二用户标识符相关联的第二用户接收与该规则集相关联的转变信息;基于该转变信息、和与该规则集相关联的允许转变、以及该第一状态,将该规则集与该多个状态中的第二状态相关联,其中,该第二状态不同于该第一状态;将第一数据和第二数据存储在该储存库中,该第一数据将该规则规范的第二版本的改变与该第一用户标识符相关联,并且该第二数据将从该第一状态到该第二状态的转变与该第二用户标识符相关联。
[0075] 在另一方面,总体上,提供了一种用于管理与应用程序一起使用的一个或多个规则的系统。该系统包括:数据存储系统,该数据存储系统存储一个或多个规则容器;至少一个输出设备或端口,用于提供图形用户界面;以及计算机系统,该计算机系统耦合到该数据存储系统和该至少一个输出设备或端口。该计算机系统包括用于以下操作的电路系统:提供第一集成用户界面,以使得能够检入和检出规则规范、编辑该规则集并接收状态转变信息;通过该第一集成用户界面接收来自与第一用户标识符相关联的第一用户的第一指令;响应于来自该第一用户的第一指令,从储存库中检出规则规范,其中,该规则规范具有第一版本号并且指定包括一组规则的规则集,每个规则包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;通过该第一集成用户界面接收来自该第一用户的编辑指令;基于来自该第一用户的编辑指令来修正该规则规范;将该规则集与多个状态中的第一状态相关联;通过该第一集成用户界面接收来自该第一用户的第二指令;响应于来自该第一用户的第二指令,将该规则规范检入到该储存库中,并且将第二版本号分配给该规则规范;通过第二集成用户界面,从与第二用户标识符相关联的第二用户接收与该规则集相关联的转变信息;基于该转变信息、和与该规则集相关联的允许转变、以及该第一状态,将该规则集与该多个状态中的第二状态相关联,其中,该第二状态不同于该第一状态;以及将第一数据和第二数据存储在该储存库中,该第一数据将该规则规范的第二版本的改变与该第一用户标识符相关联,并且该第二数据将从该第一状态到该第二状态的转变与该第二用户标识符相关联。
[0076] 在另一方面,总体上,提供了一种用于管理与应用程序一起使用的一个或多个规则的系统。该系统包括:用于提供第一集成用户界面以使得能够检入和检出规则规范、编辑该规则集并接收状态转变信息的装置;用于通过该第一集成用户界面接收来自与第一用户标识符相关联的第一用户的第一指令的装置;用于响应于来自该第一用户的第一指令而从储存库中检出规则规范的装置,其中,该规则规范具有第一版本号并且指定包括一组规则的规则集,每个规则包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;用于通过该第一集成用户界面接收来自该第一用户的编辑指令的装置;用于基于来自该第一用户的编辑指令来修正该规则规范的装置;用于将该规则集与多个状态中的第一状态相关联的装置;用于通过该第一集成用户界面接收来自该第一用户的第二指令的装置;用于响应于来自该第一用户的第二指令而将该规则规范检入到该储存库中并且将第二版本号分配给该规则规范的装置;用于通过第二集成用户界面从与第二用户标识符相关联的第二用户接收与该规则集相关联的转变信息的装置;用于基于该转变信息、和与该规则集相关联的允许转变、以及该第一状态而将该规则集与该多个状态中的第二状态相关联的装置,其中,该第二状态不同于该第一状态;以及用于将第一数据和第二数据存储在该储存库中的装置,该第一数据将该规则规范的第二版本的改变与该第一用户标识符相关联,并且该第二数据将从该第一状态到该第二状态的转变与该第二用户标识符相关联。
[0077] 在另一方面,总体上,一种用于管理与数据处理系统中的应用程序一起使用的一个或多个规则容器的方法,每个规则容器包括两个或更多个规则集,该方法包括:提供集成应用开发系统以使得能够检入和检出规则容器以及包含在该规则容器中的规则规范,并且将该规则容器从一种状态转变为另一种状态,其中,该集成应用开发系统包括集成用户界面,该集成用户界面包括用于接收来自用户的指令并向这些用户提供信息的用户界面;以及通过该集成用户界面的第一界面接收来自与第一用户标识符相关联的第一用户的指令。该方法包括:响应于来自该第一用户的第一指令而从储存库中检出规则容器,该规则容器至少包括第一规则规范和第二规则规范,其中,该规则容器具有第一版本号,该第一规则规范具有第二版本号,该第二规则规范具有第三版本号,该第一规则规范和该第二规则规范中的每一个指定包括一组规则的规则集,每个规则包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;将由该第一规则规范指定的第一规则集与规则集的多个状态中的第一状态相关联;将该规则容器与规则容器的多个状态中的第一状态相关联;以及将该规则容器检入到该储存库中并将第四版本号分配给该规则容器,并将第五版本号分配给该第一规则规范。
[0078] 多个方面可以包括以下特征中的一个或多个特征。该方法可以包括:通过该集成用户界面的第一界面接收与该规则容器相关联的第一转变信息和与该第一规则集相关联的第二转变信息,该第一转变信息和该第二转变信息由该第一用户提供;基于该第一转变信息和与该规则容器相关联的允许转变,将该规则容器与规则容器的多个状态中的第二状态相关联,其中,规则容器的第二状态不同于规则容器的第一状态;基于该第二转变信息和与该第一规则集相关联的允许转变,将该第一规则集与规则集的多个状态中的第二状态相关联,其中,规则集的第二状态不同于规则集的第一状态;以及将第一日志数据、第二日志数据和第三日志数据存储在日志数据对象中,该第一日志数据指定该第一用户检出该规则容器,该第二日志数据指定该第一用户批准该规则容器从规则容器的第一状态转变为第二状态,并且该第三日志数据指定该第一用户批准该第一规则集从规则集的第一状态转变为第二状态。
[0079] 该日志数据对象中的第一日志数据可以指定该第一用户检出具有该第一版本号的规则容器,该第二日志数据可以指定该第一用户批准具有该第一版本号的规则容器从规则容器的第一状态转变为第二状态,并且该第三日志数据可以指定该第一用户批准具有该第二版本号的第一规则集从规则集的第一状态转变为第二状态。
[0080] 该方法可以包括:通过该集成用户界面的第二界面接收来自与第二用户标识符相关联的第二用户的第二指令;响应于来自该第二用户的第二指令,从该储存库中检出该规则容器;通过该集成用户界面的第二界面接收与该规则容器相关联的第三转变信息和与该第一规则集相关联的第四转变信息,该第三转变信息和该第四转变信息由该第二用户提供;基于该第三转变信息和与该规则容器相关联的允许转变,将该规则容器与规则容器的多个状态中的第三状态相关联,其中,规则容器的第三状态不同于规则容器的第二状态;基于该第四转变信息和与该第一规则集相关联的允许转变,将该第一规则集与规则集的多个状态中的第三状态相关联,其中,规则集的第三状态不同于规则集的第二状态;以及将第四日志数据、第五日志数据和第六日志数据存储在该日志数据对象中,该第四日志数据指定该第二用户检出该规则容器,该第五日志数据指定该第二用户批准该规则容器从规则容器的第二状态转变为第三状态,并且该第六日志数据指定该第二用户批准该第一规则集从规则集的第二状态转变为第三状态。
[0081] 该日志数据对象中的第四日志数据可以指定该第二用户检出具有该第四版本号的规则容器,该第五日志数据可以指定该第二用户批准具有该第四版本号的规则容器从规则容器的第二状态转变为第三状态,并且该第六日志数据可以指定该第二用户批准具有该第五版本号的第一规则集从规则集的第一状态转变为第二状态。
[0082] 该方法可以包括:通过该集成用户界面的第二界面接收来自与第二用户标识符相关联的第二用户的第二指令;响应于来自该第二用户的第二指令,从该储存库中检出该规则容器,并通过该集成用户界面的第二界面接收来自该第二用户的第三指令。该方法可以包括:响应于来自该第二用户的第三指令,执行以下各项操作中的至少一项:(i)将应用程序与该规则容器相关联并根据该规则容器中的规则集中的规则来执行该应用程序以处理输入记录并产生输出,或(ii)检索先前已存储的通过先前使用该规则容器中的规则集中的规则来执行应用程序以处理输入记录所产生的输出。
[0083] 该方法可以包括:将第一日志数据、第二日志数据和第三日志数据存储在日志数据对象中,该第一日志数据指定该第一用户在第一时间点检出该规则容器,该第二日志数据指定该第二用户在第二时间点检出该规则容器,并且该第三日志数据指定该第二用户执行以下各项操作中的至少一项:(i)根据该规则容器中的规则集中的规则来执行该应用程序以处理输入记录并且产生输出,或(ii)检索先前已存储的通过先前使用该规则容器中的规则集中的规则来执行该应用程序以处理输入记录所产生的输出。
[0084] 该方法可以包括:通过该集成用户界面的第三界面接收来自与第三用户标识符相关联的第三用户的第四指令;响应于来自该第三用户的第四指令而从该储存库中检出该规则容器;通过该集成用户界面的第三界面接收来自该第三用户的转变信息;以及响应于来自该第三用户的转变信息而将该规则容器转变为指示该规则容器准备好被发布的发布状态。
[0085] 该方法可以包括:将第一日志数据、第二日志数据、第三日志数据、第四日志数据和第五日志数据存储在日志数据对象中,该第一日志数据指定该第一用户在第一时间点检出该规则容器,该第二日志数据指定该第二用户在第二时间点检出该规则容器,该第三日志数据指定该第二用户执行以下各项操作中的至少一项:(i)根据该规则容器中的规则集中的规则来执行该应用程序以处理输入记录并且产生输出,或(ii)检索先前已存储的作为先前使用该规则容器中的规则集中的规则来执行该应用程序以处理输入记录的结果的输出,该第四日志数据指定该第三用户在第三时间点检出该规则容器,并且该第五日志数据指定该第三用户批准将该规则容器转变为该发布状态。
[0086] 在另一方面,总体上,提供了一种计算机可读介质,该计算机可读介质存储有用于管理与数据处理系统中的应用程序一起使用的一个或多个规则容器的计算机程序。该计算机程序包括用于使计算系统进行以下操作的指令:提供集成应用开发系统以使得能够检入和检出规则容器以及包含在该规则容器中的规则规范,并且将该规则容器从一种状态转变为另一种状态,其中,该集成应用开发系统包括集成用户界面,该集成用户界面包括用于接收来自用户的指令并向这些用户提供信息的用户界面;以及通过该集成用户界面的第一界面接收来自与第一用户标识符相关联的第一用户的指令。该计算机程序包括用于使该计算系统进行以下操作的指令:响应于来自该第一用户的第一指令而从储存库中检出规则容器,该规则容器至少包括第一规则规范和第二规则规范,其中,该规则容器具有第一版本号,该第一规则规范具有第二版本号,该第二规则规范具有第三版本号,该第一规则规范和该第二规则规范中的每一个指定包括一组规则的规则集,每个规则包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;将由该第一规则规范指定的第一规则集与规则集的多个状态中的第一状态相关联;将该规则容器与规则容器的多个状态中的第一状态相关联;以及将该规则容器检入到该储存库中并将第四版本号分配给该规则容器,并将第五版本号分配给该第一规则规范。
[0087] 在另一方面,总体上,提供了一种用于管理与应用程序一起使用的一个或多个规则容器的系统。该系统包括:数据存储系统,该数据存储系统存储一个或多个规则容器;至少一个输出设备或端口,用于提供图形用户界面;以及计算机系统,该计算机系统耦合到该数据存储系统和该至少一个输出设备或端口。该计算机系统包括用于以下操作的电路系统:提供集成应用开发系统以使得能够检入和检出规则容器以及包含在该规则容器中的规则规范,并且将该规则容器从一种状态转变为另一种状态,其中,该集成应用开发系统包括集成用户界面,该集成用户界面包括用于接收来自用户的指令并向这些用户提供信息的用户界面;以及通过该集成用户界面的第一界面接收来自与第一用户标识符相关联的第一用户的指令。该计算机系统包括用于以下操作的电路系统:响应于来自该第一用户的第一指令而从储存库中检出规则容器,该规则容器至少包括第一规则规范和第二规则规范,其中,该规则容器具有第一版本号,该第一规则规范具有第二版本号,该第二规则规范具有第三版本号,该第一规则规范和该第二规则规范中的每一个指定包括一组规则的规则集,每个规则包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;将由该第一规则规范指定的第一规则集与规则集的多个状态中的第一状态相关联;将该规则容器与规则容器的多个状态中的第一状态相关联;以及将该规则容器检入到该储存库中并将第四版本号分配给该规则容器,并将第五版本号分配给该第一规则规范。
[0088] 在另一方面,总体上,提供了一种用于管理与应用程序一起使用的一个或多个规则的系统。该系统包括:用于提供集成应用开发系统以使得能够检入和检出规则容器以及包含在该规则容器中的规则规范的装置,并且将该规则容器从一种状态转变为另一种状态,其中,该集成应用开发系统包括集成用户界面,该集成用户界面包括用于接收来自用户的指令并向这些用户提供信息的用户界面;用于通过该集成用户界面的第一界面接收来自与第一用户标识符相关联的第一用户的指令的装置;用于响应于来自该第一用户的第一指令而从储存库中检出规则容器的装置,该规则容器至少包括第一规则规范和第二规则规范,其中,该规则容器具有第一版本号,该第一规则规范具有第二版本号,该第二规则规范具有第三版本号,该第一规则规范和该第二规则规范中的每一个指定包括一组规则的规则集,每个规则包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;用于响应于来自该第一用户的第一指令而将由该第一规则规范指定的第一规则集与规则集的多个状态中的第一状态相关联的装置;用于响应于来自该第一用户的第一指令而将由该规则容器与规则容器的多个状态中的第一状态相关联的装置;以及用于响应于来自该第一用户的第一指令而将该规则容器检入到该储存库中、并将第四版本号分配给该规则容器、并将第五版本号分配给该第一规则规范的装置。
[0089] 在另一方面,总体上,提供了一种用于管理与数据处理系统中的应用程序一起使用的一个或多个规则的方法。该方法包括:提供集成用户界面以使得能够对规则集进行版本控制和业务流程管理,其中,每个规则集包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;通过该集成用户界面的第一界面接收来自与第一用户标识符相关联的第一用户的指令;响应于来自该第一用户的指令,从储存库中检出具有第一版本号的第一规则集、将该第一规则集从第一状态转变为第二状态、以及将该第一规则集检入到该储存库中并将第二版本号分配给该第一规则集;以及通过该集成用户界面的第二界面接收来自与第二用户标识符相关联的第二用户的指令。该方法包括:响应于来自该第二用户的指令,从该储存库中检出具有该第二版本号的第一规则集、将该第一规则集从该第二状态转变为第三状态、以及将该第一规则集检入到该储存库中。该方法包括将指定以下各项的信息存储在公共日志中:该第一用户检出具有该第一版本号的第一规则集,该第一用户批准该第一规则集从该第一状态转变为该第二状态,该第二用户检出具有该第二版本号的第一规则集,并且该第二用户批准该第一规则集从该第二状态转变为该第三状态。
[0090] 多个方面可以包括以下特征中的一个或多个特征。该集成用户界面可以被配置为还使得能够对规则集进行模拟,并且该方法可以包括:通过该集成用户界面的第三界面接收来自与第三用户标识符相关联的第三用户的指令。该方法可以包括响应于来自该第三用户的指令,从该储存库中检出具有该第二版本号的第一规则集;并且执行以下各项操作中的至少一项:(i)将应用程序与该第一规则集相关联并根据该第一规则集中的规则来执行该应用程序以处理输入记录并产生输出,或(ii)检索先前已存储的通过先前使用该第一规则集中的规则来执行应用程序以处理输入记录所产生的输出。该方法可以包括将指定以下各项的信息存储在该公共日志中:该第三用户检出具有该第二版本号的第一规则集;并且该第三用户执行以下各项操作中的至少一项:(i)根据该第一规则集中的规则来执行该应用程序以处理输入记录并产生输出,或(ii)检索先前已存储的通过先前使用该第一规则集中的规则来执行应用程序以处理输入记录所产生的输出。
[0091] 该集成用户界面可以被配置为还使得能够对规则集进行编辑,并且该方法可以包括:通过该集成用户界面的第一界面接收来自该第一用户的编辑指令。该方法可以包括:响应于来自该第一用户的编辑指令来编辑第一规则集。该方法可以包括将指定该第一用户编辑了该第一规则集的信息存储在该公共日志中。
[0092] 该第一界面可以被示出在该第一用户的显示器上,并且该第二界面可以被示出在该第二用户的显示器上。
[0093] 在另一方面,总体上,提供了一种计算机可读介质,该计算机可读介质存储有用于管理与数据处理系统中的应用程序一起使用的一个或多个规则的计算机程序。该计算机程序包括用于使计算系统进行以下操作的指令:提供集成用户界面以使得能够对规则集进行版本控制和业务流程管理,其中,每个规则集包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;以及通过该集成用户界面提供的第一界面接收来自与第一用户标识符相关联的第一用户的指令;响应于来自该第一用户的指令,从储存库中检出具有第一版本号的第一规则集、将该第一规则集从第一状态转变为第二状态、以及将该第一规则集检入到该储存库中并将第二版本号分配给该第一规则集;通过由该集成用户界面提供的第二界面接收来自与第二用户标识符相关联的第二用户的指令;响应于来自该第二用户的指令,从该储存库中检出具有该第二版本号的第一规则集、将该第一规则集从该第二状态转变为第三状态、以及将该第一规则集检入到该储存库中;以及将指定以下各项的信息存储在公共日志中:该第一用户检出具有该第一版本号的第一规则集,该第一用户批准该第一规则集从该第一状态转变为该第二状态,该第二用户检出具有该第二版本号的第一规则集,并且该第二用户批准该第一规则集从该第二状态转变为该第三状态。
[0094] 在另一方面,总体上,提供了一种用于管理与应用程序一起使用的一个或多个规则的系统。该系统包括:数据存储系统,该数据存储系统存储一个或多个规则;至少一个输出设备或端口,用于提供图形用户界面;以及计算机系统,该计算机系统耦合到该数据存储系统和该至少一个输出设备或端口。该计算机系统包括用于以下操作的电路系统:提供集成用户界面以使得能够对规则集进行版本控制和业务流程管理,其中,每个规则集包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;通过该集成用户界面提供的第一界面接收来自与第一用户标识符相关联的第一用户的指令;响应于来自该第一用户的指令,从储存库中检出具有第一版本号的第一规则集、将该第一规则集从第一状态转变为第二状态、以及将该第一规则集检入到该储存库中并将第二版本号分配给该第一规则集;通过由该集成用户界面提供的第二界面接收来自与第二用户标识符相关联的第二用户的指令;响应于来自该第二用户的指令,从该储存库中检出具有该第二版本号的第一规则集、将该第一规则集从该第二状态转变为第三状态、以及将该第一规则集检入到该储存库中;以及将指定以下各项的信息存储在公共日志中:该第一用户检出具有该第一版本号的第一规则集,该第一用户批准该第一规则集从该第一状态转变为该第二状态,该第二用户检出具有该第二版本号的第一规则集,并且该第二用户批准该第一规则集从该第二状态转变为该第三状态。
[0095] 在另一方面,总体上,提供了一种用于管理与应用程序一起使用的一个或多个规则的系统。该系统包括:用于提供集成用户界面以使得能够对规则集进行版本控制和业务流程管理的装置,其中,每个规则集包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;用于通过由该集成用户界面提供的第一界面接收来自与第一用户标识符相关联的第一用户的指令的装置;用于响应于来自该第一用户的指令而从储存库中检出具有第一版本号的第一规则集、将该第一规则集从第一状态转变为第二状态、以及将该第一规则集检入到该储存库中并将第二版本号分配给该第一规则集的装置;用于通过该集成用户界面的第二界面接收来自与第二用户标识符相关联的第二用户的指令的装置;用于响应于来自该第二用户的指令而从该储存库中检出具有该第二版本号的第一规则集、将该第一规则集从该第二状态转变为第三状态、并将该第一规则集检入到该储存库中的装置;以及用于将指定以下各项的信息存储在公共日志中的装置:该第一用户检出具有该第一版本号的第一规则集,该第一用户批准该第一规则集从该第一状态转变为该第二状态,该第二用户检出具有该第二版本号的第一规则集,并且该第二用户批准该第一规则集从该第二状态转变为该第三状态。
[0096] 在另一方面,总体上,提供了一种用于管理与数据处理系统中的应用程序一起使用的一个或多个规则的方法。该方法包括:提供集成用户界面以使得能够对规则容器进行版本控制和业务流程管理,其中,每个规则容器包括多个规则集,每个规则集包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,并且每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;以及通过该集成用户界面的第一界面接收来自与第一用户标识符相关联的第一用户的指令。该方法包括:响应于来自该第一用户的指令,从储存库中检出第一规则容器的第一版本,其中,该第一规则容器的第一版本与第一规则集的第一版本和第二规则集的第一版本相关联,该第一规则容器的第一版本包括指向该第一规则集的第一版本的指针和指向该第二规则集的第一版本的指针,并且该第二规则集的第一版本与规则集的第一状态相关联;生成该第一规则容器的第二版本;生成作为该第二规则集的第一版本的副本的该第二规则集的第二版本,其中,该第二规则集的第二版本与规则集的第一状态相关联;将该第二规则集的第一版本从规则集的第一状态转变为规则集的第二状态;将指向该第一规则集的第一版本的指针和指向该第二规则集的第二版本的指针添加到该第一规则容器的第二版本中;以及将该第一规则容器的第一版本和第二版本检入回该储存库中。
[0097] 多个方面可以包括以下特征中的一个或多个特征。该方法可以包括将以下各项中的至少一项存储在日志数据对象中:(i)指定以下各项的信息:该第一用户检出该第一规则容器的第一版本、生成该第一规则容器的第二版本、并且批准该第二规则集的第一版本从该第一状态转变为该第二状态,或(ii)指定以下各项的信息:检出该第一规则容器的第一版本与第一时间戳相关联、生成该第一规则容器的第二版本与第二时间戳相关联、并且将该第二规则集的第一版本从该第一状态转变为该第二状态与第三时间戳相关联。
[0098] 该第一规则容器的第一版本最初可以与规则容器的第一状态相关联,并且该方法可以包括:响应于来自该第一用户的指令而将该第一规则容器的第一版本从规则容器的第一状态转变为规则容器的第二状态。
[0099] 该方法可以包括将以下各项中的至少一项存储在该日志数据对象中:(i)指定该第一用户批准该第一规则容器的第一版本从该第一状态转变为该第二状态的信息;或(ii)指定该第一规则容器的第一版本从该第一状态转变为该第二状态与该第一时间戳相关联的信息。
[0100] 该方法可以包括:通过该集成用户界面的第二界面接收来自与第二用户标识符相关联的第二用户的指令。该方法可以包括:响应于来自该第二用户的指令,从该储存库中检出该第一规则容器的第一版本,以及执行以下各项操作中的至少一项:(i)将应用程序与该第一规则容器的第一版本相关联,并根据该第一规则容器的第一版本中的规则集中的规则执行该应用程序以处理输入记录并产生输出,或(ii)检索先前已存储的通过先前使用该第一规则容器的第一版本中的规则集中的规则来执行应用程序以处理输入记录所产生的输出。
[0101] 该方法可以包括将以下各项中的至少一项存储在日志数据对象中:(i)指定以下各项的信息:该第二用户检出该第一规则容器的第一版本并且结合该第一规则容器的第一版本来执行该应用程序,(ii)指定以下各项的信息:该第二用户检出该第一规则容器的第一版本并且检索先前已存储的通过先前使用该第一规则容器的第一版本中的规则集中的规则来执行该应用程序以处理输入记录所产生的输出,(iii)指定以下各项的信息:检出该第一规则容器的第一版本与第一时间戳相关联、并且结合该第一规则容器的第一版本来执行该应用程序与第二时间戳相关联,或(iv)指定以下各项的信息:检出该第一规则容器的第一版本与第一时间戳相关联、并且检索先前已存储的通过先前使用该第一规则容器的第一版本中的规则集中的规则来执行该应用程序以处理输入记录所产生的输出与第二时间戳相关联。
[0102] 该第一界面可以被提供给该第一用户的显示器,并且该第二界面可以被提供给该第二用户的显示器。
[0103] 该方法可以包括:通过该集成用户界面的第二界面接收来自与第二用户标识符相关联的第二用户的指令。该方法可以包括:响应于来自该第二用户的指令,从该储存库中检出该第一规则容器的第一版本;编辑该第一规则容器中的第一规则集的第一版本;将该第一规则集的第一版本从规则集的第一状态转变为规则集的第二状态;以及将该第一规则容器的第一版本检入回该储存库中。
[0104] 该方法可以包括将以下各项中的至少一项存储在日志数据对象中:(i)指定以下各项的信息:该第二用户检出该第一规则容器的第一版本、编辑该第一规则集的第一版本、并且批准该第一规则集的第一版本从该第一状态转变为该第二状态,或(ii)指定以下各项的信息:检出该第一规则容器的第一版本与第一时间戳相关联、编辑该第一规则集的第一版本与第二时间戳相关联、并且将该第一规则集的第一版本从该第一状态转变为该第二状态与第三时间戳相关联。
[0105] 在另一方面,总体上,提供了一种计算机可读介质,该计算机可读介质存储有用于管理与数据处理系统中的应用程序一起使用的一个或多个规则容器的计算机程序。该计算机程序包括用于使计算系统进行以下操作的指令:提供集成用户界面以使得能够对规则容器进行版本控制和业务流程管理,其中,每个规则容器包括多个规则集,每个规则集包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,并且每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;以及通过该集成用户界面的第一界面接收来自与第一用户标识符相关联的第一用户的指令。该计算机程序包括用于使该计算系统进行以下操作的指令:响应于来自该第一用户的指令,从储存库中检出第一规则容器的第一版本,其中,该第一规则容器的第一版本与第一规则集的第一版本和第二规则集的第一版本相关联,该第一规则容器的第一版本包括指向该第一规则集的第一版本的指针和指向该第二规则集的第一版本的指针,并且该第二规则集的第一版本与规则集的第一状态相关联;生成该第一规则容器的第二版本;生成作为该第二规则集的第一版本的副本的该第二规则集的第二版本,其中,该第二规则集的第二版本与规则集的第一状态相关联;将该第二规则集的第一版本从规则集的第一状态转变为规则集的第二状态;向该第一规则容器的第二版本添加指向该第一规则集的第一版本的指针和指向该第二规则集的第二版本的指针;以及将该第一规则容器的第一版本和第二版本检入回该储存库中。
[0106] 在另一方面,总体上,提供了一种用于管理与应用程序一起使用的一个或多个规则容器的系统。该系统包括:数据存储系统,该数据存储系统存储一个或多个规则容器;至少一个输出设备或端口,用于提供图形用户界面;以及计算机系统,该计算机系统耦合到该数据存储系统和该至少一个输出设备或端口。该计算机系统包括用于以下操作的电路系统:提供集成用户界面以使得能够对规则容器进行版本控制和业务流程管理,其中,每个规则容器包括多个规则集,每个规则集包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,并且每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;以及通过该集成用户界面的第一界面接收来自与第一用户标识符相关联的第一用户的指令。该计算机系统包括用于以下操作的电路系统:响应于来自该第一用户的指令,从储存库中检出第一规则容器的第一版本,其中,该第一规则容器的第一版本与第一规则集的第一版本和第二规则集的第一版本相关联,该第一规则容器的第一版本包括指向该第一规则集的第一版本的指针和指向该第二规则集的第一版本的指针,并且该第二规则集的第一版本与规则集的第一状态相关联;生成该第一规则容器的第二版本;生成作为该第二规则集的第一版本的副本的该第二规则集的第二版本,其中,该第二规则集的第二版本与规则集的第一状态相关联;将该第二规则集的第一版本从规则集的第一状态转变为规则集的第二状态;向该第一规则容器的第二版本添加指向该第一规则集的第一版本的指针和指向该第二规则集的第二版本的指针;以及将该第一规则容器的第一版本和第二版本检入回该储存库中。
[0107] 在另一方面,总体上,提供了一种用于管理与应用程序一起使用的一个或多个规则容器的系统。该系统包括:用于提供集成用户界面以使得能够对规则容器进行版本控制和业务流程管理的装置,其中,每个规则容器包括多个规则集,每个规则集包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,并且每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;用于通过该集成用户界面的第一界面接收来自与第一用户标识符相关联的第一用户的指令的装置;用于响应于来自该第一用户的指令而从储存库中检出第一规则容器的第一版本的装置,其中,该第一规则容器的第一版本与第一规则集的第一版本和第二规则集的第一版本相关联,该第一规则容器的第一版本包括指向该第一规则集的第一版本的指针和指向该第二规则集的第一版本的指针,并且该第二规则集的第一版本与规则集的第一状态相关联;用于响应于来自该第一用户的指令而生成该第一规则容器的第二版本的装置;用于响应于来自该第一用户的指令而生成作为该第二规则集的第一版本的副本的该第二规则集的第二版本的装置,其中,该第二规则集的第二版本与规则集的第一状态相关联;用于响应于来自该第一用户的指令而将该第二规则集的第一版本从规则集的第一状态转变为规则集的第二状态的装置;用于响应于来自该第一用户的指令而向该第一规则容器的第二版本添加指向该第一规则集的第一版本的指针和指向该第二规则集的第二版本的指针的装置;以及用于响应于来自该第一用户的指令而将该第一规则容器的第一版本和第二版本检入回该储存库中的装置。
[0108] 在另一方面,总体上,提供了一种用于管理与数据处理系统中的应用程序一起使用的一个或多个规则的方法。该方法包括:提供集成用户界面以使得用户能够与集成应用开发系统交互以对规则容器进行版本控制和业务流程管理,其中,每个规则容器包括多个规则集,每个规则集包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,并且每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;将第一规则容器的多个版本存储在储存库中,该第一规则容器的每个版本包括多个规则集;以及通过集成用户界面的第一界面接收来自与第一用户标识符相关联的第一用户的指令。该方法包括响应于来自该第一用户的指令而从该储存库中检出该第一规则容器的特定版本;执行以下各项操作中的至少一项:(i)将该第一规则容器的特定版本从第一状态转变为第二状态,或(ii)将该第一规则容器的特定版本中的特定规则集从第一状态转变为第二状态;以及将该第一规则容器的特定版本检入回该储存库中。
[0109] 多个方面可以包括以下特征中的一个或多个特征。该方法可以包括将以下各项中的至少一项存储在日志数据对象中:(i)指定以下各项的信息:该第一用户检出该第一规则容器的特定版本并批准该第一规则容器的特定版本从该第一状态转变为该第二状态,(ii)指定以下各项的信息:检出该第一规则容器的特定版本与第一时间戳相关联、并且将该第一规则容器的特定版本从该第一状态转变为该第二状态与第二时间戳相关联,(iii)指定以下各项的信息:该第一用户检出该第一规则容器的特定版本并批准该第一规则容器的特定版本中的特定规则集从该第一状态转变为该第二状态,或(iv)指定以下各项的信息:检出该第一规则容器的特定版本与第一时间戳相关联、并且将该第一规则容器的特定版本中的特定规则集从该第一状态转变为该第二状态与第二时间戳相关联。
[0110] 对于包括多个规则集的每个规则容器,该规则容器包括指向这些规则集的指针,并且每个指针可以指向该储存库中存储相应规则集的位置
[0111] 至少两个不同的规则容器可以包括指向公共规则集的指针。
[0112] 该方法可以包括通过该第一界面接收来自该第一用户的第二组指令。该方法可以包括:响应于来自该第一用户的第二组指令,从该储存库中检出该第二规则容器的特定版本;执行以下各项操作中的至少一项:(i)将应用程序与该第二规则容器的特定版本相关联并根据该第二规则容器的特定版本中的规则集中的规则来执行该应用程序以处理输入记录并产生输出,或(ii)检索先前已存储的通过先前执行与该第二规则容器的特定版本相关联的应用程序所产生的输出;以及将该第二规则容器的特定版本检入回该储存库中。
[0113] 该方法可以包括将以下各项中的至少一项存储在日志数据对象中:(i)指定以下各项的信息:该第一用户检出该第二规则容器的特定版本并结合该第二规则容器的特定版本来执行该应用程序,(ii)指定以下各项的信息:该第一用户检出该第二规则容器的特定版本,并检索先前已存储的通过先前结合该第二规则容器的特定版本来执行该应用程序所产生的输出,(iii)指定以下各项的信息:检出该第二规则容器的特定版本与第一时间戳相关联、并且结合该第二规则容器的特定版本来执行该应用程序与第二时间戳相关联,或(iv)指定以下各项的信息:检出该第二规则容器的特定版本与第一时间戳相关联、并且检索先前已存储的通过先前结合该第二规则容器的特定版本执行该应用程序所产生的输出与第二时间戳相关联。
[0114] 该方法可以包括:通过该集成用户界面使得规则容器的一个或多个创作者能够编辑该规则容器并批准该规则容器从第一状态转变为第二状态,其中,该第一状态表示该规则容器正被编辑,并且第二状态表示该规则容器已准备好进行审阅。该方法可以包括通过该集成用户界面使得一个或多个审阅者能够进行以下操作:审阅该规则容器的内容;执行以下各项操作中的至少一项:(i)将应用程序与该规则容器相关联并根据该规则容器中的规则集中的规则来执行该应用程序以处理输入记录并产生输出,或(ii)检索先前已存储的通过先前结合该规则容器来执行应用程序所产生的输出;以及执行以下各项操作中的至少一项:(i)拒绝该规则容器并使该规则容器从该第二状态转变为该第一状态,或(ii)批准该规则容器从该第二状态转变为第三状态,其中,该第三状态表示该规则容器准备好以供发布。
[0115] 该方法可以包括:通过该集成用户界面使得一个或多个用户能够管理该第一规则容器的多个发布版,该多个发布版包括当前发布版和较早发布版;从该储存库中检索该第一规则容器的较早发布版;以及执行以下各项操作中的至少一项:(i)将应用程序与该第一规则容器的较早发布版相关联,并且根据该第一规则容器的较早发布版中的规则集中的规则来执行该应用程序以处理输入记录并产生输出,或(ii)检索先前已存储的通过先前结合该第一规则容器的较早发布版来执行该应用程序所产生的输出。
[0116] 该方法可以包括通过该集成用户界面使得该一个或多个用户能够查阅日志数据对象,该日志数据对象具有关于以下各项的信息:对该第一规则容器的较早发布版进行了哪些修改、谁进行了这些修改、何时进行了这些修改、谁批准了将该第一规则容器的较早发布版从该第一状态转变为该第二状态、以及谁批准了将该第一规则容器的较早发布版从该第二状态转变为该第三状态。
[0117] 在另一方面,总体上,提供了一种计算机可读介质,该计算机可读介质存储有用于管理与数据处理系统中的应用程序一起使用的一个或多个规则容器的计算机程序。该计算机程序包括用于使计算系统进行以下操作的指令:提供集成用户界面以使得用户能够与集成应用开发系统交互以对规则容器进行版本控制和业务流程管理,其中,每个规则容器包括多个规则集,每个规则集包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,并且每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;将第一规则容器的多个版本存储在储存库中,该第一规则容器的每个版本包括多个规则集;以及通过集成用户界面的第一界面接收来自与第一用户标识符相关联的第一用户的指令。该计算机程序包括用于使该计算系统进行以下操作的指令:响应于来自该第一用户的指令而从该储存库中检出该第一规则容器的特定版本;执行以下各项操作中的至少一项:(i)将该第一规则容器的特定版本从第一状态转变为第二状态,或(ii)将该第一规则容器的特定版本中的特定规则集从第一状态转变为第二状态;以及将该第一规则容器的特定版本检入回该储存库中。
[0118] 在另一方面,总体上,提供了一种用于管理与应用程序一起使用的一个或多个规则容器的系统。该系统包括:数据存储系统,该数据存储系统存储一个或多个规则容器;至少一个输出设备或端口,用于提供图形用户界面;以及计算机系统,该计算机系统耦合到该数据存储系统和该至少一个输出设备或端口。该计算机系统包括用于以下操作的电路系统:提供集成用户界面以使得用户能够与集成应用开发系统交互以对规则容器进行版本控制和业务流程管理,其中,每个规则容器包括多个规则集,每个规则集包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,并且每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;将第一规则容器的多个版本存储在储存库中,该第一规则容器的每个版本包括多个规则集;以及通过集成用户界面的第一界面接收来自与第一用户标识符相关联的第一用户的指令。该计算机系统包括用于以下操作的电路系统:响应于来自该第一用户的指令而从该储存库中检出该第一规则容器的特定版本;执行以下各项操作中的至少一项:(i)将该第一规则容器的特定版本从第一状态转变为第二状态,或(ii)将该第一规则容器的特定版本中的特定规则集从第一状态转变为第二状态;以及将该第一规则容器的特定版本检入回该储存库中。
[0119] 在另一方面,总体上,提供了一种用于管理与应用程序一起使用的一个或多个规则容器的系统。该系统包括:用于提供集成用户界面以使得用户能够与集成应用开发系统交互以对规则容器进行版本控制和业务流程管理的装置,其中,每个规则容器包括多个规则集,每个规则集包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,并且每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;用于将第一规则容器的多个版本存储在储存库中的装置,该第一规则容器的每个版本包括多个规则集;用于通过该集成用户界面的第一界面接收来自与第一用户标识符相关联的第一用户的指令的装置;用于响应于来自该第一用户的指令而从该储存库中检出该第一规则容器的特定版本的装置;用于响应于来自该第一用户的指令执行以下各项操作中的至少一项的装置:(i)将该第一规则容器的特定版本从第一状态转变为第二状态,或(ii)将该第一规则容器的特定版本中的特定规则集从第一状态转变为第二状态;以及用于响应于来自该第一用户的指令将该第一规则容器的特定版本检入回该储存库中的装置。
[0120] 在另一方面,总体上,提供了一种用于管理与数据处理系统中的应用程序一起使用的一个或多个规则的方法。该方法包括:提供集成用户界面以使得能够接收转变信息、将该应用程序与包括一组规则的规则集相关联、并执行该应用程序;接收指定该规则集的规则规范,该规则集中的每个规则包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;将该规则集与多个阶段中的第一阶段相关联;通过该集成用户界面接收与该规则集相关联的转变信息;基于该转变信息、和与该规则集相关联的允许转变、以及该第一阶段,将该规则集与该多个阶段中的第二阶段相关联,其中,该第二阶段不同于该第一阶段;通过该集成用户界面接收用于将该应用程序与该规则集相关联的第一指令;响应于该第一指令,将该应用程序与该规则集相关联;通过该集成用户界面接收用于执行该应用的第二指令;以及响应于该第二指令,根据该规则集中的规则来执行该应用程序以处理输入记录并产生输出。
[0121] 多个方面可以包括以下特征中的一个或多个特征。接收规则规范可以包括接收电子表格,该电子表格具有与这些规则例相对应的多个行。
[0122] 该电子表格可以包括与可用数据值相对应的触发列,并且这些规则例包括与这些可用数据值有关的多组触发准则。
[0123] 每个规则例可以被配置为使得:对于其中该规则例具有一个或多个准则的每个触发列,如果给定记录的一个或多个值满足一个或多个触发准则,则该规则例适用于此记录。
[0124] 该电子表格可以包括一个或多个输出列,每个输出列可以与潜在输出变量相对应,并且该输出变量的值可以由该输出列中的单元格决定,其中,该单元格可以位于与适用于该给定记录的规则例相对应的行上。
[0125] 该单元格可以包括被分配给该输出变量的输出值或被评估以生成该输出值的表达式中的至少一个。
[0126] 该多个阶段可以包括开发生命周期的多个开发阶段。
[0127] 该多个开发阶段可以包括开发阶段或测试阶段中的至少一个。
[0128] 该规则集可以包括用于执行以下各项操作中的至少一项的一组准则:将数据从一种格式转换为另一种格式、关于数据进行确定、或基于一组输入数据生成新数据。
[0129] 该规则规范可以包括具有多个行的规则规范表,每行针对一组一个或多个潜在输入中的每一个定义一个规则例并包含一个关系。
[0130] 这些关系中的至少一个可以包括以下中的一个或多个:具有等于阈值的值、具有高于阈值的值、具有低于阈值的值、具有属于一组值的值、具有与模式匹配的值、具有与另一输入的值的关系、具有与另一规则规范的输出的值的关系、或具有与存储器中的值的关系。
[0131] 这些行中的至少一行还可以包含输出,该输出包括以下中的一个或多个:这些输入值的组合、预定值、或根据这些输入值中的一个或多个计算的值。
[0132] 该方法可以包括:将该规则规范中的多个规则例转换为多个逻辑表达式、将该多个逻辑表达式编译成计算机可执行代码、以及将该计算机可执行代码结合到该应用程序中。
[0133] 该方法可以包括:将该多个规则例转换为变换、以及将该变换与基于图的计算中的组件相关联,该基于图的计算具有通过链接表示数据流的元素而连接的数据处理组件。
[0134] 可允许转变可以包括以下各项中的至少一项:(i)在开发生命周期的最早阶段中的规则集可以被升级到稍后阶段,但不能被进一步降级;(ii)既不在该开发生命周期的最早阶段也不在最后阶段的规则集可以被升级到该开发生命周期的稍后阶段或被降级到较早阶段;或(iii)在该开发生命周期的最后阶段中的规则集可以被降级到较早阶段但不能被进一步升级。
[0135] 该方法可以包括在作为该集成用户界面的一部分的编辑器界面中提供所显示的一个或多个输入元素,包括以下各项中的至少一项:(i)当该规则集处于该开发生命周期的最早阶段时,在该编辑器界面中显示用于升级该规则集的第一输入元素并且不显示用于降级该规则集的输入元素;(ii)当该规则集即不处于最早开发阶段也不处于最后开发阶段时,在该编辑器界面中显示用于升级该规则集的第一输入元素和用于降级该规则集的第二输入元素;或(iii)当该规则集处于最后开发阶段时,在该编辑器界面中示出用于降级该规则集的第二输入元素并且不显示用于升级该规则集的输入元素。
[0136] 该规则集的每个版本都可以在该多个开发阶段之间转变。
[0137] 该方法可以包括接收指定规则集的不同版本的多个规则规范。该方法可以包括:显示该规则集的不同版本的标识符以及与该规则集的不同版本相关联的开发阶段。
[0138] 显示该规则集的不同版本的标识符以及与该规则集的不同版本相关联的阶段可以包括显示该规则集的多个主要版本或次要版本以及与该规则集的主要版本或次要版本相关联的阶段。
[0139] 该方法可以包括:存储该规则集的副本,以及基于与该规则集相关联的更新阶段来命名该规则集的副本。
[0140] 该方法可以包括接收标记规范,该标记规范指定与该规则集相关联的标签的多种可能状态、与这些状态中的每一种状态相关联的一个或多个输入元素、以及与这些输入元素中的每一个输入元素相关联的目标状态。
[0141] 响应于用户与所显示的输入元素的交互,该标签可以与同所显示的输入元素相关联的目标状态相关联。
[0142] 该方法可以包括:使用具有指向该规则集的指针的标签来保持跟踪与该规则集相关联的状态,其中,该标签基于可允许转变在这些状态之间进行转变。
[0143] 该标签可以存储关于与该规则集相关联的审阅历史的信息。
[0144] 该多个阶段可以包括该规则集的批准流程中的多个阶段。
[0145] 在另一方面,总体上,提供了一种用于管理与数据处理系统中的应用程序一起使用的一个或多个规则的方法。该方法包括:接收一组规则规范,每个规则规范指定包括一组规则的规则集,每个规则包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;接收指定以下各项的转变规范:可以与各个规则集相关联的第一多个状态、可以与一组规则集相关联的第二多个状态、与各个规则集相关联的可允许状态转变、以及与该组规则集相关联的可允许状态转变;将每个规则集与该第一多个状态之一相关联;将该组规则集与该第二多个状态之一相关联;接收与这些规则集之一相关联的第一转变信息;基于该第一转变信息、与该规则集相关联的允许转变、以及当前与该规则集相关联的状态,将该规则集与该第一多个状态中的另一个状态相关联;接收与该组规则集相关联的第二转变信息;基于该第二转变信息、与该组相关联的允许转变、以及当前与该组相关联的状态,将该组规则规范与该第二多个状态中的另一个状态相关联;以及将应用程序与该组规则规范相关联,其中,该应用程序被配置为根据由该规则规范指定的规则集中的规则来处理输入记录并产生输出。
[0146] 多个方面可以包括以下特征中的一个或多个特征。该第一多个状态可以包括以下各项中的至少一项:(i)多个开发生命周期状态;或(ii)多个批准流程状态。
[0147] 该第二多个状态可以包括以下各项中的至少一项:(i)多个开发生命周期状态;或(ii)多个批准流程状态。
[0148] 该方法可以包括:将每个规则集与包含关于与该规则集相关联的状态的信息的第一标签相关联,并且当与该规则集相关联的状态改变时更新该第一标签。
[0149] 该方法可以包括:将该组与具有包含关于与该组规则集相关联的状态的信息的第二标签相关联,并且当与该组规则集相关联的状态改变时更新该第二标签。
[0150] 在另一方面,总体上,提供了一种用于管理与数据处理系统中的应用程序一起使用的一个或多个规则的方法。该方法包括:接收指定包括一组规则的规则集的规则规范,每个规则包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;接收指定与该规则集相关联的多个状态之间的可允许转变的转变规范,并且对于每个转变,被授权的一个或多个用户来实施该转变;将该规则集与该多个状态中的第一状态相关联;接收与该规则集相关联的转变信息;验证提供该转变信息的用户有权提供该转变信息;在验证提供该转变信息的用户有权提供该转变信息之后,基于该转变信息、和与该规则集相关联的允许转变、以及该第一状态,将该规则集与该多个状态中的第二状态相关联,其中,该第二状态不同于该第一状态;以及将应用与该规则集相关联,其中,该应用程序被配置为根据该规则集中的规则处理输入记录并产生输出。
[0151] 多个方面可以包括以下特征中的一个或多个特征。该多个状态可以包括以下各项中的至少一项:(i)多个开发生命周期状态;或(ii)多个批准流程状态。
[0152] 该方法可以包括:将每个规则集与包含关于与该规则集相关联的状态的信息的标签相关联,并且当与该规则集相关联的状态改变时更新该标签。
[0153] 在另一方面,总体上,提供了一种计算机可读介质,该计算机可读介质存储有用于管理与数据处理系统中的应用程序一起使用的一个或多个规则的计算机程序。该计算机程序包括用于使计算系统进行以下操作的指令:提供集成用户界面以使得能够接收转变信息、将该应用程序与包括一组规则的规则集相关联、并执行该应用程序;接收指定该规则集的规则规范,该规则集中的每个规则包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;将该规则集与多个阶段中的第一阶段相关联;通过该集成用户界面接收与该规则集相关联的转变信息;基于该转变信息、和与该规则集相关联的允许转变、以及该第一阶段,将该规则集与该多个阶段中的第二阶段相关联,其中,该第二阶段不同于该第一阶段;通过该集成用户界面接收用于将该应用程序与该规则集相关联的第一指令;响应于该第一指令,将该应用程序与该规则集相关联;通过该集成用户界面接收用于执行该应用的第二指令;以及响应于该第二指令,根据该规则集中的规则来执行该应用程序以处理输入记录并产生输出。
[0154] 在另一方面,总体上,提供了一种用于管理与应用程序一起使用的一个或多个规则的系统。该系统包括:数据存储系统,该数据存储系统存储一个或多个规则规范以及定义阶段之间的允许转变的一个或多个转变规范;至少一个输出设备或端口,用于提供图形用户界面;以及计算机系统,该计算机系统耦合到该数据存储系统和该至少一个输出设备或端口。该计算机系统包括用于以下操作的电路系统:提供集成用户界面,以使得能够接收转变信息、将该应用程序与包括一组规则的规则集相关联、并执行该应用程序;从该数据存储系统检索指定该规则集的规则规范,该规则集中的每个规则包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;将该规则集与多个阶段中的第一阶段相关联;通过该集成用户界面接收与该规则集相关联的转变信息;基于该转变信息、和与该规则集相关联的允许转变、以及该第一阶段,将该规则集与该多个阶段中的第二阶段相关联,其中,该第二阶段不同于该第一阶段;以及通过该集成用户界面接收用于将该应用程序与该规则集相关联的第一指令。该计算机系统包括用于以下操作的电路系统:响应于该第一指令,将应用程序与该规则集相关联;通过该集成用户界面接收用于执行该应用的第二指令;以及响应于该第二指令,根据该规则集中的规则来执行该应用程序以处理输入记录并产生输出。
[0155] 在另一方面,总体上,提供了一种用于管理与应用程序一起使用的一个或多个规则的系统。该系统包括:用于提供集成用户界面以使得能够接收转变信息、将该应用程序与包括一组规则的规则集相关联、并执行该应用程序的装置;用于接收指定该规则集的规则规范的装置,该规则集中的每个规则包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;用于将该规则集与多个阶段中的第一阶段相关联的装置;用于通过该集成用户界面接收与该规则集相关联的转变信息的装置;用于基于该转变信息、和与该规则集相关联的允许转变、以及该第一阶段而将该规则集与该多个阶段中的第二阶段相关联的装置,其中,该第二阶段不同于该第一阶段;用于通过该集成用户界面接收用于将该应用程序与该规则集相关联的第一指令的装置;用于响应于该第一指令而将应用程序与该规则集相关联的装置;用于通过该集成用户界面接收用于执行该应用的第二指令的装置;以及用于响应于该第二指令而根据该规则集中的规则来执行该应用程序以处理输入记录并产生输出的装置。
[0156] 在另一方面,总体上,提供了一种计算机可读介质,该计算机可读介质存储有用于管理与应用程序一起使用的一个或多个规则的计算机程序。该计算机程序包括用于使计算系统进行以下操作的指令:接收一组规则规范,每个规则规范指定包括一组规则的规则集,每个规则包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;接收指定以下各项的转变规范:可以与各个规则集相关联的第一多个状态、可以与一组规则集相关联的第二多个状态、与各个规则集相关联的可允许状态转变、以及与该组规则集相关联的可允许状态转变;将每个规则集与该第一多个状态之一相关联;将该组规则集与该第二多个状态之一相关联;接收与这些规则集之一相关联的第一转变信息;基于该第一转变信息、与该规则集相关联的允许转变、以及当前与该规则集相关联的状态,将该规则集与该第一多个状态中的另一个状态相关联;接收与该组规则集相关联的第二转变信息;基于该第二转变信息、与该组相关联的允许转变、以及当前与该组相关联的状态,将该组规则规范与该第二多个状态中的另一个状态相关联;以及将应用程序与该组规则规范相关联,其中,该应用程序被配置为根据由该规则规范指定的规则集中的规则来处理输入记录并产生输出。
[0157] 在另一方面,总体上,提供了一种用于管理与应用程序一起使用的一个或多个规则的系统。该系统包括:数据存储系统,该数据存储系统存储一个或多个规则规范和一个或多个转变规范;至少一个输出设备或端口,用于提供图形用户界面;以及计算机系统,该计算机系统耦合到该数据存储系统和该至少一个输出设备或端口。该计算机系统包括用于以下操作的电路系统:从该数据存储系统中接收一组规则规范,每个规则规范指定包括一组规则的规则集,每个规则包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;从该数据存储系统中接收指定以下各项的转变规范:可以与各个规则集相关联的第一多个状态、可以与一组规则集相关联的第二多个状态、与各个规则集相关联的可允许状态转变、以及与该组规则集相关联的可允许状态转变;将每个规则集与该第一多个状态之一相关联;将该组规则集与该第二多个状态之一相关联;接收与这些规则集之一相关联的第一转变信息;基于该第一转变信息、与该规则集相关联的允许转变、以及当前与该规则集相关联的状态,将该规则集与该第一多个状态中的另一个状态相关联;接收与该组规则集相关联的第二转变信息;基于该第二转变信息、与该组相关联的允许转变、以及当前与该组相关联的状态,将该组规则规范与该第二多个状态中的另一个状态相关联;以及将应用程序与该组规则规范相关联,其中,该应用程序被配置为根据由该规则规范指定的规则集中的规则来处理输入记录并产生输出。
[0158] 在另一方面,总体上,提供了一种用于管理与应用程序一起使用的一个或多个规则的系统。该系统包括:用于接收一组规则规范的装置,每个规则规范指定包括一组规则的规则集,每个规则包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;用于接收指定以下各项的转变规范的装置:可以与各个规则集相关联的第一多个状态、可以与一组规则集相关联的第二多个状态、与各个规则集相关联的可允许状态转变、以及与该组规则集相关联的可允许状态转变;用于将每个规则集与该第一多个状态之一相关联的装置;用于将该组规则集与该第二多个状态之一相关联的装置;用于接收与这些规则集之一相关联的第一转变信息的装置;用于基于该第一转变信息、与该规则集相关联的允许转变、以及当前与该规则集相关联的状态而将该规则集与该第一多个状态中的另一个状态相关联的装置;用于接收与该组规则集相关联的第二转变信息的装置;用于基于该第二转变信息、与该组相关联的允许转变、以及当前与该组相关联的状态而将该组规则规范与该第二多个状态中的另一个状态相关联的装置;以及用于将应用程序与该组规则规范相关联的装置,其中,该应用程序被配置为根据由该规则规范指定的规则集中的规则来处理输入记录并产生输出。
[0159] 在另一方面,总体上,提供了一种计算机可读介质,该计算机可读介质存储有用于管理与应用程序一起使用的一个或多个规则的计算机程序。该计算机程序包括用于使计算系统进行以下操作的指令:接收指定包括一组规则的规则集的规则规范,每个规则包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;接收指定与该规则集相关联的多个状态之间的可允许转变的转变规范,并且对于每个转变,被授权的一个或多个用户来实施该转变;将该规则集与该多个状态中的第一状态相关联;接收与该规则集相关联的转变信息;验证提供该转变信息的用户有权提供该转变信息;在验证提供该转变信息的用户有权提供该转变信息之后,基于转变信息、和与该规则集相关联的允许转变、以及该第一状态,将该规则集与该多个状态中的第二状态相关联,其中,该第二状态不同于该第一状态;以及将应用与该规则集相关联,其中,该应用程序被配置为根据该规则集中的规则来处理输入记录并产生输出。
[0160] 在另一方面,总体上,提供了一种用于管理与数据处理系统中的应用程序一起使用的一个或多个规则的系统。该系统包括:数据存储系统,该数据存储系统存储一个或多个规则规范和一个或多个转变规范;至少一个输出设备或端口,用于提供图形用户界面;以及计算机系统,该计算机系统耦合到该数据存储系统和该至少一个输出设备或端口。该计算机系统包括用于以下操作的电路系统:从该数据存储系统中接收指定包括一组规则的规则集的规则规范,每个规则包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;从该数据存储系统中接收指定与该规则集相关联的多个状态之间的可允许转变的转变规范,并且对于每个转变,被授权的一个或多个用户来实施该转变;将该规则集与该多个状态中的第一状态相关联;接收与该规则集相关联的转变信息;验证提供该转变信息的用户有权提供该转变信息;在验证提供该转变信息的用户有权提供该转变信息之后,基于转变信息、和与该规则集相关联的允许转变、以及该第一状态,将该规则集与该多个状态中的第二状态相关联,其中,该第二状态不同于该第一状态;以及将应用与该规则集相关联,其中,该应用程序被配置为根据该规则集中的规则来处理输入记录并产生输出。
[0161] 在另一方面,总体上,提供了一种用于管理与应用程序一起使用的一个或多个规则的系统。该系统包括:用于接收指定包括一组规则的规则集的规则规范的装置,每个规则包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;用于接收指定与该规则集相关联的多个状态之间的可允许转变的转变规范的装置,并且对于每个转变,被授权的一个或多个用户来实施该转变;用于将该规则集与该多个状态中的第一状态相关联的装置;用于接收与该规则集相关联的转变信息的装置;用于验证提供该转变信息的用户有权提供该转变信息的装置;用于在验证提供该转变信息的用户有权提供该转变信息之后、基于该转变信息和与该规则集相关联的允许转变、以及该第一状态而将该规则集与该多个状态中的第二状态相关联的装置,其中,该第二状态不同于该第一状态;以及用于将应用与该规则集相关联的装置,其中,该应用程序被配置为根据该规则集中的规则来处理输入记录并产生输出。
[0162] 在另一方面,总体上,提供了一种用于管理与数据处理系统中的应用程序一起使用的一个或多个规则的方法,该方法包括:接收指定包括一组规则的规则集的规则规范,每个规则包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;将该规则集与多个阶段中的第一阶段相关联;接收与该规则集相关联的转变信息;基于该转变信息、和与该规则集相关联的允许转变、以及该第一阶段,将该规则集与该多个阶段中的第二阶段相关联,其中,该第二阶段不同于该第一阶段;以及将应用程序与该规则集相关联,其中,该应用程序被配置为根据该规则集中的规则来处理输入记录并产生输出。该方法包括:根据该规则集中的规则来执行该应用程序以处理输入记录并产生输出,以及提供集成用户界面以使得能够接收该转变信息、将该应用程序与该规则集相关联并执行该应用程序。
[0163] 多个方面可以包括以下特征中的一个或多个特征。
[0164] 接收规则规范可以包括接收电子表格,该电子表格具有与这些规则例相对应的多个行。
[0165] 该电子表格可以包括与可用数据值相对应的触发列,并且这些规则例包括与这些可用数据值有关的多组触发准则。
[0166] 每个规则例可以被配置为使得:对于其中该规则例具有一个或多个准则的每个触发列,如果给定记录的一个或多个值满足一个或多个触发准则,则该规则例适用于此记录。
[0167] 该电子表格可以包括一个或多个输出列,每个输出列可以与潜在输出变量相对应,并且该输出变量的值可以由该输出列中的单元格决定,其中,该单元格可以位于与适用于该给定记录的规则例相对应的行上。
[0168] 该单元格可以包括被分配给该输出变量的输出值或被评估以生成该输出值的表达式中的至少一个。
[0169] 该多个阶段可以包括开发生命周期的多个开发阶段。
[0170] 该多个开发阶段可以包括开发阶段或测试阶段中的至少一个。
[0171] 该规则集可以包括用于执行以下各项操作中的至少一项的一组准则:将数据从一种格式转换为另一种格式、关于数据进行确定、或基于一组输入数据生成新数据。
[0172] 该规则规范可以包括具有多个行的规则规范表,每行针对一组一个或多个潜在输入中的每一个定义一个规则例并包含一个关系。
[0173] 这些关系中的至少一个可以包括以下中的一个或多个:具有等于阈值的值、具有高于阈值的值、具有低于阈值的值、具有属于一组值的值、具有与模式匹配的值、具有与另一输入的值的关系、具有与另一规则规范的输出的值的关系、或具有与存储器中的值的关系。
[0174] 这些行中的至少一行还可以包含输出,该输出包括以下中的一个或多个:这些输入值的组合、预定值、或根据这些输入值中的一个或多个计算的值。
[0175] 该方法可以包括:将该规则规范中的多个规则例转换为多个逻辑表达式、将该多个逻辑表达式编译成计算机可执行代码、以及将该计算机可执行代码结合到该应用程序中。
[0176] 该方法可以包括:将该多个规则例转换为变换、以及将该变换与基于图的计算中的组件相关联,该基于图的计算具有通过链接表示数据流的元素而连接的数据处理组件。
[0177] 可允许转变可以包括以下各项中的至少一项:(i)在开发生命周期的最早阶段中的规则集可以被升级到稍后阶段,但不能被进一步降级;(ii)既不在该开发生命周期的最早阶段也不在最后阶段的规则集可以被升级到该开发生命周期的稍后阶段或被降级到最早阶段;或(iii)在该开发生命周期的最后阶段中的规则集可以被降级到较早阶段但不能被进一步升级。
[0178] 该方法可以包括在编辑器界面中提供所显示的一个或多个输入元素,包括以下各项中的至少一项:(i)当该规则集处于该开发生命周期的最早阶段时,在该编辑器界面中显示用于升级该规则集的第一输入元素并且不显示用于降级该规则集的输入元素;(ii)当该规则集即不处于最早开发阶段也不处于最后开发阶段时,在该编辑器界面中显示用于升级该规则集的第一输入元素和用于降级该规则集的第二输入元素;或(iii)当该规则集处于最后开发阶段时,在该编辑器界面中显示用于降级该规则集的第二输入元素并且不显示用于升级该规则集的输入元素。
[0179] 该规则集的每个版本都可以在该多个开发阶段之间转变。
[0180] 该方法可以包括:接收指定规则集的不同版本的多个规则规范、以及显示该规则集的不同版本的标识符和与该规则集的不同版本相关联的开发阶段。
[0181] 显示该规则集的不同版本的标识符以及与该规则集的不同版本相关联的阶段可以包括显示该规则集的多个主要版本或次要版本以及与该规则集的主要版本或次要版本相关联的阶段。
[0182] 该方法可以包括:存储该规则集的副本,以及基于与该规则集相关联的更新阶段来命名该规则集的副本。
[0183] 该方法可以包括接收标记规范,该标记规范指定与该规则集相关联的标签的多种可能状态、与这些状态中的每一种状态相关联的一个或多个输入元素、以及与这些输入元素中的每一个输入元素相关联的目标状态。
[0184] 响应于用户与所显示的输入元素的交互,该标签可以与同所显示的输入元素相关联的目标状态相关联。
[0185] 该方法可以包括:使用具有指向该规则集的指针的标签来保持跟踪与该规则集相关联的状态,其中,该标签基于可允许转变在这些状态之间进行转变。
[0186] 该标签可以存储关于与该规则集相关联的审阅历史的信息。
[0187] 该多个阶段可以包括该规则集的批准流程中的多个阶段。
[0188] 在另一方面,总体上,提供了一种用于管理与数据处理系统中的应用程序一起使用的一个或多个规则的方法。该方法包括:接收一组规则规范,每个规则规范指定包括一组规则的规则集,每个规则包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;接收指定以下各项的转变规范:可以与各个规则集相关联的第一多个状态、可以与一组规则集相关联的第二多个状态、与各个规则集相关联的可允许状态转变、以及与该组规则集相关联的可允许状态转变;将每个规则集与该第一多个状态之一相关联;将该组规则集与该第二多个状态之一相关联;接收与这些规则集之一相关联的第一转变信息;基于该第一转变信息、与该规则集相关联的允许转变、以及当前与该规则集相关联的状态,将该规则集与该第一多个状态中的另一个状态相关联;接收与该组规则集相关联的第二转变信息;基于该第二转变信息、与该组相关联的允许转变、以及当前与该组相关联的状态,将该组规则规范与该第二多个状态中的另一个状态相关联;以及将应用程序与该组规则规范相关联,其中,该应用程序被配置为根据由该规则规范指定的规则集中的规则来处理输入记录并产生输出。
[0189] 多个方面可以包括以下特征中的一个或多个特征。
[0190] 该第一多个状态可以包括以下各项中的至少一项:(i)多个开发生命周期状态;或(ii)多个批准流程状态。
[0191] 该第二多个状态可以包括以下各项中的至少一项:(i)多个开发生命周期状态;或(ii)多个批准流程状态。
[0192] 该方法可以包括:将每个规则集与包含关于与该规则集相关联的状态的信息的第一标签相关联,并且当与该规则集相关联的状态改变时更新该第一标签。
[0193] 该方法可以包括:将该组与具有包含关于与该组规则集相关联的状态的信息的第二标签相关联,并且当与该组规则集相关联的状态改变时更新该第二标签。
[0194] 在另一方面,总体上,提供了一种用于管理与数据处理系统中的应用程序一起使用的一个或多个规则的方法。该方法包括:接收指定包括一组规则的规则集的规则规范,每个规则包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;接收指定与该规则集相关联的多个状态之间的可允许转变的转变规范,并且对于每个转变,被授权的一个或多个用户来实施该转变;将该规则集与该多个状态中的第一状态相关联;接收与该规则集相关联的转变信息;验证提供该转变信息的用户有权提供该转变信息;在验证提供该转变信息的用户有权提供该转变信息之后,基于该转变信息、和与该规则集相关联的允许转变、以及该第一状态,将该规则集与该多个状态中的第二状态相关联,其中,该第二状态不同于该第一状态;以及将应用与该规则集相关联,其中,该应用程序被配置为根据该规则集中的规则处理输入记录并产生输出。
[0195] 多个方面可以包括以下特征中的一个或多个特征。
[0196] 该多个状态可以包括以下各项中的至少一项:(i)多个开发生命周期状态;或(ii)多个批准流程状态。
[0197] 该方法可以包括:将每个规则集与包含关于与该规则集相关联的状态的信息的标签相关联,并且当与该规则集相关联的状态改变时更新该标签。
[0198] 在另一方面,总体上,提供了一种计算机可读介质,该计算机可读介质存储有用于管理与数据处理系统中的应用程序一起使用的一个或多个规则的计算机程序。该计算机程序包括用于使计算系统进行以下操作的指令:接收指定包括一组规则的规则集的规则规范,每个规则包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;将该规则集与多个阶段中的第一阶段相关联;接收与该规则集相关联的转变信息;基于该转变信息、和与该规则集相关联的允许转变、以及该第一阶段,将该规则集与该多个阶段中的第二阶段相关联,其中,该第二阶段不同于该第一阶段;以及将应用程序与该规则集相关联,其中,该应用程序被配置为根据该规则集中的规则来处理输入记录并产生输出。该计算机程序包括用于使该计算系统进行以下操作的指令:根据该规则集中的规则来执行该应用程序以处理输入记录并产生输出,以及提供集成用户界面以使得能够接收该转变信息、将该应用程序与该规则集相关联并执行该应用程序。
[0199] 在另一方面,总体上,提供了一种用于管理与应用程序一起使用的一个或多个规则的系统。该系统包括:数据存储系统,该数据存储系统存储一个或多个规则规范和一个或多个转变规范;至少一个输出设备或端口,用于提供图形用户界面;以及计算机系统,该计算机系统耦合到该数据存储系统和该至少一个输出设备或端口。该计算机系统包括用于以下操作的电路系统:从该数据存储系统中检索指定包括一组规则的规则集的规则规范,每个规则包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;将该规则集与多个阶段中的第一阶段相关联;从该数据存储系统中检索与该规则集相关联的转变信息;基于该转变信息、和与该规则集相关联的允许转变、以及该第一阶段,将该规则集与该多个阶段中的第二阶段相关联,其中,该第二阶段不同于该第一阶段;以及将应用程序与该规则集相关联,其中,该应用程序被配置为根据该规则集中的规则来处理输入记录并产生输出。该计算机系统包括用于以下操作的电路系统:根据该规则集中的规则来执行该应用程序以处理输入记录并产生输出,以及提供集成用户界面以使得能够接收转变信息、将该应用程序与该规则集相关联并执行该应用程序。
[0200] 在另一方面,总体上,提供了一种用于管理与应用程序一起使用的一个或多个规则的系统。该系统包括:用于接收指定包括一组规则的规则集的规则规范的装置,每个规则包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;用于将该规则集与多个阶段中的第一阶段相关联的装置;用于接收与该规则集相关联的转变信息的装置;用于基于该转变信息、和与该规则集相关联的允许转变、以及该第一阶段而将该规则集与该多个阶段中的第二阶段相关联的装置,其中,该第二阶段不同于该第一阶段;以及用于将应用程序与该规则集相关联的装置,其中,该应用程序被配置为根据该规则集中的规则来处理输入记录并产生输出。该系统包括:用于根据该规则集中的规则来执行该应用程序以处理输入记录并产生输出的装置,以及用于提供集成用户界面以使得能够接收该转变信息、将该应用程序与该规则集相关联并执行该应用程序的装置。
[0201] 在另一方面,总体上,提供了一种计算机可读介质,该计算机可读介质存储有用于管理与应用程序一起使用的一个或多个规则的计算机程序。该计算机程序包括用于使计算系统进行以下操作的指令:接收一组规则规范,每个规则规范指定包括一组规则的规则集,每个规则包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;接收指定以下各项的转变规范:可以与各个规则集相关联的第一多个状态、可以与一组规则集相关联的第二多个状态、与各个规则集相关联的可允许状态转变、以及与该组规则集相关联的可允许状态转变;将每个规则集与该第一多个状态之一相关联;将该组规则集与该第二多个状态之一相关联;接收与这些规则集之一相关联的第一转变信息;基于该第一转变信息、与该规则集相关联的允许转变、以及当前与该规则集相关联的状态,将该规则集与该第一多个状态中的另一个状态相关联;接收与该组规则集相关联的第二转变信息;基于该第二转变信息、与该组相关联的允许转变、以及当前与该组相关联的状态,将该组规则规范与该第二多个状态中的另一个状态相关联;以及将应用程序与该组规则规范相关联,其中,该应用程序被配置为根据由该规则规范指定的规则集中的规则来处理输入记录并产生输出。
[0202] 在另一方面,总体上,提供了一种用于管理与应用程序一起使用的一个或多个规则的系统。该系统包括:数据存储系统,该数据存储系统存储一个或多个规则规范和一个或多个转变规范;至少一个输出设备或端口,用于提供图形用户界面;以及计算机系统,该计算机系统耦合到该数据存储系统和该至少一个输出设备或端口。该计算机系统包括用于以下操作的电路系统:从该数据存储系统中接收一组规则规范,每个规则规范指定包括一组规则的规则集,每个规则包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;从该数据存储系统中接收指定以下各项的转变规范:可以与各个规则集相关联的第一多个状态、可以与一组规则集相关联的第二多个状态、与各个规则集相关联的可允许状态转变、以及与该组规则集相关联的可允许状态转变;将每个规则集与该第一多个状态之一相关联;将该组规则集与该第二多个状态之一相关联;接收与这些规则集之一相关联的第一转变信息;基于该第一转变信息、与该规则集相关联的允许转变、以及当前与该规则集相关联的状态,将该规则集与该第一多个状态中的另一个状态相关联;接收与该组规则集相关联的第二转变信息;基于该第二转变信息、与该组相关联的允许转变、以及当前与该组相关联的状态,将该组规则规范与该第二多个状态中的另一个状态相关联;以及将应用程序与该组规则规范相关联,其中,该应用程序被配置为根据由该规则规范指定的规则集中的规则来处理输入记录并产生输出。
[0203] 在另一方面,总体上,提供了一种用于管理与应用程序一起使用的一个或多个规则的系统。该系统包括:用于接收一组规则规范的装置,每个规则规范指定包括一组规则的规则集,每个规则包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;用于接收指定以下各项的转变规范的装置:可以与各个规则集相关联的第一多个状态、可以与一组规则集相关联的第二多个状态、与各个规则集相关联的可允许状态转变、以及与该组规则集相关联的可允许状态转变;用于将每个规则集与该第一多个状态之一相关联的装置;用于将该组规则集与该第二多个状态之一相关联的装置;用于接收与这些规则集之一相关联的第一转变信息的装置;用于基于该第一转变信息、与该规则集相关联的允许转变、以及当前与该规则集相关联的状态而将该规则集与该第一多个状态中的另一个状态相关联的装置;用于接收与该组规则集相关联的第二转变信息的装置;用于基于该第二转变信息、与该组相关联的允许转变、以及当前与该组相关联的状态而将该组规则规范与该第二多个状态中的另一个状态相关联的装置;以及用于将应用程序与该组规则规范相关联的装置,其中,该应用程序被配置为根据由该规则规范指定的规则集中的规则来处理输入记录并产生输出。
[0204] 在另一方面,总体上,提供了一种计算机可读介质,该计算机可读介质存储有用于管理与应用程序一起使用的一个或多个规则的计算机程序。该计算机程序包括用于使计算系统进行以下操作的指令:接收指定包括一组规则的规则集的规则规范,每个规则包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;接收指定与该规则集相关联的多个状态之间的可允许转变的转变规范,并且对于每个转变,被授权的一个或多个用户来实施该转变;将该规则集与该多个状态中的第一状态相关联;接收与该规则集相关联的转变信息;验证提供该转变信息的用户有权提供该转变信息;在验证提供该转变信息的用户有权提供该转变信息之后,基于转变信息、和与该规则集相关联的允许转变、以及该第一状态,将该规则集与该多个状态中的第二状态相关联,其中,该第二状态不同于该第一状态;以及将应用与该规则集相关联,其中,该应用程序被配置为根据该规则集中的规则来处理输入记录并产生输出。
[0205] 在另一方面,总体上,提供了一种用于管理与数据处理系统中的应用程序一起使用的一个或多个规则的系统。该系统包括:数据存储系统,该数据存储系统存储一个或多个规则规范和一个或多个转变规范;至少一个输出设备或端口,用于提供图形用户界面;以及计算机系统,该计算机系统耦合到该数据存储系统和该至少一个输出设备或端口。该计算机系统包括用于以下操作的电路系统:从该数据存储系统中接收指定包括一组规则的规则集的规则规范,每个规则包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;从该数据存储系统中接收指定与该规则集相关联的多个状态之间的可允许转变的转变规范,并且对于每个转变,被授权的一个或多个用户来实施该转变;将该规则集与该多个状态中的第一状态相关联;接收与该规则集相关联的转变信息;验证提供该转变信息的用户有权提供该转变信息;在验证提供该转变信息的用户有权提供该转变信息之后,基于转变信息、和与该规则集相关联的允许转变、以及该第一状态,将该规则集与该多个状态中的第二状态相关联,其中,该第二状态不同于该第一状态;以及将应用与该规则集相关联,其中,该应用程序被配置为根据该规则集中的规则来处理输入记录并产生输出。
[0206] 在另一方面,总体上,提供了一种用于管理与应用程序一起使用的一个或多个规则的系统。该系统包括:用于接收指定包括一组规则的规则集的规则规范的装置,每个规则包括一组规则例,这些规则例根据规则的输入来计算规则的输出值,每个规则例包括一个或多个输入关系,其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则该给定输入记录会触发规则例;用于接收指定与该规则集相关联的多个状态之间的可允许转变的转变规范的装置,并且对于每个转变,被授权的一个或多个用户来实施该转变;用于将该规则集与该多个状态中的第一状态相关联的装置;用于接收与该规则集相关联的转变信息的装置;用于验证提供该转变信息的用户有权提供该转变信息的装置;用于在验证提供该转变信息的用户有权提供该转变信息之后、基于该转变信息和与该规则集相关联的允许转变、以及该第一状态而将该规则集与该多个状态中的第二状态相关联的装置,其中,该第二状态不同于该第一状态;以及用于将应用与该规则集相关联的装置,其中,该应用程序被配置为根据该规则集中的规则来处理输入记录并产生输出。
[0207] 多个方面可以具有以下优点中的一个或多个优点。可以提供集成用户界面以使得用户能够编辑规则、管理规则的开发生命周期和版本控制、以及使用规则以统一方式执行对应用的模拟。规则编辑器、业务流程管理模块、源代码控制模块和模拟器中的两个或更多个可以共享一个公共用户界面,使得用户可以执行与两个或更多个的模块相关联的功能,而不必在两个或更多个不同用户界面之间进行切换。与包括具有用于规则编辑、业务流程管理模块、源代码控制和模拟的两个或更多个单独模块的套件的常规系统相比,规则编辑器、业务流程管理模块、源代码控制模块和模拟器中的两个或更多个可以共享存储器,以便减少存储器需求。与包括具有用于规则编辑、业务流程管理模块、源代码控制和模拟的两个或更多个单独模块(每个模块都具有其自己的开销)的套件的常规系统相比,通过集成规则编辑器、业务流程管理模块、源代码控制模块和模拟器中的两个或更多个,可以减少模块的开销。
[0208] 通过集成规则编辑器、业务流程管理模块、源代码控制模块和模拟器中的两个或更多个,可以避免在不同模块同时处理相同的规则集或规则容器从而导致冲突情况下的死锁或争用。规则编辑器、业务流程管理模块、源代码控制模块和模拟器中的两个或更多个可以共享一个公共日志数据对象,以便用户可以查阅该公共日志数据对象以查看与两个或更多个模块有关的信息。集成系统确保与规则编辑器、业务流程管理模块、源代码控制模块和模拟器相关联的事件时间戳是一致的。相比之下,包括具有用于规则编辑、业务流程管理、源代码控制和模拟的两个或更多个单独模块的套件的常规系统可能具有不一致的时间戳,因为不同的模块可能使用不完全同步的不同时钟。例如,在常规系统中,与第一模块相关联的第一事件可能发生在与第二模块相关联的第二事件之前,但是因为第一模块的时钟比第二模块的时钟慢,所以第一事件的时间戳可能晚于第二事件的时间戳。通过使用本发明的集成系统,可以避免该问题,在该集成系统中,规则编辑器、业务流程管理模块、源代码控制模块和模拟器生成基于公共参考时钟的时间戳。
[0209] 在一些实施方式中,规则编辑器、业务流程管理模块、源代码控制模块和模拟器共享一个公共时钟。当规则编辑器、业务流程管理模块、源代码控制模块和模拟器在同一计算机服务器上执行时,由规则编辑器、业务流程管理模块、源代码控制模块和模拟器生成的时间戳都基于计算机服务器的同一系统时钟。
[0210] 在一些实施方式中,规则编辑器、业务流程管理模块、源代码控制模块和模拟器中的两个或更多个可以在两个或更多个计算机服务器上执行,每个服务器都具有其自己的系统时钟。时钟可以彼此同步,使得当两个事件同时发生在两个计算机服务器上时,这两个事件的时间戳将是相同的。
[0211] 在一些实施方式中,规则编辑器、业务流程管理模块、源代码控制模块和模拟器中的两个或更多个可以在两个或更多个计算机服务器上执行,每个计算机服务器具有自己的系统时钟,并且这些时钟不同步。这两个或更多个计算机服务器中的每一个将其自己的系统时钟与参考时钟进行比较,以确定差异。考虑到系统时钟与参考时钟之间的差异,每个计算机服务器基于其自己的系统时钟生成时间戳,使得时间戳将是相同的,如同基于参考时钟生成的。例如,可以将第一计算机服务器的系统时钟用作参考时钟,而其他计算机服务器可以将其系统时钟与第一计算机服务器的系统时钟进行比较,使得由计算机服务器生成的时间戳都基于第一计算机的系统时钟。这样,由规则编辑器、业务流程管理模块、源代码控制模块和模拟器生成的时间戳都基于相同的参考时钟。
[0212] 进一步地,在规则集经历开发生命周期或审阅流程的各个阶段时,可以使用业务标签来管理规则集。有利的是,在数据储存库中自动生成并链接丰富互连的元数据,并支持将数据储存库用作其后备数据存储的自定义工作流程。可以从数据储存库本身构建元数据应用。
[0213] 本说明书的其他特征和优点将根据以下描述以及根据权利要求而变得明显。附图说明
[0214] 图1是应用开发系统的示例的框图
[0215] 图2是集成用户界面的示例的图示。
[0216] 图3是编辑器界面的示例的图示。
[0217] 图4是应用开发系统的示例的框图。
[0218] 图5是工作空间的示例的图示。
[0219] 图6A至图6D是工作空间和编辑器界面的示例的图示。
[0220] 图7是非集成应用开发系统的示例的框图。
[0221] 图8是用于执行基于图的计算的系统的示例的框图。
[0222] 图9展示了计算图。
[0223] 图10是屏幕截图。
[0224] 图11A展示了在基于图的计算环境中将输入数据变换成输出数据。
[0225] 图11B展示了基于图的计算的示例。
[0226] 图12展示了生成、显示和链接存储在业务规则环境中的数据对象的屏幕截图。
[0227] 图13和图14展示了一系列向导屏幕。
[0228] 图15和图16展示了与对象编辑器相关联的一系列屏幕。
[0229] 图17是生成、显示和链接存储在数据储存库中的数据对象的示例操作的流程图
[0230] 图18是标记规范的示例。
[0231] 图19A和19B示出了使得用户能够发布标签以管理规则集的用户界面的示例。
[0232] 图19C是示出了状态之间的可允许转变的示例的图示。
[0233] 图20示出了标记规范的示例。
[0234] 图21是规则集批准流程的示例的图示。
[0235] 图22是使得能够使用发布标签来管理多组规则集的用户界面的示例。
[0236] 图23A和图23B示出了与业务标签相关联的活动日志的示例的屏幕截图。
[0237] 图24和图25是用于管理规则的用户界面的屏幕截图的示例。
[0238] 图26是用于生成活动的业务规则的示例性流程的流程图。
[0239] 图27是用于实施数据准备步骤的示例性流程的流程图。
[0240] 图28是用于创作和验证活动产品的示例性流程的流程图。
[0241] 图29是用于实施重叠流程的示例性流程的流程图。
[0242] 图30是基于电子表格的规则条目的示例。
[0243] 图31示出了测试结果的示例。
[0244] 图32示出了规则和相应的测试结果的示例。

具体实施方式

[0245] 在本文档中,描述了一种新颖的集成应用开发系统,该集成应用开发系统用于编辑规则、模拟执行结合这些规则的应用程序、管理和控制规则的多个版本和具有规则的各种组合的容器的多个版本、并且管理用于创作、审阅、险检查和批准这些规则的业务流程。集成应用开发系统提供了集成用户界面,该集成用户界面使得用户能够以便捷且高效的方式执行上述功能。在一些实施方式中,集成应用开发系统提供直观的用户界面,这些用户界面使得业务人员能够开发结合用于处理例如数百万或数十亿客户的记录的复杂规则的高级应用程序,而无需业务人员对软件编程有深入的了解。集成应用开发系统使得业务人员能够高效地创作、修正、测试和优化规则,从而使得业务人员可以频繁地启动新的市场营销或业务活动,并且快速地对客户偏好、市场条件和/或业务环境的变化做出响应。
[0246] 参照图1,在一些实施方式中,应用开发系统100促进用于开发业务规则的流程,这些业务规则例如可以由航空公司、信用卡公司和/或在线市场零售商用来辅助确定要向客户提供什么产品或促销优惠、和/或哪些客户有资格获得哪些奖励的规则。例如,信用卡公司可以使用业务规则来辅助检测潜在的欺诈性信用卡交易。行可以使用业务规则来辅助检测潜在的洗钱和欺诈性货币交易。银行还可以使用业务规则来辅助确定客户的信用风险、贷款资格和利率。保险公司可以使用业务规则来辅助确定哪些客户有资格参加哪些计划、以及什么保险费率适用于客户。
[0247] 在一些实施方式中,应用开发系统100包括文档编辑器102、业务流程管理工具104、源代码控制工具106和应用模拟器108。系统100包括可以由以上工具102、104、106和
108访问的数据(例如,企业元数据)储存库110。系统100包括存储由工具102、104、106和108所提供的日志信息的一个或多个公共日志数据对象116。一个或多个用户90可以使用集成用户界面112访问文档编辑器102、业务流程管理工具104、源代码控制工具106、应用模拟器
108和一个或多个公共日志数据对象116。例如,日志数据对象可以包括文件、消息、报告和/或记录。日志数据对象可以包括文件、消息、记录和/或报告中的域(field)。日志数据对象可以链接到特定的规则集或规则容器、或者与特定的规则集或规则容器相关联,使得用户
90可以很容易访问与规则集或规则容器相关联的所有已记录的信息。
[0248] 在一些实施方式中,用户90使用一个或多个计算机的输入设备(例如,键盘鼠标、麦克风)向集成用户界面112提供输入,并且集成用户界面112使用一个或多个计算机的输出设备(例如,显示器和扬声器)向用户90提供输出。集成用户界面112可以示出由在一个或多个计算机上执行的模块生成的信息。还可以使用其他输入/输出设备以及用户90与集成用户界面112之间的其他交互模式,并且将在本文档的后续部分中进行描述。
[0249] 集成用户界面112具有用户侧组件和服务器侧组件。例如,用户90使用一个或多个web浏览器来访问工具102、104、106和108。web浏览器包括与服务器侧组件交换数据并且渲染交互式图形元素的小工具,这些交互式图形元素显示在向用户90示出的一个或多个web页面上。多个用户可以同时使用web浏览器访问工具102、104、106和108。集成用户界面112为每个用户90提供使得用户90能够与工具102、104、106和108进行交互的界面。例如,第一用户90a可以使用web浏览器来访问文档编辑器102以编辑第一规则集,并且可以访问业务流程管理工具104以提交第一规则集以供批准。第二用户90b可以使用web浏览器来访问文档编辑器102以审阅第一规则集,访问应用模拟器108以对结合第一规则集的应用程序的执行进行模拟,并且访问业务流程管理工具104以批准第一规则集以供发布。第三用户90c(图中未示出)可以使用web浏览器来访问源代码控制工具106以将第一规则集添加到规则容器。第四用户90d(图中未示出)可以使用web浏览器来访问源代码控制工具106以制作规则集的新版本,并且访问文档编辑器102以修改规则集的新版本等。集成用户界面112允许多个用户在访问不同工具(例如,102、104、106和108)时使用具有一致外观的界面来协作开发规则集。
[0250] 参照图2,在一些实施方式中,集成用户界面112包括编辑器界面2720、业务流程管理界面2722、源代码控制界面2724、应用模拟界面2726和公共日志界面2728。界面2720、2722、2724、2726和2728可以包括在一个或多个web页面上示出的交互式图形元素。编辑器界面2720允许用户访问文档编辑器102。例如,编辑器界面2720可以示出要编辑的规则规范,并且提供用于编辑规则规范的工具。
[0251] 在一些实施方式中,当第一用户编辑存储在储存库114中的规则集时,用户访问源代码控制工具106以检出规则集。用户访问文档编辑器102以编辑规则集。当规则集处于“开放”或“开发”状态时,文档编辑器102将规则集的副本存储在仅可由第一用户(或其他授权用户)访问的“沙箱(sandbox)”中。沙箱允许第一用户使用规则集的各种参数进行试验,而不会影响生产环境或储存库114中的源代码。当第一用户完成对规则集的修改时,第一用户提交或公布规则集,规则集的副本被存储在储存库110中,并且规则集的状态被改变为“已提交”或“已公布”。此时,其他用户可以查看、编辑、模拟、批准修改后的规则集和/或对修改后的规则集执行其他处理。
[0252] 业务流程管理界面2722允许用户访问业务流程管理工具104。例如,界面2722可以示出在编辑器界面2720中正被编辑的规则的当前状态、以及该规则可以转变到的可能目标状态。业务流程管理界面2722还可以示出与在编辑器界面2720中正被编辑的规则相关的其他规则的当前状态和目标状态。业务流程管理界面2722可以示出包括规则集的所选版本的一个或多个容器的一个或多个状态。业务流程管理界面允许用户将规则集的所选版本从一个状态转变到另一状态,比如,将规则集的所选版本从“开发”状态升级为“测试”状态,或者将规则集的所选版本从“测试”状态降级到“开发”状态。
[0253] 源代码控制界面2724允许用户访问源代码控制工具106。例如,源代码控制界面2724可以示出在编辑器界面2720中正被编辑的规则的各种版本的列表。源代码控制界面
2724使得用户能够管理规则容器和规则集的各种版本。用户可以使用该界面选择特定规则集的特定版本,并且可以在编辑器界面2720中编辑规则集的所选版本。源代码控制界面
2724可以示出有关哪个用户从储存库114中检出规则集的特定版本的信息、以及示出规则集的特定版本何时从储存库114中被检出的时间戳。
[0254] 应用模拟界面2726允许用户访问应用模拟器108以对结合有在编辑器界面2720中正被编辑的规则集的所选版本的应用程序的执行进行模拟以处理输入数据并产生输出数据。应用模拟界面2726还允许用户检索已存储的通过先前使用规则集的所选版本来模拟执行应用程序所产生的输出数据。
[0255] 使用测试数据来模拟执行应用程序可以允许规则集的开发者识别并纠正在现场或生产环境中使用实际数据来执行结合规则集的应用程序(比如将结合规则集的应用程序应用于生产数据(例如,实际客户数据)以产生结果)时可能发生的潜在问题。在下文中,取决于上下文,短语“执行应用程序的结果”可以意指使用测试数据来模拟执行应用程序所产生的结果、或使用生产数据来执行应用程序所产生的结果。
[0256] 公共日志界面2728允许用户访问公共日志数据对象116。例如,公共日志界面2728可以示出具有一定时间段内的时间戳的所记录信息。
[0257] 取决于用户正在访问应用开发系统100的哪些功能,可以在显示屏上向用户显示编辑器界面2720、业务流程管理界面2722、源代码控制界面2724、应用模拟界面2726和公共日志界面2728中的一个或多个界面或其部分。例如,用户可以以并发的方式访问工具102、104、106和108中的两个或更多个工具的功能。集成用户界面112可以包括同时向用户呈现的界面2720、2722、2724、2726和2728中的两个或更多个界面或其部分的组合。
[0258] 图2将编辑器界面2720、业务流程管理界面2722、源代码控制界面2724、应用模拟界面2726和公共日志界面2728示出为不同的组件。然而,可以将界面2720、2022、2724、2726和2828中的两个或更多个界面组合为一个模块。可以将界面2720、2022、2724、2726和2828中的两个或更多个界面的部分组合为一个模块。界面2720、2022、2724、2726和2828中的每个界面可以具有两个或更多个子模块。
[0259] 例如,当两个用户90a、90b同时使用应用开发系统100时,集成用户界面112可以包括示出在第一用户90a的计算机显示器上的第一图形用户界面、和示出在第二用户90b的计算机显示器上的第二图形用户界面。第一图形用户界面和第二图形用户界面中的每个界面可以包括编辑器界面2720、业务流程管理界面2722、源代码控制界面2724、应用模拟界面2726和公共日志界面2728中的一个或多个界面或其部分。类似地,如果存在同时访问应用开发系统100的另外的用户,则集成用户界面112可以包括示出在另外的用户的计算机显示器上的另外的界面。
[0260] 参照图3,在一些实施方式中,编辑器界面2500可以包括用于访问业务流程管理工具104、源代码控制工具106、应用模拟器108和公共日志数据对象116的组件(例如交互项,比如按钮、菜单、链接和输入框)。例如,当用户90执行文档编辑器102以编辑特定规则集(例如,规则集“abc”)的特定版本(例如,版本“xyz”)时,应用开发系统100提供编辑器界面2500并示出该特定规则集的特定版本的规则规范。图3示出了编辑器界面2500的组件的示例。编辑器界面2500可以具有比图中所示出的更少或更多的组件。
[0261] 例如,编辑器界面2500可以示出正在查看或编辑规则集的用户的标识符2508。编辑器界面2500可以包括通用菜单栏2510,该通用菜单栏具有通用菜单,比如,例如,用于文件管理的菜单、用于编辑工具的菜单和帮助菜单。编辑器界面2500可以具有编辑工具栏2512,该编辑工具栏包括各种编辑工具,比如,例如,复制工具、粘贴工具和删除工具。编辑器界面2500可以示出正被编辑的规则集中的规则(例如2504a、2504b、2504c)。每个规则(例如,2504a)可以包括一个或多个规则例(例如,2506a、2506b、2506c、2506d),这些规则例根据规则的输入来计算规则的输出的值2508,并且每个规则例包括一个或多个输入关系或准则(例如,2514a、2514b、2514c),其中,如果给定输入记录的一个或多个数据值满足该一个或多个输入关系,则给定输入记录会触发规则例。
[0262] 编辑器界面2500可以示出规则集的当前状态2526、以及允许用户改变规则集的状态的工具2528。例如,工具2528可以是具有规则集可以转变到的目标状态的列表的菜单。工具2528可以包括表示规则集可以转变到的目标状态的一个或多个按钮。编辑器界面2500可以具有示出包括规则集的规则容器的部分2516。在此示例中,容器AAA的版本x.x、容器BBB的版本y.y和容器CCC的版本z.z包括规则集abc的版本xyz。编辑器界面2500可以具有示出与业务流程管理工具104相关的工具和信息的部分2518。例如,部分2518可以包括可以用于编辑标记规范的工具,该标记规范指定标签在状态之间的可允许转变。将在本文档的后续部分中将更详细地描述标记规范。
[0263] 编辑器界面2500可以具有示出与源代码控制工具106相关的工具和信息的部分2520。例如,部分2520可以包括可以用于修改规则的版本、生成规则的新版本或删除规则的旧版本的工具。编辑器界面2500可以包括示出与应用模拟器108相关的工具和信息的部分
2522。例如,部分2522可以示出模拟执行结合规则的应用程序以处理输入记录的结果。编辑器界面2500可以包括示出与公共日志数据对象116相关的工具和信息的部分2524。例如,部分2522可以示出与规则集abc的版本xyz相关的日志信息,其中,日志信息可以由工具102、
104、106和/或108写入。
[0264] 在一些实施方式中,业务流程管理界面2722可以包括允许用户90访问比如文档编辑器102、源代码控制工具106、应用模拟器108和公共日志数据对象116等其他模块中的一个或多个模块的交互项(例如,按钮、菜单、链接、输入框)。源代码控制界面2724可以包括允许用户90访问比如文档编辑器102、业务流程管理工具104、应用模拟器108和公共日志数据对象116等其他模块中的一个或多个模块的交互项(例如,按钮、菜单、链接、输入框)。应用模拟界面2726可以包括允许用户90访问比如文档编辑器102、业务流程管理工具104、源代码控制工具106和公共日志数据对象116等其他模块中的一个或多个模块的交互项(例如,按钮、菜单、链接、输入框)。公共日志界面2728可以包括允许用户90访问比如文档编辑器102、业务流程管理工具104、源代码控制工具106和应用模拟器108等其他模块中的一个或多个模块的交互项(例如,按钮、菜单、链接、输入框)。
[0265] 在本文档中,“集成”用户界面是指使得用户能够访问以下各项的用户界面:(i)文档编辑器102、业务流程管理工具104、源代码控制工具106和应用模拟器108中的两个或更多个工具,或(ii)与上述工具102、104、106、108中的两个或更多个工具相关联的功能,其中,上述工具102、104、106、108中的两个或更多个工具共享一个或多个公共日志数据对象116。集成用户界面可以指示出在由一个或多个计算机控制的一个或多个显示器上的图形用户界面。集成用户界面可以示出由在一个或多个计算机上执行的模块生成的信息。
[0266] 返回参照图1,文档编辑器102、业务流程管理工具104、源代码控制工具106和应用模拟器108中的每个工具都可以将信息写入公共日志数据对象116。例如,源代码控制工具106可以将指定与特定用户标识符相关联的用户从储存库110中检出了特定规则集的特定版本的信息、以及指定该规则集被检出的定时的时间戳写入公共日志数据对象116。文档编辑器102可以将关于与编辑了规则集的用户相关联的用户标识符的信息、以及指定当执行编辑时的定时的时间戳写入公共日志数据对象116。
[0267] 业务流程管理工具104可以将指定与特定用户标识符相关联的用户批准了规则集从第一状态转变到第二状态的信息、以及指定状态转变的定时的时间戳写入公共日志数据对象116。应用模拟器108可以将指定与特定用户标识符相关联的用户使用规则集执行了应用程序以产生输出的信息、以及指定执行结合该规则集的应用程序的定时的时间戳写入公共日志数据对象116。应用模拟器108可以将指定与特定用户标识符相关联的用户检索了已存储的先前使用特定规则集的特定版本来执行应用程序的所产生的输出的信息、以及指定检索已存储的输出的定时的时间戳写入公共日志数据对象116。以上只是工具102、104、106和108可以写入公共日志数据对象116的信息种类的示例。工具102、104、106和108还可以将其他类型的信息写入公共日志数据对象116。记录有关以下各项的信息可以帮助公司在稍后时间进行审核例如以遵守法律要求或识别潜在的错误来源:例如,谁访问了哪些规则、谁编辑了哪些规则、谁批准了哪些规则、以及何时发生了上述事件。
[0268] 参照图4,在一些实施方式中,应用开发系统2700在包括例如通过通信网络(例如,广域网(WAN)、局域网(LAN)或者多处理器系统中或芯片上的网络)连接的一组计算机服务器或处理器的分布式计算环境中执行。不同的工具在不同的计算机或处理器上执行。在此示例中,文档编辑器102在第一计算机2702上执行,业务流程管理工具104在第二计算机2704上执行,源代码控制工具106在第三计算机2706上执行,并且应用模拟器108在第四计算机2708上执行。一个或多个用户90通过集成用户界面112与文档编辑器102、业务流程管理工具104、源代码控制工具106和应用模拟器108进行交互。不管工具102、104、106和108是在相同还是不同的服务器计算机上执行的,集成用户界面112都提供隐藏了后端流程的复杂性的用户友好的界面。
[0269] 返回参照图1,在一些实施方式中,文档编辑器102可以链接到业务流程管理工具104或与业务流程管理工具集成,该业务流程管理工具使用例如下文中所描述的标签来管理规则的状态。当文档编辑器102修改规则时,该修改可以传播到业务流程管理工具104,并影响工具104的输出。在一些示例中,响应于通过文档编辑器102进行的更改而自动更新业务流程管理工具104的输出。在一些示例中,用户必须手动请求将文档编辑器102所进行的更改传播到业务流程管理工具104。
[0270] 类似地,文档编辑器102可以链接到源代码控制工具106或与源代码控制工具集成,使得例如当规则的某一版本被批准以供发布时,规则的该版本被维护规则的各种版本的主储存库114的源代码控制工具106所存储。文档编辑器102可以链接到应用模拟器108或与应用模拟器集成,这使得能够模拟执行结合业务规则的应用程序。当文档编辑器102修改规则时,该修改可以传播到应用模拟器108并影响模拟器108的输出。在一些示例中,对规则的修改触发对应用模拟器108的执行,并且模拟器108的输出被自动更新。在一些示例中,用户必须在通过文档编辑器102修改了规则之后手动请求执行应用模拟器108,以便从模拟器108获得经更新的输出。
[0271] 业务流程管理工具104可以链接到源代码控制工具106或与源代码控制工具集成,这使得用户能够检索规则的任何版本、确定规则的状态以及使用集成用户界面112来修改规则的状态。业务流程管理工具104可以链接到应用模拟器108或与应用模拟器集成,这使得用户能够在对结合规则的应用程序的执行进行模拟之后使用集成用户界面112来修改规则的状态。源代码控制工具106可以链接到应用模拟器108或与应用模拟器集成,这使得用户能够使用集成用户界面112将规则的任何版本结合到应用程序中,并且对结合该规则的应用程序的执行进行模拟。
[0272] 集成用户界面112允许用户90使用具有一致外观(例如,具有相似的总体设计、配色方案、菜单结构和字体特性)的界面访问文档编辑器102、业务流程管理工具104、源代码控制工具106、应用模拟器108和公共日志数据对象116。
[0273] 集成用户界面112可以简化用于处理业务规则的任务。例如,参照图5,应用开发系统100可以针对每个用户实施示出需要由用户处理的工作项的“工作空间”2540。工作空间2540可以示出第一工作队列,该第一工作队列包括处于“开放”状态的第一规则列表2542,该“开放”状态意味着规则是仍在被编辑的草稿文档。工作空间2540可以示出第二工作队列,该第二工作队列包括处于“已提交”状态的第二规则列表2544,该“已提交”状态指示规则已准备好可供审阅。第二列表包括已准备好可供用户审阅的规则。工作空间2540可以示出处于“已提交”状态的第三规则列表2546,其中,规则已经由用户进行了编辑并且已准备好可供其他人审阅。工作空间2540可以示出处于“已批准”状态的第四规则列表2548,其中,规则已经由用户进行了编辑并且已经被批准。
[0274] 以下描述了第一用户90a编辑名为“奖励_规则_1”的规则并且第二用户90b审阅该规则的示例。参照图6A,例如,当第一用户90a登录与第一用户90a相关联的工作空间2550时,用户在处于“开放”状态的第一规则列表2542中看到“奖励_规则_1”。参照图6B,第一用户90a可以双击规则“奖励_规则_1”并调用文档编辑器102,从而使得编辑器界面2720被呈现给第一用户90a,并且允许第一用户90a编辑所选规则“奖励_规则_1”。编辑器界面2720可以在正被编辑的规则附近示出当前状态“开放”2552和“已提交”按钮2554。在第一用户90a完成对规则“奖励_规则_1”的编辑之后,第一用户90a可以点击“已提交”按钮2554以将规则“奖励_规则_1”的状态从“开放”改变为“已提交”。
[0275] 参照图6C,在第一用户90a将规则“奖励_规则_1”的状态从“开放”改变为“已提交”之后,规则“奖励_规则_1”出现在第一用户90b的工作空间2550中的第三规则列表2546中,指示该规则正在等待由其他人审阅。同时,规则“奖励_规则_1”出现在负责审阅由第一用户90a提交的规则的第二用户90b的工作空间2560中的第二规则列表2544中。
[0276] 例如,第二用户90b登录与第二用户90b相关联的工作空间2560,并且看到规则“奖励_规则_1”出现在等待审阅的第二规则列表2544中。参照图6D,第二用户90b可以双击规则“奖励_规则_1”以调用文档编辑器102来审阅规则。编辑器界面2720可以在规则附近示出“模拟”按钮2556、允许选择测试输入文件的测试文件选择工具2558、以及允许选择应用程序以进行模拟的应用程序选择工具2560。第二用户90b可以选择测试输入文件“测试_输入_1”和应用程序“应用_1”并点击“模拟”按钮,从而使系统100调用应用模拟器108。应用模拟器108将规则“奖励_规则_1”中的规则例转换为多个逻辑表达式,将该多个逻辑表达式编译成计算机可执行代码,将该计算机可执行代码结合到应用程序“应用_1”中,并执行应用程序“应用_1”,以使用“奖励_规则_1”来处理“测试_输入_1”文件中的测试输入记录并生成输出数据。
[0277] 编辑器界面2720可以在规则“奖励_规则_1”附近示出“批准”按钮2562和“拒绝”按钮2564。如果第二用户90b因来自模拟的输出数据是正确的而感到满意,则第二用户90b可以点击“批准”按钮2562以批准规则“奖励_规则_1”,并将该规则的状态从“已提交”改变为“已批准”。如果第二用户90b认为规则有问题,则第二用户90b可以点击“拒绝”按钮2564以拒绝规则“奖励_规则_1”,并将该规则的状态从“已提交”改变为“开放”。
[0278] 假设第二用户90b拒绝该规则。编辑器界面可以在规则“奖励_规则_1”附近示出文本输入框,以允许第二用户90b编写批注,该批注被存储在公共日志数据对象116中。在此示例中,第二用户90b编写批注“奖励过高”,这指示拒绝规则“奖励_规则_1”的原因是因为奖励过高。在规则“奖励_规则_1”的状态被改变为“开放”之后,规则“奖励_规则_1”出现在第一用户90a的第一工作队列中。
[0279] 第一用户90a看到规则“奖励_规则_1”已经被拒绝并且返回到“开放”状态。系统100从公共日志数据对象116中检索与规则“奖励_规则_1”相关的批注,并在规则“奖励_规则_1”附近显示批注。第一用户90a看到批注“奖励过高”,调用文档编辑器102来修正规则例以减少奖励的量,并且调用应用模拟器108来模拟规则的执行。第一用户90a选择应用程序“应用_1”和测试文件“测试_输入_1”来进行模拟。应用模拟器108将规则“奖励_规则_1”中的经修正的规则例转换为多个逻辑表达式,将该多个逻辑表达式编译成计算机可执行代码,将该计算机可执行代码结合到应用程序“应用_1”中,并执行应用程序“应用_1”,以使用经修正的“奖励_规则_1”来处理“测试_输入_1”文件中的测试输入记录并生成输出数据。应用模拟器118保存输出数据。第一用户90a审阅输出数据,确认奖励已经被正确地减少,并且将规则“奖励_规则_1”的状态从“开放”再次改变为“已提交”。
[0280] 第二用户90b看到第一用户90a重新提交了规则“奖励_规则_1”,并且调用应用模拟器108来检查奖励是否已经被正确地减少。第二用户90b选择应用程序“应用_1”和测试文件“测试_输入_1”来进行模拟。应用模拟器108确定先前执行过模拟,在先前的模拟中,规则“奖励_规则_1”被结合到应用程序“应用_1”中,并且“测试_输入_1”文件被用于测试输入。应用模拟器108加载先前生成的输出数据,并将该输出数据呈现给第二用户90b。
[0281] 第二用户90b审阅先前生成的输出数据,并确认奖励已经被正确地减少,确定规则“奖励_规则_1”没有其他问题,并且点击该规则附近的“已批准”按钮。在规则“奖励_规则_1”的状态从“已提交”被改变为“已批准”之后,第一用户90a在工作空间2550中看到规则“奖励_规则_1”出现在已经被批准的第四规则列表2548中。
[0282] 在由第一用户和第二用户对规则“奖励_规则_1”进行处理的上述示例中,用户仅通过几次点击就调用了文档编辑器102、业务流程管理工具104和应用模拟器108。集成用户界面112被配置为使得在处理规则时,提供适当的交互元素(例如,按钮、菜单、链接、输入文本框)以使得用户能够方便地访问文档编辑器102、业务流程管理工具104、源代码控制工具106、应用模拟器108和/或公共日志数据对象116。
[0283] 如下文中更详细地描述的,应用开发系统100与非集成应用开发系统(比如图7中所示的系统2600)相比具有若干改进。例如,可以通过将单独的工具绑在一起作为应用套件来构建非集成应用开发系统2600,其中,单独的工具不共享公共的一组用户界面,并且不共享公共日志数据对象。例如,系统2600可以包括通过编辑器界面2602访问的文档编辑器2610、通过业务流程管理界面2604访问的业务流程管理工具2612、通过应用模拟界面2606访问的应用模拟器2614、以及通过源代码控制界面2608访问的源代码控制工具2616。非集成应用开发系统2600中的每个工具2610、2612、2614和2616都有其自己的用户界面(分别为
2602、2604、2606和2608),并且在系统2600中不同工具的不同界面的外观可能不同。
[0284] 例如,当系统2600中的不同工具(例如2610、2612、2614、2616)将文件存储到非易失性存储设备时,不同工具可以将文件存储到与这些工具相关联的不同本地文件目录。因此,例如,在系统2600中,如果在第一计算机“Comp_1”上执行文档编辑器2610,则文档编辑器2610可以将工作文档保存到本地文件目录,比如“Comp_1\usr\doc_editor\working file\”。在系统2600中,如果在第二计算机“Comp_2”上执行业务流程管理工具2612,则业务流程管理工具2612可以将工作文档保存到本地文件目录,比如“Comp_2\usr\bpm\working_file\”。在系统2600中,如果在第三计算机“Comp_3”上执行源代码控制工具2616,则源代码控制工具2616可以将工作文档保存到本地文件目录,比如“Comp_3\usr\source_code_control\working_file\”。在系统2600中,如果在第四计算机“Comp_4”上执行应用模拟器2618,则应用模拟器2618可以将工作文档保存到本地文件目录,比如“Comp_4\usr\app_sim\working_file\”。
[0285] 在系统2600中,文档编辑器2610可能不知道业务流程管理工具2612、源代码控制工具2616和应用模拟器2614的工作文件存储在何处。类似地,在系统2600中,应用模拟器2614可能不知道文档编辑器2600、业务流程管理工具2612和源代码控制工具2616的工作文件存储在何处。因此,在系统2600中,用户需要花费时间在不同的工作文件目录之间进行导航以访问所需的文件。在系统2600中,用户可能必须花费精来设置正确的文件路径,以使不同的工具知道其他工具的工作文件目录的位置。
[0286] 相比而言,系统100具有集成用户界面112,该集成用户界面允许用户在处理规则时方便地访问各个工具的工作文件,而无需记住各个工具102、104、106、108和116的工作文件目录的细节。
[0287] 例如,与非集成系统2600相比,应用开发系统100可以具有其他优点。例如,应用开发系统100具有减少的存储器需求(与系统2600相比),因为工具102、104、106和108访问存储在存储器中的相同数据,从而减少了复制数据(这在系统2600中可能需要)的需要。如图7所示,文档编辑器、业务流程管理工具、应用模拟器和源代码控制工具中的每个工具都在本地存储文件和数据的副本。系统100具有可以被工具102、104、106和108访问的公共日志数据对象116,使得由工具102、104、106和108中的一个工具输入到公共日志数据对象116中的信息可以被工具102、104、106和108中的另一个工具访问。通过查阅公共日志数据对象116,用户可以确定例如谁访问、编辑、批准和/或模拟了特定规则容器或规则集的特定版本、以及这些事件在何时发生。这比其中每个工具写入到其自己的日志文件的系统2600更方便。在系统2600中,用户必须访问多个日志文件来获得关于谁访问、编辑、批准和/或模拟了规则容器或规则集的特定版本、以及这些事件在何时发生的信息。
[0288] 系统100可以具有优势,其中,集成用户界面112使得用户可以访问工具102、104、106、108和116中的两个或更多个工具的功能,并且可以将工具102、104、106、108和116中的两个或更多个工具的输出提供给用户(例如,并排示出)。对由工具102、104、106和108中的一个工具处理的数据进行的更改可以自动触发对由工具102、104、106和108中的另一个工具生成的输出的更新。
[0289] 例如,在图2中,用户可以使用应用模拟界面2726选择测试输入文件和应用程序。用户可以使用编辑器界面2720来编辑规则。在一些实施方式中,当用户修改规则时,应用开发系统100自动调用应用模拟器108来将规则的规则例转换为多个逻辑表达式,将该多个逻辑表达式编译成计算机可执行代码,将计算机可执行代码结合到所选的应用程序中,并执行所选的应用程序,以使用该规则来处理测试输入记录并生成输出数据。应用模拟界面
2726向用户示出输出数据。这向用户提供了快速的反馈,从而允许用户尝试规则例的若干个参数值以找到最佳值。在一些实施方式中,应用模拟器108被配置为在执行应用程序之前等待来自用户的明确指令。
[0290] 在图1中,文档编辑器102、业务流程管理工具104、源代码控制工具106和应用模拟器108被表示为分开的模块,这仅仅是示例。在一些示例中,工具102、104、106和108中的两个或更多个工具可以被配置为一个单元或模块。在一些示例中,工具102、104、106和108可以全部被实施为一个集成模块。在一些示例中,工具102、104、106和108中的每个工具可以由两个或更多个模块来实施。在一些示例中,可以使用若干个模块,其中,每个模块实施工具102、104、106和/或108的功能的一部分。工具102、104、106和108中的每个工具、全部工具、或一些部分可以以软件、硬件、或软件和硬件的组合来实施。
[0291] 在下文中,首先描述了用于执行可以结合业务规则的基于图的计算的系统(图8)、可以用于在用户界面中生成对象以处理业务规则的模块以及这些模块的使用示例(图9和图10)、业务规则的示例(图11A)、可以结合业务规则的计算图的示例(图11B)、用于处理业务规则的用户界面的示例(图12至16)、用于在处理业务规则时链接对象的流程的示例(图17)、具有关于业务规则的信息的标记规范的示例(图18和图20)、使用标签来管理业务规则的示例(图19A、图19B、图19C)、开发业务规则的生命周期的示例(图21)、具有关于业务规则的信息的发布标签的示例(图22)、以及活动日志的示例(图23A和图23B)。
[0292] 然后,更详细地描述了应用开发系统100的模块,描述了可以如何将应用开发系统100用于开发业务规则,描述了文档编辑器102和源代码控制工具106可以如何提供集成用户界面以使得用户能够很容易访问和编辑规则的不同版本并且比较规则的不同版本(图24和图25)。还描述了可以如何将应用开发系统100用于开发在市场营销或业务活动中使用的业务规则的示例(图26至图29)。
基于图的计算
[0293] 图8是示出用于开发、执行和管理基于图的计算的计算系统120的各部分的相互关系的示意性框图。基于图的计算使用由有向图表示的“数据流图”来实施,其中,图中的顶点表示组件(例如,数据文件、处理等),而图中的有向链路或“边”表示组件之间的数据流。在一些示例中,图形开发环境(GDE)122提供了用于指定可执行图并定义图组件的参数的用户界面。GDE 122与储存库124和并行操作环境126通信。用户界面模块128和外部数据存储装置130也耦合到储存库124和并行操作环境126。
[0294] 储存库124优选地是可扩展的面向对象的数据库系统,该数据库系统被设计成用于支持基于图的应用的开发和执行、以及基于图的应用与其他系统(例如,其他操作系统)之间的元数据的交换。在这种布置中,储存库124被称为企业元环境(EME),并且能够存储一种或多种类型的元数据,包括文档、记录格式(例如,表中的记录的域和数据类型)、传递函数、图、作业、监测信息等。特别地,EME 124可以存储与基于图的计算相关联的元数据。在此上下文中,每个计算机程序都可以被视为使用计算图(也称为数据流图,或者简称为图)来实施。图包含一个或多个可以(例如,通过流或边)进行通信以允许数据流动的组件(或顶点)。在一些布置中,图可以在并行处理环境126中执行。
[0295] 被实施为数据存储装置的EME 124可以跟踪图的开发中的变化,执行统计和依赖性分析,管理与图的开发有关的元数据,并提供其他类似的功能。通常,与图相关的元数据的存储允许进行数据影响分析,从而为用户提供数据正在图中如何变化以及这些变化如何影响一个或多个其他图的视觉感觉。另外,EME 124可以允许存储图的多个版本,例如以跟踪开发期间的代码更改和调整。EME 124还存储表示要由计算系统120处理的实际数据的数据对象,包括存储在外部数据存储装置130中的数据。
[0296] 并行操作环境126接受在GDE 122中生成的数据流图的规范,并生成与由该图定义的处理逻辑和资源相对应的可执行指令(例如,计算机指令)。然后,并行操作环境126通常在多个处理器(不必是同类的)上执行这些指令。
[0297] 用户界面模块128提供EME 124的内容的基于浏览器的视图。用户可以使用用户界面模块128来浏览对象、生成新对象、改变现有对象等。例如,用户界面模块128可以生成浏览器屏幕,以供用户搜索并查看对象和关于存储在EME 124中的对象的信息。
[0298] 存储在EME 124中的元数据可以包括用于基于图的应用的数据对象,包括用于构建计算图的图组件和其他功能对象。EME 124中还可以存储一种或多种类型的元数据,例如,“技术”元数据(例如,与应用相关的业务规则、记录格式和执行统计数据)和“企业”或“业务”元数据(例如,工作职能、色和职责的用户定义的文档),并且可以存储其他类似类型。
[0299] 以数据对象的形式存储在EME 124中的信息使得能够对关于应用和由这些应用处理的数据进行各种分析。例如,用户可以获得有关数据沿袭的问题(比如给定值来自何处、输出值是如何计算的、以及哪些应用产生并依赖于数据)的答案。开发者可以理解所提出的修改的结果(例如,如果此组件发生改变,则还有其他什么会受到影响?如果此源格式发生改变,则哪些应用会受到影响?)。用户或开发者还可以获得涉及技术元数据和业务元数据两者的问题(比如,哪些用户组或开发者组负责生产和使用一组特定的数据、或者对特定应用的最新更新是什么)的答案。
[0300] EME 124还能够跟踪已存储数据的状态。例如,可以跟踪和存储一个或多个数据对象的多个版本,从而可以检查一段时间(例如,一周、一个月或一年)内对象的状态,并将该状态与对象的当前状态进行比较。例如,EME 124可以收集作业跟踪或执行信息,这使得能够进行趋势分析(例如,我们的数据增长有多快?)和容量规划(例如,该应用花费了多长时间来运行?该应用处理了多少数据并且以什么样的速率处理数据?该应用消耗了哪些资源?何时需要添加另一台服务器?)。
[0301] 用户可以通过用户界面模块108查看(以及可选地,编辑)包含在已存储的数据对象中并与其相关联的信息。在一种实施方式中,用户可以定义一个或多个“视图”,这些视图在浏览器页面中提供关于数据对象的相关子集的信息。“视图”是使用用于基于一个或多个对象之间的关系来选择这些数据对象的语法来定义的。
[0302] 如图9所示,EME浏览器界面202可以通过用户界面模块128在EME 124中生成。为了显示关于EME 124中的特定对象的细节,EME浏览器界面202可以使用包含在对象(例如对象A)中的信息来生成浏览器页面206的至少一部分(例如,包括超文本标记语言(HTML)表单)。例如,在图10所示的屏幕截图中,显示了关于名为“示例1”的文档对象的细节。返回图9,作为该浏览器页面206生成的一部分,调用元素渲染器204,该元素渲染器使用来自对象(例如,对象A)的信息并返回要渲染的页面或页面的部分。页面可以包括各种浏览器表单元素,这些浏览器表单元素包括显示与对象A相关联的信息的显示元素并且包括用于接收用户交互的输入元素。在该特定布置中,按钮208被提供为能够接收用户交互的元素,然而,可以使用其他输入元素来接收各种用户交互中的任何一种。例如,可以利用菜单(例如,下拉菜单)、复选框和其他类似类型的元素。通常,元素渲染器204指的是由一个或多个软件程序或例程实施的可重用逻辑,该一个或多个软件程序或例程通常针对可以在特定类型的任何对象上执行的特定活动而被定义。这样,元素渲染器204可以确定对对象执行什么动作,并且随后确定哪种输入元素(例如,按钮208)应渲染在浏览器页面206(显示在浏览器界面202中)上。用户动作与相应元素(例如,按钮)之间的关系通常由在元素渲染器204中指定的逻辑来提供。如果元素渲染器已经被配置为支持多个动作或不同选项,则用户当在“视图”中指定其包含物时可以将这些参数传递给渲染器。
[0303] 在一种布置中,元素渲染器(被称为“文件_更新.py(file_upload.py)”)可以将新文档添加到EME 124或替换现有文档。参照图10所示的屏幕截图,在文本“替换文档”右侧的元素已经由元素渲染器204生成。然而,可以在将元素渲染器204配置为“视图”的一部分时指定采取哪种动作。在一个示例中,函数调用元素渲染器(例如,文件_更新.py)可以默认将新文档添加到EME 124。函数调用元素渲染器(例如,文件_更新.py,其中,“动作=替换”)还可以替换当前文档。在另一示例中,可以为此类函数调用指定多个参数(例如,文件_更新.py,其中,“动作=添加&规则_名称=我的_文档_对象标识符(action=add&rule_name=my_doc_oid)”)。为了确定要由元素渲染器显示特定元素(例如,按钮208),与渲染器相关联的逻辑可以使用所提供(并且与“视图”的一部分相关联)的参数。元素渲染器204及其相关联的程序通常也存储在EME 104中。由于程序并不专用于单个对象,因此此类程序可以应用于在EME 124中呈现的多个对象。
[0304] 在提交文件(或其他类似操作)期间,除了显示在浏览器中的HTML表单的可见部分(例如文件“浏览”控制按钮302和“提交”按钮304)之外,还可以使用HTML表单内的隐藏信息。通常,无论场景或相关联的功能如何,当(经由用户交互)按下按钮208(例如,图10中的“提交”按钮304)时,都将调用脚本210。脚本210可以对各种类型的用户请求(例如,HTTP特定的服务)做出响应,并进而在EME 124中提供服务器侧处理。可以基于特定的对象或一组对象来绘制针对EME124中的对象的浏览器页面(例如,浏览器页面206)。例如,响应于用户选择存储在EME 124中的一个或多个对象而被显示的浏览器页面可以是与所选对象相关联的信息或各种特性的渲染。脚本(例如,脚本210)能够生成对其内容和/或布局取决于对象的页面或页面元素的自定义渲染。在一些布置中,元素渲染器204可以基于特定对象来渲染浏览器页面的一个或多个元素,并且浏览器页面的其他部分可以包括基于不同对象的元素的一个或多个渲染。脚本210可以使用各种类型的输入,例如,与对象(例如,对象A)相关联的信息、用户提供(例如,通过浏览器页面206输入)的信息、以及其他类型的信息。在执行期间,脚本210可以在EME 124内生成一个或多个其他对象。例如,可以在EME 124内产生第二对象B 212,但是,可以产生多个对象。连同产生一个或多个对象一起,脚本210还可以在对象之间建立链接(被称为关系)。例如,可以在对象B 212与对象A之间建立链接214。为了建立此类链接,可以使用一种或多种技术,例如,可以调用命令(例如,使用与EME 124相关联的命令行界面)。连同被链接到与其生产相关联的对象(例如,对象A)一起,对象B 212也可以被链接到如由脚本210确定为与对象A的所渲染一个或多个元素(例如,按钮304)相关联的其他对象。
[0305] 在这种布置中,EME 124是面向对象的储存库,并且包括对象和相关联的关系。在一些示例中,新生成的对象可以被链接到与正被显示的浏览器页面相对应的一个对象(或多个对象)。在其他情况下,可以根据被提供给HTML表单的信息来确定到对象(例如,现有对象)的链接。在一些示例中,对象A和B可以在EME 124中进行链接(例如,链接214),并且该链接可以被显示为浏览器页面206上的链接以进行导航。此类技术提供了一个或多个优点,例如,在EME 124中要链接哪些对象的知识可以被视为以自动化的方式来确定。EME 124内的每个对象可以被存储在“域(domain)”中,该域包含关于对象与EME 124中的其他对象相关联的关系的信息。当生成链接之一(例如,链接214)时,可以将指示对象被关联到(例如,指向)的域(domain)的信息添加到域。脚本210还可以更新目标对象的域(domain),例如以记录反向关系(例如,另一个对象指向该目标对象)。可以针对与特定对象(例如,对象A或B)相关的EME 124中所存储的文档中的一些或全部文档而示出链接(比如,链接214)。在一些示例中,脚本210可以检查与用户的输入相关联的许可,以判定是否允许生成新对象,并且如果不允许,则可以通知用户。
[0306] 在一些布置中,还可以将用户引导到新的浏览器页面或当前页面(例如,页面206)的刷新版本,以示出已经执行的动作(例如,由脚本210执行的动作的效果)的结果。在一些示例中,多个用户可以近似同时对EME 124进行修改,从而导致刷新以显示变化。在另一示例中,由于脚本210的执行,可能生成一个新的对象(或多个新的对象),可能已经设置了一些属性(例如,经由直接的用户编辑),并且可能已经将新的对象(或多个新的对象)链接到一些现有对象。基于刷新,可以显示新生成的对象的详细视图。该视图可以向用户呈现在编辑属性时已经由用户提供的信息。例如,对象的视图可以利用对象之间的链接来导航到EME 124中的其他对象并收集另外的信息。导航可以包括执行从起始对象到链接到该起始对象的另一个对象的“步进(walk)”动作(例如,基于链路的方向为“上游”或“下游”)。可以在连续的链路上执行多个步进动作,以导航到一个或多个相关对象。作为这种步进的结果,在刷新之后可以向用户呈现另外的信息。
[0307] 还可以将用户引导到新的浏览器页面或当前页面的刷新版本206,以提示用户将另外的信息存储在EME 124中。例如,可以通过在关系链接上进行导航来提示用户提供与新生成的对象(例如,对象B)或相关的一个或多个不同对象相关联的信息。自动链接新生成的对象的优点在于,对象的上下文可以帮助改进和增强与用户的后续交互。例如,用户可以提供输入,以在与组织的多个部之一相关联的浏览器页面上生成表示雇员的数据对象(例如,基于部门的数据对象)。在刷新页面之后,可以提供选择的菜单(例如,下拉菜单)以选择例如表示所添加雇员的主管的数据对象。如果脚本210自动将雇员数据对象链接到部门数据对象,则菜单中的选择列表可以被限制于将其数据对象被链接到部门数据对象的那些现有雇员作为该部门的成员。
[0308] 元素渲染器204可以使用例如高级计算机编程语言来实施,比如存储在EME124中的python脚本或Korn shell脚本。该元素渲染器的执行的结果是浏览器页面206的片段,其依赖于视图设计并且可以被插入到由EME浏览器界面202生成的内容的其余部分中。元素渲染器204可以为“视图”的一个元素生成HTML。在一些示例中,使用命令行界面(未示出)来顺序地配置视图元素。在一些情况下,元素渲染器204所返回的浏览器页面片段可能看起来像单个按钮208一样简单,但在另一些情况下,页面部分可能包含用于数据输入的其他表单元素。图10中所展示的示例具有文件“浏览”输入元素302。
[0309] 如上所述,当用户点击以提交文件时,脚本210通常会被调用。脚本210可以被实施为python脚本,或者以另一类似形式来实施。在一些示例中,由脚本210执行的动作可以通过以下步骤来执行。脚本210可以首先使用到EME 124的命令行界面在EME 124数据存储装置内生成新对象(例如,对象B 212)。参照图10所展示的示例,在与文件上传相关联的情况下,新对象可以是用户已经从其台式计算机上传的文件。在其他情况下,新对象可能最初完全是空的,但是被生成为可附加其他元数据或属性的占位符。接下来,脚本210可以将新对象链接到EME 124内的现有对象(例如,对象A)。最后,脚本210可以将用户引导到新页面或为用户刷新原始页面。如果将用户引导到新页面,则该页面通常是用于新链接和生成的对象的基于web的编辑器。链接对象的示例
[0310] 示例1:用户反馈
[0311] 在一种实施方式中,可以针对EME 124中的任何对象在浏览器页面(例如,浏览器页面206)上显示按钮(例如,按钮208)。当用户点击按钮时,脚本(例如,脚本210)可以被配置为执行以生成新的注释对象。脚本还可以为原始对象(例如,对象A)生成指向新的注释对象的链接。假定所生成的新的注释对象与原始对象有关。在一些示例中,新的注释可能不会被存储为原始对象的一部分。这样,为了在稍后时间找到并显示该注释,可以在原始对象与新的注释对象之间生成链接或关系。由此,浏览器页面或报告可以被设计成显示与对象或对象的更大集合有关的所有注释。例如,此实施方式可能能够提供用户已经输入的对项目中的对象的反馈。进一步地,可以将用户重定向到编辑器以便为新的注释对象输入文本内容。
[0312] 在一些实施方式中,上文所描述的特征可以用于生成针对业务规则或业务规则包的注释。该特征可以用于生成关于为什么批准或拒绝规则的注释。在注释生成之后,该注释将自动被链接到相关的规则或规则包。
[0313] 示例2:文件上传
[0314] 在此示例中,元素渲染器204用于在EME对象的浏览器页面上显示包含文件浏览控件(例如,计算机系统上用于上传到服务器的用户可选文件)和按钮(例如,按钮208)的表单。在一些示例中,元素渲染器204生成与唯一标识符相关联的浏览器页面元素,并允许在同一浏览器页面上显示多个文件上传表单。在用户浏览以选择与对象(该对象是驻留在EME 124中的项目的一部分)有关的文件(例如,Excel电子表格)(并且点击按钮)之后,调用脚本
210以将文件作为新的文档对象加载到EME124中。与脚本210相关联的操作可以生成从与原始浏览器页面相对应的对象到新的文档对象的链接。随后,可以将用户重定向到针对原始对象的浏览器页面,该页面示出了出于导航和报告的目的而将该对象链接至的文档的列表。
[0315] 示例3:业务规则环境(BRE)中的规则集的平版本控制
[0316] 在一种实施方式中,业务规则(例如,采用元数据的子集的形式)可以被存储在EME 124中。可以实施业务规则的各种类型和方面,例如,这些规则可以类似于在名称为“Editing and Compiling Business Rules(编辑和编译业务规则)”的美国专利8,069,
129、名称为“Editing and Compiling Business Rules(编辑和编译业务规则)”的美国专利8,386,408、名称为“Editing and Compiling Business Rules(编辑和编译业务规则)”的美国专利8,380,651、名称为“Editing and Compiling Business Rules(编辑和编译业务规则)”的美国专利9,002,770和名称为“Editing and Compiling Business Rules(编辑和编译业务规则)”的美国专利9,589,232中所描述的规则。上述专利(包括US 8,069,129、US 8,386,408、US 8,380,651、US 9,002,770和US 9,589,232)的全部内容通过引用并入本文。每个业务规则都可以被存储在单独的EME对象中。业务规则可以被表达为用于执行以下各项操作的一组准则:将数据从一种格式转换为另一种格式、关于数据进行确定、或基于一组输入数据生成新数据。例如,在图11A中,航班预订系统中的记录402包括用于指示以下各项的域值:乘客的姓名404、该乘客今年飞行了多少英里406、该乘客的机票的等级408、以及该乘客的座位在哪一排410。业务规则可以指示应将这样的乘客分配到特定的登机组(例如,登机组1)。尽管业务规则通常可以是用户可理解的,但是例如“第一等级的乘客在组1中”这样的信息可能需要被转译成一种或多种其他形式,以便由计算设备(例如,计算机系统)进行识别和处理。
[0317] 在一种特定的布置中,为了在基于图的计算环境中实施业务规则,可以生成从一个或多个数据源(例如,输入数据集400)接收输入记录(比如,记录402)的变换412。术语“变换”是指将输入数据变换为输出数据的机制,比如,软件模块或数据处理实体,其中,对数据的变换可以包括例如对数据的筛选、分类、清理、集成和提取。对数据的变换可以是由数据处理实体进行的任何类型的数据操纵。变换可以将该信息插入到输出记录中,例如,记录414,该记录指示乘客的姓名404以及已经将乘客分配到哪个组,例如,组418。记录414可以相应地被插入到输出数据集420中。虽然在此示例中展示了示出示例性记录的数据集(例如,数据集420),但是通常数据集可以包括任何数量和类型的记录。在一些布置中,输入数据集和输出数据集也可以称为数据流,例如,因为数据(来自数据集)可以流入或流出图。
[0318] 变换可以被结合到基于图的计算中,这些基于图的计算具有数据处理组件并且可以通过链接表示数据流的元素来连接。例如,图11B中所展示的计算图430包括两个数据集432、434(例如,常飞旅客数据和航班预订数据),这两个数据集为一个或多个计算提供输入。格式化组件436、438例如使用相似类型或不同类型的调整来格式化输入数据,以产生通用的经格式化的数据集,这些数据集被组合(例如,通过联合(join)组件440)以产生输出数据集442(其可以与其他处理操作一起使用)。变换本身可以是(比如在图形430中的)基于图的计算,或者可以在图的组件(比如组成图430的各个组件436、438和440)内实施。
[0319] 在一些布置中,可以使用一种或多种技术来简化变换的生成(例如,为了非技术型用户)。例如,可以为用户提供工具以便以熟悉的格式输入一组业务规则(称为规则集),其向计算机系统提供要执行的一个或多个变换。例如,规则集可以被视为产生单个变换的一组规则。规则可由一个或多个规则例组成,这些规则例根据输入来计算规则的输出的不同值。规则还可以包括多个规则,这些规则可以产生另外的或可替代的输出的值。规则集还可以包含其他规则集,这些规则集可以称为“内含的(included)”规则集。
[0320] 例如,规则集可以接收交易(例如,信用卡交易)的记录作为输入,并生成警报消息(例如指示欺诈性交易的消息或警告用户超出额度的消息)作为输出。规则集可以涉及一个或多个数学公式,其中,输入记录的一个或多个域是公式的参数。
[0321] 针对EME 124中的项目,浏览器页面可以列出该项目中所包含的规则集中的一些或全部。在这种情况下,浏览器页面可以显示与特定对象(例如,特定项目)相关的细节。EME 124中的项目通常包含各种技术元数据。在此示例中,浏览器页面可以列出项目中所包含的所有规则集。针对列表中的每个规则集,例如,可以通过使用相同的元素渲染器204来显示多个按钮或其他类型的元素。
[0322] 参照图12,示例性列表中包括一系列行,并且列表中的每一行包括四个按钮(例如,按钮502、504、506和508)。所显示的按钮中的每个按钮都被设置为通过调用元素渲染器(例如,元素渲染器204)而具有不同选项。更具体地,按钮502、504、506、508分别表示可以基于规则集执行的不同动作:“升级规则集”、“降级规则集”、“新的次要版本”和“新的主要版本”。广义上,升级规则集可以与将特定规则集从开发阶段转变到测试阶段、并且最后转变到生产阶段(例如,在生产阶段中,规则集可由用户执行以进行数据处理)相关联。这四个动作可以用于在开发生命周期期间升级或降级规则,并可能地用于生成规则的不同版本(例如,新的主要版本、次要版本等)。这种能力允许访问(并使用)规则集的先前版本(可能相对较旧),同时允许规则集在一段时间内演进。例如,代替更改现有规则或规则集,可以生成、调整规则或规则集的新副本并向该新副本分配新的版本号。
[0323] 在一些布置中,元素渲染器(例如,元素渲染器204)可以被配置为基于与规则集相关联的一个或多个许可来判定是否应当显示特定按钮。例如,许可可能与修改规则集及其当前开发生命周期相关联。参考开发生命周期作为示例,该生命周期中的不同阶段可以是开发(“开发(Dev)”)、测试(“测试(Test)”)和生产(“生产(Prod)”)。因此,元素渲染器(例如,元素渲染器204)的逻辑可以顺序地逐步执行这三个阶段(以该特定顺序)。一旦达到“生产”阶段,就不可以再进一步升级规则集。类似地,在“开发”阶段,用户不可以进一步降级规则。元素渲染器204还可以预先计算在用户点击按钮的情况下可以显示的确认文本。即,当用户点击按钮之一时,可以显示包括文本的弹出图形并确认动作。例如,点击第一行中的按钮502可能会弹出具有指示“您确定想要将‘规则集-1-开发’升级到‘测试’吗?(Are you sure that you want to Promote Ruleset-1-Dev to Test?)”的文本的对话框。通过提供这样的显示,用户可以确认该操作,从而使意外更改(来自意外点击)的概率降低。
[0324] 另外,当用户点击按钮之一时,调用脚本210并制作相应规则集的副本。已经被填充了内容的规则集被复制,并且可以用作后续改变的起点。可替代地,该副本可以用作备份,以使得可以对原始规则集进行改变。可以基于规则的原始名称和动作来确定规则集的新副本的名称。也可以使用不同的名称,以便用户稍后可以区分它们。例如,如果规则名称最初以“开发”结尾并且规则正在被升级,则新规则名称可以以“测试”结尾。如所提及的,在不同阶段,对规则执行不同的活动。当处于“开发”阶段时,可以认为规则正在被开发者修改。在“测试”阶段时,通常,正在检查规则或规则集是否适当表现,并且规则通常保持不变。在“生产”阶段,规则集正在例如用于其预期目的,并且通常不会被改变。不同的阶段和版本可能是必要的,因为规则集一从“开发”升级到“测试”,开发者可能就开始做出新的更改了。
基于新名称,脚本210可能需要更新存储在规则集内的一些信息。在一些示例中,规则集包含关于代码文件的名称的信息(例如,图11A中的图的变换412)。在一些示例中,此代码文件以规则集命名。这样,如果使用新名称生成规则集,则所生成的文件的名称也被更新。随后,可以将用户重定向到项目中的已经被更新为包含新规则的规则集的列表(并且允许用户查看已执行的动作的结果)。例如,如果对规则集执行了这些动作中的任何一个动作,则用户会被带到浏览器页面以获得新的规则或修改后的规则。
[0325] 示例4:用于对象创建的向导。
[0326] 参照图13,可以例如基于用户交互来实施用于产生一个或多个对象的另外的操作。在一种布置中,可以通过一系列步骤从用户收集信息,以产生一个或多个对象。例如,用户交互(例如,用户点击按钮的图形表示)可以发起执行向导(例如,一系列对话框)或者引导用户通过一系列步骤的另一种类型的UI屏幕序列。在逐步执行序列时,例如从用户收集用于产生一个或多个对象的信息。所收集的信息还可以用于其他操作,例如,所收集的信息可以表示与一个或多个对象相关联的性质,并且可以用于修改一个或多个对象。
[0327] 如图中所示出的,出于说明性的目的,屏幕600的一部分包括数据集(例如,表)中的域(例如,列)。在此示例中,数据屏蔽规则(例如,模糊化、去标识等)被定义,并且可以对与域相关联的数据进行操作。为了发起该流程,用户(通过与比如鼠标等定点设备的交互)选择按钮602(被标记为“添加屏蔽规则”)的图形表示。在被选择之后,执行包括一系列屏幕的向导。例如,可以首先呈现第一向导屏幕604的一部分以收集用户提供的信息。在此特定示例中,向导屏幕604呈现两个单选按钮并提示用户选择要产生的屏蔽规则的类型。一旦做出选择,用户就可以选择按钮606(被标记为“下一步”)以转变到下一向导屏幕。为了终止向导,用户可以选择另一个按钮608(被标记为“取消”)。接下来,在这种场景下,呈现另一向导屏幕(如由屏幕610的一部分提供的)。针对此特定屏幕610,向用户呈现两个单选按钮,用于选择是创建新规则还是添加到现有规则。基于用户所提供的选择,向导可以确定遵循哪种特定路径(例如,一系列屏幕)。这样,向导可以包括针对各种用户引导的场景的多个分支路径(例如,树结构)。类似于屏幕604,用户可以通过选择按钮612(被标记为“下一步”)来选择继续向前进行向导,通过选择按钮614(被标记为“后退”)来移动后退一个屏幕,或者通过选择按钮616(被标记为“取消”)来中止向导。在做出选择之后,向导执行适当的动作。
[0328] 参照图14,由向导提供的屏幕700的另一部分提示用户从对象列表中进行选择以定义屏蔽规则。针对该选择,在此示例中,在菜单(例如,下拉菜单)中提供函数的列表。所选函数中的每个函数都可以与可以被存储(例如,在储存库124中)的一个或多个对象相关联。在此示例中,一个或多个屏蔽功能(例如,哈希普查(Hash Census)1)与所存储的对象相关联。连同使用菜单进行屏蔽选择一起,用户还可以使用按钮(类似于按钮612、614和616)来控制通过该向导行进的方向。在此示例中,选择按钮702(被标记为“下一步”)以移动前进到提供对用户选择的概述的屏幕704。针对此示例,名为“首选(preferred)”的域(如屏幕600所展示的)与函数“哈希普查1”相关联。在审阅该信息并选择按钮706(被标记为“完成”)之后,产生一个新的对象(或多个对象),并且可以产生一个或多个图形表示,例如,以导航到该对象(或这些对象)。例如,简短地返回到图14的屏幕600,到新产生的对象的链接可以替换图形按钮602,并且在被选择之后,该链接可以将用户引导到新对象。在一种布置中,可以向用户呈现屏幕708,以用于查看与所产生的对象相关联的信息和参数。尽管此向导示例演示了一个对象(或多个对象)的产生,但是类似的向导还可以提供其他操作。例如,可以执行对象调整(例如,函数赋值等)、对象删除和其他类似的操作。
[0329] 示例5:编辑渲染器
[0330] 参照图15,在创建一个或多个对象之后,可以执行其他操作,比如与交换数据相关联的操作。在一种布置中,可以将所渲染的元素的功能扩展为包括编辑能力。例如,可以执行脚本、程序或其他类型的指令集合以产生可以与另一程序(例如,专用编辑器)相关联的对象。引入与对象相关联的编辑器使得可以扩展编辑能力(例如,利用约束条件来编辑元数据、启动外部编辑控件等)。连同增强编辑能力一起,与对象相关联的编辑器还可以增加编辑灵活性。
[0331] 如图中所展示的,屏幕800包括编辑屏幕的一部分。屏幕中包括的域802(被标记为“键(Key)”)具有作为编辑渲染器的控件。在此示例中,不能直接输入或编辑值(例如,数值、文本、函数等)。而是,用户可以选择图形按钮804以启动与键域(Key field)的对象相关联的编辑器。在此布置中,屏幕806呈现与键域相关联的示例性编辑器808,并允许用户所选的信息与该域相关联。在此特定布置中,以软件开发产品来实施编辑器808,该软件开发产品产生了用于多个平台(比如,Flex(来自加利福尼亚州圣何塞的奥多比系统(Adobe Systems)公司))的丰富的互联网应用(例如,用户界面)。在此特定示例中,编辑器808向用户提供一组可选记录810和选择工具812,以用于识别键域802的数据。一旦被选择,图形按钮814就可以被选择用于返回(并且提供所选的数据)到先前的屏幕800。
[0332] 参照图16,屏幕900表示屏幕800的经更新版本,其中,键域填充有来自编辑器808(示出在屏幕806中)的信息。具体地,经更新的键域902包括从编辑器808选择的这两个域。这样,两组数据与屏幕900相关联,但是,在一些示例中,可能存在另外的多组数据。可以从与屏幕900相关联的对象中提供数据集之一,例如,使用下拉菜单904对数据进行选择并将其输入到在屏幕900中渲染的对话框906中。由包括在屏幕806中(并与键域802相关联)的编辑器808提供第二数据集。此数据可以通过使用一种或多种技术被传递例如到另一屏幕。例如,数据集可以被置入相似的表单中。在一种布置中,数据可以以预定的形式或格式被捆绑在一起以便以查询字符串(例如,HTTP查询字符串)进行提交。例如,用户可以选择发起将数据捆绑为查询字符串的图形按钮908(被标记为“保存改变”)。在被捆绑为查询字符串之后,该字符串可以被提供到一个或多个屏幕、对象或其他位置,以进行另外的处理和呈现。也可以实施各种类型的编辑器,例如,与时间和日期相关联的编辑器、图形编辑器(例如,用于查看三维对象的各个方面)、以及其他类型的编辑器。
元素渲染器的操作
[0333] 参照图17,流程图1000表示由元素渲染器(例如,元素渲染器204)和脚本(例如,脚本210)实施的一些操作,这些操作用于管理存储在数据储存库(即,EME 124)中的数据对象并且将与数据对象相关联的元素显示在图形用户界面(即,用户界面模块108)上。
[0334] 如所提及的,可以通过关系链接来引用EME 124中的高度互连的元数据对象。除了强制执行和维护多个数据对象之间的逻辑关系之外,EME 124还使用基于web浏览器的图形用户界面(例如,界面202)来显示特定数据对象的细节。具体地,自动使用对象内的信息来生成1002表单(例如,web表单),该表单可以调用对一个或多个数据对象的相应操作。这通常是由元素渲染器来实施的,其可适用于驻留在EME 124中的几乎所有数据对象。在接收604由与数据对象有关的各种用户界面交互所表示的用户输入之后,脚本210可以转译web表单中的用户输入数据以在数据储存库内生成1006新的数据对象。这个新的数据对象不是仅仅复制输入数据或表示在中间计算期间获得的临时变量,而是还包括可以保留在EME 
124中的内容。随后,可以基于调用用户操作的位置来自动实施将新的数据对象与EME 124中的一个或多个相关数据对象进行链接1008。作为上述对象生成和链接的结果,浏览器界面202管理用于在图形用户界面上显示的内容,并且使得用户能够通过该界面看到EME 124中的变化。
业务标记
[0335] 在一些实施方式中,可以通过使用标签来管理规则集,这些标签是包含关于相应规则集的信息的数据对象。用于管理规则集的标签可以是例如可扩展标记语言(XML)标签,但也可以是其他类型的数据对象。以下描述了使用标签来管理业务规则,但是相同的原理也可以应用于使用标签来管理其他类型的规则。
[0336] 规则规范或规则集可能经历开发生命周期或批准流程的多个阶段。例如,参考开发生命周期作为示例,该生命周期中的不同阶段或时期可以是开发、测试和生产。例如,参考批准流程作为示例,该流程中的不同阶段或时期可以是开放、已提交(或审阅)和已批准(或已发布)。开发生命周期或批准流程的每个阶段也称为“状态”。
[0337] 如图12所示,用户界面可以提供表示不同动作的按钮,这些不同动作可以基于规则集被执行,比如,升级或降级规则集、或生成规则集的新的主要版本或次要版本。可以基于与规则集相关联的一个或多个许可来确定是否应该显示特定按钮。在一些实施方式中,可允许转变可以由转变规范(在此称为“标记规范”)来指定。
[0338] 参照图18,作为示例,标记规范1150指定与规则集相关联的状态“开发”、“测试”和“生产”的可允许转变。可允许转变包括从“开发”到“测试”的转变、从“测试”到“生产”的转变、从“测试”到“开发”的转变以及从“生产”到“测试”的转变。使用标签来记录与规则集相关联的状态。例如,当我们说规则集从“开发”状态转变到“测试”状态时,规则集本身不会改变,而与规则集相关联(或指向规则集)的标签从“开发”状态改变为“测试”状态。标记规范1150包括代码1152,该代码指定当与规则集相关联的标签处于“开发”状态时,将在用户界面中示出具有标记“升级”的按钮。用户与“升级”按钮进行交互之后,与规则集相关联的标签将转变为“测试”状态。标记规范1150包括代码1154,该代码指定当与规则集相关联的标签处于“测试”状态时,将在用户界面中示出具有标记“升级”的第一按钮和具有标记“降级”的第二按钮。在用户与“升级”按钮交互之后,与规则集相关联的标签将转变为“生产”状态,而在用户与“降级”按钮进行交互之后,与规则集相关联的标签将转变为“开发”状态。标记规范1150包括代码1156,该代码指定当规则集与“生产”状态相关联时,不允许进一步进行修改。
[0339] 当与规则集相关联的标签在各种可能的状态之间转变时,与规则集关联的标签包含跟踪与规则集关联的状态的信息。因此,当规则集被升级或降级成与不同的状态相关联时,标签的内容将被更新以反映与规则集相关联的当前状态。
[0340] 在一些实施方式中,可以使用两种或更多种类型的标签来管理规则集。例如,一种类型的业务标签可以是用于由业务用户生成的应用配置和规则集的“对象标签”。业务用户在公布应用配置或规则集时可以生成对象标签。一种类型的业务标签可以是用于由开发者生成的通用图、应用模板、记录格式文件以及包的“技术标签”。技术标签可以用于标识要用于发布的通用图、应用模板和其他对象的版本。一种类型的业务标签可以是“发布标签”,其用于标识定义规则集的发布版的内容或使用一个或多个规则集的应用的内容的技术标签和对象标签。
[0341] 以下描述了使用发布标签来管理规则集的各种版本或发布版。例如,参照图19A,用户界面1100显示指向业务规则集的三个版本或发布版的三个发布标签的名称:“CEP_发布_V1.0”1102、“CEP_发布_V1.1”1104和“CEP_发布_V1.2”1106。每个发布标签(其指向业务规则集的特定版本)具有相关联的状态1108,例如“已批准”、“开放”或“已提交”。在此示例中,发布标签“CEP_发布_V1.0”、“CEP_发布_V1.1”和“CEP_发布_V1.2”分别与状态“已批准”、“开放”和“开放”相关联。当用户选择发布标签之一时,在用户界面1100中显示允许用户修改发布标签的状态的按钮。例如,当用户选择状态为“开放”1110的发布标签“CEP_发布_V1.2”时,示出按钮“已提交”1112。
[0342] 在此示例中,规则集的每个版本或发布版都与发布标签相关联,该发布标签包括关于与规则集相关联的状态的信息。标记规范定义了审阅流程的各种状态(或阶段)。标签对象包含到规则集的特定版本、以及可选地审阅历史的链接。例如,审阅历史可以指示在星期一特定开发者为规则集生成了标签;在星期二,管理者拒绝了该标签;以及在星期三,开发者重新提交了该标签。当每个规则集在各种状态之间转变时,与该规则集相关联的标签将被更新,以跟踪与规则集相关联的状态。因此,当一个规则集被升级或降级成与不同的状态相关联时,指向该规则集的标签的内容将被更新以反映当前状态、以及可选地审阅历史。
[0343] 参照图19B,当用户点击按钮“提交”1112(图19A所示)时,用户界面1110将标签“CEP_发布_V1.2”的状态更新为“已提交”1114,并显示按钮“批准”1116和“拒绝”1118。如果用户点击按钮“批准”1116,则标签“CEP_发布_V1.2”转变为“已批准”状态,而如果用户点击按钮“拒绝”1118,则标签转变为“开放”状态。
[0344] 参照图19C,针对图19A和图19B所示的示例,状态之间的可允许转变包括从“开放”1200到“已提交”1202的转变、从“已提交”1202到“开放”1200的转变、以及从“已提交”1202到“已批准”1204的转变。哪个(哪些)按钮(例如,“提交”1112、“批准”1116、和/或“拒绝”
1118)将会显示取决于与规则集相关联的当前状态以及由标记规范指定的可允许转变。
[0345] 例如,参照图20,标记规范1120指定标签在状态(比如图19A和19B中所示的状态)之间的可允许转变。标记规范1120包括代码1122,该代码指定当标签处于状态“开放”1124时,将在用户界面中显示具有标记“提交”的按钮1126。在用户与按钮“提交”1126交互之后,标签将转变为目标状态“已提交”1128。标记规范1120包括代码1130,该代码指定当标签处于状态“已提交”1132时,将在用户界面中显示具有标记“批准”的第一按钮1134和具有标记“拒绝”的第二按钮1136。在用户与“批准”按钮交互之后,标签将转变为目标状态“已批准”1138,而在用户与“拒绝”按钮交互之后,标签将转变为目标状态“开放”1140。标记规范1120包括代码1142,该代码指定针对状态“已批准”1144,不显示任何按钮,这表明一旦标签处于“已批准”状态就不再执行进一步的转变,从而表明与标签相关联的规则集已被最终确定并被批准。
[0346] 在一些实施方式中,标记规范可选地包括在动作(例如,用于批准标签以使得规则集变得与已批准状态相关联的动作)之前或之后被调用的脚本。例如,“前置状态转变脚本(pre-state transition script)”是指在动作之前被调用的脚本,其中,该脚本可以包括可以取消动作的条件。例如,如果存在验证错误,则前置状态转变脚本可能使得无法尝试批准标签。
[0347] 在一些实施方式中,管理规则集的开发、测试和发布的公司可能会要求:当规则集在开发生命周期或批准流程的各个阶段之间转变时,在每个阶段需要由特定的(多个)授权职员来处理规则集。在此示例中,每个阶段可以对应于公司中的(多个)雇员的某一(某些)角色。定义状态的标记规范还可以指定有权实现转变的(多个)职员。在图18所示的示例中,标记规范1150包括指定哪个(哪些)职员有权实现阶段之间的各种转变的代码1158a、1158b和1158c。例如,代码1158a指定在“角色名称-列表1”中列出了有权实现从“开发”到“测试”的转变的职员。代码1158b指定在“角色名称-列表2”中列出了有权实现从“测试”到“生产”的转变的职员。代码1158c指定在“角色名称-列表3”中列出了有权实现从“测试”到“开发”转变的职员。
[0348] 例如,参照图21,规则集批准流程1160包括开发阶段1162、审阅阶段1164和已发布阶段1166。在开发阶段1162中,规则集与第一状态1168相关联。在审阅阶段1164中,规则集可以与以下两种状态之一相关联:第二状态1170和第三状态1172。在已发布阶段1166中,规则集与最终状态1174相关联。例如,第一状态可以是“开放”状态,第二状态可以是“审阅-1”状态,第三状态可以是“审阅-2”状态,而最终状态可以是“已发布”状态。与规则集相关联的标签跟踪与规则集相关联的状态。标签在各种状态之间转变,从而表示规则集经历批准流程中的各个阶段。
[0349] 当与规则集相关联的标签处于第一状态1168时,开发者1176可以生成和修改规则集,并且升级(或提交)规则集,使得标签转变1178到第二状态1170。当标签处于第二状态1170时,规则集由管理者1180审阅,并且开发者1176不能修改规则集或者改变标签的状态。
与规则集相关联的标签可以包含关于规则集的审阅历史的信息。管理者1180可以升级(或批准)规则集,使得标签转变1182到第三状态1172,或者降级(或拒绝)规则集,得使标签转变1184回到第一状态1168。当标签转变1184回到第一状态1168时,开发者1176可以进一步修改规则集,并且然后升级规则集以供进一步审阅。
[0350] 当与规则集相关联的标签处于第三状态1172时,由高级管理者1186审阅该规则集,并且开发者1176和管理者1180不能修改规则集或改变标签的状态。高级管理者1186可以升级(或批准)规则集,使得标签转变1188到最终状态1174,或者降级(或拒绝)规则集,得使标签转变1190回到第一状态1168。当标签转变1190回到第一状态1168时,开发者1176可以修改规则集,并且升级规则集以供进一步审阅。当标签处于最终状态1174时,不能再修改标签的状态。例如,当高级管理者1186升级规则集并且标签转变为最终状态1174时,这可以表明规则集准备好被发布给客户并且不允许对该规则集进行进一步的修改。
[0351] 在一些实施方式中,可以将两个或更多个业务规则集一起打包到“容器”、“集合”或“发布版”中,并作为一个组进行管理。容器可以与若干个状态之一相关联,并且容器中的业务规则集中的每个业务规则集也可以与可能与容器状态相关或独立于容器状态的状态相关联。容器可以与标签相关联,该标签具有关于与容器相关联的状态的信息。
[0352] 例如,一个软件产品可能经历若干个发布版或版本,其中,该软件产品的每个发布版都可以包括多个业务规则集。不同的发布版可能与业务规则集的不同组合相关联。“发布标签”或“组标签”可以用于存储与关于软件产品的发布版的一组规则集有关的信息。软件产品的不同发布版的可以与不同的发布标签相关联。
[0353] 例如,参照图22,用户界面1190示出了与一组规则集相关联的发布标签“CEP_发布_V1.1”1192,其中,发布标签“CEP_发布_V1.1”1192包括关于一组对象标签1194的信息,这些对象标签诸如“调查_客户_活动_V1.1”、“交易_分类_V1.1”、“查阅_手机_活动_V1.1”、“查阅_被公布的_货币_活动_V1.1”、“查阅_Web_活动_V1.0”和“查阅_非_货币_活动_V1.0”。对象标签1194中的每个标签都指向相应的规则集。发布标签“CEP_发布_V1.1”1192与状态“开放”1196相关联。发布标签“CEP_发布_V1.1”1192包括关于与一组规则集相关联的当前状态的信息。与规则集相关联的对象标签1194,比如“调查_客户_活动_V1.1”、“交易_分类_V1.1”、“查阅_手机_活动_V1.1”、“查阅_被公布的_货币_活动_V1.1”、“查阅_Web_活动_V1.0”和“查阅_非_货币_活动_V1.0”分别与状态1198“已提交”、“已提交”、“已提交”、“已提交”、“已批准”和“已批准”相关联。对象标签“调查_客户_活动_V1.1”、“交易_分类_V1.1”、“查阅_手机_活动_V1.1”、“查阅_被公布的_货币_活动_V1.1”、“查阅_Web_活动_V1.0”和“查阅_非_货币_活动_V1.0”中的每个标签跟踪与相应规则集相关联的当前状态。
[0354] 在此示例中,与组发布标签“CEP_发布_V1.1”相关联的状态1192不同于与组中的规则集相关联的状态1198。在一些实施方式中,与组中的各个规则集相关联的状态独立于与该组相关联的状态。因此,当发布标签在各种状态之间转变时,与各个规则集相关联的状态不改变(除非用户特别地修改与规则集关联的对象标签的状态)。例如,当组发布标签“CEP_发布_V1.1”1192从“开放”状态转变为“已提交”状态、从“已提交”状态转变为“已批准”状态、或从“已提交”状态转变为“开放”状态时,与规则集1194相关联的状态保持不变。类似地,当与一个或多个规则集1194相关联的一个或多个对象标签改变状态时,组发布标签1192的状态不改变(除非用户特别地修改组发布标签1192的状态)。
[0355] 在一些实施方式中,与组中的规则集相关联的状态受到与该组相关联的状态的影响。例如,标记规范可以指定,组可以与N个状态之一相关联(N是大于或等于2的正整数),并且组中的每个规则集可以与N个状态之一相关联。标记规范可以进一步指定,当将组发布标签从第(i-1)状态升级到第i状态时,具有比第i状态晚的状态的对象标签(与规则集相关联)被降级为第i状态,而具有比第i状态早的状态的对象标签保持不变。
[0356] 例如,标记规范可以指定,当将组发布标签从第(i-1)状态升级到第i状态时,具有比第i状态早的状态的对象标签(与规则集相关联)也被升级为第i状态,而具有比第i状态晚的状态的对象标签的保持不变。
[0357] 例如,标记规范可以指定,当将组发布标签从第(i+1)状态降级到第i状态时,具有比第i状态晚的状态的对象标签(与规则集相关联)也被降级为第i状态,而具有比第i状态早的状态的对象标签保持不变。
[0358] 例如,标记规范可以指定,当将组发布标签从第(i+1)状态降级到第i状态时,具有比第i状态早的状态的对象标签(与规则集相关联)被升级为第i状态,而具有状态比第i状态晚的状态的对象标签保持不变。
[0359] 被允许与组发布标签1192相关联的状态可以不同于被允许与对象标签1194(与规则集相关联)相关联的状态。例如,标记规范可以指定,组发布标签1192可以与“开放”、“审阅-1”、“审阅-2”或“已发布”状态之一相关联,而每个对象标签1194可以与“开放”、“已提交”或“已批准”状态之一相关联。
[0360] 作为数据对象的标签是可以包括与规则集的开发或批准相关联的各种类型的信息。标签可以提供图1中的公共日志数据对象116的功能。各种类型的信息可以包括例如对规则集执行了什么动作(例如,升级、降级、提交、批准或拒绝)、谁执行了这些动作、以及在何时执行了这些动作。标签还可以包括开发、测试、审阅和/或批准规则集的人员的批注或注释。以这种方式,在规则集的开发生命周期或批准流程的每个阶段,进行与规则集相关的工作的人员可以获取关于先前已经对规则集完成的工作的有用信息,从而使得该人员可以快速集中于需要被解决的问题。当出现问题时,用户可以查看审阅历史,并尝试识别是什么出现问题、错误发生在哪里,并采取纠正措施以避免将来出现这种类型的问题。
[0361] 图23A和图23B示出了与业务标签相关联的活动日志的示例的屏幕截图1210和1220,其中,日志包括关于已执行的操作、执行了操作的用户、用户的批注、以及执行操作的日期和时间的信息。
集成应用开发系统
[0362] 下文中更详细地描述集成应用开发系统100。返回参照图1,应用开发系统100包括文档编辑器102、业务流程管理工具104、源代码控制工具106、应用模拟器108、数据储存库110和集成用户界面112。文档编辑器102允许用户查看和编辑业务规则,并且可以提供功能,这些功能包括但不限于图12至图16、图19A、图19B、图22、图23A和图23B所示的那些功能。
[0363] 用户可以使用文档编辑器102来修改电子表格中具有与规则例相对应的行的条目。文档编辑器102可以用于编辑规则的触发准则。文档编辑器102链接到业务流程管理工具104,该业务流程管理工具管理规则的状态。例如,文档编辑器102与集成用户界面112相结合使得用户能够在规则的开发生命周期中升级或降级规则,并且能够批准规则以进行发布。响应于用户升级、降级或批准规则,业务流程管理工具104使用上述标签来跟踪规则的状态。基于与规则相关联的规则规范,业务流程管理工具104确定哪些状态转变是允许的,并且与文档编辑器102进行通信,以使得编辑器102可以控制集成用户界面以在用户界面中显示适当的项(例如,“提交”、“批准”、“拒绝”、“升级”和/或“降级”按钮),从而使用户能够改变规则的状态。
[0364] 用户可以开发若干个规则,并且每个规则可以具有若干个版本。例如,规则的不同版本可以具有不同的触发准则。图24示出了由文档编辑器102提供的示例性用户界面,该用户界面示出了用户正在开发的若干个规则。在此示例中,用户正在进行与规则相关的工作,比如,“现金_返还_通知”规则、“查阅_非_货币_动作”规则、“查阅_手机_活动”规则、“查阅_被公布的_货币_活动”规则、“查阅_Web_活动”规则和“交易_分类”规则。用户选择了“查阅_被公布的_货币_活动”规则1242,并且文档编辑器102示出关于规则1242的各种版本的信息1244。在此示例中,该规则的版本1.0和1.2已经被批准,该规则的版本1.1和1.3已经被提交,并且该规则的版本1.4为开放。在CEP(工作空间的名称)发布版1.0中使用规则的版本
1.0,在CEP发布版1.1中使用规则的版本1.1,并且在CEP发布版1.2中使用规则的版本1.3。
[0365] 文档编辑器102链接到源代码控制工具106,使得当规则的某一版本被批准发布时,规则的该版本被维护规则的各种版本的主储存库的源代码控制工具106所存储。随后,当用户旨在编辑规则的特定版本时,用户可以请求更改规则的许可,并且源代码控制工具106将允许用户检出规则并编辑规则,并且防止其他人编辑该规则直到该规则被重新检入。
源代码控制工具106还保存对规则进行了更改的用户的记录以及对规则进行了哪些更改的记录。
[0366] 参照图25,在一些实施方式中,文档编辑器102可以生成规则集差异报告1250,该规则集差异报告比较规则的不同版本并提供关于版本之间的差异的信息。在此示例中,用户比较“查阅_被公布的_货币_活动”规则的版本61和128,并且文档编辑器102提供版本之间的差异1252的列表。
[0367] 业务标记方法的特征在于,用户可以在各种规则的不同版本中进行挑选以组装规则集容器或包以供与应用一起使用,并且使用组装后的规则集容器来模拟应用的执行。例如,信用卡公司的开发者可以使用应用开发系统100来开发用于信用卡处理应用的规则。该应用可以使用“信用卡批准”规则来决定是否批准信用卡申请、使用“信用卡奖励”规则来决定给予信用卡客户什么奖励、并且使用“欺诈检测”规则来评估某些信用卡交易是欺诈性的可能性。例如,开发者可能已经针对“信用卡批准”规则开发了版本1.0、1.1、1.2和1.3、针对“信用卡奖励”规则开发了版本1.0、1.1、1.2、1.3、1.4、2.0和2.1、并且针对“欺诈检测”规则开发了版本1.0、1.1、2.0、2.1、3.0和3.1。
[0368] 例如,开发者可以决定使用“信用卡批准”规则的版本1.1、“信用卡奖励”规则的版本2.1和“欺诈检测”规则的版本3.0来模拟执行信用卡处理应用。文档编辑器102可以提供界面以允许用户选择要一起打包到容器中的特定规则和每个所选规则的特定版本,并将规则容器与信用卡处理应用相关联。
[0369] 返回参照图1,文档编辑器102链接到应用模拟器108。使用上述示例,在用户将规则容器与信用卡处理应用相关联之后,文档编辑器102为用户提供选项以调用应用模拟器108来模拟执行信用卡处理应用。在一些实施方式中,该应用是基于图的计算,其具有通过链接表示数据流的元素来连接的数据处理组件。应用模拟器108将容器中的规则转换为变换,将该变换与基于图的计算中的组件相关联,执行基于图的计算,并显示执行的输出结果。
[0370] 用户可以检查该模拟的输出以确定是否需要进一步修改规则。例如,如果用户确定应用未能检测到测试数据集中的许多欺诈性交易,则用户可以使用文档编辑器102来更改当前与应用相关联的“欺诈检测”规则的版本3.0的状态和/或对其进行编辑。假设“欺诈检测”规则的版本3.0当前处于“测试”状态。用户可以将规则的版本3.0降级为“开发”状态,这表明该规则需要进一步的修正。用户可以选择“欺诈检测”规则的版本2.1,以将其包括在与信用卡处理应用相关联的规则容器中,然后再次运行模拟。如果用户对“信用卡批准”规则的版本1.1、“信用卡奖励”规则的版本2.1和“欺诈检测”规则的版本2.1一起正常运行感到满意,则用户可以批准容器以供例如作为发布版1.0来发布。
[0371] 在用户完成对“欺诈检测”规则的版本3.0的编辑之后,用户可以将规则的状态升级为“测试”,将规则的此版本包括在容器中,并运行对应用的模拟。如果用户确定“信用卡批准”规则的版本1.1、“信用卡奖励”规则的版本2.1和“欺诈检测”规则的版本3.0一起正常运行,则用户可以批准容器以供例如作为发布版1.1来发布。
[0372] 应用开发系统100的优点在于其提供了集成用户界面,该集成用户界面允许用户编辑规则、管理规则的开发生命周期和版本控制、并且以统一方式使用规则执行对应用的模拟。与规则相关联的标签和其他信息可由系统100中的各种工具访问。例如,当用户使用文档编辑器102为容器选择特定规则和规则的特定版本时,可以将关于所选规则的信息提供给应用模拟器108,该应用模拟器加载规则的所选版本并基于这些规则生成变换。
[0373] 例如,可以将由应用模拟器108生成的模拟输出数据集提供给文档编辑器102,该文档编辑器可以在输出数据集的旁边显示规则。文档编辑器102可以提供允许用户选择输出数据集中的一个或多个值的界面,并且该界面可以突出显示规则的被触发以生成所选的(多个)输出值的部分。如果(多个)输出值与预期的不同,则用户可以审阅规则的被突出显示的部分,以判定其是否需要进行进一步修正。用户可以修改规则,再次运行模拟,并查看更新后的输出值是否与预期的相同,并根据需要进一步修正规则。
[0374] 应用开发系统100允许可能不具有计算机编程方面的专业知识的业务人员能够编辑规则,使用规则执行应用程序,判定输出是否与预期的相同,并且根据需要进一步编辑规则。例如,在信用卡公司工作的金融分析师可能具有金融方面的专业知识,但可能不知道如何编写计算机代码来实施用于处理信用卡申请的规则、用于确定信用卡奖励的规则、以及用于检测欺诈性信用卡交易的规则。使用应用开发系统100,金融分析师可以修正电子表格中(许多财务分析师所熟悉)的值和公式,并且可以由应用模拟器108将基于这些值和公式指定的规则变换为被插入到应用程序中的代码以供执行。
[0375] 在一些实施方式中,应用开发系统100促进用于开发在市场营销或业务活动中使用的业务规则的流程,比如图26至图29中的流程1260、1350、1360和1370。流程1260、1350、1360和1370仅是示例。不同的公司可能具有不同的流程和不同数量的团队成员,这些团队成员一起工作以开发业务规则。例如,一个公司可以使用单个制作者和单个检查者来编写和审阅业务规则并评估风险。例如,另一个公司可能具有三个或更多个检查者来提供附加级别的审阅。
[0376] 在一些实施方式中,应用开发系统100使得用户能够方便地开发业务规则用于促进各种应用。例如,金融机构(例如,银行、信用卡公司、或投资公司)可以具有向客户或潜在客户提供新产品或促销的活动。在第一产品供应中,金融机构可以向有资格的客户提供新的房屋净值贷款。在第二产品供应中,金融机构可以提供具有各种奖励计划的新信用卡。这些活动产品的优惠可能出现在ATM机上示出的广告、通过电子邮件或文本消息发送的广告、在网站上呈现的广告、或通过邮政函件发送的广告中。针对不同的客户,优惠的细节可能会不同。
[0377] 例如,当客户使用web浏览器访问金融机构的在线账户时,可以利用示出了由金融机构提供的各种服务的欢迎web页面来迎接该客户。该web页面还可以显示针对客户定制的一个或多个促销优惠。该web页面可以由金融机构的计算机服务器来生成。当客户登录在线账户时,金融机构处的计算机服务器基于例如与客户相关联的金融信息和其他信息来确定要向客户提供什么促销。
[0378] 例如,如果客户具有房屋抵押贷款,则计算机服务器可以确定客户可能对房屋净值贷款感兴趣。当计算机服务器生成要向客户示出的web页面时,可以将来自第一活动产品的促销优惠插入到web页面中。例如,优惠可以提供低利率的新房屋净值贷款。例如,如果客户没有信用卡或具有高信用评分,则计算机服务器可以确定客户可能对新的信用卡感兴趣。当计算机服务器生成要向客户示出的web页面时,可以将来自第二产品活动的促销优惠插入到web页面中,其中,优惠可以提供关于提供大量现金返还奖励的新信用卡计划的信息。
[0379] 针对给定的活动,可以向不同的客户提供不同的优惠。例如,在第一个活动产品中,可以向具有高信用评分和大额储蓄和支票账户的第一客户提供利率为3.5%的新房屋净值贷款,可以向具有高信用评分和小额储蓄和支票账户的第二客户提供利率为4%的新房屋净值贷款,并且可以向具有中等信用评分的第三客户提供利率为4.5%的新房屋净值贷款。
[0380] 在第二活动产品中,可以向具有高收入水平的第四客户提供具有年费且奖励稍高的第一类型的信用卡,可以向具有中等收入水平的第五客户提供没有年费且奖励稍低的第二类型的信用卡,并且可以将向已经拥有具有较低奖励积分的旅游信用卡的第六客户提供在餐饮和旅游上具有较高奖励积分的第三类型的信用卡。第一活动产品和第二活动产品可能不会向具有非常低的信用评分或拖欠了几个月信用卡还款的客户提供任何促销优惠。
[0381] 金融机构可能具有成千上万或上百万的客户,因此部分地自动化确定向哪些客户提供什么促销的流程是有用的。在一些实施方式中,类似于美国专利8,069,129、美国专利8,386,408、美国专利8,380,651、美国专利9,002,770和美国专利申请14/677,063中所描述的那些业务规则的业务规则可以用于部分地自动化评估客户的金融数据和其他数据并确定要向客户提供哪些促销优惠的流程。例如,可以创作一组业务规则,使得可以将这些规则应用于包含金融数据的客户记录,以生成包括关于向哪些客户提供哪些促销优惠的信息的输出。业务规则可以被结合到图形开发环境102中的基于图的应用中,并且并行操作环境
106可以生成与由结合了业务规则的图所定义的逻辑和资源相对应的可执行指令(例如,计算机指令)。
[0382] 每个活动可能会运行几天、几周或几个月。金融机构可能每隔几天、几周或几个月就启动一次新的活动。在启动每个新活动之前,金融机构的职员可以根据活动设置的新准则来修改业务规则。在一些示例中,为了确保活动的质量,三组职员可以进行修改和验证业务规则相关的工作。例如,第一组职员(称为“制作者(Maker)”)负责比如联合数据、生成数据集、执行分析、创作业务规则、运行模拟和分析数据等活动。
[0383] 例如,第二组职员(称为“检查者(Checker)”)负责比如验证制作者所执行的活动是否与流程要求和公司政策一致等活动。例如,检查者验证活动或风险目标是否被清晰地识别和记录,逐个地并作为总体来验证业务规则,运行模拟并审阅模拟日志以确认结果与目标和政策一致,完成检查点,并批准业务规则。
[0384] 例如,第三组职员(称为“管理者(Manager)”)负责审阅检查者的批注和建议,审阅由制作者生成业务规则和由检查者验证业务规则的审核跟踪,评估控制和验证的充分性,并批准或拒绝进入整个流程的下一步骤。
[0385] 针对任何给定的活动,业务规则的创作、检查和审阅可能涉及多于一个的制作者、多于一个检查者和多于一个管理者。随着规则随时间的推移而被修改,跟踪谁在什么时间对业务规则进行了什么更改、并且保存业务规则的不同版本的记录(包括例如源代码和注释)是有用的。保存好记录不仅有助于调试和查找错误来源,还可以帮助满足某些法规要求。
[0386] 以下描述了用于生成活动的业务规则的示例性流程。参考图26,流程图1260表示用于生成活动的业务规则的流程的高级概述。在步骤1262处,准备用于定义业务规则所需的数据。例如,可以确定使用哪些数据源以及是否需要联合、合并、筛选、聚合或进一步处理数据集。在步骤1264处,定义针对每个产品的活动。编写规则来定义与金融机构的业务目标相关的潜在优惠。例如,针对每种活动产品定义了用于确定何时以及向哪些客户提供什么促销优惠的准则。在步骤1266处,将各种活动产品的业务规则进行重叠并组合成集成包。在步骤1268处,验证和模拟用于包括各种产品的整个活动的业务规则。步骤1268确保不同产品的业务规则不会彼此冲突。在模拟和验证了整个活动的业务规则之后,在步骤1270处准备好启动活动。
[0387] 参照图27,在一些实施方式中,提供了用于实施数据准备步骤1262的流程1350。流程1350可以包括由例如市场营销团队制作者1280、市场营销团队检查者1282、风险团队制作者1284和风险团队检查者1286执行的若干个步骤。在此示例中,在步骤1288处,市场营销团队制作者1280构建运行活动所需的数据的列表,并选择可以由业务规则使用的市场营销数据域1290。风险团队制作者1284在步骤1316处构建运行风险模型所需的数据的列表,并选择可以由业务规则使用的风险数据域1318。在步骤1292处,系统选择市场营销数据域1290和风险数据域1318中的数据以进行联合。在步骤1294处,系统对联合后的数据执行筛选、聚合和其他处理。在步骤1296处,系统对各个数据单元执行测试。如果数据是不可接受的,则流程循环回到步骤1292来选择合适的数据进行联合。如果数据是可接受的,则在步骤
1298中,生成测试数据的简档,并且提交数据以供批准。在步骤1304处,在步骤1304处提交包括所准备的数据1300和所准备的数据简档1302的数据集以供批准。在步骤1306处,可以将业务标签与已经由市场营销团队制作者1280提交以供批准的数据集相关联。例如,业务标签可以包括关于数据集的状态、谁(例如,市场营销团队制作者1280)批准了数据集、以及何时批准该数据集以进行提交的信息。
[0388] 在步骤1308处,市场营销团队检查者1282审阅由市场营销团队制作者1280所提交的数据集,并判定该数据集是否包含必要且足够的活动数据。如果数据集未包含必要且足够的活动数据,则市场营销团队检查者1282将数据发送回到市场营销团队制作者1280,市场营销团队制作者再次执行步骤1292以选择要联合的数据。如果数据集包含必要且足够的活动数据,则市场营销团队检查者1282批准该数据集。在步骤1310处,可以将业务标签与已经由市场营销团队检查者1282提交以供批准的数据集相关联。例如,业务标签可以包括关于数据集的状态、谁(例如,市场营销团队检查者1282)批准了数据集、以及何时批准该数据集以供风险团队检查者1286审阅的信息。
[0389] 在步骤1314处,风险团队检查者1286查阅数据集以判定其是否包含必要且足够的风险数据。如果数据集未包含必要且足够的风险数据,则风险团队检查者1286将数据集发送回到市场营销团队制作者1280,市场营销团队制作者再次执行步骤1292以选择要联合的数据。如果数据集包含必要且足够的风险数据,则风险团队检查者1286批准该数据集以供活动使用。在步骤1312处,可以将业务标签与已经由风险团队检查者1286批准的数据集相关联。例如,业务标签可以包括关于数据集的状态、谁(例如,风险团队检查者1286)批准了数据集、以及何时批准该数据集以供活动使用的信息。
[0390] 参照图28,在一些实施方式中,提供了实施用于针对每个活动产品1264进行创作和验证的步骤的流程1360。流程1360可以包括由例如市场营销团队制作者1280、市场营销团队检查者1282、风险团队制作者1284和风险团队检查者1286执行的若干个步骤。在步骤1320处,市场营销团队制作者1280识别活动的候选人群。例如,候选人群可以是处于一定年龄范围内、具有一定范围内的年收入且居住在一定地理区域内的客户。在步骤1322处,市场营销团队制作者1280在业务规则引擎(BRE)上编写包括规则。例如,包括规则可以包括确定哪些客户有资格获得促销品的规则。
[0391] 在步骤1338处,风险团队制作者1284定义与产品供应相关联的阈值(例如,量、实体和最大值)。例如,一个阈值可以指定在任何一天或一周内给予所有有资格的客户的总奖励金额不可以超过一定金额。另一个阈值可以指定有资格获得某一产品的客户的总数不可以超过一定值。在步骤1340处,风险团队制作者1284基于广泛的记录来编写用于排除的风险规则。例如,风险规则可以指定信用评分低于一定值或信用卡负债高于一定值的客户没有资格获得促销优惠。
[0392] 在步骤1342处,风险团队检查者1286评估风险规则。如果风险规则不合适,则将风险规则发送回到步骤1340,使得风险团队制作者1284可以重新编写风险规则。如果风险规则合适,则风险团队检查者1286批准风险规则。
[0393] 在步骤1324处,将包括规则与风险规则合并以生成完整的活动范围。在此步骤处,将用于确定哪些客户有资格获得活动产品供应的规则以及用于确定哪些客户是高风险的且没有资格获得供应的规则一起合并到规则集中。在步骤1326处,执行模拟以将完整规则集应用于测试数据,从而生成模拟结果1330。模拟结果1330包括来自业务规则的输出、以及可以基于对来自业务规则的输出的处理而生成的验证数据(也称为人为产物(artifact))。
[0394] 验证数据可以包括以下内容。在运行模拟时,将生成规则覆盖范围报告。该报告记录哪些规则被激发以及激发了多少次。这确保了每个规则都已经至少运行了最小次数,从而保证足够的模拟覆盖范围。未足够地被激发(或根本没有被激发)的规则表明模拟覆盖范围不足(不良的验证数据)或不良的规则设计。活动数据的数据简档被生成。这提供了关于每个产品活动数据集中的数据的统计分布的信息。可以回答比如“有多少客户合格?”或“有多少客户不合格”或“存在无效记录吗”等问题,并将其与预期结果进行比较。执行统计计算以生成统计数据。此数据提供了有关有资格参与活动的人群和没有资格参与活动的人群的附加信息。可以将比如合格客户收入、合格客户信用评分、不合格收入、信用评分等项的统计数据(比如,均值、中位数、等级、标准偏差和异常值)与预期值进行比较。选择实际数据记录的随机样本以进行手动查阅。所采样的数据提供了“合理性检查”,即,在输出数据中找到的值不会违反市场营销准则或风险准则。可以生成活动成本和总体影响估计。这可以包括针对设定数量的假定接受率(例如,1%、3%、5%、10%和25%等)运行的一系列模拟成本/收益模型,这些模型用于计算值以包括预期活动价值(收入升级)、即时成本(例如,比如信用卡现金返还等促销)、冲销(以不同的信用风险截止假设)和总净现值。将这些模型与输入模型假设进行比较。
[0395] 在步骤1328处,可以将业务标签与模拟结果相关联。例如,业务标签可以提供关于谁执行了模拟、何时执行了模拟、以及使用了什么数据集来进行模拟的信息。
[0396] 在步骤1332处,将模拟结果1330提供给市场营销团队检查者1282以供审阅。在步骤1334处,如果市场营销团队检查者1282确定模拟结果不合适并且与预期结果不一致,则流程1360循环回到步骤1320,使得市场营销团队制作者1280可以修正包括规则。在步骤1336处,市场营销团队检查者可以编写比如为什么模拟结果未达到活动目标等注释,并且这些注释被存储为与规则集相关联的业务标签的一部分。如果模拟结果合适并且与预期结果一致,则市场营销团队检查者1282批准规则以供风险团队检查者1286审阅。在步骤1344处,风险团队检查者1286审阅规则集,该规则集包括由市场营销团队制作者1280创作的包括规则和由风险团队制作者1284创作的风险规则。如果风险团队检查者1286确定风险过高,则流程循环回到步骤1320,使得市场营销团队制作者1280可以修正包括规则。在步骤
1346处,风险团队检查者可以编写比如为什么模拟结果指示风险过高等注释,并且这些注释被存储为与规则集相关联的业务标签的一部分。如果风险团队检查者1286确定风险是可接受的,则批准规则集,并且流程移动到下一步骤。
[0397] 参照图29,在一些实施方式中,提供了流程1370以实施重叠流程1266。流程1370可以包括由市场营销团队制作者1280、市场营销团队检查者1282、风险团队检查者1286和交叉销售客户经理或管理者1372执行的若干个步骤。先前,在图28中所示的流程1360中,评估并批准针对每种产品的规则集。流程1370的目标是验证当将针对各个产品的规则组合在一起时,这些规则是否适当地工作并且不会产生任何冲突。在步骤1372处,市场营销团队制作者1280在业务规则引擎上编写重叠规则。例如,规则可以指定可以同时提供两个或更多个产品的条件。在步骤1374处,通过将针对所有活动产品的完整规则集应用于测试数据并生成模拟结果1376来执行模拟。模拟结果1376可以包括来自业务规则的输出、以及可以根据对来自业务规则的输出的处理而生成的验证数据(也称为人为产物)。
[0398] 模拟结果1376中的验证数据(其针对跨各种活动产品的整个业务规则包)类似于模拟结果1330中的验证数据(其针对各个活动产品的业务规则),其中,区别在于,在重叠之后,信息是在聚合的基础(包括每种产品的分布)上以及在每产品基础上提供的(类似于在每产品基础上生成的产物)。这允许比较在执行重叠处理之前与之后值如何从每种产品进行变换或变换到每种产品。
[0399] 在步骤1382处,可以将业务标签与模拟结果相关联。例如,业务标签可以提供以下信息:谁执行了模拟、何时执行了模拟、使用了哪些数据集来进行模拟、以及由市场营销团队制作者1280提供的与模拟有关的其他注释。
[0400] 在步骤1378处,将模拟结果1376提供给市场营销团队检查者1282以供审阅。在步骤1380处,如果市场营销团队检查者1282确定模拟结果不合适并且与预期结果不一致,则流程1370循环回到步骤1372,使得市场营销团队制作者1280可以修正重叠规则。也许在某些时期某些产品可能不能与某些其他产品重叠,并且因此需要调整重叠规则。在步骤1384处,市场营销团队检查者可以编写比如为什么模拟结果未达到活动目标等注释,并且这些注释被存储为与整个规则集相关联的业务标签的一部分。如果模拟结果合适并且与预期结果一致,则市场营销团队检查者1282批准规则以供风险团队检查者1286审阅。在步骤1386处,风险团队检查者1286审阅包括由市场营销团队制作者1280创作的重叠规则的整个规则集。在步骤1388处,如果风险团队检查者1286确定风险过高,则流程循环回到步骤1372。如果模拟结果合当且风险是可接受的,则风险团队检查者1286批准规则以供管理者1372审阅。
[0401] 在步骤1390处,管理者1372审阅包括由市场营销团队制作者1280创作的重叠规则的整个规则集。如果管理者1372未批准整个规则包,则流程循环回到步骤1372,使得市场营销团队制作者1280可以修正重叠规则。在步骤1394处,管理者1372可以编写比如为什么整个包未达到活动目标或风险过高等注释,并且这些注释被存储为与规则集的包相关联的业务标签的一部分。如果管理者1372批准规则集的整个包,则在步骤1394处启动活动。
[0402] 流程1350、1360和1370示出创作、检查和批准针对活动的业务规则是涉及金融机构的多个职员的复杂流程。规则可以在市场营销团队制作者1280、市场营销团队检查者1282、风险团队制作者1284、风险团队检查者1286和管理者1372之间来回传递若干次。在每次迭代中,每个职员都需要知道每个规则的确切状态,比如,规则是否已经由市场营销团队制作者1280或风险团队制作者1284提交、规则否已经由市场营销团队检查者1282或风险团队检查者1286批准、以及规则是否已经由管理者1372批准。在每次迭代期间,可以编写与规则有关的注释并将其存储在业务标签中。
[0403] 可以存储业务规则的若干个版本。例如,针对第一活动产品的业务规则的第一版本可能与针对第二活动产品的规则冲突,因此,市场营销团队制作者1280可以决定存储业务规则的第一版本并编写针对第一活动产品的业务规则的第二版本,该第二版本不与针对第二活动产品的规则冲突。业务规则的第一版本可能具有可用于稍后的活动的某些参数值。等到管理者1372批准针对整个活动的规则集的包时,每种活动产品可能与业务规则的若干个版本相关联,其中,规则的不同版本可以使用在不同情况下可能有用的稍微不同的参数值。
[0404] 应用开发系统100与常规系统相比的改进之一是,用户可以通过集成用户界面112访问由文档编辑器102、业务流程管理工具104、源代码控制工具106和应用模拟器108提供的功能,而无需在不同的用户界面之间切换,也无需手动将信息从一个应用复制到另一个应用。例如,图7的系统2600具有一起“捆绑”在软件套件中的业务流程管理工具2612和源代码控制工具2616,但是业务流程管理工具2612和源代码控制工具2616可能具有不同的用户界面并且不共享元数据。因此,例如,使用系统2600,用户可以使用源代码控制工具2616来保存业务规则的若干个版本的源代码,并使用业务流程管理工具2612来管理规则在不同状态之间的转变。源代码控制工具2616随时间推移跟踪哪个用户对哪段特定代码做出了什么修改。然而,关于业务流程管理工具2612所生成的状态的信息不会自动转移到源代码控制工具2616。因此,当保存业务规则的各种版本的源代码时,不会将关于业务流程管理工具2612所生成的状态的信息连同源代码控制工具2616的源代码一起保存。因此,使用系统
2600,用户可能难以检索业务规则的较早版本并确定规则的状态,比如,其是“已提交”还是“已批准”,或者确定谁授权了规则从一种状态转变到另一种状态。使用系统2600,用户可能必须将源代码控制工具2616和业务流程管理工具2612的日志进行比较,以将业务流程管理工具2612中特定规则的特定版本的注释与源代码控制工具2616中的同一个特定规则的特定版本的注释进行匹配,并尝试基于这些注释来手动推断所需的信息。
[0405] 应用开发系统100与非集成应用开发系统2600相比的改进之一是,应用开发系统100可以提供使用系统2600无法实现或难以实现的功能。例如,应用可能会随时间推移而演进,从而使得随时间推移发布应用的一系列发布版。应用的每个发布版都可以使用特定规则集的特定版本的包,其中,规则集的每个特定版本都具有特定状态,并且到特定状态的转变由特定用户批准。应用的不同发布版可能使用包括规则的不同版本的不同包。假设在已经发布了应用的若干发布版之后,确定该应用的较早发布版无法正常运行。为了确定问题的原因,可能有用的是,检索引起问题的应用的特定发布版所使用的特定规则集的特定版本,查阅特定规则集的特定版本的日志,并确定在出现该问题之前对规则集进行了什么改变、谁做出了这些改变、谁批准了这些改变、以及为什么做出了这些改变。可能有用的是,查阅规则集的整个包的日志,并确定在出现该问题之前对包做出了什么改变、谁做出了这些改变、谁批准了这些改变、以及为什么做出了这些改变。还可能有用的是,使用应用的较早发布版所使用的特定规则集的特定版本来执行对该应用的较早发布版的第一模拟,使用特定规则集的不同版本来执行对该应用的第二模拟,和/或通过改变规则集的一些参数来执行对该应用的第三模拟。使用非集成应用开发系统2600,可能难以执行所有上述功能,因为源代码控制工具2616不会存储业务流程管理工具2612所生成的元数据以及实施上述功能所需的规则的源代码。使用非集成应用开发系统2600,尽管用户可以手动将一些信息从业务流程管理工具2612复制到源代码控制工具2616的注释部分,但是因为许多不同的用户可以编写、编辑、审阅和批准规则,并且不同的人可能具有不同的编写注释的方式,所以从业务流程管理工具2612手动转移到源代码控制工具2616的信息可能跨不同的用户而不一致,从而使得很难查阅信息。相比而言,在应用开发系统100中,存储在储存库110中的元数据具有标准格式,并且可以由所有工具102、104、106和108进行访问,从而实现了使用非集成应用开发系统2600无法实现的新功能。
[0406] 应用开发系统100与非集成应用开发系统2600相比的改进之一是,在由文档编辑器102编辑了业务规则之后,可以自动更新和显示将业务规则应用于输入记录的输出。例如,可以采用如图30所示的电子表格格式输入规则。电子表格2200中的触发列2202、2204、2206、2208对应于可用数据值,并且行2210a至2210h对应于规则例,即,与可用数据值相关的多组准则。对于其中规则例具有准则的每个触发列,如果给定记录(例如,图11A中的402)的数据值满足触发准则,则规则例2210n适用于该记录。如果规则例2210n适用,则基于一个或多个输出列2212生成输出。所有输入关系都被满足的规则例可以称为“已触发”。每个输出列2212对应于潜在的输出变量,并且可适用行2210n的相应单元格中的值(如果有的话)决定该变量的输出。单元格可以包含被赋予变量的值,或者其可以包含必须被评估以生成输出值的表达式,如下文中所讨论的。尽管在图30中仅示出了一个输出列,但是可以存在多于一个输出列。
[0407] 图31示出了输入测试表2414、输出测试表2416和结果表2410的示例,该结果表示出了若干个测试例中的每个测试例的输出。在表2410中,每个测试例的输出被显示在单独的行2412i中,其中,列2413a至2413d示出了测试例以及针对每个测试例计算出的输出。当一行被选择(在此示例中,第二例或行2412b被选择并由虚线示出)时,来自相应测试例的输入值2414a至2414g被示出在输入表2414中。该测试例的输出2416a至2416c被示出在输出表2416中。示出在表2416中的输出2416i(i=a,b,c)可以是来自测试例的预期输出、计算出的实际输出、或两者。可以使用各种界面提示来向用户通知测试的状态。例如,图标2419指示测试例2和4的行2412b和2412d中的输出自上次测试规则集以来已经被改变。如果没有“默认”规则来捕获不与任何其他规则匹配的输入值组合,则具有此类输入的测试例将产生空输出2418。如果输入记录因处理错误(比如被零除)而被拒绝,则可以以相同的方式指示错误。如果测试例触发了多于一个规则例,则可以指示被触发的规则例的数量(2422)。通过与所显示的输出之一进行交互(例如,通过点击该输出),可以将用户带到详细说明该输出是如何被确定的屏幕。
[0408] 在一些实施方式中,因为应用开发系统100集成了文档编辑器102和应用模拟器108,所以系统100可以提供规则集示出在测试输入和测试输出旁边的用户界面,如图32所展示的。例如,当用户改变电子表格2200中的触发列2202、2204、2206、2208时,系统100可以自动更新示出在输出测试表2416中的测试输出值2416i(i=a,b,c)。这允许用户使用不同的规则进行试验并快速接收反馈,从而允许用户以高效的方式优化规则。在上文的示例中,当用户使用文档编辑器102对电子表格2200中的规则集进行改变时,系统100自动调用应用模拟器108将规则集转换为变换,将该变换与基于图的计算中的组件相关联,执行基于图的计算,并使用执行的输出结果来更新输出测试表2416。系统100可以给予用户打开或关闭模拟器108的选项。系统100还可以给予用户以下选项:要么在对规则进行改变时自动更新输出、要么仅当用户做出这样的请求时才更新输出。
[0409] 集成用户界面112(图1)使得用户能够访问文档编辑器102、业务流程管理工具104、源代码控制工具106、应用模拟器108和公共日志数据对象116的功能,该集成用户界面可以例如是被示出在由一个或多个计算机服务器控制的一个或多个显示器上的一个或多个图形用户界面。集成用户界面112可以示出由在一个或多个计算机服务器上执行的模块生成的信息。
[0410] 在图2的示例中,集成用户界面112包括示出在计算机显示器上的编辑器界面2720、业务流程管理界面2722、源代码控制界面2724、应用模拟界面2726和公共日志界面
2728。界面2720、2722、2724、2726、2728中的两个或更多个界面可以同时向用户示出。界面
2720、2722、2724、2726、2728也可以一次向用户示出一个。
[0411] 集成用户界面112被配置为允许用户方便地使用一个工具并访问另一个工具。例如,源代码控制界面2724可以示出规则的列表,这些规则中的一些规则各自具有多个版本。用户可以右键点击特定规则的特定版本(例如,“规则ABC”的版本1.0),然后菜单将出现以使得用户能够例如编辑所选规则,模拟所选规则的执行,改变所选规则的状态,或查看与所选规则相关的日志信息。
[0412] 如果用户在菜单中选择“编辑规则”项,则将调用文档编辑器102,并且在显示屏上显示编辑器界面2720,以使得用户能够编辑所选规则(在本示例中为“规则ABC”的版本1.0)。当编辑器界面2720被示出在显示器上时,编辑器界面2720包括使得用户能够访问业务流程管理工具104、源代码控制工具106、应用模拟器108和公共日志数据对象116的用户可选元素(例如,按钮、菜单、链接)。
[0413] 例如,当编辑器界面2720被示出在显示器上时,用户可以决定通过调用业务流程管理工具104来更改规则的状态,并且业务流程管理界面2722被示出在显示器上。业务流程管理界面2722包括使得用户能够访问文档编辑器102、源代码控制工具106、应用模拟器108和公共日志数据对象116的用户可选元素(例如,按钮、菜单、链接)。
[0414] 例如,在业务流程管理界面2722被示出在显示器上时,用户可以决定通过调用应用模拟器108来模拟规则的执行,并且应用模拟界面2726被示出在显示器上。应用模拟界面2726包括使得用户能够访问文档编辑器102、业务流程管理工具104、源代码控制工具106和公共日志数据对象116的用户可选元素(例如,按钮、菜单、链接)。
[0415] 例如,当应用模拟界面2726被示出在显示器上时,用户可以决定通过访问公共日志数据对象116来查看与规则相关的日志信息,并且公共日志界面2728被示出在显示器上。公共日志界面2728包括使得用户能够访问文档编辑器102、业务流程管理工具104、源代码控制工具106和模拟器108的用户可选元素(例如,按钮、菜单、链接)。
[0416] 在一些实施方式中,可以同时向用户示出编辑器界面2720、业务流程管理界面2722、源代码控制界面2724、应用模拟界面2726和公共日志界面2728的任何组合。
[0417] 上文所描述的对象生成、链接、业务标记、规则编辑、规则模拟、业务规则流程管理和规则源代码管理的方法可以使用软件来实施以在计算机上执行。例如,软件形成在一个或多个编程或可编程计算机系统(其可以是诸如分布式、客户端/服务器或网格等各种架构)上执行的一个或多个计算机程序中的规程,这些计算机系统各自包括至少一个处理器、至少一个数据存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备或端口以及至少一个输出设备或端口。软件可以形成较大程序(例如,提供与计算图的设计和配置相关的其他服务)的一个或多个模块。图的节点和元素可以实施为存储在计算机可读介质中的数据结构或与存储在数据存储库中的数据模型一致的其他组织数据。
[0418] 软件可以被提供在比如CD-ROM等可被通用或专用可编程计算机读取的介质上,或者可以通过网络被递送(被编码在所传播的信号中)到执行该软件的计算机。所有功能都可以在专用计算机上执行,或者使用专用硬件(诸如协处理器)执行。可以以分布式方式来实施软件,其中,由软件指定的计算的不同部分由不同的计算机执行。每个这样的计算机程序优选地被存储在或下载到通用或专用可编程计算机可读的存储介质或设备(例如,固态存储器或介质、或磁性或光学介质)上,用于当计算机系统读取存储介质或设备时配置并操作计算机以执行本文所描述的过程。本发明的系统也可以被认为是实施为配置有计算机程序的计算机可读存储介质,其中,如此配置的存储介质使计算机系统以特定且预定的方式操作以执行本文所描述的功能。
[0419] 已经描述了本说明书的多个实施例。然而,将理解的是,在不脱离本说明书的精神和范围的情况下,可以做出各种修改。例如,上述一些步骤可以与顺序无关,并且因此可以按照与描述的顺序不同的顺序执行。将理解的是,前述描述旨在进行说明而非限制本说明书的范围,本说明书的范围由所附权利要求的范围限定。
[0420] 在一些实施方式中,集成用户界面112可以使用例如显示设备、音频输出设备和/或触觉设备向用户90提供一种或多种格式的信息,例如文本、图形、图像、音频、视频和/或触觉反馈。可以使用增强或虚拟现实系统将信息呈现给用户90。集成用户界面112可以接受来自一个或多个输入设备的用户输入,这些输入设备为比如键盘、鼠标、轨迹球、操纵杆、触摸板触摸屏、麦克风、照相机、眼睛跟踪设备、手势检测设备和/或运动传感器
[0421] 例如,用户90可以编辑在计算机显示屏上显示的规则集。用户90可以佩戴增强现实眼镜,并且通过模拟执行使用规则集的应用以处理输入记录而导出的输出数据可以被投影以显现计算机显示屏上方。与源代码控制相关的信息可以被投影到计算机显示屏的左侧,而与业务流程管理相关的信息可以被投影到计算机显示屏的右侧。当用户90编辑规则集时,修正后的输出数据被投影到计算机显示屏上方。当用户90通过与被投影到计算机显示屏左侧的、与源代码控制相关的元素进行交互来检出规则集时,所选规则集被示出在计算机显示屏上,相关状态信息被投影到计算机显示屏的右侧,并且模拟输出被投影在计算机显示屏上方。
[0422] 其他实施例在所附权利要求的范围内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈