关系逻辑管理系统的制作方法

文档序号:6486177阅读:335来源:国知局
专利名称:关系逻辑管理系统的制作方法
技术领域
本发明通常涉及业务管理,尤其涉及包括多个相互关联的流程和规则集的 系统管理。
背景技术
大的企业是由成千上万个集于商品和服务有效传递的流程组成的复杂环 境。如果这些业务流程不能有效满足变化的业务需求,则会造成更高的成本、 更低的客户满意度并且错失产生增加收入和利润的良机。
公司通过自动和手动流程的组合应对这一挑战。初始引入自动业务应用以 处理例行流程。应用开发者企图通过分送多个并且分开的应用、创建继续限制 商务灵活性的具有有限集成的离散功能岛来管理其复杂性。传统的将业务信息 编码为这些应用的艰难方法有时证明了这种处理复杂和灵活业务方案的僵硬。 此外,当各业务改变需要IT研发项目时,维护和更新这些艰难编码在应用中 的业务信息的高成本增加了错失的业务良机的成本。
实力派公司的挑战在于选择一种设计用于处理高复杂业务流程各方面的 系统。近年来已经开发了一种称为业务流程管理系统(BPMS)的软件,其使公 司能够构建并且维护复杂的企业级流程管理系统。在最低限度上,BPMS必须 包含结构工作流引擎和业务规则引擎。通常,公司业务流程的整个控制流包括 在结构工作流模型中,而负责的流程决策组件包括在正式的业务规则中。控制 流描述了在流程或者模型的不同级中管理业务流程的步骤。
过去已经研究出用于分析采用正式业务规则实现的业务组件的程序。这些 程序通常局限于在一个时间分析一个规则集。结果,由于采用BPMS实现的系 统通常包含多个规则集,并且这些规则集通常涉及复杂的互联,所以当这些程序用于采用BPMS实现的业务流程时,具有有限的有效性。
因此,需要可以处理并且协调多个互联的规则集以及业务流程的系统和方 法。此外,需要在无需麻烦的编码需求下允许业务分析师和专家通过能够与 现存的业务程序和自动系统交互的方式表达政策、任务、规则和目标的系统和方法。

发明内容
在详细讨论关系逻辑管理系统(RLMS)各方面之前,先介绍一下这里所使 用的一些特有术语。然而,这里讨论的术语范围并不在于限制,而是要澄清其 使用并且对于本领域的普通技术人员具有更广泛的意义。具体地说,这里总结 的一些术语包括工作流、控制流、业务逻辑、关系、信息、关系信息以及元信 息。
工作流包括程序步骤,其中两个或者多个业务单元(或者个体)共同享有、 管理和操作信息。工作流包括按照指定顺序执行的一系列任务。执行这些任务 后,可以获得业务所期望的结果。这可以限定并且跟踪个体和/或部门之间的 工作流。因此,公司的工作流通常包括多个用户和级别。
工作流可以是工作流程及其相关组件的图形表示,其包括具体的工作流 程、执行工作时使用的信息依赖以及决策和行为的序列。工作流可以定义哪里 需要输入、决策结点的位置以及输出路径上的选择性分支。工作流方便了个体 和/或部门之间的工作流程跟踪并且便于提供对要进行的工作的基本描述。这 样,在一实施方式中,工作流的基本特征在于包含线、分支、结点和功能块的 图形。
控制流描述了流程中不同级所制定的业务流程步骤。在一实施方式中,控 制流描述了更大工作流中的各种限制,诸如需要在下一任务开始之前完成一个 流程步骤。控制流可以以if、 then和else语句定义,其顺序描述基于逻辑关 系怎样、何时并且通过什么执行步骤。
业务逻辑还包括表示数量、关系、论据、决策和其它概念的符号和表达式 的使用,以表示与业务相关的理念。此外,业务逻辑涉及任何业务相关表示和 /或信息从而可以从一个或者多个输入中衍生出结论。通常,这些输入涉及业 务的任务、流程和工作产品。在一方面,业务逻辑包括但不限于下面至少其中之一工作流、业务规则和路由规则。
关联或者关系描述了部分基于与给定元素相关的至少一个属性的两个元 素之间的链接或者连接。进而,关联是相同或者不同集的元素(其特征在于元 素的关联)之间的联合或者可能是具体的、抽象的、现存的或者可能的连接。 此外, 一个或者多个元素之间的关联描述了彼此各自单独的独立,它们共同的 相互依赖和/或它们依赖的缺乏。两个元素和单独元素本身之间连接的类型和 基础是无限的。
一些示例性元素可以包括但不限于规则、变量、流程、工作流组件、项目、 任务和业务单元。下面通过应用描述其它之间可能存在关联的适合元素。
关联可以列举涉及彼此的元素有多么不同。例如, 一些元素可以具有多到 多关联,多到一关联、 一到多关联和一到一关联或者其组合。在其它实施例中, 元素可以享用原因和效果关联。通过应用描述各种元素之间的其它关联。
部分的,术语信息用于描述能够通信和使用的一些数据形式。信息是认识 的表示。这样,信息包括但不限于事实、假设或者任何介质或者形式中的内容。 信息的适合形式包括但不限于文本、数字、变量、图形、图像、听觉信号及其 组合。关系信息交流一些与一个或者多个元素之间的关联。
参照一些暗含内容间接定义元信息。这样,元信息是第二次序信息,这样 其是关于信息的信息。在文件的环境下,与该文件本身的上下文内容相比,作 者的身份或者当首次书写手稿时都是元信息。
所述关系关联系统包括各方面和具体的实施方式。在一方面,本发明涉及 一种传播第一规则集与第二规则集之间关系的方法,其中所述第一和第二规则 集由公共工作流模型调用,该方法包括跟踪从所述第一规则集到第二规则集向 前经过所述工作流模型的路径;列举从所述第一规则集到第二规则集向前延伸 的关系;以及利用多值逻辑计算从所述第一规则集向第二规则集经过所述工作 流模型对控制流关系的影响。
在一实施方式中,该方法还包括如下步骤跟踪从所述第二规则集到第一 规则集向后经过所述工作流模型的路径;列举从所述第二规则集到第一规则集 向后延伸的关系;以及利用多值逻辑计算从所述第二规则集到第一规则集向后 经过所述工作流模型对控制流关系的影响。因此,在一实施方式中,该方法可 以沿向前方向、向后方向或者其组合进行操作。在一实施方式中,所述方法包括创建用于嵌入在所述工作流模型中的业务 流程的流图,并且传播该流图中结点之间的关系。在另一实施方式中,所述多 值逻辑为二值逻辑。
在另一方面,本发明涉及一种在存储器中存储工作流步骤和规则集的序列 的至少其中之一,从而便于重复使用该至少一个序列的方法,该方法包括存储 所述序列;以及存储为用于所述序列中的各变量计算的关系信息,其中所述关 系信息对另一操作数保持可存取以方便序列重复使用。
在该方法的一实施方式中,所述序列包含元信息。在该方法的另一实施方 式中,所述关系信息通过接口可存取。在又一实施方式中,所述序列根据层次 设置。
在再一方面,本发明涉及一种将工作流步骤的序列插入业务流程模型的方 法,该方法包括将存储在所述序列中用于各变量的关系信息与为所述业务流程 模型计算的关系信息进行比较;创建计算机初始化指令以对所述序列中的各变 量初始化;以及将所述计算机初始化指令插入所述业务流程模型中以在所述工 作流步骤的序列之前执行所述计算机初始化指令。
在一实施方式中,该方法还包括如下步骤创建计算机终止指令以通过将 所述序列中的变量值转换为可以由所述业务流程模型使用的形式终止所述序 列;以及将所述计算机终止指令插入所述业务流程模型中以在所述工作流步骤 的序列之后执行所述计算机终止指令。
在又一方面,本发明涉及一种关系逻辑管理系统,该系统包括用于产生 业务逻辑的模块,该模块包含至少一个逻辑组件;至少一个知识库,用于存储 通过所述模块产生的业务逻辑;以及至少两个规则集,其中采用双向比较流程 判断所述规则集元素之间的关系。所述模块包括至少一个逻辑组件。此外,所 示规则集元素之间的关联可以采用双向比较流程判断。
在所述系统的一个实施方式中,所述业务逻辑包含至少一个工作流。在另 一实施方式中,所述系统还包括代码产生器,用于响应所述模块产生代码。在 又一实施方式中,所述系统还包括至少一个代码执行器,用于从所述代码产生 器接收代码并且执行部分所述代码。在本系统的再一实施方式中,所述模块包 括图形用户界面。在又一实施方式中,所述各规则集包括至少一条规则。在再 一实施方式中,所述至少一个规则集包括图案匹配规则。在一实施方式中,图案匹配规则是一种采用一个或者多个图案描述操作于或者依赖于规则引擎的 数据以在运行时间定位正确数据的规则。非图案匹配规则使用命名的变量指定 其所操作的数据。
在再一方面,本发明涉及一种用于分析业务流程模型的系统,该系统包括 第一规则集,包含至少一条规则;第二规则集,包含至少一条规则。此外,该 系统还包括工作流,定义至少一部分业务流程模型;用于识别规则参数的装置; 以及用于修改所述工作流的接口。
在本系统的一实施方式中,工作流包含可使用的块。在本系统的另一实施 方式中,所述用于识别规则参数的装置通过输入和输出参数检测各规则之间的 依赖关系。在本系统的又一实施方式中,所述接口装置包括图形用户界面。在 本系统的再一实施方式中,所述工作流包括至少一个路径和至少一个结点。
在又一方面,本发明涉及一种用于传播第一业务参数和第二业务参数之间 关系的方法,其中所述第一和第二业务参数由公共工作流模型调用,该方法包 括跟踪从所述第一业务参数到第二业务参数沿第一方向通过所述工作流模型 的路径;列举从所述第一业务参数到第二业务参数沿第一方向延伸的关系;利 用多值逻辑计算从所述第一业务参数到第二业务参数通过所述工作流模型对 控制流关系的影响。在一实施方式中,所述方面还包括如下步骤跟踪从所述 第二业务参数到第一业务参数沿第二方向通过所述工作流模型的路径;列举从 所述第二业务参数到第一业务参数沿第二方向延伸的关系;利用多值逻辑计算 从所述第二业务参数到第一业务参数向后通过所述工作流模型对控制流关系 的影响。在一实施方式中,所述各业务参数选自由工作流、规则集和规则集成 的组。在一实施方式中,所述第一方向包括向前方向。在另一实施方式中,所 述第一方向包括向后方向。
在本发明的一方面,所述RLT组件可以(1)通过工作流向前或者向后传 播信息,考虑到可能经过工作流而采用的多条路径,并且(2)于关于流程的 元信息工作,包括对术语的限制以及术语的定义,从而允许RLT组件执行业务 逻辑的语义以及句法分析。
在另一方面,本发明包括一种在新环境中重复使用现存业务逻辑片断或者 模块的方法。RLMS中重复使用的单元是具有多个属性的工作流步骤、规则集 或者二者的序列。所述属性允许RLMS适应在新环境中采用重复使用的序列自动执行包含的许多步骤。
本发明的其它特征和优点井通过下面的详细说明以及附图变得更加明显。


参照下面的附图和权利要求可以更好的理解本发明的目的和特征。附图并 不是限制和强调,而是通常用于说明本发明的原理。在各附图中,使用相同的 附图标记表示相同的部件。
图1示出了根据本发明示例性实施方式的RLMS的示意图; 图2示出了根据本发明示例性实施方式模块与逻辑引擎之间关系的示意 性方框图3A和3B示出了根据本发明示例性实施方式的RLMS的模块组件示意图; 图4A和4B示出了根据本发明示例性实施方式的规则信息的图形用户界面 示意图。
图5示出了根据本发明示例性实施方式的规则管理层次的示意图; 图6示出了根据本发明示例性实施方式的部分业务模型的关系图7示出了采用本发明示例性实施方式创建的资产评估模型示意图; 图8示出了适于本发明实施方式的各种示例性业务逻辑分类表;
图9示出了根据本发明示例性实施方式各种行为和子流程的汽车租赁业
务流程的示意图10示出了根据本发明示例性实施方式包括连续行为序列的示例性块 (chunk)的示意图;以及
图ll示出了根据本发明示例性实施方式的虚拟块、序列和流程之间的关 系树。
具体实施例方式
下面参照附图详细描述包括目前己知的实施本发明的最佳模式的优选或 者替代实施方式。然而,应该注意,本发明并不限于这些实施方式,本发明还 包括对于本领域技术人员明显的变型及其等效物。
本发明包括一种被称为关系逻辑管理系统(RLMS)的新系统的各个方面, 其为增强的业务流程管理系统的一部分。RLMS提供了一种模型环境、执行环 境和知识库以获取、管理、分析、分配和执行业务逻辑。RLMS的分析组件是指RLMS的关系逻辑技术(RLT)组件。先进规则引擎与复杂业务流程管理系统
的组合产生了有效集成的方案,其允许业务分析师建模、测试、优化和分析现 存的业务。该集成方案表示本发明的一个方面。
RLT组件强调包括由采用冲突术语的不同规则集产生的问题的多个要点。 RLT理解并集成个体规则集以及包含该个体规则集的工作流。RLT组件通常包 括分析和可视化特征。这些用于确保业务流程设计中的精确性、 一致性和完整 性。本发明的各方面还通过提供关于逻辑错误、不完整或者不一致规则以及缺 陷工作流的可视化反馈实现这些目标。这使能了可以满足新业务需求的变化并 且响应用户的反馈。这种在部门之间或者企业内部使用通过多工作流步骤的多 规则集分析整体、复杂业务流程的能力对业务分析师提供了许多便利。下面详 细描述本发明的这些和其他方面。
参照图1, RLMS系统10包括业务分析师以及建模并产生业务逻辑的信息 技术(IT)职员的模块12。图2示出了具有不同示例性逻辑组件的示例性模 块。在一实施方式中,示例性模块可以包括流程模块13a、元数据模块13b、 规则模块13c和/或关联模块13d。然而,在另一实施方式中,该模块包括一 个或者多个能够建模元素和特别用于给定业务应用的信息的通用逻辑组件。
逻辑被建模之后,其被存储在逻辑知识库14中。在一实施方式中,该系 统产生用于决策支持和工作流业务逻辑的Java代码。通过逻辑服务器16执行 该代码,其中逻辑服务器16为执行由模块12定义的规则和流程的健壮和可升 级的环境。当需要完成业务流程时,服务器16可以自动提示应用软件和用户。 此外,其可以跟踪进程、监控性能并且维护综合的历史查账索引。逻辑服务器 16可以基于使用工业标准RETE或者增强RETE匹配器的规则引擎。 一种适用 于本发明一实施方式的示例性RETE在Charles L. Forgy于1982年9月在人工 智能(Aritficial Intelligence) 19 (1) : 17-37上发表的"RERE: —种 用于多图案/多目标图案匹配问题的快速算法(A fast algorithm for the many pattern/many object pattern match problem),,中有所公开,在it匕弓l用其 全部内容作为参考。然而,逻辑服务器16可以包括其它的逻辑引擎或者企业 系统组件。所示的分析器18使用关系逻辑技术检查并且描述已经由用户完成 或者处于业务模型研发中间阶段的业务建模。
尽管可以有多个知识库,优选地,RLMS具有一个公共知识库14以存储和管理业务逻辑。如图2所示,来自模块的逻辑可以以基于XML的格式表示,从
而可以使其在RLMS和其它业务应用之间快速移动。然而,在另一实施方式中,
可以根据任何一种适合的格式、协议或者编程语言表示该逻辑。由于以公共格
式表示该逻辑,其提供了企业内部业务逻辑的一致视图。翻译器19可以用来 转移或者转换XML或者另一适合的格式以由诸如RETE引擎的逻辑引擎20使 用。也可以在一些RLMS的实施方式中集成可选的工作管理器21,以提供在工 作员工、业务管理和其他公司雇员之间协作的任务管理能力。
通常,模块12使用图形拖放界面以允许用户创建工作流。然而,该模块 也可以使用任何适于交流信息的界面。在一些实施方式中,通过由分支互连的 功能块表示工作流。图3A示出了包含图形用户界面(GUI)的示例性工作流。
图3A所示的工作流示出了怎样表示诸如抵押资金流程的业务流程。所示 的图形表示对应于参照图2所介绍的RLMS模块部分的一个实施方式。然而, 尽管典型的文字处理或者组织图表程序产生了静态图形,但是该模块是智能和 可升级的工具。如图3A所示,对应于不同流程的一系列方框通过分支和结点 连接到一起。流线、分支和结点的连接集合通常被称为图。信息经过不同的输 入和输出之间。此外,可以定义用于一个或者所有块的不同规则集以控制信息 和数据流。使用RLMS既可以建模手动流程也可以建模自动流程。完成建模之 后,可以使用RLMS的各方面分析规则并且部分基于工作流所示的链接描述其 交互作用。此外,可以引入当前、历史和仿真数据测试该模型或者评估具体的 业务操作。
作为RLT设计以解决冲突规则问题的一个实施例,考虑可以由抵押租赁管 理使用的两条规则。图3B示出了关于该实施例的示例性工作流。模块中的工 作流实施方式示出了销售部分,其具有买家必须具有财产值至少5%的预付定 金的业务规则。而抵押实现部分可以具有不发行多于90%财产值的抵押款项 的业务规则。孤立的看,这些规则是合理的,可是它们具有间隙从而互相冲突。
然而,由于两个原因,通常现存的系统不会发现这一冲突。首先,这些规 则处于不同的规则集一第一规则集用于销售部门而第二规则集用于实现部门。 这两个规则集只是由于其均为同一整体业务流程而相关联。然而,这两个示例 性规则在流程的不同阶段执行。第二,这些规则使用不同的术语"预付定金" 量与"抵押款项"。为了表示这一冲突,系统必须了解不同术语"预付定金"、"抵押款项"和"财产值"之间的关系。
RLMS能够识别这两个抵押率规则之间的冲突。从而,业务分析师接收关 于逻辑错误、不完全或者不一致规则以及不正确工作流的即时的、可视化的反
馈。在该示例中,通过图3B所示的该示例性实施方式中的个性化感叹号表示。 进而,基于包含在该RLMS系统实施方式中的GUI界面,点击该可视化反馈指 示符可以获得错误信息的更详细内容并且存取系统的不同部分。如图4A和4B 所示,该GUI允许更详细浏览图3B的工作流中的冲突规则。然而,图4A和 4B所示的冲突涉及两个不同规则之间的碰撞。
具体地说,图4A和4B示出并扩大了与图3A和3B中决策率方框相关的一 些信息。在图4A中示出了与决策率方框相关的规则。而在图4B中,示出了表 示碰撞规则的具体本质的规则分析和规则比较窗口以及描述规则的特定的If Then逻辑关系。这样,可以进行包括不完全、不用变量、违反全局优先权或 者公式规则或者规则中冲突的许多类型的业务模块的复杂分析。这样,业务分 析师可以调整规则或者改变工作流以改善该公司的抵押资金流程。规则建模和 工作流的灵活本质能够实现迅速的变化以及精确的业务建模。
工作流可以包括分别由图标表示的需要做的流程、选择、循环和其它形式 的分支。 一旦选择了流程、选择或者其它选项,用户可以定义用于该选择的流 程或者规则。模块的这方面能够允许没有编程或者符号运算方面经验的业务专 家创建具体业务单元或者流程的工作表示。
用于表示工作流的一些方框逻辑上扩展到多个组件。例如,两路分叉在一 端是分支而该分支后在另一端的逻辑异或(X0R)汇聚到一起。在该分支部分, 用户能够标识管理该分支的规则。图3A和3B的开始实现方框处示出了该实施 例。例如,如果变量具有第一值,该流沿一个方向分支,而如果该变量具有第 二值,则沿第二方向分支。例如,可以根据表示数量的变量或者表示做帐单的 部门的变量发送接收到的帐单。在图3A和3B中,缺省规则是将处于实现流程 开始的信息发送到市场。然而,如果该应用流程产生了该应用的接受,则信息 被发送到保险业。
在流程方框中,系统可以具有工作在输入上的一个、几个或者许多规则, 其潜在的具有许多分支步骤并且降低了该工作流的复杂性。
用于限定工作流并且自动产生代码的图形用户界面以及拖放系统的使用简化了规则分析和业务建模流程。然而,在根据本发明实施方式的模块中,很 好的定义了工作流组件并且被限制为相对小数量的具体功能类型。用户不必输 入步骤之间表示步骤间流的线,而能够在两个其它流程之间拖拉流程或者方 框,在这种情况下,其间的线以及流可以自动建立。为了创建选择性的路径, 用户可以选择分开或者选择以创建具有多分支的方框。该限制系统可以限制一 些可能的流,诸如分支之间的流,但是,这些在系统中不可能的流是那些不可 能使用的流,并且可以以其它方式表示。在一些实施方式中通过保持限制的选 项集,可以获得更有效的结果和模型创建。
根据规则创建了该关系逻辑管理平台,并且该平台基本上使用按照其隐含 语言的规则。该关系模块支持关系逻辑建模(例如,分析行为之间的依赖), 并且还提供运行时间执行的概念层(例如,交易管理)。如图5所示,关系管 理可以具有至少三个级别变量、规则和被称为块的信息逻辑序列。通常,"块" 是指可以由RLMS组件重新使用的信息段或者序列。在一实施方式中,具有工 作流步骤和/或规则集的逻辑序列以及属性可以是块的具体类型。下面详细描 述块的概念和优点。
通常,不同的特征和功能可以与给定的关联模块实施方式相关。关联模块
可以定义不同关联管理级别中的关联并且代表如图3A和3B所示的图形关系。 或者,图6示出了可以用于可视化以不同层次级别组织的模型的关系图。图6 中的关系图对应于图3A-4B所描述的不同模块。该关系图提供了有助于跟踪变
化的潜在影响的规则、工作流和变量之间的关联视图。
表示和管理处于诸如流程流级和行为级的不同级别的关联以允许用户通
过縮小和放大操作来导航该层次是该关系模块的另一方面。进而,给定的关系 模块可以派生规则和块之间的依赖关系。该派生流程可以基于块的输入参数和 分析的上游以判断是否需要首先定义任何输入的参数。在由规则的输入和输出 参数定义的规则中找出暗含的依赖关系也在该模块特征集的范围内。
利用建立的关联,该模块可以执行规则和流程修改的影响分析。对于任何 修改的规则或者流程步骤,其表示由于修改所有其它被影响的步骤和规则以及 可能的影响。
关联管理可以既在建模阶段起作用也可以在运行阶段起作用。在建模阶 段,关联管理可以执行各种功能。 一定示例性的功能包括并不限于块/规则依赖分析(输入依赖、变化管理)、变量恒定值变化管理、限制验证、冲突检测
以及"what if"影响分析。在运行阶段相似,关联管理系统可以执行包括但
不限于变量恒定值变化管理、限制验证和冲突检测等功能。
关系逻辑技术系统定位并且分析业务流程中包括变量、工作流步骤、个体 规则、规则组、完全规则集以及甚至是工作流步骤和规则集的用户定义组等所
有组件之间的关系。可以通过RLT代码自动推断该关系,他们可以通过用户提 供并且可以由RLT代替提出并且由用户批准或者拒绝。
在业务流程的存活期期间进行多次关系分析很有用。在流程建模时,RLT 可以用于(1)执行流程的句法和语义分析以定位业务逻辑中的问题;(2)执 行对于提出的逻辑变化的影响分析;以及(3)执行逻辑的what-if分析以判 断在具体环境下系统做什么。在运行时间,由RLT创建的信息可以用于监控流 程从而可以监控变量、加强限制并且获得统计。在调试时间,由RLT创建的信 息可以用于帮助程序员理解系统的潜在行为。
该RLT系统具有几个有用的特点(1)在设计和维护时间表示正式业务 规则和结构化工作流的公共模型;(2)用于正式业务规则和结构化工作流的 公共执行平台;以及(3)实现关系运算的计算机代码。该用于规则和工作流 的公共模块允许RLT计算机代码操作规则和工作流,査找两规则集之间的关系 以及两工作流歩骤之间和规则与工作流步骤之间的关系。例如,如果在工作流 歩骤中设置变量并且在后续的规则集中使用变量,则RLT代码能够识别和处理 两规则集之间的关系。
公共执行平台允许RLT在运行时间既操作规则又操作工作流。例如,系统 能够在无论限制是否违背规则或者工作流歩骤的情况下在运行时间识别限制 违背。RLT识别规则冲突、不明确、不一致、重叠、冗余和完整性以及在完全
的流程中优先权和公式关系的强制。此外,RLT的应用还能够检测流程中规则、 工作流及其变量之间的依赖和关联。
按照本发明一实施方式,优选地,该RLT包括下面四个功能的至少其中之
(1) 从组合模型中的工作流步骤和业务规则中提取关系;
(2) 传播该规则到规则、规则集到规则集、工作流步骤到工作流步骤以 及工作流步骤与规则之间的关系;(3) 识别在设计时间没有被关系覆盖的语义错误;以及
(4) 监控在运行时间工作流和业务规则流程的执行以收集运行时间统 计并且获得运行时间限制的违背。
整个RLMS以及关系逻辑技术组件使用规则以定义给定流程、子流程或者 整个工作流的部分控制流。这些规则采用变量和限制作为其数据项。总之,其 组成对于给定规则的上下文环境。各常量可以具有声明定义的名称、类型和值。 变量的值可以在运行时间变化(例如,通过规则修改)。各变量可以具有名称、 类型、初始值和特权标准。然而,在不同实施方式中,其它特征也可以与给定 变量相关。
通常,规则具有If部分和Then部分(Else部分为可选规则部分)。规 则中也可以包含诸如AND和OR的布尔部分。这样,公司财务流程的两个具体 示例性相关规则可以写为如下形式
IF
Credit. Rating二A
THEN
Customer is PlatinumCustomer
IF
Customer is PlatinumCustomer
AND
Home. Equity. Loan. Value greater "than $200, 000
THEN
Insurance. Premium. Discount is $100
其中该规则的"IF"部分包含条件并且"THEN"部分包含行为。该规则编 码的格式也参照图4B解释。
然而,由于选择用于与RLMS使用的规则引擎实施方式采用以公共格式书 写的逻辑,可以使用基于编码格式的任何类型规则,只要该规则在整个RLMS 中一致。
也可以使用元数据限定具体规则。该用于规则的元数据可以包括 分类用于分类具体规则的一系列(属性值)对
权限用于标识使用该规则的组织的一系列(属性值)对输入参数用于规则中的环境数据
输出参数由规则改变的环境数据
任何延伸(例如,获得规则关联) 在各种规则和变量之间存在多到多的关系,即,各规则可以具有许多变量, 并且各变量可以用在许多规则中。然而,规则间的其它更多有限关联也可以为 变量。为了有效査询可以获取变量和规则之间的垂直关系。例如,当改变变量 值时,系统能够找到使用该变量的所有规则。
传播通常指检测具体工作流组成元素之间的相互关联以分析并且更充分 理解整个工作流及其组件。传播可以通过将业务数据引入采用上述技术准备的 应用模块中而检测该数据。或者,传播可以用于检査规则冲突、冗余或者重叠。 在优选实施方式中,RLT系统可以识别并且分析各种类型的关联。可能用于
RLMS或者被RLMS分析的一些示例性关联可以包括但不限于成员资格、变量、 规则和规则组关联。此外,也可以标识和分析层次分类、组织结构、语义网络、 逻辑依赖、时间以及输入/输出关联。这样,RLMS的变量、规则、流程、工作 流歩骤以及其它元素的这些类型可以用于业务的模型方面并且简化其操作。
成员资格关系描述了怎样使用和/或分类RLMS的元素。变量的成员资格关 系可以以各种方式标识。规则中可以使用变量。变量可以用于规则的条件中。 变量可以用于规则的行为中。变量可以既用于规则的条件又用于规则的行为。 变量可以用于路由条件中。变量可以用于工作流步骤中。给定的规则可以属于 规则组或者规则集。或者,可以唯一定义具体规则。
除了不同元素的成员资格关系,变量关联的具体功能方面可以被定义并用 于指定规则、模型流程并且优化给定模型。变量可以是其它变量的布尔函数。 变量可以是其它变量的定性函数。变量可以是其它变量的量化函数。给定变量 的这些特征和函数特性可以被定义为任何业务操作所必需的。对于给定公共工 作流模型的多个规则集之间的传播关系是RLMS的另一方面。
规则集之间的传播关系可以是各种规则参数的函数并且作为规则引擎建 立的定义。规则引擎可以提供定义两个或者多个规则的冲突、碰撞、包含事件、 影响、不能达到的条件以及不完整的标准。 一些示例性规则相互作用的标准如 下
*如果两个规则具有等同的条件而不同的行为,则该规则与另一规则冲突。
*如果两个规则具有不同的条件和等同的行为,则该规则与另一规则碰
士血 f里。
*如果第一规则的条件比第二规则的条件范围更宽,则该规则包含另一
规则。例如,规则l具有条件(A禾nB)而规则2具有条件(A),则 规则2包含规则1。 *如果两规则的条件由部分相同数据而不是全部满足,则这两个规则重
*如果两规则具有等同的条件和行为,则这两个规则在语义上等同。 *如果第一规则的行为影响第二规则,则该规则影响另一规则。例如,
如果规则1使用在规则2中定义的变量,则规则2影响规则1。 *如果一个规则不能产生满足该规则条件部分的情况,则该规则不合理。 *如果一组规则的条件覆盖了可能发生的一些而不是所有情况,则该组
规则不完全。
通常,可以采用用于给定规则的相同技术评估并传播规则组(规则集)。 因此,规则引擎可以提供定义规则组之间相互作用的特性标准。--些示例性规 则组相互作用的标准如下
* 如果一个规则组与另一规则组共享一些规则,则该规则组与另一规 则组重叠。
* 如果一个规则组与另一规则组不共享任一规则,则该规则组独立于 另一规则组。
* 如果第一规则组中的规则与第二规则组中的规则冲突,则这两个规 则组冲突。
* 如果第一规则组中的规则与第二规则组中的规则碰撞,则这两个规 则组碰撞。
除了上述关联的分类,在不同的实施方式中也可以有其它各种分类。RLMS 可以使用影响给定变量、规则、规则组和/或工工作流步骤的分类的层次分类 法。也可以使用表示对于给定变量、规则、规则组和/或工作流权限的组织结 构关联。还可以建立表示变量、规则、规则组和工作流步骤之间的意义和相互 关系的语义网络。在诸如事实维护的不同传播元素中的逻辑依赖可以用于定义关系类别。此外,在一实施例中,其中A依赖B和C,该依赖也可以用作关联 分类。最后,在传播变量、规则、规则组和工作流步骤之间关系时可以使用时 间关联和输入/输出关联。这些特征中的一些可以采用不同的关系形化示 出以便于业务流程的分析。
本领域技术人员所公知的其它关联分类也可以用于不同的实施方式中。按 照与其意义一致的方式标识和处理各关系。本领域具有适当技能的程序员可以
写出代码以标识并分析这些关联中的一些。其余关联可以通过RLMS用户清楚标识。
用于传播这些规则集和工作流步骤之间的关联的计算机代码由于其可能
为经过给定业务流程模型的许多执行路径而可能很复杂。图7示出了采用RLMS 模块在消费者租赁情况中与财产评估相关的更复杂业务模型。在图7中,从开 始点到结束点,数据在到达模型末端之前经过了多个分支和决策点并且经历了 不同的政策。其中包括手动工作歩骤。此外,图7示出了数据可以从现存的遗 产数据库和其他外部数据源进入该业务模型。该模型的一些复杂性是由数据进 入模型和处理的不同位置引起的。设计RLT以解决该复杂性。
当向前或者向后传播关系时,系统标识(a)决策点、(b)连接点和(c) 经过模型的并行路径。RLT代码跟踪各可能路径,判断各路径对关系的影响, 并且将这些影响组合为共同结果。作为一个简单的实施例,假设存在产生两个 可能执行路径的选择点,并且假设变量X被设置在一个路径上,而没有设置在 另一路径上。在这两个执行路径的汇合点,RLT系统将组合X的关系,以给出 X可能(与确定相对)设置在该点的结果。
为了确保输入可用,对于图中的各结点,RLMS的限制检査部分可以从该 结点沿着各可能路径向后走,以判断定义哪些变量以及可能定义哪些变量。将 这些定义与结点的输入需求相比较,并且汇报问题。
用于判断在任一点处定义哪一变量的逻辑是简单的。假设"A"表示定义 A而(A)表示可能定义A。用于RLMS的一些示例性逻辑关系包括但不限于
如果在一结点之前定义A,则在该结点之后定义A。
如果通过一结点设置A,则在该结点之后定义。
如图通过一结点设置(A),并且在该结点之前没有明确定义A,则在该 结点之后定义(A)如果在流程或者工作流步骤中存在分开-汇合部分,则在该汇合之后A的 定义级别是任何路径上A定义的最高级别。g卩,其中"+ "表示逻辑或
<formula>formula see original document page 21</formula>如果决策-结合部分存在,则该结合之后A的定义级别为计算用于单个路 径的定义级别的逻辑与,其中逻辑与通过下面定义<formula>formula see original document page 21</formula>为了确保使用这些输出,程序从各结点向前进行,检査来自该结点的输出 是否在后来使用。响应一定输入能够检测的一些错误条件包括但不限于 *如果需要A,并且A和(A)都不可用,则错误。 *如果需要A,并且只有(A)可用,则可能错误。 *如果可能需要A,并且只有(A)可用,则可能错误。 *如图可能需要A,并且A和(A)都不可用,则可能错误。 因此,也可以检测对于输出的错误条件。如果通过结点设置A或者可能设 置A,并且A和(A)均没有在后续结点的任何输入出现,则该系统应该提供 报警。这可以是由程序显示的文本信息或者通过界面使用的可视化提示之一, 诸如上述图3B所述的感叹号标记。
可以有几种方式执行传播。可以使用向前或者向后流程执行传播。当传播 关系时,也可以使用表示子类的下层流程以及表示父类的上层流程。输入完整 性和输出必要性也可以用作传播关系或者过滤结果的基础。此外,可以使用通 用影响分析以分辩受影响的位置。可以使用具体的what-if分析来判断怎样影响给定的关系。
在一实施方式中,执行关联传播采用逻辑系统。特别地,使用多值逻辑。 在模型中的任一点,对于给定关系,该关系可以是真、假或者可能真。结果
(predicate)是响应诸如变量、规则或者关系的操作数允许做具体表达式的 算子。这样,如果涉及的表达式是"account is in arrears.",则account 是操作数或者变量而"is in arrears"是结果。这可以以形式P (操作数) 编写。如果A是具体的变量或者其它RLMS元素,则我们可以分别通过P (A) =真、P (A) H叚和P (A) 二未知(可能真)指定关系。在逻辑的示例性设置中, 根据下面关联定义操作AND ( "*")和0R ( " + "):
真+真=真
假*假=假
假+假=假
假*真=不确定
假+真=真
不确定*不确定=不确定
不确定+不确定二不确定
真*不确定=不确定
真+不确定=真
假*不确定=不确定
假+不确定=不确定
尽管在RLMS系统的组件中使用这些关系,但是业务流程的建模通常包括 业务逻辑的具体类。图8示出了一些适于与RLMS使用的示例性业务逻辑分类。
在图中,有儿个通常遇到的执行类型。图9示出了描述部分汽车租赁公司 操作的业务模型。图7和图9所示的业务模型表示了一些更通用的执行类型。 这些通用类型包括顺序执行、并行执行和互斥执行。顺序执行描述了当控制经 过图中的结点时如何处理结果。并行执行涉及图中的分开-汇合结构,其表示 控制怎样经过分开和汇合之间的每条路径。汇合是指图中并行路径回到一起并 且控制继续沿着单一路径执行的点。即,当控制经过汇合结点时,并行执行表 示怎样处理结果。互斥执行描述了图中的决策-汇合结构。该执行类型表示控制怎样精确经过决策和汇合结点之间的路径之一。RLMS具有处理这些执行类
型的多个方案。
在一实施方式中,包含在RLMS中用于处理这些情况的逻辑如下
*顺序执行对于结果A:
*如果结点不改变A,则A在该结点之后具有与结点之前相同的值。
*如果结点使A为真,则在该结点之后P (A) 二真。
*如果结点使A为假,则在该结点之后P (A)=假。
如果结点使A可能为真,并且P' (A)为该结点之前的结果值,则
在该结点之后P (A) =[P' (A) +不确定] *如果结点使A可能为假,并且P' (A)为该结点之前的结果值,则
在该结点之后,如果P' (A) 二假则P (A)=假,否则P (A)=不确定。
*并行执行在汇合结点之后,P (A)是由并行路径产生的所用值的逻 辑或。
*互斥执行在汇合结点之后,P (A)是由并行路径产生的所用值的逻辑与。
也可以通过该工作流图向后传播一些结果。相同的逻辑用于结果的向后传 播。向后传播是有用的,例如,判断在设置变量后在一定结点是否使用该设置 的变量。
工作流图中的一些结点包含普通的可执行代码。可以为该代码构建流图, 并且按照其在工作流图中相同的方式处理流图中的结果。可以类似于普通的
if-then语句处理规则集。在运行时间用于表示和分析关联的代码更简单,这 是因为,其不需处理可选的可能路径。对于系统的各给定执行,只有一种选择。
传播还包括处理可能出现的各种类型的循环、分支和其它结构的标准。图 9示出了这些连接类型的实施例。例如,在诸如"do while"的循环中,系统 可以处理经过循环一次以判断变量的定义和关联。例如,在当一个变量小于定 义的数值并且通过循环自加1时执行一些任务的循环中,无论通过该循环流程 执行多少次,仍然定义该值。
这样,系统从结点到结点行进以标识各关联,并且准备关于工作流的报告。 该报告可以标识冲突的规则、未定义变量的使用或者可能产生错误的其它情况,协助调试或者工作流的其它管理。在一实施方式中,对于各变量,系统可 以判断那些变量是否在工作流中定义,或者是否存在未定义的路径。进一歩, 系统还能够判断为具体变量定义的值是否已经增加或者减少,使用该值的其它 变量的方向(增加或者减少)。例如,系统可以判断最低银行利率减少时对其 它变量的影响。在传播技术的再一应用中,可以逐步增加或者减少变量的值以 试图判断由于具体变量或者常量的变化产生的其它变量的变化。实质上,这与 工作流中判断部分派生类似。
还可以使用RLMS中各种变量相互关系的定义集。例如,使用上述关于抵 押财务的实施例,系统可以定义在取出贷款时,房屋的价值是贷款数额与预付 定金之和,并且预付定金等于资产净值。对于判断初始贷款量之后的时间周期, 资产净值可以定义为评估值减去应收贷款数额。预付定金的变化将被检测为资 产净值需求中的变化。该信息可以用于家庭资产净值信用线。
为了使用更通用的实施例,如果知道A+B《并且C是常量,则RLMS可以 观察A的变化并且判断偏移变化B,其可以用于标识用于不同部门中的不同规 则集中规则的冲突或者碰撞。
本发明在实施方式中指出的传播观念包括逻辑关联和一组逻辑表的使用 以判断结点到结点的一定值为真、假或者不确定。此外,在该实施方式中,通 过多条路径,优选地为在向前和向后方向上所有可用路径传播路径,以标识关 联、强调问题并且准备工作流的分析。
在BPMS中实施新的业务逻辑可能需要理解要实现的逻辑的业务分析师与 以正规的计算机语言标识逻辑的程序员之间的密切配合。通常选择适合的规则 引擎,其既执行干扰规则又执行数据规则,从而能够容易利用并且灵活贯穿组 织中遇到的业务问题的更广范围。除了所述实施方式之外,该引擎的逻辑处理 可以在需要完成业务流程时自动提示应用软件和用户。
然而,即使当现存的子流程正在适用于新环境时,为了使该子流程工作在 新环境中而需要许多步骤。业务信息和逻辑的预建模序列使业务分析师执行先 前需要程序员执行的任务。本发明的这方面通过最直接涉及公司日常运行的团 体方便了业务模型的快速研发。
业务分析师可以从库中选择块并且将该块的图形表示拖拉到业务流程中。 RLMS可以自动执行包括在使该块在该新的环境中工作的复杂任务。如果需要,RLMS可以向该序列增加输入和输出代码,并且甚至在需要时可以修改该块的 内部。
按照这种方式使用块提供了几个重要的好处可以比使用现有方法更快并 且低成本的实现新的业务;由于许多为适应现存逻辑片断所需的复杂逻辑是自 动的,可以避免许多人为错误;并且块库的存在为用户创建了写入可重复利用 的块的动机。图7中示出了通过设置在开始序列和结束序列方框之间的元素表
示的示例性块。
尽管块可以更广泛的描述为可以被RLMS组件重复使用的信息段或者序 列,示例性的"块"还可以包括工作流歩骤、规则集和其它块的组合的序列。 在本发明的-一个实施方式中,各块具有下面的属性
*该序列具有一个输入和一个输出。
*该序列是透明的,由于序列中的所有独立步骤以及用于序列中的所用 变量都是可见的(不象标准组件结构那样隐藏)。
# RLMS具有的用于该序列的所用关系逻辑信息连同该序列记载。
* RLMS具有的与该序列相关的所有元信息与该序列记载。 与模块类似,使用块以提供可以插入到新环境中的逻辑单元。块可以包括
一个或者多个逻辑元件。该块的插入可以很简单,但是由于下面一些因素可能 很复杂
*新的环境可能对于相同的概念使用不同的变量名称; *新的环境可能对于相同信息使用不同表示。例如,新的环境可能会拼 写出诸如"New York"的州名称,而该块可能使用诸如"NY"的縮写。 *块可能在新的环境下使用暗含的、不清楚的信息。例如,块可能需要 镇区的名称,而新的环境不包括该名称。如果新的环境具有邮政编码, 则可以根据其判断所述镇区的名称。 本发明的实施方式包括一种处理这些信息的方法。当将块置于新的环境中 时,使用关于变量的信息和元信息以正确链接变量。这可以基于具体条件以不 同方式实现。例如,如果新环境中的变量等于块中的变量,则重新命名块中的 变量。如果该环境中的变量与块中的变量具有不同的表示,则向该块的输入和 输出增加转换代码。在该块的输入处,环境变量中的信息被转换并且指定给块 的变量。在该块的输出处进行反向转换和指定。此外,如果块中的变量能够通过一些流程从环境中的信息衍生,则在块的输入处执行该衍生流程并且如果需 要,在该块的输出处反向执行该流程。
当将块放入新的环境时,用户可以选择是否保持或者切断与原始块的逻辑 连接。如果保持连接,则自动向新环境中的该块传播后续对初始块所做的任何 变化。例如,如果修改公式以改变用于一规则集的变量的判断方式,则该修改 可以传播到其它区域。这样,这种依赖可以使块不同于简单的模板。
当从初始块传播变化时,系统可能要执行类似于当将块初始插入该新环境 时所需执行的映射操作。当开始插入该块时,系统保持所有的信息为初始产生 状态。在初始插入操作中处理的并且仍然具有与其之前相同的信息和元信息的 任何变量都可以如其先前.一样进行处理。采用上述的映射流程重新处理任何新 的变量以及其信息或者元信息已经变化的变量。
块应该持久从而可以重新使用。能够研制一种XML计划以代表实现此的 块。由于块和流程共享顶级行为和流程环境数据等,可以使用相同的流程计划 表示块。换句话说,可以将块看作是重量轻的流程其包含所有流程所需的元 素和属性以及一些可选的元素和属性。然而,由于流程存在于包中而块是流程 的一部分, 一些包级信息可以用于块中,包括包环境变量、域目标和域行为。 这样,该信息从包分离从而使得块可以在不同的包中重复使用。
可以使用客户工具独立创建流程并且将其保存为块,或者也可以由现存的 流程创建块。对于客户工具,无论是简单行为还是复杂行为,其可以选择任何 行为并将其保存为块。由于在块知识库中存储块(图1中的部分逻辑知识库), 其可以被命名并具有包信息。分析选择的行为,识别用于该行为的所有流程环 境变量并且将其保存在新的流程结构中。而且,识别包括包环境变量、域目标 和域行为的所有包级信息,并且将其保存在指向新创建的流程结构的新块定义
(chunkdef)结构。
创建块的另一种方式是选择序列行为中连续行为的子集,由于其形成具有 唯一入口和唯一出口的结构。为了支持此,客户工具可以选择序列行为中连续 行为的子集并将其保存为块。应该注意, 一个序列行为可以嵌入在另一序列行 为中并且这种选择可以允许穿过边界。
如图10所示,可以创建包含连续行为al、 a2和a3子集的块,即使它们 属于不同的序列行为,并且序列s3嵌入序列s2中,而序列s2嵌入在序列sl中。为了创建该块,首先,创建包含行为al、 a2和a3的新序列行为。然后, 系统创建包含该序列行为以及指向新流程结构的新块定义结构的新流程结构。
对于包含一个行为的块,为了在现存流程中表示该块结构,可以在行为中 引入表示其对应于块知识库中的块的表。然而,对于包含连续行为子集的块, 不是一个行为附属该块列表。这样,为了一致,创建虚拟块以包含相关行为或 者行为组。对于包含一个行为的块,其由其中包含行为的流程块元素表示。对 于包含连续行为子集的块,其由虚拟流程块元素表示,由于行为的子集会贯穿 不同的序列行为,其只是通过指针间接指向。由于一个序列行为可以是多于一 个连续行为的子集,可以为一个序列行为创建多个虚拟流程块。所有的虚拟流 程块都附属于根据其创建的序列行为。
XML定义可以用作流程计划的延伸以表示现存流程中的块结构。在各块 中,包括有现存流程中的环境变量与用于该块的环境变量之间的联合接口。该 信息并不是必需的,但是在希望解除该块的创建或者重复使用的情况下可以包 括。
这样,块表示可以重复使用的一段共用逻辑。该能力的一个优点在于提供 了一种创建和/或扩展流程的有效方式。为了重复使用块,块中的环境变量映 射到当前流程的相应变量,从而该块能够更好的与流程匹配。在任何需要行为 的流程中,可以填充块知识库中已存在的块。也可以填充流程调用,其在运行 时间建立到现存流程的连接。由于块和子流程都允许公共行为重复使用,它们 很相似,但是二者之间的区别在于对于子流程,在运行时间处理变量映射,而 对于块,在建模时间进行变量映射。这样,块重复使用类似于宏替换而子流程 重复使用类似于传统编程语言中的程序调用。
各块结构包含联合元素,其将用于块中的各环境变量映射到当前流程环境 中定义的环境变量。当创建块结构时,服务器侧进行一系列的变量替换以使新 块与当前流程匹配。对于块重复使用,只创建流程块元素。作为将块本身记载 在现存流程中的一种方式,对于序列行为中的行为子集,虚拟流程块是创建块 的副产品。 一旦创建了块并将其保存在块知识库中,只可以在另一流程中作为 流程块重复使用该块。
由于块包含行为的有意义组,其在开发块之间的各种关系时很有用,例如 可以包括描述哪些块或者行为位于其它块或者行为之前的块之间的时间限制,以及表示哪些变量包含在哪些行为和块中,哪些变量包含在其它行为和块中的 成员资格关系。
由于块包含简单或者复杂的行为,其可以用于指定与另一行为或者块的时 间限制。然而,虚拟块在时间限制中不允许,这是由于所有参考的行为都已经 存在于流程中并且可以直接用来指定任何时间限制。结果,块结点对于用户可 见以指定时间限制并且根据流程模型验证这些块结点。
由于块和虚拟块都是组成层次的一部分并且除非其被逐级拖拉到拥挤的 窗口中,块和虚拟块都不能容易显示在流程的工作流视图中,因此块和虚拟块 都可以以成员资格关系表示。对于单一流程,可以以树结构显示所有行为和块。 图11示出了序列行为以及虚拟块的成员资格视图。
随着连续创建块,知识库中将存在许多块。 一项期望的工作是检查不同块 之间的成员资格关系以判断在哪些其它块中用这些块。由于通常有多个层次, 所以该关系不同于流程的关系;大多数兴趣在于块而不是行为;并且一定的块 可以在另外块中重复使用。结果,在块知识库中实现用于不同块之间成员资格 关系的图。
这里描述的方法和系统可以在通用计算机、服务器或者其它处理器上以软 件执行,该计算机或者服务器具有适当的磁性、光学或者其它存储器或者具有 诸如与其相连的总线。该流程也可以以硬件和软件结合的全部或者部分实现, 例如具有具体应用的集成电路。软件可以保存在一个或者多个计算机、服务器 或者其它适合的设备中并且可以保持在诸如磁盘或者光盘的移动存储介质上。 在一实施方式中,本发明可以通过适合的适配器连接到外部知识库和应 用。可以提供适当的适配器以支持下面的标准接口 Java类、企业JavaBeans (EJB)、网络服务(WSDL、 UDDI&S0AP) 、 Java数据库连接(JDBC) 、 Java 信息服务(JMS)及其组合。也可以使用本领域普通技术人员熟悉的其它适合 的标准接口。
应该理解,这里描述的本发明的RLMS系统、方法和流程可以用于各方面。 进而,这里所使用的术语和表述只是用于说明而并不限制,并且在使用这些术 语时并不排除表示和描述的任何等效特征,可以在本发明要求保护的范围内做 出各种修改和变型。因此,本发明意欲覆盖由所附权利要求书及其等效物限定 的本发明的范围。
权利要求
1、一种传播第一规则集与第二规则集之间关系的方法,其中所述第一和第二规则集由公共工作流模型调用,该方法包括跟踪从所述第一规则集到第二规则集向前经过所述工作流模型的路径;列举从所述第一规则集到第二规则集向前延伸的关系;以及利用多值逻辑计算从所述第一规则集向第二规则集经过所述工作流模型对控制流关系的影响。
2、 根据权利要求l所述的方法,其特征在于,还包括如下歩骤 跟踪从所述第二规则集到第一规则集向后经过所述工作流模型的路径; 列举从所述第二规则集到第一规则集向后延伸的关系;以及 利用多值逻辑计算从所述第二规则集向第一规则集向后经过所述工作流模型对控制流关系的影响。
3、 根据权利要求1所述的方法,其特征在于,所述方法包括创建用于嵌 入在所述工作流模型中的普通程序代码的流图,并且传播该流图中结点之间的
4、 根据权利要求1所述的方法,其特征在于,所述方法包括创建用于嵌 入在所述工作流模型中的业务规则的流图,并且传播该流图中结点之间的关 系。
5、 根据权利要求1所述的方法,其特征在于,所述多值逻辑为二值逻辑。
6、 一种在存储器中存储工作流步骤和规则集的序列的至少其中之一,从 而便于重复使用该至少一个序列的方法,该方法包括(a) 存储所述序列;以及(b) 存储为用于所述序列中的各变量计算的关系信息,其中所述关系信 息对另一操作数保持可存取以方便序列重复使用。
7、 根据权利要求6所述的方法,其特征在于,所述序列包含元信息。
8、 根据权利要求6所述的方法,其特征在于,所述序列具有一个输入和 一个输出。
9、 根据权利要求6所述的方法,其特征在于,所述关系信息通过接口可 存取。
10、 根据权利要求6所述的方法,其特征在于,所述序列根据层次设置。
11、 一种将工作流步骤的序列插入业务流程模型的方法,该方法包括-(a) 将存储在所述序列中用于各变量的关系信息与为所述业务流程模型 计算的关系信息进行比较;(b) 创建计算机初始化指令以对所述序列中的各变量初始化;以及 (C)将所述计算机初始化指令插入所述业务流程模型中以在所述工作流步骤的序列之前执行所述计算机初始化指令。
12、 根据权利要求ll所述的方法,其特征在于,还包括如下步骤(d) 创建计算机终止指令以通过将所述序列中的变量值转换为可以由所 述业务流程模型使用的形式终止所述序列;以及(e) 将所述计算机终止指令插入所述业务流程模型中以在所述工作流步 骤的序列之后执行所述计算机终止指令。
13、 根据权利要求ll所述的方法,其特征在于,所述业务流程模型为子 流程。
14、 一种关系逻辑管理系统,包括用于产生业务逻辑的模块,该模块包含至少一个逻辑组件; 至少一个知识库,用于存储通过所述模块产生的业务逻辑;以及 至少两个规则集,其中采用双向比较流程判断所述规则集元素之间的关系。
15、 根据权利要求14所述的系统,其特征在于,所述业务逻辑包含至少 一个工作流。
16、 根据权利要求14所述的系统,其特征在于,还包括代码产生器,用 于响应所述模块产生代码。
17、 根据权利要求16所述的系统,其特征在于,还包括至少一个代码执 行器,用于从所述代码产生器接收代码并且执行部分所述代码。
18、 根据权利要求14所述的系统,其特征在于,所述模块包括图形用户 界面。
19、 根据权利要求14所述的系统,其特征在于,所述各规则集包括至少 一条规则。
20、 根据权利要求14所述的系统,其特征在于,所述至少一个规则集包括图案匹配规则。
21、 一种用于分析业务流程模型的系统,该系统包括 第一规则集,包含至少一条规则;第二规则集,包含至少一条规则; 工作流,定义至少一部分业务流程模型; 用于识别规则参数的装置;以及 用于修改所述工作流的接口 。
22、 根据权利要求21所述的系统,其特征在于,所述工作流包含可使用 的块。
23、 根据权利要求21所述的系统,其特征在于,所述用于识别规则参数 的装置通过输入和输出参数检测各规则之间的依赖关系。
24、 根据权利要求21所述的系统,其特征在于,所述接口装置包括图形 用户界面。
25、 根据权利要求21所述的系统,其特征在于,所述工作流包括至少一 个路径和至少-个结点。
26、 一种用于传播第一业务参数和第二业务参数之间关系的方法,其中所 述第一和第二业务参数由公共工作流模型调用,该方法包括跟踪从所述第一业务参数到第二业务参数沿第一方向通过所述工作流模 型的路径;列举从所述第一业务参数到第二业务参数沿第一方向延伸的关系; 利用多值逻辑计算从所述第一业务参数到第二业务参数通过所述工作流 模型对控制流关系的影响。
27、 根据权利要求26所述的方法,其特征在于,还包括如下步骤 跟踪从所述第二业务参数到第一业务参数沿第二方向通过所述工作流模型的路径;列举从所述第二业务参数到第一业务参数沿第二方向延伸的关系; 利用多值逻辑计算从所述第二业务参数到第一业务参数向后通过所述工 作流模型对控制流关系的影响。
28、 根据权利要求26所述的方法,其特征在于,所述各业务参数选自由 工作流、规则集和规则组成的组。
29、 根据权利要求26所述的方法,其特征在于,所述第一方向包括向前方向。
30、 根据权利要求26所述的方法,其特征在于,所述第一方向包括向后 方向。
全文摘要
本发明公开了一种传播第一规则集与第二规则集之间关系的方法,其中所述第一和第二规则集由公共工作流模型调用。该方法包括跟踪从所述第一规则集到第二规则集向前经过所述工作流模型的路径。该方法中的另一步骤是列举从所述第一规则集到第二规则集向前延伸的关系。此外,利用多值逻辑计算从所述第一规则集向第二规则集经过所述工作流模型对控制流关系的影响;跟踪从所述第二规则集到第一规则集向后经过所述工作流模型的路径;列举从所述第二规则集到第一规则集向后延伸的关系;以及利用多值逻辑计算从所述第二规则集向第一规则集向后经过所述工作流模型对控制流关系的影响。
文档编号G06F17/00GK101410857SQ200480015675
公开日2009年4月15日 申请日期2004年6月4日 优先权日2003年6月4日
发明者史蒂文·明斯基, 明·坦, 查尔斯·福杰 申请人:费尔艾萨克公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1