專(zhuān)利名稱(chēng):用于自動(dòng)配置信息系統(tǒng)的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明的至少一個(gè)實(shí)施例涉及信息系統(tǒng),更具體地,涉及自動(dòng)配置信息 系統(tǒng)。
背景技術(shù):
隨著企業(yè)資源計(jì)劃(ERP)方法學(xué)已經(jīng)變得更受歡迎,已經(jīng)出現(xiàn)了幫助 商業(yè)經(jīng)理們?cè)谥T如庫(kù)存控制(inventory control )、訂單跟蹤(order tracking )、 客戶(hù)服務(wù)、財(cái)務(wù)和人力資源等的商業(yè)活動(dòng)中實(shí)施ERP的軟件應(yīng)用。
ERP系統(tǒng)的商業(yè)配置要求對(duì)ERP系統(tǒng)及其能力的全面了解。具體來(lái)說(shuō), 為了確定需要實(shí)施什么樣的功能以及什么樣的系統(tǒng)行為必須被配置,要求 ERP系統(tǒng)的不同功能及其配置間的依賴(lài)性。例如,如果客戶(hù)選擇實(shí)施"銷(xiāo)售訂 單管理,,功能,則如果"銷(xiāo)售訂單管理,,功能依賴(lài)于"基本銷(xiāo)售訂單,,功能和"定 價(jià),,功能,客戶(hù)必須也實(shí)施"基本銷(xiāo)售訂單,,和"定價(jià),,功能。未能實(shí)施這些功能 意味著客戶(hù)不能運(yùn)行"銷(xiāo)售訂單管理"功能。
在已知的現(xiàn)有技術(shù)ERP系統(tǒng)中,范圍確定過(guò)程(即,根據(jù)客戶(hù)的商業(yè)要 求確定要求ERP系統(tǒng)什么樣的商業(yè)功能的任務(wù))由有經(jīng)驗(yàn)的、非常有資格的 咨詢(xún)?nèi)藛T通過(guò)分析商業(yè)要求、確定商業(yè)解決方案并通過(guò)配置ERP系統(tǒng)實(shí)施所 述解決方案來(lái)手動(dòng)地處理。商業(yè)系統(tǒng)越復(fù)雜,則以純手動(dòng)方式實(shí)施商業(yè)解決 方案越困難。因此,人們期望使所述過(guò)程自動(dòng)化。
發(fā)明內(nèi)容
本發(fā)明包括一種用于自動(dòng)配置企業(yè)資源計(jì)劃(ERP)系統(tǒng)的方法。所述 方法包括在企業(yè)資源計(jì)劃(ERP)系統(tǒng)處維護(hù)多個(gè)商業(yè)元素的步驟。所述方 法還包括基于多個(gè)商業(yè)元素間的關(guān)系集合自動(dòng)地確定多個(gè)商業(yè)元素中的每一 個(gè)的狀態(tài)的步驟。
從下面的附圖以及詳細(xì)描述中,本發(fā)明的其他方面將會(huì)清晰。 '
在附圖的圖中,通過(guò)舉例而非限制的方式示出了本發(fā)明的一個(gè)或更多個(gè)
實(shí)施例,在附圖中,相同的參考指示類(lèi)似的元素,并且在附圖中 圖1示出了在其中可以實(shí)施本發(fā)明的實(shí)施例的網(wǎng)絡(luò)環(huán)境; 圖2示出了自動(dòng)商業(yè)配置子系統(tǒng)(Automatic Business Configuration
Subsystem, ABCS )的結(jié)構(gòu)的例子;
圖3a根據(jù)一個(gè)實(shí)施例示出了規(guī)則語(yǔ)法集合的例子;
圖3b才艮據(jù)一個(gè)實(shí)施例示出了圖形用戶(hù)接口 ( Graphic User Interface, GUI)
的例子,用戶(hù)可以通過(guò)該圖形用戶(hù)接口把規(guī)則輸入到ERP系統(tǒng)中; 圖4是根據(jù)一個(gè)實(shí)施例示出了存儲(chǔ)器中規(guī)則庫(kù)模塊的實(shí)例的框圖; 圖5根據(jù)一個(gè)實(shí)施例示出了減小用于支持多個(gè)用戶(hù)/開(kāi)發(fā)者的規(guī)則庫(kù)模塊
的多個(gè)實(shí)例所消耗的存儲(chǔ)器大小的機(jī)制;
圖6根據(jù)一個(gè)實(shí)施例示出了演繹框架(deduction framework )的結(jié)構(gòu)的例子; 圖7才艮據(jù)一個(gè)實(shí)施例示出了一致性維護(hù)框架(Consistency Maintenance
Framework, DMF )的結(jié)構(gòu)的例子;
圖8是才艮據(jù)一個(gè)實(shí)施例示出了范圍確定過(guò)程的例子的流程圖9a是根據(jù)另外的實(shí)施例示出了范圍確定過(guò)程的流程圖9b是根據(jù)另 一 個(gè)實(shí)施例示出了范圍確定過(guò)程的流程圖9c是根據(jù)另一個(gè)實(shí)施例示出了范圍確定過(guò)程的流程圖IO是根據(jù)一個(gè)實(shí)施例示出了解決方案產(chǎn)生器的過(guò)程的流程圖;和
圖ll是示出了處理系統(tǒng)的例子的框圖。
具體實(shí)施例方式
描述了一種用于自動(dòng)配置企業(yè)資源計(jì)劃(ERP)系統(tǒng)的方法和系統(tǒng)。在 本說(shuō)明書(shū)中對(duì)"實(shí)施例"、"一個(gè)實(shí)施例"等等的引用表示所描述的具體特征、 結(jié)構(gòu)或特性被包括在本發(fā)明的至少一個(gè)實(shí)施例中。在本說(shuō)明書(shū)中出現(xiàn)這些短
語(yǔ)不一定都指同一實(shí)施例。 1.企業(yè)資源計(jì)劃系統(tǒng)
圖1示出了在其中可以實(shí)施本發(fā)明的實(shí)施例的網(wǎng)絡(luò)環(huán)境。如圖所示,企 業(yè)資源計(jì)劃(ERP)系統(tǒng)11通過(guò)互連13可通信地耦合到多個(gè)客戶(hù)機(jī)12?;?br>
連13本質(zhì)上可以是任何類(lèi)型的計(jì)算機(jī)網(wǎng)絡(luò),例如局域網(wǎng)(LAN)、廣域網(wǎng) (WAN )、城域網(wǎng)(MAN )或國(guó)際互聯(lián)網(wǎng),并且可以實(shí)施國(guó)際互聯(lián)網(wǎng)協(xié)議(IP )。 每一個(gè)客戶(hù)機(jī)12均運(yùn)行客戶(hù)機(jī)側(cè)ERP應(yīng)用14。這樣的應(yīng)用可以是例如基于 網(wǎng)絡(luò)的應(yīng)用,所述基于網(wǎng)絡(luò)的應(yīng)用允許用戶(hù)登錄到ERP系統(tǒng)ll,并對(duì)商業(yè)配 置項(xiàng)目進(jìn)行工作。用戶(hù)可以通過(guò)經(jīng)由客戶(hù)機(jī)側(cè)ERP應(yīng)用14提供的接口提交 命令并接收結(jié)果或者指令來(lái)與ERP系統(tǒng)11通信。在一個(gè)實(shí)施例中,這樣的 接口是圖形用戶(hù)接口 (GUI)。
ERP系統(tǒng)11提供一組商業(yè)元素101。每一個(gè)商業(yè)元素101均可以是商業(yè) 套裝(package) 102、商業(yè)主題103或商業(yè)選項(xiàng)104。商業(yè)套裝102可以包括 一組商業(yè)主題103。商業(yè)主題103可以包括一組商業(yè)選項(xiàng)104。例如,ERP系 統(tǒng)可以提供"銷(xiāo)售訂單管理,,商業(yè)套裝。"銷(xiāo)售訂單管理,,商業(yè)套裝可以包括諸 如"銷(xiāo)售訂單報(bào)價(jià)"、"定價(jià),,和"產(chǎn)品配置,,等的商業(yè)主題。商業(yè)主題"定價(jià),,可以 包括諸如"標(biāo)準(zhǔn)定價(jià),,、"季節(jié)性貨物"等的商業(yè)選項(xiàng)。
作為商業(yè)要求的結(jié)果,商業(yè)元素的功能可能依賴(lài)于另一個(gè)商業(yè)元素的功 能。如果是那樣的話,在這兩個(gè)商業(yè)元素之間存在依賴(lài)性關(guān)系。在已知的現(xiàn) 有技術(shù)ERP系統(tǒng)中,用戶(hù)需要基于商業(yè)要求和這些商業(yè)元素間的依賴(lài)性關(guān)系 手動(dòng)地確定需要選擇和實(shí)施什么樣的商業(yè)元素。本發(fā)明包括可以基于商業(yè)要 求和這些商業(yè)元素間的依賴(lài)性關(guān)系自動(dòng)地確定需要選擇和實(shí)施什么樣的商業(yè) 元素的ERP系統(tǒng)。
在一個(gè)實(shí)施例中,ERP系統(tǒng)11可以包括自動(dòng)商業(yè)配置子系統(tǒng)(ABCS) 105。 ABCS 105將依賴(lài)關(guān)系建模為規(guī)則。規(guī)則規(guī)定了特定的商業(yè)元素是要求 還是排斥其他的商業(yè)元素。這里,商業(yè)元素的狀態(tài)包括兩個(gè)方面。第一個(gè)方 面是商業(yè)元素的選擇狀態(tài)。選擇狀態(tài)的值可以是"被選擇,,或"被淘汰"。第二 個(gè)方面是商業(yè)元素的可改變性狀態(tài)??筛淖冃誀顟B(tài)的值可以是"可改變的"或 "不可改變的"。如果商業(yè)元素的選擇狀態(tài)是"被選4奪",則在配置過(guò)程期間需 要實(shí)施和該商業(yè)元素相關(guān)的功能。如果商業(yè)元素的選擇狀態(tài)是"被淘汰",則 不需要和該商業(yè)元素相關(guān)的功能。如果商業(yè)元素的可改變性狀態(tài)是"可改變
的",則用戶(hù)或過(guò)程可以改變?cè)撋虡I(yè)元素的選擇狀態(tài)。否則,不能改變?cè)撋虡I(yè) 元素的選擇狀態(tài)。
最初, 一些特定的商業(yè)元素被缺省地或者被用戶(hù)的手動(dòng)選擇(例如通過(guò) 接口)選擇。
一些商業(yè)元素的這些初始狀態(tài)被稱(chēng)為初始事實(shí)?;诔跏际聦?shí)
和規(guī)則,ABCS105自動(dòng)地確定需要選擇和實(shí)施什么樣的其他商業(yè)元素,使得
作為結(jié)果的系統(tǒng)針對(duì)商業(yè)要求在功能上是完整的。確定被發(fā)送回客戶(hù)機(jī)側(cè)
ERP應(yīng)用14,它以根據(jù)GUI中的確定的模式顯示每一個(gè)對(duì)應(yīng)的商業(yè)元素。例 如,如果商業(yè)元素的狀態(tài)被確定是"被選擇",則該商業(yè)元素被客戶(hù)機(jī)側(cè)ERP 應(yīng)用14按照告知用戶(hù)該商業(yè)元素當(dāng)前被選擇的模式顯示。用戶(hù)可以通過(guò)選擇 或者淘汰商業(yè)元素來(lái)操縱客戶(hù)機(jī)側(cè)ERP應(yīng)用14的GUI,因此觸發(fā)ABCS 105 來(lái)確定用戶(hù)選擇的商業(yè)元素的狀態(tài)改變的后果。例如,后果可能是另一個(gè)商 業(yè)元素的狀態(tài)的改變。后果被發(fā)送回客戶(hù)機(jī)側(cè)ERP應(yīng)用14,用于更新GUI。 注意,如圖1中所示的一些或全部部件可以被實(shí)施在軟件、硬件或這兩者的 組合中。
2.自動(dòng)商業(yè)配置子系統(tǒng)
圖2根據(jù)一個(gè)實(shí)施例示出了自動(dòng)商業(yè)配置子系統(tǒng)(ABCS)的結(jié)構(gòu)的例 子。如圖所示,ABCS 105包括規(guī)則語(yǔ)義模塊201。規(guī)則語(yǔ)義模塊201對(duì)規(guī)則 提供語(yǔ)法和語(yǔ)義檢查。在一個(gè)實(shí)施例中,用戶(hù)可以通過(guò)客戶(hù)機(jī)側(cè)ERP應(yīng)用14 把規(guī)則輸入到ERP系統(tǒng)11中。規(guī)則語(yǔ)義模塊201解析規(guī)則,把規(guī)則變換為 統(tǒng)一的格式,并把規(guī)則存儲(chǔ)在持久性206中。當(dāng)被規(guī)則庫(kù)模塊202調(diào)用時(shí)(下 面介紹),規(guī)則語(yǔ)義模塊201從持久性206檢索這些規(guī)則并把它們變換為核內(nèi) 規(guī)則對(duì)象(in-core rule object)。這里,術(shù)語(yǔ)"核內(nèi)"表示在處理系統(tǒng)的主存儲(chǔ) 器中。規(guī)則語(yǔ)義模塊201還針對(duì)存儲(chǔ)在持久性206中的規(guī)則做冗余和沖突檢 查。冗余檢查防止持久性中的冗余規(guī)則。沖突檢查檢測(cè)抵觸的規(guī)則和遞歸的 規(guī)則。
ABCS 105還包括規(guī)則庫(kù)模塊202。在規(guī)則被規(guī)則語(yǔ)義模塊201封裝為核 內(nèi)對(duì)象以后,規(guī)則庫(kù)模塊202組織這些對(duì)象以使它們可以被其他部件很容易 地訪問(wèn)或者搜索。
演繹框架203是處理范圍確定過(guò)程中所有不同關(guān)系的模塊。這些關(guān)系可 以包括約束、預(yù)選、先決條件等,但是不限于此。演繹框架203也可以處理 改變確定和可改變性確定。改變確定指確定特定商業(yè)元素的狀態(tài)是否應(yīng)該#皮
改變,例如從"被選擇"到"被淘汰"。可改變性確定指確定特定商業(yè)元素的狀 態(tài)當(dāng)前是否可以被改變,例如從"被選擇"到"被淘汰"。
演繹框架203響應(yīng)于接收到被斷言的事實(shí),觸發(fā)改變確定和/或可改變性
確定功能。被斷言的事實(shí)指被用戶(hù)通過(guò)客戶(hù)機(jī)側(cè)ERP應(yīng)用14對(duì)商業(yè)元素的 選擇或淘汰導(dǎo)致的商業(yè)元素的狀態(tài)改變。注意,事實(shí)也可以被過(guò)程斷言。演 繹框架203把被斷言的事實(shí)與可用規(guī)則的條件匹配以便確定后果。后果可以 是例如另一個(gè)商業(yè)元素的狀態(tài)必須因所述被斷言的事實(shí)而被改變。例如,假 設(shè)規(guī)則被規(guī)定為"如果X被選擇并且Y被選擇,則M被選擇"。還假設(shè)X的 當(dāng)'前狀態(tài)是"被選擇",并且因?yàn)槔缬脩?hù)手動(dòng)地從客戶(hù)機(jī)側(cè)ERP應(yīng)用14的 GUI選擇了 Y, Y的狀態(tài)剛被改變到"被選擇"。因此,由于上面規(guī)則的條件 變?yōu)檎?,M的當(dāng)前狀態(tài)應(yīng)該是"被選擇"。
因?yàn)樯厦娴耐评硎菑囊?guī)則的條件到規(guī)則的后果,所以它被稱(chēng)為前向鏈接 (forward chaining )。基于被確定的后果,演繹框架203更新每一個(gè)被影響的 商業(yè)元素的狀態(tài)。
演繹框架203還提供了說(shuō)明確定的功能。說(shuō)明確定確定并提供特定商業(yè) 元素的當(dāng)前狀態(tài)的原因,當(dāng)前狀態(tài)例如是"被選擇"或"被淘汰"。例如,如果 規(guī)則被定義為"如果A被選擇,則B被淘汰,,,則如果商業(yè)元素B的當(dāng)前狀態(tài) 是"被淘汰",則可能的原因之一可能是商業(yè)元素A的當(dāng)前狀態(tài)是"被選擇"。 如例子中所示,推理是從規(guī)則的后果到條件,因此,它被稱(chēng)為后向鏈接 (backward chaining )。
如圖所示,ABCS 105還包括商業(yè)配置邏輯模塊204。商業(yè)配置邏輯模塊 204控制范圍確定過(guò)程的進(jìn)展。
工作空間模塊205提供維護(hù)核內(nèi)數(shù)據(jù)結(jié)構(gòu)的功能,所述核內(nèi)數(shù)據(jù)結(jié)構(gòu)在 范圍確定過(guò)程期間存儲(chǔ)至少一些ERP系統(tǒng)11的商業(yè)元素的狀態(tài)。工作空間 模塊205還提供會(huì)話和存儲(chǔ)器管理。會(huì)話管理使得ERP系統(tǒng)11能夠處理由 多個(gè)用戶(hù)開(kāi)始的多個(gè)范圍確定過(guò)程。存儲(chǔ)器管理提供了存儲(chǔ)器塊的分配/取消 分配的功能,把數(shù)據(jù)從工作空間實(shí)例存儲(chǔ)在持久性206中,并把數(shù)據(jù)從持久 性206讀到工作空間實(shí)例中。例如,在商業(yè)元素的狀態(tài)-故演繹框架203改變 以后,工作空間模塊205可以更新存儲(chǔ)在持久性206中的商業(yè)元素的狀態(tài)。
ABCS 105可以包括重建模塊207。在用戶(hù)的范圍確定過(guò)程的某個(gè)點(diǎn),重 建模塊207提供使得用戶(hù)能夠?qū)?dāng)前范圍確定過(guò)程作為圖像數(shù)據(jù)保存在持久
性206或不同的數(shù)據(jù)庫(kù)中的功能。以后,應(yīng)用戶(hù)的請(qǐng)求,重建模塊207可以 從保存在持久性206中的圖像數(shù)據(jù)把范圍確定過(guò)程重建到存儲(chǔ)器中,以使用 戶(hù)可以從范圍確定過(guò)程被保存的點(diǎn)繼續(xù)該范圍確定過(guò)程。
一致性維護(hù)框架(CMF )模塊208檢測(cè)某些商業(yè)元素的狀態(tài)的不一致性, 并提供解決這些不一致性的解決方案。不一致性可能由不同的原因?qū)е?。?如,在商業(yè)元素的狀態(tài)被定下來(lái)以后,規(guī)則改變了。改變的后果是該商業(yè)元 素的狀態(tài)必須被改變。因此,規(guī)則改變導(dǎo)致了沖突(即不一致性)。另一個(gè)例 子,當(dāng)兩個(gè)開(kāi)發(fā)者正在對(duì)同一范圍確定項(xiàng)目的不同方面進(jìn)行工作時(shí),他們的 工作空間需要被合并為最終的工作空間。假設(shè)他們的工作都基于同 一規(guī)則集 合。但是,在合并期間,同一商業(yè)元素可能具有兩個(gè)不同的狀態(tài)。因此,合 并導(dǎo)致了沖突。
在一個(gè)實(shí)施例中,CMF模塊208接收MJ'j集合和一組商業(yè)元素的狀態(tài)。 CMF模塊208自動(dòng)地檢測(cè)所有的沖突并提出解決這些沖突的解決方案。注意, 圖2中所示的一些或全部部件可以被實(shí)施在軟件、硬件或這兩者的組合中。
2.1規(guī)則語(yǔ)義模塊
規(guī)則語(yǔ)義模塊201給各種類(lèi)型的規(guī)則提供語(yǔ)法和語(yǔ)義檢查。規(guī)則語(yǔ)義模 塊201解析這些規(guī)則,把它們變換為統(tǒng)一的格式,并把它們存儲(chǔ)在持久性206 中。當(dāng)被規(guī)則庫(kù)模塊202調(diào)用時(shí),規(guī)則語(yǔ)義模塊201從持久性206檢索這些 規(guī)則并把它們變換為核內(nèi)對(duì)象。
規(guī)則和商業(yè)元素相關(guān)聯(lián),并且規(guī)則能夠改變相關(guān)聯(lián)的商業(yè)元素的狀態(tài)。 規(guī)則語(yǔ)義模塊201根據(jù)預(yù)先定義的規(guī)則語(yǔ)法解析規(guī)則。使用語(yǔ)法產(chǎn)生式 (grammar production)給出規(guī)則語(yǔ)法。圖3a根據(jù)一個(gè)實(shí)施例示出了規(guī)則語(yǔ)法
止或終止符號(hào)序列的可能擴(kuò)展。在語(yǔ)法產(chǎn)生式中,非終止符號(hào)用斜體類(lèi)型示 出,終止符號(hào)用黑體示出。如圖所示,列301列出了要定義的名字,并且列 302列出了對(duì)應(yīng)的定義。例如,約束規(guī)則被定義為 如果奈伴4這^則^果語(yǔ)々
如果奈伴4這式則要逸脊的語(yǔ)々否則要淘i t的語(yǔ)々
如果奈伴4這^則要逸舉的語(yǔ)々否則如果奈/^^這式則要淘^t的語(yǔ)々
在一個(gè)實(shí)施例中,規(guī)則語(yǔ)法由用戶(hù)通過(guò)接口規(guī)定。這些規(guī)定的語(yǔ)法可以
被存儲(chǔ)在數(shù)據(jù)庫(kù)(例如持久性206)中。當(dāng)系統(tǒng)被初始化時(shí),這些規(guī)定的語(yǔ)
法被從數(shù)據(jù)庫(kù)讀取,并被作為核內(nèi)語(yǔ)法對(duì)象給出。規(guī)則語(yǔ)義模塊201使用這
些核內(nèi)語(yǔ)法對(duì)象來(lái)解析規(guī)則。
在一個(gè)實(shí)施例中,用戶(hù)可以通過(guò)客戶(hù)機(jī)側(cè)ERP應(yīng)用14把規(guī)則輸入到ERP 系統(tǒng)11中。規(guī)則語(yǔ)義模塊201解析這些規(guī)則,將這些規(guī)則變換為統(tǒng)一格式, 并把這些規(guī)則存儲(chǔ)在持久性206中。圖3b示出了圖形用戶(hù)接口 ( GUI)的例 子,通過(guò)該圖形用戶(hù)接口 ,用戶(hù)可以把規(guī)則輸入到例如系統(tǒng)11的ERP系統(tǒng) 中。如圖所示,該GUI具有簡(jiǎn)介部分303和細(xì)節(jié)部分304。簡(jiǎn)介部分303的 標(biāo)題305指示和當(dāng)前GUI有關(guān)的商業(yè)元素。簡(jiǎn)介部分303提供用于為商業(yè)元 素添加新規(guī)則的按鈕306和用于去除已經(jīng)為商業(yè)元素創(chuàng)建的規(guī)則的按鈕307。 下拉列表308允許用戶(hù)選擇規(guī)則的后果,并且GUI部件309示出了規(guī)則的條 件。用戶(hù)可以檢查在下拉列表308前方示出的檢查框310,并在去除按鈕307 上點(diǎn)擊以去除該規(guī)則。用戶(hù)也可以在下拉列表308上點(diǎn)擊以便突出顯示要將 其在細(xì)節(jié)部分304中顯示的規(guī)則。
細(xì)節(jié)部分304顯示在筒介部分303中選擇的失見(jiàn)則。細(xì)節(jié)部分304在多個(gè) 規(guī)則部分313中顯色所選擇規(guī)則,每一個(gè)部分313代表唯一條件。此外,細(xì) 節(jié)部分304提供了用于添加新的規(guī)則部分313的按鈕311和用于去除被選擇 的現(xiàn)有規(guī)則部分313的按鈕312。在每一個(gè)規(guī)則部分313內(nèi),存在允許用戶(hù) 選擇另 一個(gè)商業(yè)元素的GUI部件314和為被選擇的另 一個(gè)商業(yè)元素選擇狀態(tài) 的下拉列表315。在規(guī)則部分313中還存在檢查框316。用戶(hù)可以檢查檢查框 316供去除。注意,如圖3b中所示的GUI只是為了說(shuō)明的目的而描述。也可 以采用其他的配置或者布局。
2.2規(guī)則庫(kù)模塊
如上面所介紹的那樣,規(guī)則庫(kù)模塊202 (在圖2中示出)在存儲(chǔ)器中將 規(guī)則組織為對(duì)象供快速訪問(wèn)。圖4是根據(jù)一個(gè)實(shí)施例示出了存儲(chǔ)器中規(guī)則庫(kù) 模塊的實(shí)例的框圖。如圖所示,每一個(gè)商業(yè)元素401均與規(guī)則集合(RuleSet) 對(duì)象402相關(guān)聯(lián)。如果元素401是規(guī)則的條件,則該規(guī)則是元素的吸收規(guī)則 (sink rule )。如果元素401是規(guī)則的后果,則該規(guī)則是元素的起源規(guī)則。因 此,規(guī)則集合對(duì)象402可以包括吸收規(guī)則對(duì)象403和起源規(guī)則對(duì)象404,吸 收規(guī)則對(duì)象403包含元素的吸收規(guī)則集合,起源規(guī)則對(duì)象404包含元素的起 源規(guī)則集合。其他部件能夠通過(guò)利用元素的ID調(diào)用取得吸收規(guī)則接口 405和/或取得起源規(guī)則接口 406取得元素的吸收規(guī)則和/或起源規(guī)則。
圖5根據(jù)一個(gè)實(shí)施例示出了減小由用于支持多個(gè)用戶(hù)/開(kāi)發(fā)者的規(guī)則庫(kù)模
塊的多個(gè)實(shí)例消耗的存儲(chǔ)器大小的機(jī)制。如圖所示,每一個(gè)會(huì)話504均具有 規(guī)則庫(kù)對(duì)象502。每一個(gè)規(guī)則庫(kù)對(duì)象502均具有會(huì)話規(guī)則庫(kù)對(duì)象503和參考 中央規(guī)則庫(kù)對(duì)象501的參考505。中央規(guī)則庫(kù)對(duì)象501被多于一個(gè)會(huì)話504 共享。在一個(gè)實(shí)施例中,每一個(gè)參考505均是指向共享的中央規(guī)則庫(kù)對(duì)象501 的指針。會(huì)話規(guī)則庫(kù)503獨(dú)立于中央規(guī)則庫(kù)501,并且只可用于特定的工作 存儲(chǔ)器實(shí)例503。
因?yàn)橹醒胍?guī)則庫(kù)對(duì)象501被在存儲(chǔ)器中共享,多于一個(gè)的用戶(hù)能夠同時(shí) 在其上面進(jìn)行操作。當(dāng)任何用戶(hù)想要讀或?qū)懼醒胍?guī)則庫(kù)對(duì)象501時(shí),用戶(hù)應(yīng) 該檢查中央規(guī)則庫(kù)對(duì)象501是否被任何其他用戶(hù)鎖定。如果中央規(guī)則庫(kù)對(duì)象 501被另一個(gè)用戶(hù)鎖定,則用戶(hù)應(yīng)該等待直到中央規(guī)則庫(kù)對(duì)象501被解除鎖 定。
2.3演繹框架
演繹框架203是處理范圍確定過(guò)程中所有不同關(guān)系的模塊。圖6根據(jù)一 個(gè)實(shí)施例示出了演繹框架結(jié)構(gòu)的例子。如圖所示,演繹框架203包括缺省值 處理器601、關(guān)系處理器602、狀態(tài)確定^^莫塊603和說(shuō)明確定模塊604。
缺省值處理器601管理商業(yè)元素的缺省值。缺省值定義了商業(yè)元素的初 始值(即"被選擇,,或"被淘汰,,)。經(jīng)常為高層次商業(yè)元素(例如商業(yè)套裝)設(shè) 置缺省值。一J&來(lái)說(shuō),所有商業(yè)元素的缺省值是"被淘汰"。作為選擇,用戶(hù) 能夠定義規(guī)則以便把缺省值設(shè)置為"被選擇"。
在實(shí)施例中,只有當(dāng)不存在其他設(shè)置商業(yè)元素的狀態(tài)的值來(lái)源時(shí)缺省值 才有效。例如,假設(shè)商業(yè)主題"定價(jià),,被選擇,但是還沒(méi)有選擇"定價(jià),,的商業(yè) 選項(xiàng)。在這種情況下,系統(tǒng)評(píng)估"定價(jià),,商業(yè)選項(xiàng)的缺省規(guī)則,并選擇一個(gè)或 更多個(gè)商業(yè)選項(xiàng)。值來(lái)源被定義為導(dǎo)致商業(yè)元素的狀態(tài)改變的來(lái)源。在一個(gè) 實(shí)施例中,值來(lái)源可以是約束、手動(dòng)選擇、預(yù)選、缺省值和先決條件。在很 多情況下,商業(yè)元素的狀態(tài)改變可能由多于一個(gè)的值來(lái)源導(dǎo)致。在解決沖突 時(shí)這些值來(lái)源的優(yōu)先權(quán)從高到低可以是約束、手動(dòng)選擇、預(yù)選、缺省值和先 決條件。缺省值可以被約束、預(yù)選和手動(dòng)選4奪覆蓋。
關(guān)系處理器602處理商業(yè)元素間的各種關(guān)系。這些關(guān)系可以是先決條件 關(guān)系、預(yù)選關(guān)系、約束,等等。先決條件是根據(jù)層次結(jié)構(gòu),商業(yè)元素之間自
底向上的關(guān)系。先決條件表示,如果選擇了子商業(yè)元素,則其直接的雙親商 業(yè)元素被自動(dòng)地選擇,并且如果雙親商業(yè)元素被淘汰,則其所有的子商業(yè)元 素被淘汰。
如果系統(tǒng)由于先決條件自動(dòng)地選擇了商業(yè)元素,則這個(gè)商業(yè)元素繼承其 子結(jié)點(diǎn)的值來(lái)源。先決條件總是有效的,并且不能被其他的值來(lái)源否決。
約束代表在各種商業(yè)元素間存在的依賴(lài)性關(guān)系。存在"要被選擇,,和"要被 淘汰"約束。約束由規(guī)則實(shí)施。通過(guò)使用"如果"或者"否則如果,,語(yǔ)句,對(duì)于一 個(gè)商業(yè)元素只存在一個(gè)約束規(guī)則。
狀態(tài)確定模塊603基于由各種不同的值來(lái)源設(shè)置的值和與這些來(lái)源相關(guān) 聯(lián)的優(yōu)先權(quán),確定商業(yè)元素的實(shí)際狀態(tài)。在一個(gè)實(shí)施例中,在解決沖突時(shí)從 高到低的優(yōu)先權(quán)可以是約束、手動(dòng)選擇、預(yù)選、缺省值和先決條件。由較高 優(yōu)先權(quán)值來(lái)源設(shè)置的值推翻由較低優(yōu)先權(quán)值來(lái)源設(shè)置的值。例如,如果約束 規(guī)則把商業(yè)元素的值設(shè)置為"被淘汰",而手動(dòng)輸入把商業(yè)元素的值設(shè)置為"被 選擇",則該商業(yè)元素的實(shí)際狀態(tài)是"被淘汰"。結(jié)果,如果約束設(shè)置商業(yè)元素 的狀態(tài),則商業(yè)元素的狀態(tài)將是不可改變的,直到去除該約束為止。在一個(gè) 實(shí)施例中,如果存在將商業(yè)選項(xiàng)設(shè)置成"被淘汰,,的約束,則相關(guān)商業(yè)選項(xiàng)將 是不可見(jiàn)的,直到該約束被去除為止。
說(shuō)明確定模塊604確定商業(yè)元素的當(dāng)前狀態(tài)的發(fā)起者。發(fā)起者是作為相 關(guān)聯(lián)的商業(yè)元素的狀態(tài)的初始原因的商業(yè)元素。通過(guò)修改發(fā)起者的狀態(tài),可 以從相關(guān)聯(lián)的商業(yè)元素去除約束。因此,說(shuō)明確定模塊604不僅為開(kāi)發(fā)者提 供了為什么相關(guān)聯(lián)的商業(yè)元素具有當(dāng)前狀態(tài)的說(shuō)明,而且提供了將相關(guān)聯(lián)的 商業(yè)元素的狀態(tài)解除鎖定的解決方案。例如,如果存在兩個(gè)商業(yè)元素X和Y, 并且規(guī)則是"如果X被選擇,則Y被選擇"。最初,X和Y都沒(méi)有被選擇,但 是可改變。假設(shè)X被選擇,則結(jié)果將是Y被選擇,并且Y是不可變的。在這 個(gè)例子中,用戶(hù)可能想要淘汰Y,但是由于Y的可改變性是"否",這個(gè)操作 是不可能的。但是,用戶(hù)可以選擇將Y的所有發(fā)起者列出。在這個(gè)案例中發(fā)
素有可能具有多個(gè)發(fā)起者。說(shuō)明確定模塊604能夠找出導(dǎo)致商業(yè)元素的當(dāng)前 狀態(tài)的所有的發(fā)起者和路徑。
2.4 —致性維護(hù)框架(CMF)
如上面所介紹的那樣, 一致性維護(hù)框架(CMF)模塊208檢測(cè)某些商業(yè)元素的狀態(tài)的不一致性,并提供解決這些不一致性的解決方案。圖7根據(jù)一
個(gè)實(shí)施例示出了一致性維護(hù)框架(CMF)結(jié)構(gòu)的例子。如圖所示,CMF 208 包括預(yù)處理模塊701和解決方案產(chǎn)生器702。
預(yù)處理模塊701接收規(guī)則集合和商業(yè)元素集合。預(yù)處理模塊701基于這 些規(guī)則和商業(yè)元素創(chuàng)建可以被解決方案產(chǎn)生器702處理的數(shù)據(jù)元素。在這些 商業(yè)元素中,某些商業(yè)元素的狀態(tài)被確知。換句話說(shuō),已經(jīng)驗(yàn)證或者確認(rèn)過(guò) 這些商業(yè)元素的狀態(tài)是正確的。這些狀態(tài)被稱(chēng)為被確知的狀態(tài),并且可以被 用作檢測(cè)不 一致性的基礎(chǔ)。
在一個(gè)實(shí)施例中,預(yù)處理模塊701為每一個(gè)商業(yè)元素創(chuàng)建被稱(chēng)為結(jié)點(diǎn)的 數(shù)據(jù)元素。結(jié)點(diǎn)是具有被定義真值或假值的事實(shí)。例如,如果商業(yè)元素A的 狀態(tài)是"被選擇",則結(jié)點(diǎn)A-1 ("r,代表真)被創(chuàng)建,假設(shè)"被選擇"狀態(tài)為真。 預(yù)處理模塊701處理ERP系統(tǒng)的所有商業(yè)元素,并創(chuàng)建包括所有被創(chuàng)建的結(jié) 點(diǎn)的集合。這樣的集合被稱(chēng)為普遍結(jié)點(diǎn)集合(universal node set)。例如,假 設(shè)存在四個(gè)商業(yè)元素A、 B、 C和D。還假設(shè)A的狀態(tài)是"被選擇",B的狀態(tài) 是"被選擇",C的狀態(tài)是"被淘汰",并且D的狀態(tài)是"被淘汰"。這樣,普遍 結(jié)點(diǎn)集合將是(A爿,B=l, C = 0, D = 0}。
預(yù)處理模塊701基于規(guī)則集合創(chuàng)建不相容集(nogood)集合。不相容集 是不能同時(shí)存在(或共存)的結(jié)點(diǎn)的集合。例如,如果規(guī)則被規(guī)定為"如果A 被選擇,則B被選擇"?;谠撘?guī)則,創(chuàng)建不相容集(A-1, B = 0},表示A 被選擇,B被淘汰的情形不應(yīng)該發(fā)生。如果不相容集是普遍結(jié)點(diǎn)集合的子集, 則它表示普遍結(jié)點(diǎn)集合不是一致的。結(jié)果,ERP系統(tǒng)的商業(yè)元素的狀態(tài)也是 不一致的。
在一個(gè)實(shí)施例中,預(yù)處理模塊701被實(shí)施為基于假設(shè)的真值維護(hù)系統(tǒng) (Assumption-based Truth Maintenance System, ATMS )。 <旦是,本4貞i或普通^支 術(shù)人員將理解在實(shí)施預(yù)處理模塊701時(shí)也可以使用其他的真值維護(hù)系統(tǒng) (Truth Maintenance System, TMS )。
解決方案產(chǎn)生器702從預(yù)處理模塊701接收這些數(shù)據(jù)元素,確定商業(yè)元 素的狀態(tài)彼此是否一致,并且如果有則找到解決任何不一致性的解決方案。 在一個(gè)實(shí)施例中,解決方案產(chǎn)生器702的目的是找到要求改變最少數(shù)量的商 業(yè)元素的狀態(tài)的解決方案。因此,解決方案產(chǎn)生器702需要找到其狀態(tài)與其 他商業(yè)元素的狀態(tài)一起違犯了最多數(shù)量的規(guī)則的商業(yè)元素。例如,假設(shè)商業(yè)
元素A的狀態(tài)是"被選擇"并且B的狀態(tài)是"被淘汰",A和B的狀態(tài)違犯了規(guī) 則"如果A被選擇,則B被選擇"。于是解決方案產(chǎn)生器702改變商業(yè)元素的 狀態(tài)以使所有商業(yè)元素的狀態(tài)正變得不那么不一致。解決方案產(chǎn)生器702重 復(fù)上面的步驟,直到所有商業(yè)元素的狀態(tài)不違犯規(guī)則中的任何一個(gè)為止。
在一個(gè)實(shí)施例中,解決方案產(chǎn)生器702為開(kāi)發(fā)者提供用戶(hù)友好的說(shuō)明來(lái) 幫助開(kāi)發(fā)者更快地解決不 一致性。
3.處理流程
圖8是#4居一個(gè)實(shí)施例示出了范圍確定過(guò)程的例子的流程圖。注意,圖 8的過(guò)程可以由可以包括軟件、硬件,或者兩者的組合的處理邏輯執(zhí)行。在 塊801,創(chuàng)建并初始化新的范圍確定過(guò)程。范圍確定過(guò)程可以由用戶(hù)通過(guò)客 戶(hù)機(jī)側(cè)ERP應(yīng)用14的GUI創(chuàng)建。例如,GUI可以提供允許用戶(hù)新建范圍確 定過(guò)程的按鈕或者菜單選項(xiàng)。
在塊802, ERP系統(tǒng)11的ABCS 105從客戶(hù)機(jī)側(cè)ERP應(yīng)用14接收請(qǐng)求。 ABCS 105確定該請(qǐng)求是什么。如果該請(qǐng)求是范圍確定請(qǐng)求,則流程去往塊 803。如果該請(qǐng)求是針對(duì)商業(yè)元素的當(dāng)前狀態(tài)的說(shuō)明,則流程去往塊804。
在塊803, ABCS105處理范圍確定請(qǐng)求。范圍確定請(qǐng)求可以由斷言事實(shí) 的用戶(hù)觸發(fā)。當(dāng)用戶(hù)通過(guò)客戶(hù)機(jī)側(cè)ERP應(yīng)用14的GUI選好選擇或者淘汰例 如商業(yè)選項(xiàng)的商業(yè)元素時(shí),事實(shí)可以被斷言。在范圍確定請(qǐng)求被處理以后, 流程回到塊802等待新的請(qǐng)求。
在塊804, ABCS 105接收關(guān)于商業(yè)元素的當(dāng)前狀態(tài)的說(shuō)明請(qǐng)求。說(shuō)明請(qǐng) 求可以由用戶(hù)觸發(fā),用戶(hù)通過(guò)客戶(hù)機(jī)側(cè)ERP應(yīng)用14的GUI選擇商業(yè)元素, 并點(diǎn)擊用于被選擇的商業(yè)元素的當(dāng)前狀態(tài)的說(shuō)明的按鈕或者菜單選項(xiàng)。ABCS 105確定商業(yè)元素的當(dāng)前狀態(tài)的發(fā)起者,并把信息發(fā)送到客戶(hù)機(jī)側(cè)ERP應(yīng)用 14。在說(shuō)明請(qǐng)求被處理以后,流程回到塊802等待新的請(qǐng)求。
圖9a是根據(jù)另外的實(shí)施例示出了范圍確定過(guò)程的流程圖。例如,圖9a 的過(guò)程可以被作為圖8的塊801的一部分執(zhí)行。在塊901, ABCS 105為特定 用戶(hù)創(chuàng)建工作空間對(duì)象(工作空間模塊205的實(shí)例),并把控制交給工作空間 對(duì)象。工作空間對(duì)象組織由所述特定用戶(hù)開(kāi)始和控制的當(dāng)前范圍確定過(guò)程的 會(huì)話和存儲(chǔ)器空間。它還提供了接口,客戶(hù)機(jī)側(cè)ERP應(yīng)用14能夠通過(guò)該接 口與范圍確定過(guò)程通信和/或控制范圍確定過(guò)程。
在塊902,工作空間對(duì)象創(chuàng)建商業(yè)配置邏輯對(duì)象(商業(yè)配置邏輯模塊204
的實(shí)例),并把控制轉(zhuǎn)移給它。如上面所討論的,商業(yè)配置邏輯模塊204實(shí)施
控制范圍確定過(guò)程的邏輯。在商業(yè)配置邏輯對(duì)象從工作空間對(duì)象接收控制以
后,它創(chuàng)建規(guī)則庫(kù)對(duì)象(規(guī)則庫(kù)模塊202的實(shí)例)并將其初始化。在一個(gè)實(shí) 施例中,規(guī)則庫(kù)模塊202提供創(chuàng)建中央規(guī)則庫(kù)對(duì)象和會(huì)話-見(jiàn)則庫(kù)對(duì)象的功能, 中央規(guī)則庫(kù)對(duì)象組織被跨多個(gè)用戶(hù)會(huì)話共享的所有規(guī)則,并且會(huì)話規(guī)則庫(kù)對(duì) 象特定于具體用戶(hù)會(huì)話。中央規(guī)則庫(kù)對(duì)象只被創(chuàng)建和初始化一次。在中央規(guī) 則庫(kù)對(duì)象的初始化期間,中央規(guī)則庫(kù)對(duì)象創(chuàng)建規(guī)則語(yǔ)義模塊201的實(shí)例,它 從持久性206讀取規(guī)則并將其封裝為核內(nèi)規(guī)則對(duì)象。在開(kāi)始時(shí),會(huì)話規(guī)則庫(kù) 對(duì)象不包含任何特定于用戶(hù)會(huì)話的規(guī)則。但是,隨著范圍確定過(guò)程的進(jìn)展, 將通過(guò)規(guī)則語(yǔ)義模塊201的實(shí)例從持久性206中讀取特定于用戶(hù)會(huì)話的規(guī)則。 在塊903,商業(yè)配置邏輯對(duì)象從持久性206中讀取初始事實(shí)。在一個(gè)實(shí) 施例中,初始事實(shí)是ERP系統(tǒng)11的商業(yè)元素中的一些的缺省值。在接收初 始事實(shí)以后,商業(yè)配置邏輯對(duì)象調(diào)用演繹框架模塊203的實(shí)例來(lái)確定其他商 業(yè)元素的狀態(tài)。
在塊904,演繹框架模塊203的實(shí)例基于初始事實(shí)確定其他商業(yè)元素的 狀態(tài)。這些狀態(tài)被發(fā)送回客戶(hù)機(jī)側(cè)ERP應(yīng)用14。如果商業(yè)元素的狀態(tài)是"被 選擇,,,則客戶(hù)機(jī)側(cè)ERP應(yīng)用14將按被選擇的顯示商業(yè)元素。如果商業(yè)元素 的狀態(tài)是"被淘汰,,,則客戶(hù)機(jī)側(cè)ERP應(yīng)用14按被淘汰的顯示它。如果商業(yè) 元素的可改變性是"否,,(表示商業(yè)元素的狀態(tài)此刻不能被改變),則客戶(hù)機(jī)側(cè) ERP應(yīng)用14或者將其掩藏,或者以用戶(hù)不能選擇或淘汰它的方式將其顯示。
圖9b是根據(jù)另一個(gè)實(shí)施例示出了范圍確定過(guò)程的流程圖。例如,圖9b 的過(guò)程可以?xún)羝ぷ鳛閳D8的塊803的一部分沖丸行。在塊911, ABCS 105接收范 圍確定請(qǐng)求。在一個(gè)實(shí)施例中,ABCS 105通過(guò)與客戶(hù)機(jī)側(cè)ERP應(yīng)用14綁定 的工作空間對(duì)象接收范圍確定請(qǐng)求。用戶(hù)可以通過(guò)由客戶(hù)機(jī)側(cè)ERP應(yīng)用14 提供的GUI選擇或者淘汰特定商業(yè)元素,并觸發(fā)范圍確定請(qǐng)求。范圍確定請(qǐng) 求可以包括:f皮確知的事實(shí)。作為替換,被確知的事實(shí)可以被與范圍確定請(qǐng)求 分開(kāi)地發(fā)送到ABCS 105。
在塊912,在初始化期間創(chuàng)建的商業(yè)配置邏輯對(duì)象從工作空間對(duì)象接收 被確知的事實(shí),并調(diào)用演繹框架模塊203的實(shí)例。
在塊913,演繹框架模塊203的實(shí)例確定被確知的事實(shí)的后果。后果可 以是例如商業(yè)元素的狀態(tài)的改變。然后,這些后果被發(fā)送回客戶(hù)機(jī)側(cè)ERP應(yīng)
用14。
圖9c是根據(jù)另一個(gè)實(shí)施例示出了范圍確定過(guò)程的流程圖。例如,圖9b 的過(guò)程可以被作為圖8的塊804的一部分執(zhí)行。在塊921, ABCS105接收關(guān) 于商業(yè)元素的說(shuō)明請(qǐng)求。在塊922,在初始化期間創(chuàng)建的商業(yè)配置邏輯對(duì)象 接收說(shuō)明請(qǐng)求和商業(yè)元素的標(biāo)識(shí)。商業(yè)配置邏輯對(duì)象調(diào)用演繹框架模塊203 的實(shí)例。在塊923,演繹框架模塊203的實(shí)例確定商業(yè)元素的當(dāng)前狀態(tài)的發(fā) 起者,組成說(shuō)明,并把說(shuō)明發(fā)送回客戶(hù)機(jī)側(cè)ERP應(yīng)用14。
圖IO是根據(jù)一個(gè)實(shí)施例示出了解決方案產(chǎn)生器的過(guò)程的流程圖。例如, 該過(guò)程可以由圖7中所示的處理邏輯執(zhí)行。如上面所討論的,解決方案產(chǎn)生 器702的目的是找到要求改變最少數(shù)量的商業(yè)元素的狀態(tài)的解決方案。因此, 解決方案產(chǎn)生器702需要找到其狀態(tài)與其他商業(yè)元素的狀態(tài)一起違犯了最多 數(shù)量的規(guī)則的商業(yè)元素。于是解決方案產(chǎn)生器702改變商業(yè)元素的狀態(tài)以使 所有商業(yè)元素的狀態(tài)正變得不那么不一致。解決方案產(chǎn)生器702重復(fù)上面的 步驟,直到所有商業(yè)元素的狀態(tài)不違犯規(guī)則中的任何一個(gè)為止。
假設(shè)預(yù)處理模塊701已經(jīng)基于商業(yè)元素集合的狀態(tài)創(chuàng)建了普遍結(jié)點(diǎn)集 合,并基于所有的規(guī)則創(chuàng)建了不相容集集合。例如,々I設(shè)ERP系統(tǒng)具有三個(gè) 商業(yè)元素A、 B和C,并且ERP系統(tǒng)具有三個(gè)限制這三個(gè)元素的規(guī)則"如果 A被選擇,則B被選擇","如果B被選擇,則C被選擇",和"如果A被淘汰, 則B被淘汰"。還假設(shè)A、 B和C的缺省狀態(tài)分別是"被選擇"、"被淘汰"和"被 淘汰"。因此,普遍結(jié)點(diǎn)集合是(A-l,B-0,O(n。不相容集集合是{八=1,8=0}、 {B=1,C=0}、 {八=0,8=1}和{八=1,0=0}。隨著在下面進(jìn)一步示出圖IO的過(guò)程, 繼續(xù)這個(gè)例子。
在塊1001,解決方案產(chǎn)生器702接收通用結(jié)點(diǎn)結(jié)合和不相容集集合。 在塊1002,解決方案產(chǎn)生器702解決結(jié)點(diǎn)集合內(nèi)所有的矛盾。如果結(jié)點(diǎn)
不被允許,則可能出現(xiàn)矛盾。例如,如果"商業(yè)元素A必須被選擇,,是被確知
的事實(shí),則結(jié)點(diǎn)A-0必須被改變?yōu)榻Y(jié)點(diǎn)A=l。
在塊1003,解決方案產(chǎn)生器702創(chuàng)建集合NG,包括所有的是普遍結(jié)點(diǎn)
集合的子集的不相容集。繼續(xù)上面的例子,因?yàn)椴幌嗳菁瘂八=1,8=0}、 {A=l,
。=0}是普遍結(jié)點(diǎn)集合{八=1, B=0, 0=0}的子集,所以NG是UA^1, B=0}, {A=l,
C=0}}。
在塊1004,解決方案產(chǎn)生器702確定NG集合是否為空,表示沒(méi)有不相
容集是普遍結(jié)點(diǎn)集合的子集。如果NG集合為空,則在塊1005,普遍結(jié)點(diǎn)集 合中的每一個(gè)結(jié)點(diǎn)的K值和H值被統(tǒng)計(jì)。K值是結(jié)點(diǎn)在NG集合中出現(xiàn)的次 數(shù)。H值是結(jié)點(diǎn)的相反結(jié)點(diǎn)在整個(gè)不相容集集合中出現(xiàn)的次數(shù)。關(guān)于同一商 業(yè)元素,結(jié)點(diǎn)和其相反結(jié)點(diǎn)具有相反的值。例如,結(jié)點(diǎn)A=l的相反結(jié)點(diǎn)是 A=0。在上面的例子中,A、 B和C的K值得分別是2、 1和1。 A、 B和C 的H值得分別是O、 2和0。
但是,如果NG集合為空,則在塊1006,返回當(dāng)前普遍結(jié)點(diǎn)集合作為解 決方案。
在塊1007,解決方案產(chǎn)生器702根據(jù)K值把結(jié)點(diǎn)按降序排序。如果兩個(gè) 結(jié)點(diǎn)其K值相等,則解決方案產(chǎn)生器702根據(jù)其N(xiāo)值把它們按升序排序。在 上面的例子中,排序的結(jié)果是A、 C、 B。
在塊1008,解決方案產(chǎn)生器702把普遍結(jié)點(diǎn)集合中的頂結(jié)點(diǎn)用其相反結(jié) 點(diǎn)代替。在塊1008以后,過(guò)程回到塊1002。在上面的例子中,A-O代替了 普遍結(jié)點(diǎn)集合(A二l,B-O, 00}中的A=l。因此,普遍結(jié)點(diǎn)集合變成(A-O, B=0, C=0}。在第二輪過(guò)程期間,NG集合為空。于是,返回普遍結(jié)點(diǎn)集合(Ai, B=0, C-OM乍為解決方案。
圖11是示出可用于本發(fā)明的一個(gè)實(shí)施例的處理系統(tǒng)的例子的框圖。該硬 件結(jié)構(gòu)可以應(yīng)用于圖1的客戶(hù)機(jī)12和/或ERP系統(tǒng)11。和本發(fā)明沒(méi)有密切關(guān) 系的某些標(biāo)準(zhǔn)和公知的部件未被示出。處理系統(tǒng)包括一個(gè)或更多個(gè)耦合到總 線系統(tǒng)1103的處理器1101。
圖3中的總線系統(tǒng)1103是一種抽象,它代表任何一個(gè)或更多個(gè)由適當(dāng)?shù)?橋接器、適配器和/或控制器連接的單獨(dú)物理總線和/或點(diǎn)到點(diǎn)連接。因此,總 線系統(tǒng)1103可以包括例如系統(tǒng)總線、外圍部件互連(Peripheral Component Interconnect, PCI)總線、超傳輸(HyperTransport)或工業(yè)標(biāo)準(zhǔn)結(jié)構(gòu)(industry standard architecture, ISA)總線、小型計(jì)算機(jī)系統(tǒng)接口 ( small computer system interface, SCSI)總線、通用串行總線(USB),或者電氣和電子工程師學(xué)會(huì) (Institute of Electrical and Electronics Engineers, IEEE )標(biāo)準(zhǔn)1394總線(有 時(shí)候被稱(chēng)為"firewire,火線")。
處理器1101是處理系統(tǒng)的中央處理單元(CPU),因此控制處理系統(tǒng)的 總體操作。在某些實(shí)施例中,處理器1101通過(guò)執(zhí)行存儲(chǔ)在存儲(chǔ)器1102中的 軟件實(shí)現(xiàn)這個(gè)任務(wù)。處理器1101可以是或者可以包括一個(gè)或更多個(gè)可編程通 用或?qū)S梦⑻幚砥?、?shù)字信號(hào)處理器(DSP)、可編程控制器、專(zhuān)用集成電路
(ASIC)、現(xiàn)場(chǎng)可編程門(mén)陣列(field-programmable gate array, FPGA)、可編 程邏輯器件(programmable logic device, PLD)等等,或者這些器件的組合。
處理系統(tǒng)還包括耦合到總線系統(tǒng)1103的存儲(chǔ)器1102。存儲(chǔ)器1102代表 任何形式的隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、閃存,或者它們 的組合。存儲(chǔ)器1102至少存儲(chǔ)處理系統(tǒng)的操作系統(tǒng)1104。
海量存儲(chǔ)設(shè)備1106、存儲(chǔ)適配器1107和網(wǎng)絡(luò)適配器1108也通過(guò)總線系 統(tǒng)1103連接到處理器1101。海量存儲(chǔ)設(shè)備1106可以是或者可以包括任何用 于以非易失方式存儲(chǔ)大量數(shù)據(jù)的常規(guī)介質(zhì),例如一個(gè)或更多個(gè)磁盤(pán)。存儲(chǔ)適 配器1107允許處理系統(tǒng)訪問(wèn)存儲(chǔ)子系統(tǒng),并且可以是例如光纖通道適配器或 SCSI適配器。網(wǎng)絡(luò)適配器1108給處理系統(tǒng)提供了通過(guò)網(wǎng)絡(luò)與遠(yuǎn)程設(shè)備通信 的能力,并且可以是例如以太網(wǎng)適配器或者光纖通道適配器。
存儲(chǔ)器1102和海量存儲(chǔ)設(shè)備1106存儲(chǔ)軟件指令和/或數(shù)據(jù),所述指令和 /或數(shù)據(jù)可以包括用來(lái)實(shí)施這里介紹的技術(shù)的指令和/或tt據(jù)。
因此,已經(jīng)描述了用于自動(dòng)配置企業(yè)資源計(jì)劃(ERP)系統(tǒng)的一種方法 和系統(tǒng)。
上面描述的內(nèi)容的一部分可以利用例如專(zhuān)用邏輯電路的邏輯電路實(shí)施或 者利用執(zhí)行程序代碼指令的微處理器或其他形式的處理核心實(shí)施。因此,由 上面的討論教導(dǎo)的過(guò)程可以利用例如機(jī)器可執(zhí)行指令的程序代碼執(zhí)行,機(jī)器 可執(zhí)行指令導(dǎo)致執(zhí)行這些指令的機(jī)器執(zhí)行某些功能。在這個(gè)上下文中,"機(jī)器" 可以是把中間形式(或"抽象")指令轉(zhuǎn)換為特定于處理器的指令(例如像"虛 擬機(jī),,(例如Java虛擬機(jī))、解釋器、公共語(yǔ)言運(yùn)行時(shí)(Common Language Runtime )、高級(jí)語(yǔ)言虛擬機(jī)等的抽象執(zhí)行環(huán)境)的機(jī)器,和/或置于半導(dǎo)體芯 片上、設(shè)計(jì)成執(zhí)行指令的電子電路(例如用晶體管實(shí)施的"邏輯電路"),例如 通用處理器和/或?qū)S锰幚砥鳌S缮厦娴挠懻摻虒?dǎo)的過(guò)程也可以由被設(shè)計(jì)成執(zhí) 行這些過(guò)程(或其一部分)而不執(zhí)行程序代碼的電子電路(代替機(jī)器或與機(jī) 器聯(lián)合)執(zhí)行。
相信由上面的討論教導(dǎo)的過(guò)程也可以被在源級(jí)程序代碼中用各種面向?qū)?象或非面向?qū)ο蟮挠?jì)算機(jī)編程語(yǔ)言(例如Java、 C#、 VB、 Python、 C、 C++、 J#、 APL、 Cobol、 ABAP、 Fortran、 Pascal、 Perl等)描述,所述計(jì)算機(jī)編 程語(yǔ)言被各種軟件開(kāi)發(fā)框架(例如微軟公司的.NET、 Mono、 Java、曱骨文公
司的Fusion等)支持。源級(jí)程序代碼可以被轉(zhuǎn)換為抽象執(zhí)行環(huán)境(例如Java 虛擬機(jī)、公共語(yǔ)言運(yùn)行時(shí)、高級(jí)語(yǔ)言虛擬機(jī)、解釋器等)可理解的中間形式 的程序代碼(例如Java字節(jié)代碼、微軟中間語(yǔ)言(Intermediate Language )等), 或者針對(duì)特定處理器的更為特定的程序代碼形式。
制造物可被用來(lái)存儲(chǔ)程序代碼。存儲(chǔ)程序代碼的制造物可以被具體實(shí)施 為一個(gè)或更多個(gè)存儲(chǔ)器(例如一個(gè)或更多個(gè)閃存、隨機(jī)存取存儲(chǔ)器(靜態(tài)、 動(dòng)態(tài)或者其他的))、光盤(pán)、CD-ROM、 DVDROM、 EPROM、 EEPROM、磁 性或光學(xué)卡,或者其他類(lèi)型的適于存儲(chǔ)電子指令的機(jī)器可讀介質(zhì),但是不限 于此。程序代碼也可以當(dāng)作具體實(shí)施在傳輸介質(zhì)中(例如通過(guò)通信鏈路(例 如網(wǎng)絡(luò)連接))的數(shù)振信號(hào)被從遠(yuǎn)程的計(jì)算機(jī)(例如服務(wù)器)下載到做出請(qǐng)求 的計(jì)算機(jī)(例如客戶(hù)機(jī))。
如這里所使用的,"邏輯,,可以包括例如軟件、硬件和/或硬件和軟件的組合。
盡管已經(jīng)參考具體的示范性實(shí)施例描述了本發(fā)明,但是將會(huì)發(fā)現(xiàn)本發(fā)明 不限于所描述的實(shí)施例,而是可以利用所附權(quán)利要求的精神和范圍內(nèi)的修改 和更改來(lái)實(shí)踐。因此,要從說(shuō)明性而非限制性的意義上看待說(shuō)明書(shū)和附圖。
權(quán)利要求
1.一種方法,包含在企業(yè)資源計(jì)劃(ERP)系統(tǒng)處維護(hù)多個(gè)商業(yè)元素;和基于所述多個(gè)商業(yè)元素間的關(guān)系集合自動(dòng)地確定該多個(gè)商業(yè)元素中的每一個(gè)的狀態(tài),考慮到規(guī)則集合在運(yùn)行時(shí)通過(guò)演繹框架確定所述關(guān)系集合。
2. 如權(quán)利要求l所述的方法,所述多個(gè)商業(yè)元素中的每一個(gè)均包含商業(yè) 區(qū)域、商業(yè)套裝、商業(yè)主題或者商業(yè)選項(xiàng)。
3. 如權(quán)利要求l所述的方法,其中,所述多個(gè)商業(yè)元素間的關(guān)系集合中 的每一個(gè)均包含依賴(lài)性關(guān)系。
4. 如權(quán)利要求3所述的方法,其中,所述依賴(lài)性關(guān)系由所迷ERP系統(tǒng) 中的規(guī)則代表。
5. 如權(quán)利要求l所述的方法,其中,所述多個(gè)商業(yè)元素中每一個(gè)的狀態(tài) 包含被選擇狀態(tài)或者被淘汰狀態(tài),被選擇狀態(tài)代表對(duì)應(yīng)的商業(yè)元素被選擇, 并且與對(duì)應(yīng)的商業(yè)元素相關(guān)聯(lián)的功能需要被實(shí)施,被淘汰狀態(tài)代表對(duì)應(yīng)的商 業(yè)元素未被選擇,并且與對(duì)應(yīng)的商業(yè)元素相關(guān)聯(lián)的功能中沒(méi)有一個(gè)需要^Mc實(shí) 施。
6. 如權(quán)利要求5所述的方法,其中,所述多個(gè)商業(yè)元素中每一個(gè)的狀態(tài) 還包含可改變狀態(tài)或者不可改變狀態(tài),可改變狀態(tài)代表對(duì)應(yīng)商業(yè)元素的狀態(tài) 可在被選擇狀態(tài)和被淘汰狀態(tài)之間改變,不可改變狀態(tài)代表對(duì)應(yīng)商業(yè)元素的 狀態(tài)不可在被選擇狀態(tài)和被淘汰狀態(tài)之間改變。
7. 如權(quán)利要求1所述的方法,還包含基于所述多個(gè)商業(yè)元素中一個(gè)商業(yè) 元素的狀態(tài)自動(dòng)地確定該多個(gè)商業(yè)元素中的每一個(gè)的狀態(tài)。
8. 如權(quán)利要求7所述的方法,其中,所述商業(yè)元素的狀態(tài)是該商業(yè)元素 的初始一犬態(tài)。
9. 如權(quán)利要求7所述的方法,其中,所述商業(yè)元素的狀態(tài)由用戶(hù)或者處 理過(guò)程設(shè)置。
10. —種機(jī)器可讀介質(zhì),具有當(dāng)被執(zhí)行時(shí)導(dǎo)致機(jī)器執(zhí)行一種方法的指令, 所述方法包含在企業(yè)資源計(jì)劃(ERP)系統(tǒng)處維護(hù)多個(gè)商業(yè)元素;和基于所述多個(gè)商業(yè)元素間的關(guān)系集合自動(dòng)地確定該多個(gè)商業(yè)元素中的每一個(gè)的狀態(tài),考慮到規(guī)則集合在運(yùn)行時(shí)通過(guò)演繹框架確定所述關(guān)系集合。
11. 如權(quán)利要求IO所述的機(jī)器可讀介質(zhì),所述多個(gè)商業(yè)元素中的每一個(gè) 均包含商業(yè)區(qū)域、商業(yè)套裝、商業(yè)主題或者商業(yè)選項(xiàng)。
12. 如權(quán)利要求IO所述的機(jī)器可讀介質(zhì),其中,所述多個(gè)商業(yè)元素間的 關(guān)系集合中的每一個(gè)均包含依賴(lài)性關(guān)系。
13. 如權(quán)利要求12所述的機(jī)器可讀介質(zhì),其中,所述依賴(lài)性關(guān)系由所述 ERP系統(tǒng)中的規(guī)則代表。
14. 如權(quán)利要求IO所述的機(jī)器可讀介質(zhì),其中,所述多個(gè)商業(yè)元素中每 一個(gè)的狀態(tài)包含被選擇狀態(tài)或者被淘汰狀態(tài),被選擇狀態(tài)代表對(duì)應(yīng)的商業(yè)元 素被選擇,并且與對(duì)應(yīng)的商業(yè)元素相關(guān)聯(lián)的功能需要被實(shí)施,被淘汰狀態(tài)代 表對(duì)應(yīng)的商業(yè)元素未被選擇,并且與對(duì)應(yīng)的商業(yè)元素相關(guān)聯(lián)的功能中沒(méi)有一 個(gè)需要被實(shí)施。
15. 如權(quán)利要求14所述的機(jī)器可讀介質(zhì),其中,所述多個(gè)商業(yè)元素中每 一個(gè)的狀態(tài)還包含可改變狀態(tài)或者不可改變狀態(tài),可改變狀態(tài)代表對(duì)應(yīng)商業(yè) 元素的狀態(tài)可在被選擇狀態(tài)和被淘汰狀態(tài)之間改變,不可改變狀態(tài)代表對(duì)應(yīng) 商業(yè)元素的狀態(tài)不可在^L選擇狀態(tài)和^C淘汰狀態(tài)之間改變。
16. 如權(quán)利要求IO所述的機(jī)器可讀介質(zhì),還包含基于所述多個(gè)商業(yè)元素 中一個(gè)商業(yè)元素的狀態(tài)自動(dòng)地確定該多個(gè)商業(yè)元素中的每一個(gè)的狀態(tài)。
17. 如權(quán)利要求16所述的機(jī)器可讀介質(zhì),其中,所述商業(yè)元素的狀態(tài)是 商業(yè)元素的初始狀態(tài)。
18. 如權(quán)利要求16所述的機(jī)器可讀介質(zhì),其中,所述商業(yè)元素的狀態(tài)由 用戶(hù)或者處理過(guò)程設(shè)置。
19. 一種企業(yè)資源計(jì)劃(ERP)系統(tǒng),包含用于維護(hù)多個(gè)規(guī)則的規(guī)則庫(kù),所述多個(gè)規(guī)則中的每一個(gè)均代表在該ERP 系統(tǒng)處維護(hù)的多個(gè)商業(yè)元素中兩個(gè)商業(yè)元素之間的關(guān)系,考慮到對(duì)應(yīng)規(guī)則在 運(yùn)行時(shí)通過(guò)演繹框架確定所述關(guān)系;和演繹框架,用于基于所述多個(gè)規(guī)則自動(dòng)地確定所述多個(gè)商業(yè)元素中的每一個(gè)的狀態(tài)。
20. 如權(quán)利要求19所述的ERP系統(tǒng),其中,所述演繹框架還基于所述 多個(gè)商業(yè)元素中 一個(gè)商業(yè)元素的狀態(tài)確定該多個(gè)商業(yè)元素中的每一個(gè)的狀 態(tài)。
21. 如權(quán)利要求20所述的ERP系統(tǒng),其中,所述多個(gè)商業(yè)元素中的該 商業(yè)元素的狀態(tài)是所述商業(yè)元素的初始狀態(tài)。
22. 如權(quán)利要求20所述的ERP系統(tǒng),其中,所述多個(gè)商業(yè)元素中該商 業(yè)元素的狀態(tài)由用戶(hù)或者過(guò)程設(shè)置。
23. 如權(quán)利要求19所述的ERP系統(tǒng),其中,所述多個(gè)商業(yè)元素中的每 一個(gè)的狀態(tài)包含被選擇狀態(tài)或者被淘汰狀態(tài),被選擇狀態(tài)代表對(duì)應(yīng)的商業(yè)元 素被選擇,并且與對(duì)應(yīng)的商業(yè)元素相關(guān)聯(lián)的功能需要被實(shí)施,被淘汰狀態(tài)代 表對(duì)應(yīng)的商業(yè)元素未被選擇,并且與對(duì)應(yīng)的商業(yè)元素相關(guān)聯(lián)的功能中沒(méi)有一 個(gè)需要被實(shí)施。
24. 如權(quán)利要求23所述的ERP系統(tǒng),其中,所述多個(gè)商業(yè)元素中每一 個(gè)的狀態(tài)還包含可改變狀態(tài)或者不可改變狀態(tài),可改變狀態(tài)代表對(duì)應(yīng)商業(yè)元 素的狀態(tài)可在被選擇狀態(tài)和被淘汰狀態(tài)之間改變,不可改變狀態(tài)代表對(duì)應(yīng)商 業(yè)元素的狀態(tài)不可在被選擇狀態(tài)和被淘汰狀態(tài)之間改變。
全文摘要
本發(fā)明涉及用于自動(dòng)配置信息系統(tǒng)的方法和系統(tǒng)。企業(yè)資源計(jì)劃(ERP)系統(tǒng)維護(hù)多個(gè)商業(yè)元素。每一個(gè)商業(yè)元素均代表依賴(lài)于客戶(hù)的商業(yè)要求可能需要或者不需要的商業(yè)功能。范圍確定過(guò)程是根據(jù)客戶(hù)的商業(yè)要求和一些商業(yè)元素中存在的關(guān)系確定要求什么樣的商業(yè)元素的過(guò)程。ERP系統(tǒng)提供自動(dòng)商業(yè)配置子系統(tǒng)。自動(dòng)商業(yè)配置子系統(tǒng)維護(hù)規(guī)則集合。每一個(gè)規(guī)則均代表在ERP系統(tǒng)處維護(hù)的兩個(gè)商業(yè)元素之間的關(guān)系。自動(dòng)商業(yè)配置子系統(tǒng)基于規(guī)則集合自動(dòng)地確定要求和需要實(shí)施哪些商業(yè)元素。
文檔編號(hào)G06Q10/00GK101201918SQ200710199629
公開(kāi)日2008年6月18日 申請(qǐng)日期2007年12月11日 優(yōu)先權(quán)日2006年12月11日
發(fā)明者成立剛, 李培松, 木 輿, 鵬 高 申請(qǐng)人:Sap股份公司