專利名稱:處理邏輯建模與執(zhí)行方法和設備的制作方法
技術領域:
本申請涉及處理邏輯的建模和執(zhí)行,尤其涉及一種處理邏輯建模方法、處理邏輯執(zhí)行方法、處理邏輯建模設備以及處理邏輯執(zhí)行設備。
背景技術:
處理邏輯表示用于完成一個過程或者復雜任務的程序步驟。處理邏輯建模是以結構化方式描述一個過程或者在IT系統(tǒng)上執(zhí)行該過程的普遍要求。為了改善業(yè)務過程的可視性并使之能夠靈活變化,工商業(yè)界一直在努力找出業(yè)務過程并將其流水線化。
已知的工作流系統(tǒng)已在本領域得到廣泛的使用。其一般的特征是一種利用基于有向圖表示的流的方法(directed graph based flowmethod),來描述用以產生特定輸出的一組結構化的活動。但是,如果過程復雜的話,尤其是對于業(yè)務分析員來說,這種流模型不易于理解。這就在業(yè)務操作層和IT實現層之間,在過程設計方面產生了鴻溝。
復雜過程不容易分解為簡單的原子過程,這是因為在流模型的任務之間具有復雜的關系,因而沒有一個對過程的關鍵任務的構成的清晰的認識。
現有技術中有一種WBS Chartpro軟件產品(http//www.criticaltools.com)。WBS Chartpro是一個項目規(guī)劃工具,可以利用一個樹狀圖(所謂的“工作分解結構圖(WBS Chart,Work Breakdown Structure Chart)”)規(guī)劃和顯示項目的調度表。WBS表顯示一個項目的結構,表示出該項目如何被分解為概要層和細節(jié)層。利用Microsoft Project(微軟項目管理軟件)中存在的直觀的自頂向下方法或者顯示規(guī)劃新的項目時,以一種易于理解的圖進行規(guī)劃。盡管該軟件利用樹狀圖來描述一個詳細的項目規(guī)劃,但是它不是為了描述流程,因此它沒有將過程的程序流水線化的能力。
又例如,題為“Apparatus and Method for Monitoring andControlling Laboratory Information and/or Instruments”的WO99/60372公開了一種系統(tǒng),用于方便實驗室信息的操作。用戶可以選擇預定的任務,將其拖放到工具界面中,在樹結構中建立一個任務序列。在運行時,處理器通過訪問靜態(tài)和動態(tài)的實驗室數據依次執(zhí)行任務序列。該發(fā)明利用樹狀結構來描述一個處理邏輯,但其目標在于描述特定領域中的序列處理,沒有足夠和必需的處理邏輯建模能力,比如并行處理、循環(huán)和子邏輯支持。
再如,題為“Task Execution Support System的美國專利USPatent No.6092048公開了一種任務支持系統(tǒng)。該任務執(zhí)行支持系統(tǒng)支持用戶按照作為網狀圖表示的流列出的任務過程的進程執(zhí)行一個任務。一個任務管理服務器包括一個用于存儲任務信息的存儲器單元,一個包括任務、事件規(guī)則和子任務結構的活動入口,多個客戶機中的每一個包括一個任務信息顯示/操作單元,使得每一個用戶能夠在任務執(zhí)行期間操作信息。該發(fā)明中的建模方法中,其子任務結構只能是順序的,而不能是并行的。其處理邏輯建模工具更象任務登記界面,而沒有擴展的編輯功能。
發(fā)明內容
針對上述問題,本發(fā)明的目的是提出一種新的處理邏輯建模和執(zhí)行方法以及相應的設備,以方便業(yè)務分析員和進行過程建模的IT人員之間的協(xié)作,在業(yè)務層設計和IT實現的設計之間保持一致性。
為此,本發(fā)明的基本思想是利用“分而治之”策略,將任務分解為子任務并用樹表示,用對樹的節(jié)點的標注表示子任務之間的相互關系,從而完成一個處理邏輯。在執(zhí)行該處理邏輯時,根據所述標注遍歷樹。遍歷的方法包括深度優(yōu)先遍歷和廣度優(yōu)先遍歷,執(zhí)行設備根據節(jié)點的標注是順序還是并行,來自動選擇深度優(yōu)先和廣度優(yōu)先遍歷算法,從而實現預定的處理邏輯。
具體地,本發(fā)明提供了一種處理邏輯建模方法,用于對一個任務建模,該方法包括分解步驟,將所述任務分解為至少一層子任務;形成樹結構的步驟,將所述任務及分解得到的各層子任務形成樹結構;標注步驟,根據子任務之間的關系,對樹結構的各節(jié)點進行標注,從而得到執(zhí)行該任務的處理邏輯模型。
其中,所述樹結構的葉節(jié)點可以包括活動節(jié)點和子邏輯節(jié)點中的至少一種,活動節(jié)點對應于可供調用的原子活動程序,子邏輯節(jié)點對應于可供調用的子邏輯?;顒庸?jié)點和子邏輯節(jié)點可以只定義規(guī)范的接口描述,在真正執(zhí)行的時候才綁定活動和子邏輯的實現模塊(應用程序,服務,部件等),只要這些活動和子邏輯提供符合該節(jié)點定義的接口規(guī)范即可。這樣,邏輯設計人員只需要定義活動節(jié)點和子邏輯節(jié)點的功能和接口,而活動和子邏輯的具體實現可以有很多種,從而使得邏輯的設計和實現都更加靈活。也就是,這種延遲綁定的能力使得設計邏輯的人員有更大的自由度去選擇和更換活動和子邏輯的實現模塊。
所述標注可以至少包括下述之一前置條件,規(guī)定執(zhí)行相應的節(jié)點需滿足的條件;后置條件,規(guī)定離開相應的節(jié)點需滿足的條件;前置任務,規(guī)定在執(zhí)行相應的節(jié)點前需執(zhí)行的任務;后置任務,規(guī)定在離開相應的節(jié)點前需執(zhí)行的任務;中間節(jié)點類型,確定其子節(jié)點是順序執(zhí)行還是并行執(zhí)行。
相應地,本發(fā)明提供了一種執(zhí)行按照上述方法建立的處理邏輯的方法,包括根據所述標注遍歷所述樹結構,并根據所述標注執(zhí)行樹結構的葉節(jié)點,從而完成所述任務的執(zhí)行。
本發(fā)明還提供了一種可以利用上述方法的處理邏輯建模設備,用于對一個任務建模,該設備包括編輯器用于將所述樹及其標注映射為所述處理邏輯的腳本的解釋器,所述編輯器包括樹編輯器,用于編輯表示將任務分解為至少一層子任務、對應于一個處理邏輯的樹;標注編輯器,用于對該樹的各節(jié)點編輯表示各級節(jié)點之間的關系的標注。
其中,所述樹編輯器和標注編輯器可以用圖形表示所述樹及其標注。相應地,所述解釋器可以包括將特定圖形元素映射為特定腳本的裝置。
該設備還可以包括一個調試器,用于對所述處理邏輯自動地或者手工地進行全局或者局部模擬執(zhí)行,以找出并顯示得到的處理邏輯中可能存在的錯誤。
與上述處理邏輯建模設備相應,本發(fā)明提供了一種處理邏輯執(zhí)行設備,其特征在于包括一個識別裝置,能夠識別上述邏輯處理建模設備產生的樹以及樹節(jié)點表示的處理邏輯,從而該執(zhí)行設備根據所述邏輯腳本遍歷所述樹,從而執(zhí)行所述處理邏輯。
本發(fā)明的其它目的、特征和優(yōu)點將在閱讀下文對優(yōu)選實施例的詳細說明后變得更為清楚。附圖作為說明書的一部分用于圖解本發(fā)明的實施例,并和說明書一起用于解釋本發(fā)明的原理。在附圖中圖1是按照本發(fā)明建立的邏輯樹的示意圖;圖2是與圖1所示相應的處理邏輯腳本;圖3是按照本發(fā)明進行子任務分解的第一個例子;圖4是對圖3所示的子任務建立樹結構和對樹進行標注的示意圖;圖5是按照本發(fā)明進行子任務分解的第二個例子;圖6是對圖5所示的子任務建立樹結構和對樹進行標注的示意圖;圖7是本發(fā)明的處理邏輯建模設備的框圖;圖8是圖7所示處理邏輯建模設備的可視化界面的舉例;圖9是應用本發(fā)明的處理邏輯建模設備和處理邏輯執(zhí)行設備的系統(tǒng)的示意圖。
具體實施例方式
下面結合附圖描述本發(fā)明的優(yōu)選實施例。請注意,在本發(fā)明的說明書和附圖中,相同或者相應的部件被標以相同的附圖標記。
“分而治之”是解決問題時最為廣泛使用的策略。也就是,一個任務常常分解為子任務。如果子任務也復雜而難以對付,則進一步細分,直到所有的子任務都能被分別擊破。分而治之策略會得出一個子任務樹結構來限定要解決的復雜任務。
但是,如背景部分所述,傳統(tǒng)的樹并沒有完整的邏輯建模的功能。在本發(fā)明中,利用對樹的節(jié)點加標注的方法,來表示復雜任務所包含的子任務之間的銜接關系。
圖1所示為本發(fā)明所使用的邏輯樹的一個示意圖。如圖1所示,在處理邏輯中有三種節(jié)點根節(jié)點Root、中間節(jié)點InterNode和葉節(jié)點。在本發(fā)明中,葉節(jié)點可以包括兩種節(jié)點活動節(jié)點Action和子邏輯節(jié)點SubLogic。這些節(jié)點具有相應的元素,這些相應的元素能夠用來對復雜的邏輯建模并定義執(zhí)行規(guī)則。
根節(jié)點是根元素,其包含要設計的處理邏輯的全局信息,比如邏輯ID、版本、參數,它只能有一個子節(jié)點,這個子節(jié)點必須是一個中間節(jié)點InterNode,圖中示為InterNode 1。
中間節(jié)點可以有一個或者多個子節(jié)點。這些子節(jié)點可以是中間節(jié)點、活動節(jié)點和子邏輯節(jié)點。按照本發(fā)明,可以對中間節(jié)點加以標注。例如,可以通過標注來定義中間節(jié)點的類型,進而確定其子節(jié)點的行為是順序執(zhí)行還是并行執(zhí)行。例如如圖1所示,中間節(jié)點下方的小方塊表示的標注表示該中間節(jié)點的類型實心方塊標注Annotation 1表示該中間節(jié)點的子節(jié)點順序執(zhí)行,空心方塊標注Annotation 2表示該中間節(jié)點的子節(jié)點并行執(zhí)行。顯然,完全可以利用其它任何圖形元素來表示上述標注。在執(zhí)行過程中,根據中間節(jié)點的類型自動選擇應用深度優(yōu)先或者廣度優(yōu)先遍歷算法。如果中間節(jié)點的屬性為順序執(zhí)行,則其子節(jié)點采用深度優(yōu)先算法,若屬性為并行執(zhí)行,則其子節(jié)點采用廣度優(yōu)先算法。在中間節(jié)點中還可以定義變量,這些變量可以由中間節(jié)點及其子節(jié)點使用。
子邏輯節(jié)點調用另一個處理邏輯。它將準備用于子邏輯調用的參數值。在處理邏輯中使用變量參數,因此輸入參數必須由變量名限定。變量應該在其任何父節(jié)點中定義。在子邏輯中,這些變量可以改變,并將反映到父邏輯的上下文中。因此,子邏輯沒有返回值,其使用變量參數將值的變化傳回父邏輯。
活動節(jié)點調用已有的活動程序來執(zhí)行一個活動?;顒庸?jié)點為活動程序準備參數,并從該活動程序取得返回值。這里,參數必須用變量名作為參數值。由于活動節(jié)點具有返回值,其不使用變量參數,而使用值參數。活動節(jié)點可以有不止一個返回值,它們可以被分別返填到邏輯上下文的變量空間中。
除了前述關于中間節(jié)點類型的標注之外,在中間節(jié)點、活動節(jié)點和子邏輯中,可以根據相應子任務之間的相互關系對它們進行標注,這可以包括4個元素前置條件、后置條件、前置任務和后置任務,來控制節(jié)點的執(zhí)行。
前置條件定義節(jié)點的入口條件。如果前置條件為假,該節(jié)點就不會被執(zhí)行。例如在圖6中,可以用前置條件來控制活動節(jié)點活動2(Action 2)、活動3(Action 3)和活動4(Action 4)的執(zhí)行。例如,假設對于一個整數a,當a等于1時需執(zhí)行活動2,當a等于2時需執(zhí)行活動3,當a不等于1也不等于2時需執(zhí)行活動4。此時,就可以為活動2、活動3、活動4分別設置一個前置條件(圖中未示出)活動2的前置條件為“a=1”,活動3的前置條件為“a=2”,活動4的前置條件為“a<>1且a<>2”。這樣,當遍歷中間節(jié)點2(InterNode2)的分支樹時,如果a=1,則活動2的前置條件成立,因而執(zhí)行活動2的節(jié)點。而活動3和活動4的前置條件均不成立,因而不執(zhí)行。
后置條件用來檢查執(zhí)行狀態(tài)。例如,可以用后置條件來實現循環(huán)過程。例如,假設有變量b,其初始值為0,并且節(jié)點的每一次執(zhí)行(如果是葉節(jié)點,則是葉節(jié)點的執(zhí)行;如果是中間節(jié)點,則是該中間節(jié)點的分支樹的執(zhí)行)都會使b增一。那么,如果將該節(jié)點的后置條件設為b>=50,則在b小于50時該節(jié)點(或者相應的分支樹)被重復執(zhí)行,否則后置條件得到滿足,該節(jié)點(或者相應的分支樹)執(zhí)行完畢。結果,該節(jié)點(或者其分支樹)被重復執(zhí)行50次。
前置任務在進入一個節(jié)點時被執(zhí)行。一般,前置任務可以為該節(jié)點的操作準備上下文和初始變量。具體來說,前置任務可以為本節(jié)點準備數據表單,或者初始化變量(也就是為變量賦值)。
后置任務在離開一個節(jié)點時被執(zhí)行,可以包括設定返回值、清除出錯狀態(tài)等。作為具體的例子,后置任務可以將本節(jié)點的執(zhí)行結果寫入數據庫中,或者將本節(jié)點的執(zhí)行狀態(tài)記錄到系統(tǒng)日志中。
圖2示出了對應于圖1所示邏輯樹的處理邏輯腳本。該腳本用XML(可擴展置標語言)語言寫成。當然,本領域的技術人員知道,處理邏輯腳本可以用任何語言寫成。
通過具有上述特征的樹,能夠對多數處理邏輯建模。根據發(fā)明人的試驗,本發(fā)明的處理邏輯能夠對多數愛因霍芬工作流模式(EindHoven workflow pattern)建模。
下面通過兩個簡單的例子來具體描述本發(fā)明的處理邏輯建模方法和相應的處理邏輯執(zhí)行方法。
首先對一個任務進行分析,將其分解為可以解決的子任務。如圖3所示,如果分析和分解的結果是一個任務可以通過順序執(zhí)行兩個活動來完成,則按照本發(fā)明,將任務表示為圖4所示的處理邏輯樹。中間節(jié)點表示要解決的問題,其可以分解為兩個順序的子任務活動1(Action 1)和活動2(Action 2)。按照本發(fā)明,為了完成對該處理邏輯的建模,對樹的各節(jié)點進行必要的標注。在本例中,活動1和活動2需要順序執(zhí)行,因而在它們的父節(jié)點也就是中間節(jié)點加上表示其子節(jié)點順序執(zhí)行的標注Annotation 1。
當執(zhí)行該處理邏輯時,遍歷所述樹。首先達到中間節(jié)點。根據該中間節(jié)點的標注Annotation 1所表示的類型,確定其子節(jié)點為順序執(zhí)行。據此,對其子節(jié)點,也就是葉節(jié)點Action 1和Action 2,執(zhí)行深度優(yōu)先遍歷算法。從而完成所述任務。
本領域的技術人員知道,圖4所示的樹的表現形式并不重要。其實質是邏輯關系上的樹。事實上,它可以是其它的表現形式,例如圖2所示的邏輯腳本的形式,后面將要說明的圖8所示的大綱圖的形式,等等。而在執(zhí)行時,處理邏輯執(zhí)行引擎一般訪問的是邏輯腳本。
下面再看一個例子。
如圖5所示,經過分析,為了完成一個任務,應當首先執(zhí)行活動1(Action 1),然后根據條件(Condition 2,Condition 3,Condition4)評估結果,執(zhí)行活動2(Action 2)、活動3(Action 3)或者活動4(Action 4)。
該任務可以表示為圖6中的處理邏輯樹。其中,中間節(jié)點1(InterNode 1)表示要解決的問題,其可以分解為兩個順序的子任務,活動1和中間節(jié)點2(InterNode 2)。中間節(jié)點具有三個平行子任務活動2,活動3和活動4。這三個子任務的每一個都具有一個前置條件定義(如前文所述),如果條件滿足,則執(zhí)行相應的活動。
按照本發(fā)明,為了完成對該處理邏輯的建模,對樹的各節(jié)點進行必要的標注。在本例中,活動1和中間節(jié)點2需要順序執(zhí)行,因而在它們的父節(jié)點也就是中間節(jié)點1加上表示其子節(jié)點順序執(zhí)行的標注Annotation 1。類似地,為中間節(jié)點2加上表示其子節(jié)點并行執(zhí)行的標注Annotation 2。對于剩下活動節(jié)點,為它們加上前置條件標注,檢查上述三個條件是否分別滿足。
當執(zhí)行該處理邏輯時,遍歷所述樹。首先達到中間節(jié)點InterNode 1。根據該中間節(jié)點的標注所表示的類型,確定其子節(jié)點為順序執(zhí)行。據此,對其子節(jié)點,也就是葉節(jié)點Action 1和中間節(jié)點InterNode 2,執(zhí)行深度優(yōu)先算法。根據該中間節(jié)點InterNode 2的標注所表示的類型,確定其子節(jié)點為并行執(zhí)行。據此,對其子節(jié)點,也就是葉節(jié)點Action 1、Action 2和Action 3,執(zhí)行廣度優(yōu)先遍歷算法。在執(zhí)行這三個葉節(jié)點時,首先檢查它們的前置條件,在滿足前置條件的情況下才執(zhí)行相應的活動節(jié)點。從而完成所述任務。
上面只是用于說明本發(fā)明的原理的兩個簡單的例子。事實上,在每一個節(jié)點,可以設置任意標注,來達到所需的目的。例如,通過在任何需要的葉節(jié)點或者中間節(jié)點設置后置條件,使得相應的葉節(jié)點或者分支樹遞歸執(zhí)行,從而實現循環(huán)過程;還可以在標注中為葉節(jié)點的交互作用指定通信機制;等等。所有這些使得本發(fā)明得方法能夠描述復雜的圖式流。
相應于本發(fā)明的方法,本發(fā)明還提供了一種處理邏輯建模設備。本發(fā)明的處理邏輯建模設備可以實現在計算機或者其它形式的計算設備中。
如圖7所示,處理邏輯建模設備700主要包括一個編輯器702和一個解釋器704。它們均在計算設備的微處理器比如CPU等和存儲設備中實現,其中編輯器還包括輸入設備710和輸出設備712。所述編輯器包括樹編輯器706和標注編輯器708,利用輸入設備例如鼠標和鍵盤和輸出設備比如顯示器,按照前述方法編輯樹和對樹的節(jié)點的標注。所述解釋器704則將所述樹和對節(jié)點的標注映射為處理邏輯腳本。
如前所述,樹和標注可以表現為多種形式。最為方便的是表示為圖形的形式。具體來說,就標注而言,還可以表示為格式化文本的形式,或者帶文字的圖形的形式,等等。顯然,對于本領域普通技術人員來說,樹和標注可以被表達為任何形式。這里假設用不同的圖形元素來表示節(jié)點及其標注也就是節(jié)點的各種屬性。此時,所述編輯器還包括顯示在所述輸出設備上的圖形用戶界面。在整個界面上可以預先提供或者由用戶定義各種圖形元素,例如有關樹結構的圖形元素和關于標注的圖形元素(比如前述空心和實心方塊,表示前置條件“a=1”的帶“a=1”或者類似文本的圖形元素,等等)。每一個圖形元素對應于處理邏輯腳本的特定片斷。這樣,每當在樹中加入新的圖形元素(例如利用鼠標將圖形元素庫中的特定圖形元素拖放到樹上的適當位置處,比如,前置條件的圖形元素可以放置在相應節(jié)點的圖形元素上部,后置條件的圖形元素可以放置在相應節(jié)點的圖形元素的下部),解釋器就將相應的腳本片斷加入處理邏輯腳本中。從而,伴隨著樹和標注的編輯,可以動態(tài)生成處理邏輯腳本。
顯然,對于本領域普通技術人員來說,可以采用任何圖形編輯手段完成上述圖形編輯。圖形元素與腳本片斷的映射也是本領域的常規(guī)技術手段。
圖8所示為本發(fā)明的處理邏輯建模設備的作為舉例的圖形用戶界面800。窗口包括4個部分導航器802、編輯器804、大綱圖806和屬性頁808。設計的邏輯的數據模型可以在這四個不同的窗口之間同步。
在編輯器中提供了一組圖形化編輯工具(可以體現在主菜單和工具欄中),從而允許用戶可視化地設計處理邏輯畫出一個樹結構,表示出一個相對復雜的任務如何分解為子任務,葉節(jié)點就是最終的原子活動。樹上的屬性,比如數據、轉換規(guī)則、對應的活動程序等,可以與每一個節(jié)點和葉節(jié)點關聯起來。上面所述的各種圖形元素可以象現有技術中編輯器的菜單或者工具欄一樣的方式提供,并且可以自定義。前述解釋器(未體現在圖形化界面中)可以將邏輯樹動態(tài)地映射為處理邏輯腳本(例如XML格式)。為了便于活動的引用,還提供了在活動庫中檢索活動程序登記信息的界面。
為了業(yè)務主管審閱的目的,編輯器還提供了強大的注釋能力,用戶可以在每一個節(jié)點作注釋,還可以在圖面上作總評述,作為一個標貼。屬性頁可以用來設置每一個節(jié)點各自的屬性值。還提供了錯誤警告、模擬調試以及與布署有關的特征,以便于處理邏輯的開發(fā)、調試和布署。
為運行運用本發(fā)明的邏輯處理建模方法和設備建立的處理邏輯,傳統(tǒng)的處理邏輯執(zhí)行引擎需要作相應的改進,那就是,需要具有識別和解釋前述標注(如前所述,這些標注在邏輯腳本中實際上體現為有特定格式的代碼段)的裝置。這樣,本發(fā)明的處理邏輯執(zhí)行設備(引擎)根據樹的結構及其標注遍歷樹,從而完成處理邏輯的執(zhí)行。
處理邏輯建模的環(huán)境(設計時環(huán)境)和執(zhí)行的環(huán)境(運行時環(huán)境)在其它方面與現有技術是一致的,因此在本發(fā)明中未對這些方面作詳細的說明。下面僅結合圖9對支持設計和執(zhí)行處理邏輯的系統(tǒng)(設計時環(huán)境902和運行時環(huán)境904)及其運行過程作一概括說明。
如圖9所示,用戶能夠通過本發(fā)明的邏輯處理建模設備700設計新的處理邏輯,在經過彩排服務器906模擬運行確認能夠付諸使用后,將其布署到邏輯庫908中。
在運行時環(huán)境904中,通過執(zhí)行引擎調用界面接收請求消息,可以調用一個處理邏輯。消息分配器在入站隊列中拾取消息,將該消息綁定給相應的處理邏輯,然后邏輯腳本從邏輯庫908中被裝載到執(zhí)行設備910(引擎)內核。然后,執(zhí)行設備通過饋送業(yè)務消息所包含的數據,建立一個處理邏輯實例。然后通過遍歷邏輯樹在執(zhí)行設備上執(zhí)行該邏輯?;顒诱{用代理程序912使得執(zhí)行設備910能夠調用邏輯中定義的活動。AIB從活動程序庫914中檢索與調用參數相應的活動,然后執(zhí)行調用。當樹上存在子邏輯節(jié)點時,執(zhí)行設備還可以從邏輯庫中調用子邏輯。執(zhí)行設備還可以提供運行時管理控制臺,用于監(jiān)視執(zhí)行設備的運行狀態(tài),管理邏輯庫。
由上述說明可知,本發(fā)明至少具有下述優(yōu)點1.帶標注的樹能夠滿足處理邏輯建模的大多數需求。本發(fā)明的建模方法非常易于學習。其提供了一種對過程的目標及其詳細任務的清晰的樹結構圖,同時使得業(yè)務人員和IT人員都易于理解。
2.分層樹狀處理邏輯結構方便了業(yè)務分析員和進行過程建模的IT人員之間的協(xié)作。業(yè)務分析員可以先設計任務細分結構,然后IT人員對每一個節(jié)點作出詳細的數據定義。因此,本發(fā)明有助于解決所述背景技術部分所述的業(yè)務分析員和IT人員之間不易銜接、配合的問題,在業(yè)務層設計和IT實現的設計之間保持一致性。
3.處理邏輯樹的每一個分支是對一組任務或者程序的原子描述。因此,其非常容易部件化為子邏輯,可以提高原子處理邏輯的可重復使用性,并使得主邏輯清晰而易于理解。
4.利用本發(fā)明的設計工具來設計處理邏輯,不需要進行任何編程或者腳本編輯。工具上下文中的每一個對象的拖放功能定義一個過程。同時還提供了靈活的圖形編輯工具。根據圖形編輯,能夠動態(tài)生成邏輯XML腳本。
以上以舉例的方式對本發(fā)明的若干具體實施方式
進行了說明,但上述說明不能解釋為限制本發(fā)明的保護范圍。相反,在閱讀以上說明后,對于本領域的技術人員顯而易見的一切變型或者等同方案都在本發(fā)明的保護范圍之內。
權利要求
1.一種處理邏輯建模方法,用于對一個任務建模,該方法包括分解步驟,將所述任務分解為至少一層子任務;形成樹結構的步驟,將所述任務及分解得到的各層子任務形成樹結構;標注步驟,根據子任務之間的關系,對樹結構的各節(jié)點進行標注,從而得到執(zhí)行該任務的處理邏輯模型。
2.如權利要求1所述的方法,其特征在于,所述形成樹結構的步驟包括形成包括活動節(jié)點和子邏輯節(jié)點中的至少一種的葉節(jié)點,其中,活動節(jié)點對應于可供調用的原子活動程序,子邏輯節(jié)點對應于可供調用的子邏輯。
3.如權利要求2所述的方法,其特征在于,形成包括活動節(jié)點和子邏輯節(jié)點中的至少一種的葉節(jié)點的步驟包括定義活動節(jié)點和/或子邏輯的接口描述;根據所述接口描述綁定活動和子邏輯的實現模塊。
4.如權利要求1到3之一所述的方法,其特征在于,所述標注步驟包括標注至少包括下述之一前置條件,規(guī)定執(zhí)行相應的節(jié)點需滿足的條件;后置條件,規(guī)定離開相應的節(jié)點需滿足的條件;前置任務,規(guī)定在執(zhí)行相應的節(jié)點前需執(zhí)行的任務;后置任務,規(guī)定在離開相應的節(jié)點前需執(zhí)行的任務;中間節(jié)點類型,確定其子節(jié)點是順序執(zhí)行還是并行執(zhí)行。
5.執(zhí)行按照權利要求1建立的處理邏輯的方法,包括根據所述標注遍歷所述樹結構,并根據所述標注執(zhí)行樹結構的葉節(jié)點,從而完成所述任務的執(zhí)行。
6.如權利要求5所述的方法,其特征在于,所述樹結構的葉節(jié)點包括活動節(jié)點和子邏輯節(jié)點中的至少一種,執(zhí)行所述活動節(jié)點時調用原子活動程序,執(zhí)行所述子邏輯節(jié)點時調用一個子邏輯。
7.如權利要求5或6所述的方法,其特征在于,所述標注至少包括下述之一前置條件,規(guī)定執(zhí)行相應的節(jié)點需滿足的條件;后置條件,規(guī)定離開相應的節(jié)點需滿足的條件;前置任務,規(guī)定在執(zhí)行相應的節(jié)點前需執(zhí)行的任務;后置任務,規(guī)定在離開相應的節(jié)點前需執(zhí)行的任務;以及中間節(jié)點類型,確定其子節(jié)點是順序執(zhí)行還是并行執(zhí)行;該方法還包括當遍歷到某一節(jié)點時,檢查其標注,根據所述前置條件確定是否執(zhí)行該節(jié)點,根據所述后置條件確定是否離開該節(jié)點,根據所述前置任務在執(zhí)行該節(jié)點之前執(zhí)行該前置任務,根據所述后置任務在離開該節(jié)點之前執(zhí)行該后置任務,并根據該節(jié)點的類型確定對其子節(jié)點是執(zhí)行深度優(yōu)先遍歷算法還是廣度優(yōu)先遍歷算法。
8.一種處理邏輯建模設備,用于對一個任務建模,該設備包括編輯器,包括樹編輯器,用于編輯表示將任務分解為至少一層子任務、對應于一個處理邏輯的樹;標注編輯器,用于對該樹的各節(jié)點編輯表示各級節(jié)點之間的關系的標注;解釋器,用于將所述樹及其標注映射為所述處理邏輯的腳本。
9.如權利要求8所述的設備,其特征在于,所述編輯器還包括一個圖形用戶界面,在該圖形用戶界面上提供或者由用戶在該圖形用戶界面上定義各種圖形元素,所述樹編輯器和標注編輯器利用所述圖形元素在該圖形用戶界面上編輯表示所述樹及其標注的圖形,所述解釋器包括將特定圖形元素映射為特定腳本的裝置。
10.如權利要求9所述的設備,其特征在于,所述圖形元素包括對應于樹結構的圖形元素和對應于標注的圖形元素。
11.如權利要求9或10所述的設備,其特征在于,所述圖形元素包括格式化的文本。
12.如權利要求8到10之一所述的設備,其特征在于還包括一個調試器,用于對所述處理邏輯自動地或者手工地進行全局或者局部模擬執(zhí)行,以找出并顯示得到的處理邏輯中可能存在的錯誤。
13.一種處理邏輯執(zhí)行設備,其特征在于包括一個識別裝置,能夠識別如權利要求8所述邏輯處理建模設備產生的處理邏輯腳本中的標注,從而該執(zhí)行設備根據所述標注遍歷所述樹,從而執(zhí)行所述處理邏輯。
全文摘要
本申請公開了處理邏輯建模與執(zhí)行方法和設備。其中,將任務分解為子任務并用樹表示,用對樹的節(jié)點的標注表示子任務之間的相互關系,從而完成一個處理邏輯。在執(zhí)行該處理邏輯時,根據所述標注遍歷樹。
文檔編號G06F15/18GK1713192SQ20041006005
公開日2005年12月28日 申請日期2004年6月25日 優(yōu)先權日2004年6月25日
發(fā)明者田忠, 葉盛, 張欣, 李靜, 孫偉, 張冠群 申請人:國際商業(yè)機器公司