两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

基于規(guī)則的軟件過程主體自動協(xié)商系統(tǒng)和方法

文檔序號:6559304閱讀:199來源:國知局
專利名稱:基于規(guī)則的軟件過程主體自動協(xié)商系統(tǒng)和方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種軟件過程建模技術(shù),特別涉及一種基于規(guī)則的軟件過程主體自動協(xié)商系統(tǒng)和方法,屬于計算機軟件生產(chǎn)技術(shù)領(lǐng)域。
背景技術(shù)
近年來,計算機技術(shù)的發(fā)展越來越側(cè)重于軟件的開發(fā)和應(yīng)用,軟件技術(shù)的發(fā)展已經(jīng)成為衡量計算機技術(shù)水平的重要標志之一。軟件的生產(chǎn)規(guī)模越來越大,使軟件過程建模技術(shù)日益成為關(guān)系到軟件生產(chǎn)成本和質(zhì)量的關(guān)鍵因素。傳統(tǒng)的軟件過程建模方法往往將軟件過程建模為活動或任務(wù)之間的相互關(guān)系,且這些活動之間的相互關(guān)系是預(yù)定義的。在實際的軟件開發(fā)過程中,一個軟件過程通常由一組開發(fā)者作為基本組成元素,這些開發(fā)者首先相互協(xié)商各自承擔(dān)的任務(wù),達成一致后形成開發(fā)小組,從而相互協(xié)作以完成軟件過程的目標?;谥黧w(agent)的軟件過程建模方法將軟件過程建模為一組可代表軟件開發(fā)者(可以是單個開發(fā)者、也可以是團隊或組織)、具有軟件過程知識、能夠?qū)嵤┸浖^程活動(如系統(tǒng)設(shè)計、編碼以及測試等)的主體之間的相互協(xié)作關(guān)系,這些主體被稱為軟件過程主體,簡稱過程主體。這種強調(diào)軟件過程中軟件開發(fā)者為主要構(gòu)成元素,且構(gòu)成元素之間的關(guān)系通過主動、靈活的協(xié)商而建立的軟件過程,更接近軟件開發(fā)的實際情況,具有較好的靈活性和對環(huán)境的適應(yīng)性。
在已知的現(xiàn)有技術(shù)中,基于主體的自動協(xié)商方法考慮三個基本要素協(xié)商協(xié)議、協(xié)商參數(shù)以及決策策略。目前基于主體的大多協(xié)商方法都是非靈活的預(yù)定義和固定協(xié)商協(xié)議、固定協(xié)商參數(shù)的數(shù)量,甚至所有協(xié)商參與者均采用單一、相同的決策策略,當(dāng)這些因素發(fā)生改變時,相應(yīng)系統(tǒng)的維護成本就很昂貴。過程主體的協(xié)商過程是多形式和變化的,依賴于環(huán)境、業(yè)務(wù)目標、項目特點等因素。例如,組織間關(guān)于軟件外包項目的協(xié)作關(guān)系的建立,可以采用一對多的拍賣式協(xié)商,也可采用一對一的談判式協(xié)商;而不同等級的協(xié)商主體(比如個人、團隊和組織就屬于不同等級的協(xié)商主體)之間的協(xié)商明顯不同。因此,在協(xié)商的過程中,代表協(xié)商主體的過程主體(Agent)需自主決定其所使用的協(xié)商協(xié)議、所協(xié)商的協(xié)商目標以及所采用的決策策略,而那些非靈活的、靜態(tài)的、變更代價昂貴的協(xié)商方法顯然不適用于過程主體。
還有一些方法將控制協(xié)商過程某些方面的規(guī)則與協(xié)商過程本身分離表示,在獲取協(xié)商靈活性和動態(tài)性方面取得了一定的成果,如將時間控制和拍賣過程分別表示和處理,從而在時間控制方面取得了一定的靈活性;用規(guī)則表示決策策略,并采用相應(yīng)技術(shù)使規(guī)則能夠在系統(tǒng)運行時間被動態(tài)添加和修改,從而決策策略可動態(tài)、靈活地變化;將協(xié)商協(xié)議中的某些規(guī)則提取、分類,為協(xié)商協(xié)議提供一定的靈活性。然而,當(dāng)這些方法應(yīng)用到過程主體時,存在兩個主要問題(1)它們僅提供了協(xié)商中某一方面的靈活性和動態(tài)性,而過程主體需要一個完整的解決方案,能夠基于自身需求,環(huán)境變化等因素適應(yīng)地、靈活地、動態(tài)地決定它們所需采用的協(xié)商協(xié)議、需要協(xié)商的協(xié)商目標及數(shù)量、以及所使用的決策策略;(2)它們大多針對電子商務(wù)領(lǐng)域,因而不能完全適應(yīng)過程主體的需求。

發(fā)明內(nèi)容
為了解決上述問題,本發(fā)明的目的在于提供一種基于規(guī)則的軟件過程主體自動協(xié)商系統(tǒng)和方法,用于軟件過程建模。發(fā)明構(gòu)思為在相互連接組成分布式網(wǎng)絡(luò)的計算機終端上部署軟件過程主體(Agent),每個過程主體都具有唯一的標識,并可以基于規(guī)則獨立地建立協(xié)商模型。所有軟件過程主體既可以通過該系統(tǒng)發(fā)布協(xié)商目標,也可以根據(jù)其他過程主體發(fā)布的協(xié)商目標進行響應(yīng)。
在所述的過程主體自動協(xié)商系統(tǒng)中,軟件過程主體之間建立協(xié)商的主要過程描述如下當(dāng)過程主體接收到一個目標的時候,首先對該目標進行規(guī)劃,根據(jù)自身的知識庫,建立基于該目標的任務(wù)樹,樹上的每個節(jié)點表示滿足該目標所需完成的任務(wù)。所述任務(wù)樹的層次和粒度取決于過程主體的知識庫。例如,某一過程主體a接收到一個關(guān)于開發(fā)Web的目標A,該目標需要10人月(即,10個開發(fā)人員一個月的工作量)。該過程主體根據(jù)知識庫所提供的經(jīng)驗,分析出實現(xiàn)該目標需要4項子任務(wù)需求、分析、實現(xiàn)、測試;然后進一步根據(jù)知識庫所提供的關(guān)于該過程主體自身能力的信息,決定將需求、分析和實現(xiàn)作為自身的任務(wù),而將自身無法完成的測試作為協(xié)商目標B發(fā)布給系統(tǒng)中的其他過程主體。所有接收到該協(xié)商目標B的過程主體都重復(fù)和過程主體a相同的步驟,假設(shè)其中的過程主體b將測試任務(wù)拆分成單元測試和集成測試兩部分,并判斷出自身只能夠完成集成測試的任務(wù),則將另一任務(wù)再發(fā)布出去。此時,假設(shè)過程主體c接受了該任務(wù)并給予確定的反饋信息,則過程主體b和c就該任務(wù)的屬性,比如該任務(wù)的工作量、質(zhì)量進行協(xié)商并達成一致。在協(xié)商的過程中,過程主體根據(jù)各自的規(guī)則庫進行決策。當(dāng)過程主體b和c協(xié)商一致之后,b向a發(fā)出確定接受任務(wù)的消息,然后b和a就測試任務(wù)的屬性進行協(xié)商。
對于每個過程主體而言,其首先要建立一可執(zhí)行的協(xié)商模型,然后參與協(xié)商。所述的協(xié)商模型包含三個基本元素和兩個控制元素,兩個控制元素是通用協(xié)議和協(xié)商規(guī)則。所述三個基本元素是可能參與協(xié)商的主體集合、協(xié)商原語集合、協(xié)作合同模板。協(xié)商原語集合用于過程主體之間的話語通信,由通用協(xié)議控制,通用協(xié)議作為信息流的靜態(tài)控制,可支持過程主體大多形式的協(xié)商過程。協(xié)作合同模板是針對傳統(tǒng)模型固定協(xié)商目標以及協(xié)商目標數(shù)量的問題而提出的一種組織協(xié)商目標的方式,合同模板包括協(xié)商目標和協(xié)商參數(shù),由協(xié)商規(guī)則控制,過程主體的協(xié)商過程是過程主體就合同模板中的某些參數(shù)交替發(fā)送自己認可的參數(shù)值,直至協(xié)商參與者對這些參數(shù)值達成一致的過程。因協(xié)商參與者對該結(jié)構(gòu)及內(nèi)容有一致的理解,當(dāng)協(xié)商目標在運行時間被加入時,過程主體能夠知道并處理這種被動添加的協(xié)商目標。這樣為用戶提供了更大的協(xié)商靈活性。
如圖3所示,協(xié)商模型建立后,過程主體參與協(xié)商的具體步驟包括1、依次處理接收到的消息,檢驗消息的合法性,并將消息傳輸給狀態(tài)轉(zhuǎn)換器;2、狀態(tài)轉(zhuǎn)換器接收到消息后,根據(jù)狀態(tài)轉(zhuǎn)換函數(shù)轉(zhuǎn)換過程主體的狀態(tài);3、過程主體的狀態(tài)變化后,其隨后的行為取決于協(xié)商規(guī)則,因此此時規(guī)則觸發(fā)器觸發(fā)協(xié)商規(guī)則引擎,并將協(xié)商規(guī)則引擎所需的信息傳輸給規(guī)則事件管理器,由事件管理器觸發(fā)數(shù)據(jù)載入器;4、數(shù)據(jù)載入器載入?yún)f(xié)商規(guī)則以及相關(guān)數(shù)據(jù),供規(guī)則匹配器推理使用;5、規(guī)則匹配器根據(jù)約定的算法,將數(shù)據(jù)與協(xié)商規(guī)則進行匹配,被匹配的規(guī)則進入規(guī)則匹配隊列;6、規(guī)則匹配隊列管理器接收規(guī)則匹配器生成的規(guī)則并對其進行排序、沖突檢測和解決等,將處理后的規(guī)則遞交給規(guī)則執(zhí)行器執(zhí)行;7、規(guī)則執(zhí)行器依次執(zhí)行規(guī)則匹配隊列管理器傳遞過來的規(guī)則,生成新的數(shù)據(jù),將結(jié)果提交給協(xié)商過程引擎。
相應(yīng)地,自動協(xié)商系統(tǒng)中的軟件過程主體包括以下功能模塊協(xié)商規(guī)則編輯器,用于編輯、管理協(xié)商規(guī)則,包括控制規(guī)則和決策規(guī)則,顯示協(xié)商規(guī)則的分析結(jié)果,提示用戶進行規(guī)則沖突處理;協(xié)商模型分析器,用于檢查由協(xié)商規(guī)則編輯器所定義的協(xié)商規(guī)則與通用協(xié)議構(gòu)成的協(xié)商模型的正確性和合理性;協(xié)商規(guī)則引擎,用于對協(xié)商規(guī)則進行推理,根據(jù)協(xié)商過程引擎調(diào)用時給定的參數(shù)值,將結(jié)果返回給協(xié)商過程引擎,以實現(xiàn)對協(xié)商過程的控制和決策;協(xié)商過程引擎,用于驅(qū)動可執(zhí)行的協(xié)商過程模型,包含對協(xié)商規(guī)則引擎的調(diào)用;其相當(dāng)于一個工作流引擎,按照通用協(xié)商協(xié)議解析協(xié)商過程的全部活動,并通過調(diào)用協(xié)商規(guī)則引擎觸發(fā)符合協(xié)商規(guī)則的活動;協(xié)商規(guī)則庫,用于存儲協(xié)商規(guī)則,包括過程控制規(guī)則和決策規(guī)則;
協(xié)商過程庫,用于存儲協(xié)商過程產(chǎn)生的消息流數(shù)據(jù),主要包括每次交互的過程主體、發(fā)送的協(xié)商原語、協(xié)作合同以及發(fā)送時間等。
其中,協(xié)商過程引擎模塊還包括消息處理器,用于接收、發(fā)送消息,并對所接收到消息的合法性進行檢查;狀態(tài)轉(zhuǎn)換器,用于過程主體的狀態(tài)轉(zhuǎn)換控制,該控制遵循通用協(xié)議GProtocol;規(guī)則觸發(fā)器,用于觸發(fā)協(xié)商規(guī)則引擎。協(xié)商規(guī)則引擎模塊還包括規(guī)則事件管理器,用于響應(yīng)協(xié)商過程引擎對規(guī)則引擎的觸發(fā)事件;數(shù)據(jù)載入器,用于載入?yún)f(xié)商規(guī)則以及相關(guān)數(shù)據(jù);規(guī)則匹配器,用于將數(shù)據(jù)與協(xié)商規(guī)則進行匹配;規(guī)則匹配隊列管理器,用于接收規(guī)則匹配器生成的實例化數(shù)據(jù)隊列,進行沖突檢測和解決,提交給協(xié)商過程引擎;規(guī)則執(zhí)行器,用于執(zhí)行協(xié)商規(guī)則,依次執(zhí)行規(guī)則匹配隊列管理器傳遞過來的規(guī)則,生成新的數(shù)據(jù),將結(jié)果提交給協(xié)商過程引擎。
本發(fā)明的技術(shù)效果在于(1)將傳統(tǒng)協(xié)商協(xié)議分為兩部分一個通用協(xié)議和規(guī)則。通用協(xié)議是靜態(tài)的,能夠支持多種形式的協(xié)商過程。規(guī)則是變化的,為協(xié)商協(xié)議帶來靈活性和可變性;(2)將決策策略表示成規(guī)則,由此決策策略能夠被定以和修改以適應(yīng)環(huán)境狀態(tài)等影響因素的變化;(3)協(xié)商目標以結(jié)構(gòu)化協(xié)作合同的方式組織,能夠被動態(tài)添加;(4)協(xié)商規(guī)則獨立存儲和演化,與模型的其它部分以一種低耦合的方式交互,從而以較低的成本為軟件過程agent的協(xié)商提供靈活性和動態(tài)性。


圖1是基于規(guī)則的軟件過程協(xié)商模型中的通用協(xié)議;圖2是系統(tǒng)的構(gòu)架示意圖;圖3是協(xié)商過程的執(zhí)行步驟以及系統(tǒng)的主要功能模塊詳細結(jié)構(gòu)示意圖。
具體實施例方式
以下結(jié)合附圖,通過優(yōu)選的具體實施方式
對本發(fā)明作進一步的說明,但不構(gòu)成對本發(fā)明的限制。
以企業(yè)間就軟件外包項目進行協(xié)商的過程為例,企業(yè)就軟件外包項目進行協(xié)商的過程一般是某需要將某軟件項目向外承包的企業(yè)向其它企業(yè)發(fā)送協(xié)商請求,響應(yīng)的企業(yè)與其建立協(xié)商關(guān)系后,開始就彼此關(guān)心的協(xié)商參數(shù)值進行協(xié)商,直至彼此就這些值達成一致的意見,從而建立起彼此的合作關(guān)系。
首先時軟件過程主體自動協(xié)商系統(tǒng)的建立,所有參與協(xié)商的企業(yè)被建模成軟件過程主體并互連成一自動協(xié)商系統(tǒng),每個過程主體在系統(tǒng)中都具有唯一的標識。如圖2所示,過程主體的基本功能模塊包括協(xié)商規(guī)則編輯器、協(xié)商模型分析器、協(xié)商規(guī)則引擎及其擁有的協(xié)商規(guī)則庫、協(xié)商過程引擎及其擁有的協(xié)商過程庫、以及用于發(fā)布消息的Web服務(wù)器。其中,協(xié)商規(guī)則編輯器和協(xié)商模型分析器位于用戶可見的訪問界面。
其次是建立可執(zhí)行的協(xié)商過程模型,每個過程主體都可以基于自身的知識和能力定義和修改協(xié)商規(guī)則;所述的知識和能力可以包括組織能力(如承擔(dān)某類項目的能力)、個人能力(如編碼能力)、資源(時間資源)等;協(xié)商規(guī)則的編輯、管理功能由協(xié)商規(guī)則編輯器實現(xiàn),且協(xié)商規(guī)則存儲于協(xié)商規(guī)則庫。協(xié)商規(guī)則包含控制規(guī)則和決策規(guī)則,控制規(guī)則可以由協(xié)商發(fā)起者定義,例如協(xié)商過程的超時時間、答復(fù)的超時時間、什么條件下協(xié)商正常終止、什么條件下意外終止。決策規(guī)則可以由協(xié)商參與者自定義,例如什么條件下接受對方提出的參數(shù)值、什么條件下拒絕以及什么條件下修改對方提出的參數(shù)值且自己提出的新參數(shù)值如何確定等。協(xié)商規(guī)則定義后,需進行協(xié)商規(guī)則合法性分析,分析正確后,將協(xié)商規(guī)則輸出到協(xié)商過程引擎和協(xié)商規(guī)則引擎。
所述協(xié)商模型的基本元素由通用協(xié)議和協(xié)商規(guī)則控制,以執(zhí)行協(xié)商過程。所述通用協(xié)議命名為GProtocol,是協(xié)商過程的靜態(tài)、不可變控制部分,其通用性使其能夠支持過程主體大多形式的協(xié)商過程。所述通用協(xié)議由一個狀態(tài)轉(zhuǎn)換圖表示,如圖1所示,其中(1)GProtocol包含5個狀態(tài),狀態(tài)集由S表示,S={Start,S1,S2,S3,End},其中,狀態(tài)Start是初始狀態(tài),狀態(tài)End是結(jié)束狀態(tài),狀態(tài)S1、S2、S3是三種中間狀態(tài);(2)GProtocol包含9種狀態(tài)轉(zhuǎn)換圖中狀態(tài)轉(zhuǎn)換(1)表明協(xié)商發(fā)起者提出一個協(xié)商請求;圖中狀態(tài)轉(zhuǎn)換(2)表明協(xié)商發(fā)起者發(fā)起另一個協(xié)商請求,還未收到其他agent對其上一次協(xié)商請求的答復(fù);圖中狀態(tài)轉(zhuǎn)換(3)表明接到消息的agent接受協(xié)商請求;圖中狀態(tài)轉(zhuǎn)換(4)表明接到消息的agent拒絕協(xié)商請求;圖中狀態(tài)轉(zhuǎn)換(5)表明協(xié)商過程結(jié)束,如果達到限定時間,或者參與協(xié)商的agent終止該過程;圖中狀態(tài)轉(zhuǎn)換(6)表明協(xié)商發(fā)起者提出初始協(xié)作合同;圖中狀態(tài)轉(zhuǎn)換(7)表明協(xié)商雙方交替發(fā)送協(xié)作合同,可添加、修改或拒絕其中的協(xié)商目標值;圖中狀態(tài)轉(zhuǎn)換(8)表明協(xié)商過程結(jié)束,如果達到限定時間,或者參與協(xié)商的agent終止該過程;圖中狀態(tài)轉(zhuǎn)換(9)表明協(xié)商過程結(jié)束,如果達到限定時間,或者agent接受協(xié)作合同的內(nèi)容,或者agent終止該過程。
所述協(xié)商規(guī)則命名為NR,是協(xié)商過程的動態(tài)控制以及決策部分。協(xié)商規(guī)則分為控制規(guī)則(CR)和決策規(guī)則(DR)。兩種規(guī)則的定義均基于Horn子句。Horn子句由兩部分組成條件部分和結(jié)論部分,條件部分包含多個Horn原子,而結(jié)論部分只允許包含一個Horn原子。一個協(xié)商規(guī)則表示當(dāng)所有條件為真時,結(jié)論為真。控制規(guī)則負責(zé)協(xié)商過程消息流的公共控制,與通用協(xié)議GProtocol的主要區(qū)別在于其可隨環(huán)境、目標等因素的變化而被改變或調(diào)整。其通常對所有協(xié)商參與者公開。決策規(guī)則用于確定(大多情況下非公開地)發(fā)送的協(xié)商原語和包含協(xié)商目標值的協(xié)作合同,通常非公開,對協(xié)商的對方是不可見的。
協(xié)商模型的執(zhí)行與有限狀態(tài)機的執(zhí)行類似,包含如下步驟步驟一構(gòu)建狀態(tài)轉(zhuǎn)化算法s×NPrim→s,具體狀態(tài)轉(zhuǎn)換算法由通用協(xié)議GProtocol決定,如圖一所示;步驟二構(gòu)建消息流集MF,MF=Σimfi,]]>mfi是一個消息流,是一個參與協(xié)商的主體向另一個發(fā)送的一條消息,一個消息流mfi由包含以下元素(1)發(fā)送消息的主體;(2)接收消息的主體;(3)被發(fā)送的協(xié)商原語;(4)被發(fā)送的協(xié)作合同;(5)發(fā)送原語和協(xié)作合同的時間點。
步驟三構(gòu)建協(xié)商歷史H,H={h1,h2,...,hn},hi是MF的子集,反映的是主體發(fā)送和接收的所有消息流;步驟四構(gòu)建知識K,K由一些關(guān)于軟件過程的知識組成,如環(huán)境知識、組織或個人能力(如編碼能力)等;步驟五構(gòu)建有限輸入集II=NPrim×CC×H×K;步驟六構(gòu)建有限輸出集Out=NPrim×CC;步驟七構(gòu)建狀態(tài)轉(zhuǎn)換函數(shù)GProtocolS×NPrim→S;步驟八構(gòu)建輸出函數(shù)OFI→Out,其中,OF有兩個子函數(shù)CRI→Out和DRI→Out。
OF的最后輸出為CR(I)∩DR(I)(≠)。
在任何時間點,一個協(xié)商過程的一個參與協(xié)商的主體都在集合S中的一個狀態(tài)中。當(dāng)其收到一個原語時,在通用協(xié)議GProtocol(參見圖1)的控制下,被轉(zhuǎn)換到另一個狀態(tài)。進一步,遵從OF,其輸出一個協(xié)商原語和協(xié)作合同,其中,子函數(shù)CR和DR亦即控制規(guī)則和決策規(guī)則。
協(xié)商規(guī)則定義后,經(jīng)協(xié)商模型分析器分析正確和合理的協(xié)商規(guī)則作為數(shù)據(jù)源載入?yún)f(xié)商過程引擎中,一個協(xié)商過程開始。
過程主體之間的協(xié)商過程話語通信采用協(xié)商原語,而協(xié)商原語以消息的方式實現(xiàn),消息的類別與協(xié)商原語名稱一致。所述的協(xié)商原語的集合命名為NPrimNPrim={Propose_N,Accept_N,Reject_N,Terminate_N,Propose_CC,Accept_CC,Reject_CC,Modify_CC},其中各原語的含義如下Propose_N表示提出一個協(xié)商請求,Accept_N表示接受一個協(xié)商請求,Reject_N表示拒絕一個協(xié)商請求,Propose_CC表示發(fā)送一個協(xié)作合同,Accept_CC表示接受當(dāng)前收到的協(xié)作合同CC(不再進行修改),Reject_CC表示拒絕當(dāng)前收到的協(xié)作合同,Modify_CC表示修改收到的協(xié)作合同,Terminate_N表示終止當(dāng)前的協(xié)商過程。協(xié)商原語的分析和處理實現(xiàn)于協(xié)商過程引擎中的消息處理器。
在協(xié)商的過程中,所有過程主體基于相同的協(xié)作合同模板進行協(xié)商,所述的協(xié)作合同模板采用XML(網(wǎng)絡(luò)標記語言)文檔方式實現(xiàn),定義相應(yīng)的XML Schema;協(xié)作合同模板的分析和處理實現(xiàn)于協(xié)商過程引擎中的消息處理器。協(xié)作合同模板為協(xié)商目標,即協(xié)商參數(shù)的組織形式。協(xié)作合同模板命名為CC,包含以下內(nèi)容(1)合同類型描述合同類別,如企業(yè)間外包、項目任務(wù)分配等類別;(2)合同描述用于說明合同的主要內(nèi)容,如“J2EE”表明該合同關(guān)于一個J2EE項目;(3)協(xié)商參數(shù)集協(xié)商參數(shù)表明協(xié)商參與者感興趣的具體協(xié)商內(nèi)容,如項目所需人月數(shù),代碼質(zhì)量;協(xié)商參數(shù)集作為整體反映了協(xié)商參與者對感興趣的協(xié)商內(nèi)容的共同理解;(4)協(xié)商參數(shù)值集協(xié)商參數(shù)值即協(xié)商參數(shù)對應(yīng)的值;協(xié)商參數(shù)值集表明了協(xié)商參數(shù)的取值域;(5)協(xié)商目標類別集協(xié)商目標類別用于表明一個協(xié)商目標是否可協(xié)商,N表示可協(xié)商,NN表示不可協(xié)商。
協(xié)作合同模板中加入了具體內(nèi)容后就成為一個協(xié)作合同,由CC表示。在本實施例中,協(xié)商參數(shù)包含軟件外包項目所需的人月數(shù)、代碼質(zhì)量、所提交的文檔數(shù)量等。
如圖3所示,協(xié)商過程引擎模塊包括消息處理器、狀態(tài)轉(zhuǎn)換(控制)器和規(guī)則觸發(fā)器。當(dāng)協(xié)商開始后,消息處理器接收消息和協(xié)作合同,狀態(tài)處理器遵從狀態(tài)轉(zhuǎn)換函數(shù)GProtocol,轉(zhuǎn)換過程主體狀態(tài);狀態(tài)處理器接著觸發(fā)規(guī)則處發(fā)器,由規(guī)則處發(fā)器觸發(fā)協(xié)商規(guī)則引擎并向其輸送參數(shù)值,即消息和協(xié)作合同,等待返回結(jié)果并將結(jié)果返回給狀態(tài)處理器,狀態(tài)處理器觸發(fā)消息處理器,待消息處理器發(fā)送消息成功后,狀態(tài)處理器改變過程主體狀態(tài)等待下一次消息處理器的觸發(fā);協(xié)商規(guī)則控制實現(xiàn)于協(xié)商規(guī)則引擎數(shù)據(jù)載入器載入?yún)f(xié)商規(guī)則、知識(即事實)、協(xié)商歷史以及接收協(xié)商過程引擎的規(guī)則處發(fā)器傳遞過來的參數(shù),然后規(guī)則匹配器將事實、參數(shù)值與規(guī)則進行匹配,規(guī)則匹配隊列管理器對匹配后數(shù)據(jù)進行處理后,將處理后的數(shù)據(jù)交給協(xié)商過程引擎的規(guī)則觸發(fā)器。
上述過程重復(fù),直至協(xié)商雙方達成一致或超時,協(xié)商過程結(jié)束。
權(quán)利要求
1.一種軟件過程主體自動協(xié)商系統(tǒng),由平等的過程主體互連而成,其特征在于,所述的過程主體包括以下功能模塊協(xié)商規(guī)則編輯器,用于編輯和管理協(xié)商規(guī)則,顯示協(xié)商規(guī)則的分析結(jié)果,提示用戶進行規(guī)則沖突處理;協(xié)商模型分析器,用于檢查由協(xié)商規(guī)則編輯器所定義的協(xié)商規(guī)則與通用協(xié)議構(gòu)成的協(xié)商模型的正確性、可執(zhí)行性、可終止性;協(xié)商規(guī)則引擎,用于對經(jīng)過協(xié)商模型分析器分析的協(xié)商規(guī)則進行推理,根據(jù)協(xié)商過程引擎調(diào)用時給定的參數(shù)值,將結(jié)果返回給協(xié)商過程引擎,以實現(xiàn)對協(xié)商過程的控制和決策;協(xié)商過程引擎,相當(dāng)于一個工作流引擎,按照通用協(xié)商協(xié)議解析協(xié)商過程的全部活動,并通過調(diào)用協(xié)商規(guī)則引擎觸發(fā)符合協(xié)商規(guī)則的活動;協(xié)商規(guī)則庫,用于存儲協(xié)商規(guī)則,包括過程控制規(guī)則和決策規(guī)則;協(xié)商過程庫,用于存儲協(xié)商過程產(chǎn)生的消息流數(shù)據(jù)。
2.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述的協(xié)商過程引擎模塊還包括消息處理器,用于接收、發(fā)送消息,并對所接收到消息的合法性進行檢查;狀態(tài)轉(zhuǎn)換器,用于過程主體的狀態(tài)轉(zhuǎn)換控制,該控制遵循通用協(xié)議;規(guī)則觸發(fā)器,用于觸發(fā)協(xié)商規(guī)則引擎。
3.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述的協(xié)商規(guī)則引擎還包括規(guī)則事件管理器,用于響應(yīng)協(xié)商過程引擎對規(guī)則引擎的觸發(fā)事件;數(shù)據(jù)載入器,用于載入?yún)f(xié)商規(guī)則以及相關(guān)數(shù)據(jù);規(guī)則匹配器,用于將數(shù)據(jù)與協(xié)商規(guī)則進行匹配;規(guī)則匹配隊列管理器,用于接收規(guī)則匹配器生成的實例化數(shù)據(jù)隊列,進行沖突檢測和解決,提交給協(xié)商過程引擎;規(guī)則執(zhí)行器,用于執(zhí)行協(xié)商規(guī)則,依次執(zhí)行規(guī)則匹配隊列管理器傳遞過來的規(guī)則,生成新的數(shù)據(jù),將結(jié)果提交給協(xié)商過程引擎。
4.如權(quán)利要求1所述的系統(tǒng),其特征在于,還包括Web服務(wù)器,用于過程主體發(fā)布消息。
5.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述的協(xié)商模型包含三個基本元素可能參與協(xié)商的主體集合、協(xié)商原語集合、協(xié)作合同模板。
6.一種過程主體自動協(xié)商方法,包括步驟1)依次處理接收到的消息,檢驗消息的合法性;2)根據(jù)合法的消息,通過狀態(tài)轉(zhuǎn)換函數(shù)轉(zhuǎn)換過程主體的狀態(tài);3)觸發(fā)協(xié)商規(guī)則引擎,并載入?yún)f(xié)商規(guī)則以及相關(guān)數(shù)據(jù);4)根據(jù)約定的算法,將數(shù)據(jù)與協(xié)商規(guī)則進行匹配,并對其進行排序、沖突檢測和解決;5)執(zhí)行處理過的規(guī)則,生成新的數(shù)據(jù),將結(jié)果提交給協(xié)商過程引擎。
7.如權(quán)利要求5所述的方法,其特征在于,所述的消息通信采用協(xié)商原語,所述的協(xié)商原語規(guī)定了過程主體之間會話的基本語義。
全文摘要
一種基于規(guī)則的軟件過程主體自動協(xié)商系統(tǒng)和方法,該系統(tǒng)由平等的軟件過程主體互連而成,過程主體包括以下功能模塊協(xié)商規(guī)則編輯器、協(xié)商模型分析器、協(xié)商規(guī)則引擎、協(xié)商過程引擎、協(xié)商規(guī)則庫、協(xié)商過程庫。該方法包括步驟依次處理接收到的消息,檢驗消息的合法性;根據(jù)合法的消息,通過狀態(tài)轉(zhuǎn)換函數(shù)轉(zhuǎn)換過程主體的狀態(tài);觸發(fā)協(xié)商規(guī)則引擎,并載入?yún)f(xié)商規(guī)則以及相關(guān)數(shù)據(jù);根據(jù)約定的算法,將數(shù)據(jù)與協(xié)商規(guī)則進行匹配,并對其進行排序、沖突檢測和解決;執(zhí)行處理過的規(guī)則,生成新的數(shù)據(jù),將結(jié)果提交給協(xié)商過程引擎。該方法將傳統(tǒng)協(xié)商協(xié)議分為靜態(tài)的通用協(xié)議和動態(tài)的協(xié)商規(guī)則,以較低的成本為軟件過程agent的協(xié)商提供了靈活性和動態(tài)性。
文檔編號G06F9/44GK1900906SQ20061008976
公開日2007年1月24日 申請日期2006年7月14日 優(yōu)先權(quán)日2006年7月14日
發(fā)明者王青, 黎巎, 李明樹, 杜栓柱, 趙琛 申請人:中國科學(xué)院軟件研究所
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
西乌珠穆沁旗| 绵竹市| 安庆市| 房产| 九寨沟县| 阳泉市| 静宁县| 永定县| 资讯 | 自贡市| 沙洋县| 惠水县| 盘山县| 宜兰县| 舒城县| 麻阳| 华安县| 广水市| 大埔区| 德清县| 田阳县| 广西| 平罗县| 黄浦区| 定安县| 榆林市| 黄大仙区| 乐亭县| 乡宁县| 新巴尔虎左旗| 霍州市| 吉林市| 敦化市| 高淳县| 肇东市| 额尔古纳市| 如东县| 普陀区| 灵武市| 平潭县| 鲜城|