CN101201918A - 用于自动配置信息系统的方法和系统 - Google Patents
用于自动配置信息系统的方法和系统 Download PDFInfo
- Publication number
- CN101201918A CN101201918A CNA2007101996293A CN200710199629A CN101201918A CN 101201918 A CN101201918 A CN 101201918A CN A2007101996293 A CNA2007101996293 A CN A2007101996293A CN 200710199629 A CN200710199629 A CN 200710199629A CN 101201918 A CN101201918 A CN 101201918A
- Authority
- CN
- China
- Prior art keywords
- state
- commercial
- elements
- rule
- eliminated
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0633—Workflow analysis
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Operations Research (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Marketing (AREA)
- Educational Administration (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及用于自动配置信息系统的方法和系统。企业资源计划(ERP)系统维护多个商业元素。每一个商业元素均代表依赖于客户的商业要求可能需要或者不需要的商业功能。范围确定过程是根据客户的商业要求和一些商业元素中存在的关系确定要求什么样的商业元素的过程。ERP系统提供自动商业配置子系统。自动商业配置子系统维护规则集合。每一个规则均代表在ERP系统处维护的两个商业元素之间的关系。自动商业配置子系统基于规则集合自动地确定要求和需要实施哪些商业元素。
Description
版权声明
本专利文档公开的一部分包含受版权保护的材料。版权所有人不反对任何人对本专利文档或专利公开如其在专利商标局专利文件或记录中出现的那样的复制,否则保留一切版权权利。
技术领域
本发明的至少一个实施例涉及信息系统,更具体地,涉及自动配置信息系统。
背景技术
随着企业资源计划(ERP)方法学已经变得更受欢迎,已经出现了帮助商业经理们在诸如库存控制(inventory control)、订单跟踪(order tracking)、客户服务、财务和人力资源等的商业活动中实施ERP的软件应用。
ERP系统的商业配置要求对ERP系统及其能力的全面了解。具体来说,为了确定需要实施什么样的功能以及什么样的系统行为必须被配置,要求ERP系统的不同功能及其配置间的依赖性。例如,如果客户选择实施“销售订单管理”功能,则如果“销售订单管理”功能依赖于“基本销售订单”功能和“定价”功能,客户必须也实施“基本销售订单”和“定价”功能。未能实施这些功能意味着客户不能运行“销售订单管理”功能。
在已知的现有技术ERP系统中,范围确定过程(即,根据客户的商业要求确定要求ERP系统什么样的商业功能的任务)由有经验的、非常有资格的咨询人员通过分析商业要求、确定商业解决方案并通过配置ERP系统实施所述解决方案来手动地处理。商业系统越复杂,则以纯手动方式实施商业解决方案越困难。因此,人们期望使所述过程自动化。
发明内容
本发明包括一种用于自动配置企业资源计划(ERP)系统的方法。所述方法包括在企业资源计划(ERP)系统处维护多个商业元素的步骤。所述方法还包括基于多个商业元素间的关系集合自动地确定多个商业元素中的每一个的状态的步骤。
从下面的附图以及详细描述中,本发明的其他方面将会清晰。
附图说明
在附图的图中,通过举例而非限制的方式示出了本发明的一个或更多个实施例,在附图中,相同的参考指示类似的元素,并且在附图中:
图1示出了在其中可以实施本发明的实施例的网络环境;
图2示出了自动商业配置子系统(Automatic Business ConfigurationSubsystem,ABCS)的结构的例子;
图3a根据一个实施例示出了规则语法集合的例子;
图3b根据一个实施例示出了图形用户接口(Graphic User Interface,GUI)的例子,用户可以通过该图形用户接口把规则输入到ERP系统中;
图4是根据一个实施例示出了存储器中规则库模块的实例的框图;
图5根据一个实施例示出了减小用于支持多个用户/开发者的规则库模块的多个实例所消耗的存储器大小的机制;
图6根据一个实施例示出了演绎框架(deduction framework)的结构的例子;
图7根据一个实施例示出了一致性维护框架(Consistency MaintenanceFramework,DMF)的结构的例子;
图8是根据一个实施例示出了范围确定过程的例子的流程图;
图9a是根据另外的实施例示出了范围确定过程的流程图;
图9b是根据另一个实施例示出了范围确定过程的流程图;
图9c是根据另一个实施例示出了范围确定过程的流程图;
图10是根据一个实施例示出了解决方案产生器的过程的流程图;和
图11是示出了处理系统的例子的框图。
具体实施方式
描述了一种用于自动配置企业资源计划(ERP)系统的方法和系统。在本说明书中对“实施例”、“一个实施例”等等的引用表示所描述的具体特征、结构或特性被包括在本发明的至少一个实施例中。在本说明书中出现这些短语不一定都指同一实施例。
1.企业资源计划系统
图1示出了在其中可以实施本发明的实施例的网络环境。如图所示,企业资源计划(ERP)系统11通过互连13可通信地耦合到多个客户机12。互连13本质上可以是任何类型的计算机网络,例如局域网(LAN)、广域网(WAN)、城域网(MAN)或国际互联网,并且可以实施国际互联网协议(IP)。每一个客户机12均运行客户机侧ERP应用14。这样的应用可以是例如基于网络的应用,所述基于网络的应用允许用户登录到ERP系统11,并对商业配置项目进行工作。用户可以通过经由客户机侧ERP应用14提供的接口提交命令并接收结果或者指令来与ERP系统11通信。在一个实施例中,这样的接口是图形用户接口(GUI)。
ERP系统11提供一组商业元素101。每一个商业元素101均可以是商业套装(package)102、商业主题103或商业选项104。商业套装102可以包括一组商业主题103。商业主题103可以包括一组商业选项104。例如,ERP系统可以提供“销售订单管理”商业套装。“销售订单管理”商业套装可以包括诸如“销售订单报价”、“定价”和“产品配置”等的商业主题。商业主题“定价”可以包括诸如“标准定价”、“季节性货物”等的商业选项。
作为商业要求的结果,商业元素的功能可能依赖于另一个商业元素的功能。如果是那样的话,在这两个商业元素之间存在依赖性关系。在已知的现有技术ERP系统中,用户需要基于商业要求和这些商业元素间的依赖性关系手动地确定需要选择和实施什么样的商业元素。本发明包括可以基于商业要求和这些商业元素间的依赖性关系自动地确定需要选择和实施什么样的商业元素的ERP系统。
在一个实施例中,ERP系统11可以包括自动商业配置子系统(ABCS)105。ABCS 105将依赖关系建模为规则。规则规定了特定的商业元素是要求还是排斥其他的商业元素。这里,商业元素的状态包括两个方面。第一个方面是商业元素的选择状态。选择状态的值可以是“被选择”或“被淘汰”。第二个方面是商业元素的可改变性状态。可改变性状态的值可以是“可改变的”或“不可改变的”。如果商业元素的选择状态是“被选择”,则在配置过程期间需要实施和该商业元素相关的功能。如果商业元素的选择状态是“被淘汰”,则不需要和该商业元素相关的功能。如果商业元素的可改变性状态是“可改变的”,则用户或过程可以改变该商业元素的选择状态。否则,不能改变该商业元素的选择状态。
最初,一些特定的商业元素被缺省地或者被用户的手动选择(例如通过接口)选择。一些商业元素的这些初始状态被称为初始事实。基于初始事实和规则,ABCS 105自动地确定需要选择和实施什么样的其他商业元素,使得作为结果的系统针对商业要求在功能上是完整的。确定被发送回客户机侧ERP应用14,它以根据GUI中的确定的模式显示每一个对应的商业元素。例如,如果商业元素的状态被确定是“被选择”,则该商业元素被客户机侧ERP应用14按照告知用户该商业元素当前被选择的模式显示。用户可以通过选择或者淘汰商业元素来操纵客户机侧ERP应用14的GUI,因此触发ABCS 105来确定用户选择的商业元素的状态改变的后果。例如,后果可能是另一个商业元素的状态的改变。后果被发送回客户机侧ERP应用14,用于更新GUI。注意,如图1中所示的一些或全部部件可以被实施在软件、硬件或这两者的组合中。
2.自动商业配置子系统
图2根据一个实施例示出了自动商业配置子系统(ABCS)的结构的例子。如图所示,ABCS 105包括规则语义模块201。规则语义模块201对规则提供语法和语义检查。在一个实施例中,用户可以通过客户机侧ERP应用14把规则输入到ERP系统11中。规则语义模块201解析规则,把规则变换为统一的格式,并把规则存储在持久性206中。当被规则库模块202调用时(下面介绍),规则语义模块201从持久性206检索这些规则并把它们变换为核内规则对象(in-core rule object)。这里,术语“核内”表示在处理系统的主存储器中。规则语义模块201还针对存储在持久性206中的规则做冗余和冲突检查。冗余检查防止持久性中的冗余规则。冲突检查检测抵触的规则和递归的规则。
ABCS 105还包括规则库模块202。在规则被规则语义模块201封装为核内对象以后,规则库模块202组织这些对象以使它们可以被其他部件很容易地访问或者搜索。
演绎框架203是处理范围确定过程中所有不同关系的模块。这些关系可以包括约束、预选、先决条件等,但是不限于此。演绎框架203也可以处理改变确定和可改变性确定。改变确定指确定特定商业元素的状态是否应该被改变,例如从“被选择”到“被淘汰”。可改变性确定指确定特定商业元素的状态当前是否可以被改变,例如从“被选择”到“被淘汰”。
演绎框架203响应于接收到被断言的事实,触发改变确定和/或可改变性确定功能。被断言的事实指被用户通过客户机侧ERP应用14对商业元素的选择或淘汰导致的商业元素的状态改变。注意,事实也可以被过程断言。演绎框架203把被断言的事实与可用规则的条件匹配以便确定后果。后果可以是例如另一个商业元素的状态必须因所述被断言的事实而被改变。例如,假设规则被规定为“如果X被选择并且Y被选择,则M被选择”。还假设X的当前状态是“被选择”,并且因为例如用户手动地从客户机侧ERP应用14的GUI选择了Y,Y的状态刚被改变到“被选择”。因此,由于上面规则的条件变为真,M的当前状态应该是“被选择”。
因为上面的推理是从规则的条件到规则的后果,所以它被称为前向链接(forward chaining)。基于被确定的后果,演绎框架203更新每一个被影响的商业元素的状态。
演绎框架203还提供了说明确定的功能。说明确定确定并提供特定商业元素的当前状态的原因,当前状态例如是“被选择”或“被淘汰”。例如,如果规则被定义为“如果A被选择,则B被淘汰”,则如果商业元素B的当前状态是“被淘汰”,则可能的原因之一可能是商业元素A的当前状态是“被选择”。如例子中所示,推理是从规则的后果到条件,因此,它被称为后向链接(backward chaining)。
如图所示,ABCS 105还包括商业配置逻辑模块204。商业配置逻辑模块204控制范围确定过程的进展。
工作空间模块205提供维护核内数据结构的功能,所述核内数据结构在范围确定过程期间存储至少一些ERP系统11的商业元素的状态。工作空间模块205还提供会话和存储器管理。会话管理使得ERP系统11能够处理由多个用户开始的多个范围确定过程。存储器管理提供了存储器块的分配/取消分配的功能,把数据从工作空间实例存储在持久性206中,并把数据从持久性206读到工作空间实例中。例如,在商业元素的状态被演绎框架203改变以后,工作空间模块205可以更新存储在持久性206中的商业元素的状态。
ABCS 105可以包括重建模块207。在用户的范围确定过程的某个点,重建模块207提供使得用户能够将当前范围确定过程作为图像数据保存在持久性206或不同的数据库中的功能。以后,应用户的请求,重建模块207可以从保存在持久性206中的图像数据把范围确定过程重建到存储器中,以使用户可以从范围确定过程被保存的点继续该范围确定过程。
一致性维护框架(CMF)模块208检测某些商业元素的状态的不一致性,并提供解决这些不一致性的解决方案。不一致性可能由不同的原因导致。例如,在商业元素的状态被定下来以后,规则改变了。改变的后果是该商业元素的状态必须被改变。因此,规则改变导致了冲突(即不一致性)。另一个例子,当两个开发者正在对同一范围确定项目的不同方面进行工作时,他们的工作空间需要被合并为最终的工作空间。假设他们的工作都基于同一规则集合。但是,在合并期间,同一商业元素可能具有两个不同的状态。因此,合并导致了冲突。
在一个实施例中,CMF模块208接收规则集合和一组商业元素的状态。CMF模块208自动地检测所有的冲突并提出解决这些冲突的解决方案。注意,图2中所示的一些或全部部件可以被实施在软件、硬件或这两者的组合中。
2.1规则语义模块
规则语义模块201给各种类型的规则提供语法和语义检查。规则语义模块201解析这些规则,把它们变换为统一的格式,并把它们存储在持久性206中。当被规则库模块202调用时,规则语义模块201从持久性206检索这些规则并把它们变换为核内对象。
规则和商业元素相关联,并且规则能够改变相关联的商业元素的状态。规则语义模块201根据预先定义的规则语法解析规则。使用语法产生式(grammar production)给出规则语法。图3a根据一个实施例示出了规则语法集合的例子。每一个语法产生式均定义了非终止符号和该非终止符号到非终止或终止符号序列的可能扩展。在语法产生式中,非终止符号用斜体类型示出,终止符号用黑体示出。如图所示,列301列出了要定义的名字,并且列302列出了对应的定义。例如,约束规则被定义为:
如果条件表达式 则后果语句
如果条件表达式 则要选择的语句 否则要淘汰的语句
如果条件表达式 则要选择的语句 否则如果条件表达式 则要淘汰的语句
在一个实施例中,规则语法由用户通过接口规定。这些规定的语法可以被存储在数据库(例如持久性206)中。当系统被初始化时,这些规定的语法被从数据库读取,并被作为核内语法对象给出。规则语义模块201使用这些核内语法对象来解析规则。
在一个实施例中,用户可以通过客户机侧ERP应用14把规则输入到ERP系统11中。规则语义模块201解析这些规则,将这些规则变换为统一格式,并把这些规则存储在持久性206中。图3b示出了图形用户接口(GUI)的例子,通过该图形用户接口,用户可以把规则输入到例如系统11的ERP系统中。如图所示,该GUI具有简介部分303和细节部分304。简介部分303的标题305指示和当前GUI有关的商业元素。简介部分303提供用于为商业元素添加新规则的按钮306和用于去除已经为商业元素创建的规则的按钮307。下拉列表308允许用户选择规则的后果,并且GUI部件309示出了规则的条件。用户可以检查在下拉列表308前方示出的检查框310,并在去除按钮307上点击以去除该规则。用户也可以在下拉列表308上点击以便突出显示要将其在细节部分304中显示的规则。
细节部分304显示在简介部分303中选择的规则。细节部分304在多个规则部分313中显色所选择规则,每一个部分313代表唯一条件。此外,细节部分304提供了用于添加新的规则部分313的按钮311和用于去除被选择的现有规则部分313的按钮312。在每一个规则部分313内,存在允许用户选择另一个商业元素的GUI部件314和为被选择的另一个商业元素选择状态的下拉列表315。在规则部分313中还存在检查框316。用户可以检查检查框316供去除。注意,如图3b中所示的GUI只是为了说明的目的而描述。也可以采用其他的配置或者布局。
2.2规则库模块
如上面所介绍的那样,规则库模块202(在图2中示出)在存储器中将规则组织为对象供快速访问。图4是根据一个实施例示出了存储器中规则库模块的实例的框图。如图所示,每一个商业元素401均与规则集合(RuleSet)对象402相关联。如果元素401是规则的条件,则该规则是元素的吸收规则(sink rule)。如果元素401是规则的后果,则该规则是元素的起源规则。因此,规则集合对象402可以包括吸收规则对象403和起源规则对象404,吸收规则对象403包含元素的吸收规则集合,起源规则对象404包含元素的起源规则集合。其他部件能够通过利用元素的ID调用取得吸收规则接口405和/或取得起源规则接口406取得元素的吸收规则和/或起源规则。
图5根据一个实施例示出了减小由用于支持多个用户/开发者的规则库模块的多个实例消耗的存储器大小的机制。如图所示,每一个会话504均具有规则库对象502。每一个规则库对象502均具有会话规则库对象503和参考中央规则库对象501的参考505。中央规则库对象501被多于一个会话504共享。在一个实施例中,每一个参考505均是指向共享的中央规则库对象501的指针。会话规则库503独立于中央规则库501,并且只可用于特定的工作存储器实例503。
因为中央规则库对象501被在存储器中共享,多于一个的用户能够同时在其上面进行操作。当任何用户想要读或写中央规则库对象501时,用户应该检查中央规则库对象501是否被任何其他用户锁定。如果中央规则库对象501被另一个用户锁定,则用户应该等待直到中央规则库对象501被解除锁定。
2.3演绎框架
演绎框架203是处理范围确定过程中所有不同关系的模块。图6根据一个实施例示出了演绎框架结构的例子。如图所示,演绎框架203包括缺省值处理器601、关系处理器602、状态确定模块603和说明确定模块604。
缺省值处理器601管理商业元素的缺省值。缺省值定义了商业元素的初始值(即“被选择”或“被淘汰”)。经常为高层次商业元素(例如商业套装)设置缺省值。一般来说,所有商业元素的缺省值是“被淘汰”。作为选择,用户能够定义规则以便把缺省值设置为“被选择”。
在实施例中,只有当不存在其他设置商业元素的状态的值来源时缺省值才有效。例如,假设商业主题“定价”被选择,但是还没有选择“定价”的商业选项。在这种情况下,系统评估“定价”商业选项的缺省规则,并选择一个或更多个商业选项。值来源被定义为导致商业元素的状态改变的来源。在一个实施例中,值来源可以是约束、手动选择、预选、缺省值和先决条件。在很多情况下,商业元素的状态改变可能由多于一个的值来源导致。在解决冲突时这些值来源的优先权从高到低可以是约束、手动选择、预选、缺省值和先决条件。缺省值可以被约束、预选和手动选择覆盖。
关系处理器602处理商业元素间的各种关系。这些关系可以是先决条件关系、预选关系、约束,等等。先决条件是根据层次结构,商业元素之间自底向上的关系。先决条件表示,如果选择了子商业元素,则其直接的双亲商业元素被自动地选择,并且如果双亲商业元素被淘汰,则其所有的子商业元素被淘汰。
如果系统由于先决条件自动地选择了商业元素,则这个商业元素继承其子结点的值来源。先决条件总是有效的,并且不能被其他的值来源否决。
约束代表在各种商业元素间存在的依赖性关系。存在“要被选择”和“要被淘汰”约束。约束由规则实施。通过使用“如果”或者“否则如果”语句,对于一个商业元素只存在一个约束规则。
状态确定模块603基于由各种不同的值来源设置的值和与这些来源相关联的优先权,确定商业元素的实际状态。在一个实施例中,在解决冲突时从高到低的优先权可以是约束、手动选择、预选、缺省值和先决条件。由较高优先权值来源设置的值推翻由较低优先权值来源设置的值。例如,如果约束规则把商业元素的值设置为“被淘汰”,而手动输入把商业元素的值设置为“被选择”,则该商业元素的实际状态是“被淘汰”。结果,如果约束设置商业元素的状态,则商业元素的状态将是不可改变的,直到去除该约束为止。在一个实施例中,如果存在将商业选项设置成“被淘汰”的约束,则相关商业选项将是不可见的,直到该约束被去除为止。
说明确定模块604确定商业元素的当前状态的发起者。发起者是作为相关联的商业元素的状态的初始原因的商业元素。通过修改发起者的状态,可以从相关联的商业元素去除约束。因此,说明确定模块604不仅为开发者提供了为什么相关联的商业元素具有当前状态的说明,而且提供了将相关联的商业元素的状态解除锁定的解决方案。例如,如果存在两个商业元素X和Y,并且规则是“如果X被选择,则Y被选择”。最初,X和Y都没有被选择,但是可改变。假设X被选择,则结果将是Y被选择,并且Y是不可变的。在这个例子中,用户可能想要淘汰Y,但是由于Y的可改变性是“否”,这个操作是不可能的。但是,用户可以选择将Y的所有发起者列出。在这个案例中发起者是X。用户可以淘汰X以使Y的状态可以是可改变的。对于一个商业元素有可能具有多个发起者。说明确定模块604能够找出导致商业元素的当前状态的所有的发起者和路径。
2.4一致性维护框架(CMF)
如上面所介绍的那样,一致性维护框架(CMF)模块208检测某些商业元素的状态的不一致性,并提供解决这些不一致性的解决方案。图7根据一个实施例示出了一致性维护框架(CMF)结构的例子。如图所示,CMF 208包括预处理模块701和解决方案产生器702。
预处理模块701接收规则集合和商业元素集合。预处理模块701基于这些规则和商业元素创建可以被解决方案产生器702处理的数据元素。在这些商业元素中,某些商业元素的状态被确知。换句话说,已经验证或者确认过这些商业元素的状态是正确的。这些状态被称为被确知的状态,并且可以被用作检测不一致性的基础。
在一个实施例中,预处理模块701为每一个商业元素创建被称为结点的数据元素。结点是具有被定义真值或假值的事实。例如,如果商业元素A的状态是“被选择”,则结点A=1(“1”代表真)被创建,假设“被选择”状态为真。预处理模块701处理ERP系统的所有商业元素,并创建包括所有被创建的结点的集合。这样的集合被称为普遍结点集合(universal node set)。例如,假设存在四个商业元素A、B、C和D。还假设A的状态是“被选择”,B的状态是“被选择”,C的状态是“被淘汰”,并且D的状态是“被淘汰”。这样,普遍结点集合将是{A=1,B=1,C=0,D=0}。
预处理模块701基于规则集合创建不相容集(nogood)集合。不相容集是不能同时存在(或共存)的结点的集合。例如,如果规则被规定为“如果A被选择,则B被选择”。基于该规则,创建不相容集{A=1,B=0},表示A被选择,B被淘汰的情形不应该发生。如果不相容集是普遍结点集合的子集,则它表示普遍结点集合不是一致的。结果,ERP系统的商业元素的状态也是不一致的。
在一个实施例中,预处理模块701被实施为基于假设的真值维护系统(Assumption-based Truth Maintenance System,ATMS)。但是,本领域普通技术人员将理解在实施预处理模块701时也可以使用其他的真值维护系统(Truth Maintenance System,TMS)。
解决方案产生器702从预处理模块701接收这些数据元素,确定商业元素的状态彼此是否一致,并且如果有则找到解决任何不一致性的解决方案。在一个实施例中,解决方案产生器702的目的是找到要求改变最少数量的商业元素的状态的解决方案。因此,解决方案产生器702需要找到其状态与其他商业元素的状态一起违犯了最多数量的规则的商业元素。例如,假设商业元素A的状态是“被选择”并且B的状态是“被淘汰”,A和B的状态违犯了规则“如果A被选择,则B被选择”。于是解决方案产生器702改变商业元素的状态以使所有商业元素的状态正变得不那么不一致。解决方案产生器702重复上面的步骤,直到所有商业元素的状态不违犯规则中的任何一个为止。
在一个实施例中,解决方案产生器702为开发者提供用户友好的说明来帮助开发者更快地解决不一致性。
3.处理流程
图8是根据一个实施例示出了范围确定过程的例子的流程图。注意,图8的过程可以由可以包括软件、硬件,或者两者的组合的处理逻辑执行。在块801,创建并初始化新的范围确定过程。范围确定过程可以由用户通过客户机侧ERP应用14的GUI创建。例如,GUI可以提供允许用户新建范围确定过程的按钮或者菜单选项。
在块802,ERP系统11的ABCS 105从客户机侧ERP应用14接收请求。ABCS 105确定该请求是什么。如果该请求是范围确定请求,则流程去往块803。如果该请求是针对商业元素的当前状态的说明,则流程去往块804。
在块803,ABCS 105处理范围确定请求。范围确定请求可以由断言事实的用户触发。当用户通过客户机侧ERP应用14的GUI选好选择或者淘汰例如商业选项的商业元素时,事实可以被断言。在范围确定请求被处理以后,流程回到块802等待新的请求。
在块804,ABCS 105接收关于商业元素的当前状态的说明请求。说明请求可以由用户触发,用户通过客户机侧ERP应用14的GUI选择商业元素,并点击用于被选择的商业元素的当前状态的说明的按钮或者菜单选项。ABCS105确定商业元素的当前状态的发起者,并把信息发送到客户机侧ERP应用14。在说明请求被处理以后,流程回到块802等待新的请求。
图9a是根据另外的实施例示出了范围确定过程的流程图。例如,图9a的过程可以被作为图8的块801的一部分执行。在块901,ABCS 105为特定用户创建工作空间对象(工作空间模块205的实例),并把控制交给工作空间对象。工作空间对象组织由所述特定用户开始和控制的当前范围确定过程的会话和存储器空间。它还提供了接口,客户机侧ERP应用14能够通过该接口与范围确定过程通信和/或控制范围确定过程。
在块902,工作空间对象创建商业配置逻辑对象(商业配置逻辑模块204的实例),并把控制转移给它。如上面所讨论的,商业配置逻辑模块204实施控制范围确定过程的逻辑。在商业配置逻辑对象从工作空间对象接收控制以后,它创建规则库对象(规则库模块202的实例)并将其初始化。在一个实施例中,规则库模块202提供创建中央规则库对象和会话规则库对象的功能,中央规则库对象组织被跨多个用户会话共享的所有规则,并且会话规则库对象特定于具体用户会话。中央规则库对象只被创建和初始化一次。在中央规则库对象的初始化期间,中央规则库对象创建规则语义模块201的实例,它从持久性206读取规则并将其封装为核内规则对象。在开始时,会话规则库对象不包含任何特定于用户会话的规则。但是,随着范围确定过程的进展,将通过规则语义模块201的实例从持久性206中读取特定于用户会话的规则。
在块903,商业配置逻辑对象从持久性206中读取初始事实。在一个实施例中,初始事实是ERP系统11的商业元素中的一些的缺省值。在接收初始事实以后,商业配置逻辑对象调用演绎框架模块203的实例来确定其他商业元素的状态。
在块904,演绎框架模块203的实例基于初始事实确定其他商业元素的状态。这些状态被发送回客户机侧ERP应用14。如果商业元素的状态是“被选择”,则客户机侧ERP应用14将按被选择的显示商业元素。如果商业元素的状态是“被淘汰”,则客户机侧ERP应用14按被淘汰的显示它。如果商业元素的可改变性是“否”(表示商业元素的状态此刻不能被改变),则客户机侧ERP应用14或者将其掩藏,或者以用户不能选择或淘汰它的方式将其显示。
图9b是根据另一个实施例示出了范围确定过程的流程图。例如,图9b的过程可以被作为图8的块803的一部分执行。在块911,ABCS 105接收范围确定请求。在一个实施例中,ABCS 105通过与客户机侧ERP应用14绑定的工作空间对象接收范围确定请求。用户可以通过由客户机侧ERP应用14提供的GUI选择或者淘汰特定商业元素,并触发范围确定请求。范围确定请求可以包括被确知的事实。作为替换,被确知的事实可以被与范围确定请求分开地发送到ABCS 105。
在块912,在初始化期间创建的商业配置逻辑对象从工作空间对象接收被确知的事实,并调用演绎框架模块203的实例。
在块913,演绎框架模块203的实例确定被确知的事实的后果。后果可以是例如商业元素的状态的改变。然后,这些后果被发送回客户机侧ERP应用14。
图9c是根据另一个实施例示出了范围确定过程的流程图。例如,图9b的过程可以被作为图8的块804的一部分执行。在块921,ABCS 105接收关于商业元素的说明请求。在块922,在初始化期间创建的商业配置逻辑对象接收说明请求和商业元素的标识。商业配置逻辑对象调用演绎框架模块203的实例。在块923,演绎框架模块203的实例确定商业元素的当前状态的发起者,组成说明,并把说明发送回客户机侧ERP应用14。
图10是根据一个实施例示出了解决方案产生器的过程的流程图。例如,该过程可以由图7中所示的处理逻辑执行。如上面所讨论的,解决方案产生器702的目的是找到要求改变最少数量的商业元素的状态的解决方案。因此,解决方案产生器702需要找到其状态与其他商业元素的状态一起违犯了最多数量的规则的商业元素。于是解决方案产生器702改变商业元素的状态以使所有商业元素的状态正变得不那么不一致。解决方案产生器702重复上面的步骤,直到所有商业元素的状态不违犯规则中的任何一个为止。
假设预处理模块701已经基于商业元素集合的状态创建了普遍结点集合,并基于所有的规则创建了不相容集集合。例如,假设ERP系统具有三个商业元素A、B和C,并且ERP系统具有三个限制这三个元素的规则:“如果A被选择,则B被选择”,“如果B被选择,则C被选择”,和“如果A被淘汰,则B被淘汰”。还假设A、B和C的缺省状态分别是“被选择”、“被淘汰”和“被淘汰”。因此,普遍结点集合是{A=1,B=0,C=0}。不相容集集合是{A=1,B=0}、{B=1,C=0}、{A=0,B=1}和{A=1,C=0}。随着在下面进一步示出图10的过程,继续这个例子。
在块1001,解决方案产生器702接收通用结点结合和不相容集集合。
在块1002,解决方案产生器702解决结点集合内所有的矛盾。如果结点不被允许,则可能出现矛盾。例如,如果“商业元素A必须被选择”是被确知的事实,则结点A=0必须被改变为结点A=1。
在块1003,解决方案产生器702创建集合NG,包括所有的是普遍结点集合的子集的不相容集。继续上面的例子,因为不相容集{A=1,B=0}、{A=1,C=0}是普遍结点集合{A=1,B=0,C=0}的子集,所以NG是{{A=1,B=0},{A=1,C=0}}。
在块1004,解决方案产生器702确定NG集合是否为空,表示没有不相容集是普遍结点集合的子集。如果NG集合为空,则在块1005,普遍结点集合中的每一个结点的K值和H值被统计。K值是结点在NG集合中出现的次数。H值是结点的相反结点在整个不相容集集合中出现的次数。关于同一商业元素,结点和其相反结点具有相反的值。例如,结点A=1的相反结点是A=0。在上面的例子中,A、B和C的K值得分别是2、1和1。A、B和C的H值得分别是0、2和0。
但是,如果NG集合为空,则在块1006,返回当前普遍结点集合作为解决方案。
在块1007,解决方案产生器702根据K值把结点按降序排序。如果两个结点其K值相等,则解决方案产生器702根据其N值把它们按升序排序。在上面的例子中,排序的结果是A、C、B。
在块1008,解决方案产生器702把普遍结点集合中的顶结点用其相反结点代替。在块1008以后,过程回到块1002。在上面的例子中,A=0代替了普遍结点集合{A=1,B=0,C=0}中的A=1。因此,普遍结点集合变成{A=0,B=0,C=0}。在第二轮过程期间,NG集合为空。于是,返回普遍结点集合{A=0,B=0,C=0}作为解决方案。
图11是示出可用于本发明的一个实施例的处理系统的例子的框图。该硬件结构可以应用于图1的客户机12和/或ERP系统11。和本发明没有密切关系的某些标准和公知的部件未被示出。处理系统包括一个或更多个耦合到总线系统1103的处理器1101。
图3中的总线系统1103是一种抽象,它代表任何一个或更多个由适当的桥接器、适配器和/或控制器连接的单独物理总线和/或点到点连接。因此,总线系统1103可以包括例如系统总线、外围部件互连(Peripheral ComponentInterconnect,PCI)总线、超传输(HyperTransport)或工业标准结构(industrystandard architecture,ISA)总线、小型计算机系统接口(small computer systeminterface,SCSI)总线、通用串行总线(USB),或者电气和电子工程师学会(Institute of Electrical and Electronics Engineers,IEEE)标准1394总线(有时候被称为“firewire,火线”)。
处理器1101是处理系统的中央处理单元(CPU),因此控制处理系统的总体操作。在某些实施例中,处理器1101通过执行存储在存储器1102中的软件实现这个任务。处理器1101可以是或者可以包括一个或更多个可编程通用或专用微处理器、数字信号处理器(DSP)、可编程控制器、专用集成电路(ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)、可编程逻辑器件(programmable logic device,PLD)等等,或者这些器件的组合。
处理系统还包括耦合到总线系统1103的存储器1102。存储器1102代表任何形式的随机存取存储器(RAM)、只读存储器(ROM)、闪存,或者它们的组合。存储器1102至少存储处理系统的操作系统1104。
海量存储设备1106、存储适配器1107和网络适配器1108也通过总线系统1103连接到处理器1101。海量存储设备1106可以是或者可以包括任何用于以非易失方式存储大量数据的常规介质,例如一个或更多个磁盘。存储适配器1107允许处理系统访问存储子系统,并且可以是例如光纤通道适配器或SCSI适配器。网络适配器1108给处理系统提供了通过网络与远程设备通信的能力,并且可以是例如以太网适配器或者光纤通道适配器。
存储器1102和海量存储设备1106存储软件指令和/或数据,所述指令和/或数据可以包括用来实施这里介绍的技术的指令和/或数据。
因此,已经描述了用于自动配置企业资源计划(ERP)系统的一种方法和系统。
上面描述的内容的一部分可以利用例如专用逻辑电路的逻辑电路实施或者利用执行程序代码指令的微处理器或其他形式的处理核心实施。因此,由上面的讨论教导的过程可以利用例如机器可执行指令的程序代码执行,机器可执行指令导致执行这些指令的机器执行某些功能。在这个上下文中,“机器”可以是把中间形式(或“抽象”)指令转换为特定于处理器的指令(例如像“虚拟机”(例如Java虚拟机)、解释器、公共语言运行时(Common LanguageRuntime)、高级语言虚拟机等的抽象执行环境)的机器,和/或置于半导体芯片上、设计成执行指令的电子电路(例如用晶体管实施的“逻辑电路”),例如通用处理器和/或专用处理器。由上面的讨论教导的过程也可以由被设计成执行这些过程(或其一部分)而不执行程序代码的电子电路(代替机器或与机器联合)执行。
相信由上面的讨论教导的过程也可以被在源级程序代码中用各种面向对象或非面向对象的计算机编程语言(例如Java、C#、VB、Python、C、C++、J#、APL、Cobol、ABAP、Fortran、Pascal、Perl等)描述,所述计算机编程语言被各种软件开发框架(例如微软公司的.NET、Mono、Java、甲骨文公司的Fusion等)支持。源级程序代码可以被转换为抽象执行环境(例如Java虚拟机、公共语言运行时、高级语言虚拟机、解释器等)可理解的中间形式的程序代码(例如Java字节代码、微软中间语言(Intermediate Language)等),或者针对特定处理器的更为特定的程序代码形式。
制造物可被用来存储程序代码。存储程序代码的制造物可以被具体实施为一个或更多个存储器(例如一个或更多个闪存、随机存取存储器(静态、动态或者其他的))、光盘、CD-ROM、DVD ROM、EPROM、EEPROM、磁性或光学卡,或者其他类型的适于存储电子指令的机器可读介质,但是不限于此。程序代码也可以当作具体实施在传输介质中(例如通过通信链路(例如网络连接))的数据信号被从远程的计算机(例如服务器)下载到做出请求的计算机(例如客户机)。
如这里所使用的,“逻辑”可以包括例如软件、硬件和/或硬件和软件的组合。
尽管已经参考具体的示范性实施例描述了本发明,但是将会发现本发明不限于所描述的实施例,而是可以利用所附权利要求的精神和范围内的修改和更改来实践。因此,要从说明性而非限制性的意义上看待说明书和附图。
Claims (24)
1.一种方法,包含:
在企业资源计划(ERP)系统处维护多个商业元素;和
基于所述多个商业元素间的关系集合自动地确定该多个商业元素中的每一个的状态,考虑到规则集合在运行时通过演绎框架确定所述关系集合。
2.如权利要求1所述的方法,所述多个商业元素中的每一个均包含商业区域、商业套装、商业主题或者商业选项。
3.如权利要求1所述的方法,其中,所述多个商业元素间的关系集合中的每一个均包含依赖性关系。
4.如权利要求3所述的方法,其中,所述依赖性关系由所述ERP系统中的规则代表。
5.如权利要求1所述的方法,其中,所述多个商业元素中每一个的状态包含被选择状态或者被淘汰状态,被选择状态代表对应的商业元素被选择,并且与对应的商业元素相关联的功能需要被实施,被淘汰状态代表对应的商业元素未被选择,并且与对应的商业元素相关联的功能中没有一个需要被实施。
6.如权利要求5所述的方法,其中,所述多个商业元素中每一个的状态还包含可改变状态或者不可改变状态,可改变状态代表对应商业元素的状态可在被选择状态和被淘汰状态之间改变,不可改变状态代表对应商业元素的状态不可在被选择状态和被淘汰状态之间改变。
7.如权利要求1所述的方法,还包含基于所述多个商业元素中一个商业元素的状态自动地确定该多个商业元素中的每一个的状态。
8.如权利要求7所述的方法,其中,所述商业元素的状态是该商业元素的初始状态。
9.如权利要求7所述的方法,其中,所述商业元素的状态由用户或者处理过程设置。
10.一种机器可读介质,具有当被执行时导致机器执行一种方法的指令,所述方法包含:
在企业资源计划(ERP)系统处维护多个商业元素;和
基于所述多个商业元素间的关系集合自动地确定该多个商业元素中的每一个的状态,考虑到规则集合在运行时通过演绎框架确定所述关系集合。
11.如权利要求10所述的机器可读介质,所述多个商业元素中的每一个均包含商业区域、商业套装、商业主题或者商业选项。
12.如权利要求10所述的机器可读介质,其中,所述多个商业元素间的关系集合中的每一个均包含依赖性关系。
13.如权利要求12所述的机器可读介质,其中,所述依赖性关系由所述ERP系统中的规则代表。
14.如权利要求10所述的机器可读介质,其中,所述多个商业元素中每一个的状态包含被选择状态或者被淘汰状态,被选择状态代表对应的商业元素被选择,并且与对应的商业元素相关联的功能需要被实施,被淘汰状态代表对应的商业元素未被选择,并且与对应的商业元素相关联的功能中没有一个需要被实施。
15.如权利要求14所述的机器可读介质,其中,所述多个商业元素中每一个的状态还包含可改变状态或者不可改变状态,可改变状态代表对应商业元素的状态可在被选择状态和被淘汰状态之间改变,不可改变状态代表对应商业元素的状态不可在被选择状态和被淘汰状态之间改变。
16.如权利要求10所述的机器可读介质,还包含基于所述多个商业元素中一个商业元素的状态自动地确定该多个商业元素中的每一个的状态。
17.如权利要求16所述的机器可读介质,其中,所述商业元素的状态是商业元素的初始状态。
18.如权利要求16所述的机器可读介质,其中,所述商业元素的状态由用户或者处理过程设置。
19.一种企业资源计划(ERP)系统,包含:
用于维护多个规则的规则库,所述多个规则中的每一个均代表在该ERP系统处维护的多个商业元素中两个商业元素之间的关系,考虑到对应规则在运行时通过演绎框架确定所述关系;和
演绎框架,用于基于所述多个规则自动地确定所述多个商业元素中的每一个的状态。
20.如权利要求19所述的ERP系统,其中,所述演绎框架还基于所述多个商业元素中一个商业元素的状态确定该多个商业元素中的每一个的状态。
21.如权利要求20所述的ERP系统,其中,所述多个商业元素中的该商业元素的状态是所述商业元素的初始状态。
22.如权利要求20所述的ERP系统,其中,所述多个商业元素中该商业元素的状态由用户或者过程设置。
23.如权利要求19所述的ERP系统,其中,所述多个商业元素中的每一个的状态包含被选择状态或者被淘汰状态,被选择状态代表对应的商业元素被选择,并且与对应的商业元素相关联的功能需要被实施,被淘汰状态代表对应的商业元素未被选择,并且与对应的商业元素相关联的功能中没有一个需要被实施。
24.如权利要求23所述的ERP系统,其中,所述多个商业元素中每一个的状态还包含可改变状态或者不可改变状态,可改变状态代表对应商业元素的状态可在被选择状态和被淘汰状态之间改变,不可改变状态代表对应商业元素的状态不可在被选择状态和被淘汰状态之间改变。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/637,356 | 2006-12-11 | ||
US11/637,356 US20080140474A1 (en) | 2006-12-11 | 2006-12-11 | Method and system for automatically configuring an information system |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101201918A true CN101201918A (zh) | 2008-06-18 |
Family
ID=39499372
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007101996293A Pending CN101201918A (zh) | 2006-12-11 | 2007-12-11 | 用于自动配置信息系统的方法和系统 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20080140474A1 (zh) |
CN (1) | CN101201918A (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080162266A1 (en) * | 2006-12-29 | 2008-07-03 | Sap Ag | Business object acting as a logically central source for agreements on objectives |
US20100131942A1 (en) * | 2008-11-21 | 2010-05-27 | Microsoft Corporation | Suite-based integration and deployment of business products |
US9646278B2 (en) * | 2011-07-14 | 2017-05-09 | International Business Machines Corporation | Decomposing a process model in an enterprise intelligence (‘EI’) framework |
US9639815B2 (en) | 2011-07-14 | 2017-05-02 | International Business Machines Corporation | Managing processes in an enterprise intelligence (‘EI’) assembly of an EI framework |
US8566345B2 (en) * | 2011-07-14 | 2013-10-22 | International Business Machines Corporation | Enterprise intelligence (‘EI’) reporting in an EI framework |
US9659266B2 (en) | 2011-07-14 | 2017-05-23 | International Business Machines Corporation | Enterprise intelligence (‘EI’) management in an EI framework |
CN103473622B (zh) * | 2012-06-07 | 2021-11-02 | Sap欧洲公司 | 基于业务方案的范围界定 |
US9600849B2 (en) | 2013-03-12 | 2017-03-21 | Sap Portals Israel Ltd. | Providing multiple roles in computer-implemented workspaces |
CN114063501B (zh) * | 2021-11-10 | 2024-03-08 | 珠海格力电器股份有限公司 | 一种组态元件自动连接方法、装置及组态设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6775658B1 (en) * | 1999-12-21 | 2004-08-10 | Mci, Inc. | Notification by business rule trigger control |
US6745382B1 (en) * | 2000-04-13 | 2004-06-01 | Worldcom, Inc. | CORBA wrappers for rules automation technology |
AU2003901152A0 (en) * | 2003-03-12 | 2003-03-27 | Intotality Pty Ltd | Network service management system and method |
US20060253397A1 (en) * | 2005-04-12 | 2006-11-09 | Gomez Omar M | Business model and software |
US20080104092A1 (en) * | 2006-10-27 | 2008-05-01 | Electronic Data Systems Corporation | Integrating Business Rules into Automated Business Processes |
-
2006
- 2006-12-11 US US11/637,356 patent/US20080140474A1/en not_active Abandoned
-
2007
- 2007-12-11 CN CNA2007101996293A patent/CN101201918A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20080140474A1 (en) | 2008-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101201919A (zh) | 用于自动维护信息系统的一致性的方法和系统 | |
Nelson | Foundations and methods of stochastic simulation | |
CN101201918A (zh) | 用于自动配置信息系统的方法和系统 | |
Silva et al. | Decomposition tool for event‐B | |
US7065745B2 (en) | System and method for evaluating and executing hierarchies of rules | |
US8527443B2 (en) | Techniques for processing ontologies | |
US7512929B2 (en) | Apparatus and method for managing design of a software system using dependency structure | |
Ter Beek et al. | A framework for quantitative modeling and analysis of highly (re) configurable systems | |
EP2189929A1 (en) | Popup window for error correction | |
CN103380423A (zh) | 用于私人云计算的系统和方法 | |
WO2007120390A1 (en) | Declarative model for concurrency-control across lightweight threads | |
CN101197025A (zh) | 用于管理企业资源计划项目的方法和系统 | |
CN109684057A (zh) | 任务处理方法、装置和存储介质 | |
US7448028B2 (en) | System and method for selective local object retrieval | |
US8862613B2 (en) | Extensibility of business process and application logic | |
JP2002334194A (ja) | ワークフロー管理システムにおいて選択的コマンド制御を提供する方法、システム、プログラム | |
CN1936836A (zh) | 模块化计算机系统以及相关方法 | |
Natschläger et al. | Deontic BPMN: a powerful extension of BPMN with a trusted model transformation | |
US20100161676A1 (en) | Lifecycle management and consistency checking of object models using application platform tools | |
Cheong et al. | Frame-based method for customizing generic software architectures | |
Ghaibi et al. | A tool support for the adaptation of user interfaces based on a business rules management system | |
Geist et al. | Towards functional safety and security for adaptive and flexible business processes | |
O’Reilly et al. | Compositional modelling and reasoning in an institution for processes and data | |
Bushehrian et al. | Cost‐aware execution of transactional web services using labelled transition systems | |
Al-Fedaghi et al. | Petri nets and machines of things that flow |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20080618 |