業務服務通信的自動化實現和/或通過變量的自動生成與種群對可執行流程的連結的製作方法
2023-05-14 07:32:06
專利名稱:業務服務通信的自動化實現和/或通過變量的自動生成與種群對可執行流程的連結的製作方法
技術領域:
此處描述的特定的示例實施例涉及用於與控制流模型相關的數據流鏈路的變量的生成。此處的特定的示例實施例也涉及壓縮流程模型(例如,事件驅動流程鏈EPC模型)的數據流的流程圖(例如,自動化流程圖)的創建。在特定的示例實施例中,為通過自動化流程圖連結可執行的流程提供變量的生成,以便數據流可以被集成到所述EPC模型中。而且,在特定的示例實施例中,集成的EPC模型可能被轉換為BPMN模型。可選擇地,所述轉換可能相反地發生,以便從修改的EPC模型創建自動化模型。
背景技術:
業務可能具有大量的、複雜的流程,在一個給定的流程被認為「已完成」之前,有時要求來自不同的人、部門、或者甚至公司的輸入。比如,處理一個用於生產線的訂貨單可能包括來自採購部門的輸入(購買原材料)、設計團隊的輸入(設計產品)、裝配部門的輸入(製造所述產品)、質量控制團隊的輸入(檢驗所述產品)、銷售部門的輸入(出售生產的產品)等。這些團隊中的每一個可能有用於所述流程的要完成的許多不同的子任務,這些子任務作為一個整體被推進。通過檢查表、語言通信或諸如此類的來人工檢查流程通常效率較低並且提高工作流中出現錯誤的可能性(例如,由於定義的流程不符合)。公司可以用於提高執行流程的效率的一種技術包括實行業務流程自動化,例如,通過根據業務流程模型描述所述流程。當然,將理解到本發明不限於業務流程建模,而很可能將用在其他場景中,比如複雜的技術產品的系統工程。比如,汽車的開發流程現在主要基於模型。在這個場景中,各種汽車構件可能在系統範圍的級別上被建模,定義主要的機械構件(比如底盤、引擎和動力傳動機構等),還有電氣/電子組件仳如雨量傳感器、限速器,嵌入式處理器和相關的軟體)。而且,當開發流程繼續,單獨的汽車組件本身由越來越多的具體的技術模型定義,最後形成在不同抽象層次上但仍強烈相關的各種技術組件模型。特定的示例實施例的其他的技術應用可能包括,比如技術製造流程或通過技術設備執行的定義步驟流的流程,比如用於執行製造流程的機器人化的自動化設備。流程可以以多種符號被建模,其中最流行的一種是業務流程建模與標記(BPMN)。BPMN或多或少是技術上的並且可能被轉換為可執行的流程圖,並且例如可通過集成信息系統架構(ARIS)流程管理(APG)伺服器執行,這可能對本申請的受讓人是可用的。另一類型的符號被稱為EPC (事件驅動流程鏈)。在特定的方面,對於特定類型的用戶這個符號可能更簡單和/或更直觀。比如,業務終端用戶(例如,非技術用戶)可能比起BPMN,在EPC中設計流程使用起來更舒適。然而,當業務流程被執行或採用時,BPMN是更優的。提供兩種功能的一種方式是提供自動轉換,其中EPC模型可能被轉換為BPMN模型(反之亦然)。這樣的轉換可能在美國公開號為2009/0265684和美國申請號為13/280,960與13/024,646的專利中被詳細描述,每個專利的全部內容在此通過引用被併入本申請中。相應地,用戶可能在EPC中設計模型並為將EPC轉換為BPMN (例如,通過比如EPC2BPMN的轉換)的系統提供EPC符號。生成的轉換可能被傳送到執行BPMN的ARIS流程管理(APG)伺服器。但是,EPC沒有超出它的缺陷。比如,雖然EPC可能對特定的用戶更容易操作,但由於複雜性和/或正被建模的流程的大小,它可能變得難操作(例如,因為成百上千的步驟可能包含在用於適當複雜的環境的流程模型中)。訪問由EPC提供的「過細的」粒度的一種技術是執行新的抽象層級,其允許通過塊來設計流程而不是使用單一的可執行元素。但是,這種技術可能具有缺陷。比如,所述新的抽象層級可能提高模型的複雜性導致可能越來越難於(或在特定的例子中不可能)在不同的業務服務之間傳輸數據,其本身可能是可執行的流程。此外,這個類型的方法可能不支持服務的模塊性,考慮到但是代替地在數據流中發生每個改變後,可能要求檢查整個可執行流程。將理解到,這可能潛在地降低最初提供的抽象的有效性。這個問題的例子在圖32中顯示。更具體地,圖3200包括具有各自非常大的單獨的元素的多個大的EPC模型,但是,單獨的元素是小的並難於讀取的。而且,如果用戶縮小的程度過大,用戶可能迷失並且不能抓住目標或正被建模的流程的「更大的圖」。此外,簡單地放大(如圖32中所示)不能提供非常高層級的視圖,其中用戶可以對準流程的目標。如上所解釋的,對此進行訪問的一種方法是增加一個新的抽象層級。這樣,圖32也包括用於隱藏複雜性的抽象層級。這通過增值鏈圖(VA⑶)3202的使用完成。在圖3200中的EPC模型被分配給每個鏈,並且控制流通過特定的事件對象(在每個模型的結束/開始的流程接口)傳遞(例如,在圖3200中的箭頭)。所述VACD流程圖方法的一個問題是可能在某些情況下不可能為每個鏈在EPC流程圖內控制數據流或對數據流建模。這個問題顯示在圖33中,其中VACD圖從EPC圖不「知道」數據流相關性(通過圖33中的箭頭表示)。在特定的例子中,問題可能起因於這樣的實施。比如,一個活動在伺服器上流程執行過程中故障,所述故障可能不意味著問題存在於該「問題」活動對象位於的EPC模型中。反而,這個問題可能在另一個EPC模型中,其已經在執行鏈向上/向下傳播這個問題。此外,可能提供可工作的鏈不一定是可行的(在EPC模型的支持下),因為可能包括在另一個EPC中對數據流的引用。而且,可能不可能分別測試每一個鏈,並且替代地,可能需要測試整個流程。缺少組件測試可能導致流程開發的較長的設計和/或測試時間。這樣,將理解到在本領域中需要對業務流程建模的改進的技術,其通過多種標記方案如,EPC、BPMN和諸如此類的進行。在不同的模型層級之間正確地轉換的問題,在上述系統工程環境中是同樣嚴格的。比如,較強的相互關聯性可能存在於汽車的車輛構件的較低的抽象(例如,細粒度的)技術模型和較高的抽象(例如,更粗粒度的)構件或全部的車輛模型之間。這是因為汽車構件典型地在更高抽象層級上具有多個交互作用點,其被正確地反射在較低層級的模型中並且反之亦然,一個例子是一個光學的或基於雷達的傳感器構件可能由基於軟體的限速器和緊急破壞構件共享。這樣的相互關聯性,以及其它的特徵交互可能使得在不同的模型層級之間的模型元素的正確的和一致的轉換更困難。
發明內容
因此,在特定的示例實施例中,提供用於變量的生成與種群的技術(或算法)。這樣的變量的生成與種群可能工作和/或由「自動化流程圖」提供。在特定的示例實施例中,所述流程圖可能提供獨立的可執行的塊之間的通信和/或可能控制所述塊之間的相關性。在特定的示例實施例中,可能提供經由自動創建的和/或用對應的值填充的變量,通過原子操作和服務之間的連結的自動生成而在不同的「塊」(例如,可能是複雜的業務服務)之間連接的自動化實現。特定的示例實施例可能提供以下和/或其它的一個或更多的優點: 流程的可工作可執行的塊;.「準備運行」的模塊化業務服務; 在這樣的流程的調試和測試上,減少時間和精力;以及 簡化流程設計和/或對用戶清楚實現。在特定的示例實施例中,可能提供一種用於提供自動化流程圖的系統。在特定的示例實施例中,自動化流程圖的生成獨立於EPC模型的創建而被完成。換句話說,自動化流程圖可能不生成於EPC模型。在特定的示例實施例中,自動化鏈之間的數據流可能被自動生成。在特定的示例實施例中,提供一種將可執行的流程相互連結的方法。提供包括多個組件的基礎控制流模型,,所述組件中至少一些包括一個或更多數據欄位。提供包括多個塊的自動化模型,每個所述的塊與基礎控制流模型的部分子集相關聯並包括與基礎控制流模型的各自的部分子集關聯的數據欄位的指令。在自動化模型的塊中的數據欄位的至少一些指令之間的關係被定義。對於在自動化模型中的每個塊,通過以下步驟響應將基礎控制流模型轉換為轉換的控制流模型的請求:確定所述塊中的數據欄位的哪些指令是用於所述塊的輸出;對於每個所述輸出,確定所述多個塊中的另一個的對應的輸入;在轉換的控制流模型中生成新的組件;創建用於對所述塊的每個輸出和對所述多個塊中的另一個的每個輸入的新的組件的變量;將創建的變量相互關聯,以根據在自動化模型中表徵的定義的關係指示兩者之間的連接;以及將新的組件注入到與所述塊相關的部分子集中。在特定的示例實施例中,提供一種將可執行的流程相互連結的系統。存儲介質被配置為包括多個組件的存儲控制流模型,,所述多個組件中的至少一些包括一個或更多數據欄位。所述存儲介質也被配置為存儲包括多個塊的自動化模型,每個所述的塊與基礎控制流模型的部分子集相關聯並包括與基礎控制流模型的各自的部分子集關聯的數據欄位的指令,其中在自動化模型的塊中的數據欄位的至少一些指令之間的關係被定義。所述系統包括具有至少一個處理器的處理系統。所述處理系統被配置為,對於在自動化模型中的每個塊,通過以下動作響應將基礎控制流模型轉換為轉換的控制流模型的請求:確定塊中的數據欄位的哪些指令是用於塊的輸出;對於每個所述輸出,確定所述多個塊中的另一個的對應的輸入;在轉換的控制流模型中生成新的組件;創建用於對塊的每個輸出和對所述多個塊中的另一個的每個輸入的新的組件的變量;將創建的變量相互關聯,以根據在自動化模型中表徵的定義的關係指示兩者之間的連接;以及將新的組件注入到與所述塊相關的部分子集中。在特定的示例實施例中,提供連結基礎控制流流程模型的片段的一種計算機實現方法,所述基礎控制流流程模型包括在所述片段之間劃分的多個組件。所述多個組件中的至少一些包括一個或更多的數據欄位。 所述多個片段包括分別包括第一和第二組件的第一和第二片段,所述第一和第二組件包括第一和第二數據欄位。包含多個塊的基礎自動化模型被創建,所述多個塊包括至少一個第一塊和一個第二塊。在所述基礎自動化模型的多個塊之間的多個關係被定義,所述定義的多個關係包括在所述第一塊和所述第二塊之間的第一關係。將所述基礎自動化模型與所述基礎控制流流程模型相關聯以創建組合模型,其包括:將所述基礎控制流模型的片段中的每一個與所述基礎自動化模型的多個塊中的各自一個相關聯,所述第一和第二片段分別與所述第一和第二塊相關聯;以及將各自的組件中的至少一些組件的至少一些數據欄位分配到多個關係,包括將所述第一數據欄位分配到所述第一關係和將所述第二數據欄位分配到所述第一關係。在特定的示例實施例中,提供一種將可執行流程相互連結的計算機實現方法。提供包括多個組件的基礎控制流模型,,所述多個組件中的至少一些包括一個或更多的數據欄位。提供包括多個塊的自動化模型,每個所述的塊與基礎控制流模型的部分子集相關聯並包括與基礎控制流模型的各自的部分子集關聯的數據欄位的指令,其中在自動化模型的塊中的數據欄位的至少一些指令之間的關係被定義。對於在自動化模型中的所述塊中的至少一個,通過以下動作響應將基礎控制流模型轉換為轉換的控制流模型的請求:在所述轉換的控制流|旲型中生成個新的組件;以及根據在自動化|旲型中表徵的定乂的關係,為所述新的組件創建一個錨點。在特定的示例實施例中,生成的變量可能被連結從而定義一個數據流。此外,或可選地,在特定的示例實施例中,流程或事件可能被連結。因此,可能在在一個組件中創建的錨點和在另一個組件中創建的錨點之間創建一個連結。特定的示例實施例也提供可觸地存儲用於執行上述總結的和/或其它方法的指令的非暫態計算機可讀存儲介質,以及對應的電腦程式。特定的示例實施例可能包括被配置為實施也由特定的示例實施例提供的上述總結的和/或其它方法的系統。這些特徵、方面、優點和示例的實施方式可能被分別使用和/或以多種結合應用以實現本發明的進一步的實施例。
通過結合附圖引用以下示例說明的實施例的詳細描述,可以更好並更完全地理解這些和其它的特徵與優點,附圖為:圖1A是根據特定的示例實施例的包含控制和數據流處理的示例的EPC到BPMN轉換的不意圖;圖1B是根據特定實施例的流程流圖;圖1C是對應於圖1B中的流程流的示例的數據流圖;圖2是顯示通過鏈數據欄位在流程之間的通信的示例流程圖; 圖3A是根據特定的示例實施例包含自動化流程圖的示例的EPC到EPC到BPMN轉換的不意圖;圖3B是示例的自動化流程圖的示意圖;圖 4顯示根據特定的示例實施例在與此相關的自動化流程圖中可能具有對應的鏈的示例流程;圖5是定義與業務流程模型關聯的鏈欄位的示例用戶界面;
圖6是與業務流程模型關聯的用於鏈的示例流程圖;圖7是根據特定的示例實施例顯示處理流程的設計和執行的示例組件的示意流程圖;圖8是顯示創建可執行的業務流程的示例轉換的示意流程圖;圖9是根據特定的示例實施例顯示業務流程轉換的示意流程圖;圖10是示例的自動化流程圖;圖11顯示根據特定的示例實施例從第一 EPC模型到第二 EPC模型的示例轉換;
圖12是另一個示例的自動化流程圖;圖13顯示可能與業務流程模型有關的示例的鏈;圖14-17顯示基於圖12的自動化流程圖用於各自的鏈的示例的功能分配圖;圖18-21顯示根據特定的示例實施例的示例的EPC模型和它們各自的數據欄位;圖22-25顯示從圖18_21的各自的EPC模型示例轉換的具有注入的數據流的修改的EPC模型;圖26-29顯示從在圖22_25中顯示的EPC模型轉換的BPMN模型;圖30是根據特定的實施例用於執行業務流程的示例的轉換流程;圖31顯示根據特定的示例實施例的示例的處理系統;圖32是與VA⑶模型關聯的EPC模型的示意圖;以及圖33是顯示EPC模型中的流程的數據欄位之間的關係的EPC模型的示意圖。
具體實施例方式
在傳統的應用中,業務流程標記涉及表達一個「控制流」。比如,財務主管批准一項購買,然後可能觸發進一步的事件,其中公司的財務總監必須批准一項購買(例如,如果該項購買超過一定的金額)。換句話說,一系列的事件被觸發。監控(或查看)這些事件流是業務流程模型的特徵之一。用戶可以查看從事件到事件的流。如上所述,業務流程模型可能以EPC符號表達。這樣的創建的EPC模型可能被轉換為BPMN(例如,更技術性的符號),並且最後被執行或部署以供使用。但是,這些符號可能在顯示定義的業務流程模型的多個之間和/或兩者之間的潛在的數據流起到相對較弱的作用。這樣,特定的示例實施例提供可表示用於給定的控制流的數據流的「數據流」視圖(例如,更傳統的EPC模型)。在特定的示例實施例中,一個示例的數據流視圖/流程圖/模型可能從給定的串串業務流程模型被自動創建。在特定的示例實施例中,用戶界面可能被提供以促進數據流視圖/流程圖/模型的創建。換句話說,所述系統的用戶可能創建數據流然後在與給定的業務流程模型相關的多個數據視圖之間分配值或連結。在特定的示例實施例中,數據流模型可能以來自自動和人工任務兩者的輸入被創建。比如,與給定的模型相關的數據欄位可能被提取以形成原始數據視圖。然後用戶可能將這些數據欄位在多個數據視圖之間關聯以創建可視的數據「流」。如上所述,EPC符號可能是更「用戶友好的」用於業務用戶的建模語言。但是,在特定的情況下,可能期望對以EPC符號(或另一個面向業務流程描述)建模的業務流程創建更技術性的描述(例如,BPMN)。圖1A是根據特定的示例實施例的包含控制和數據流處理的示例的EPC到BPMN轉換的示意圖。此處,用戶(例如,業務用戶)最初以EPC符號設計業務流程。比如,所述業務流程可能是訂單執行業務流程。除流程的控制流外,用戶也可能包括描述數據怎樣在多個模型或流程之間流動的數據流。在一個特定的點,用戶可能將業務流程模型(例如,以EPC符號說明)轉換(例如,通過轉換流程)為更技術性的描述(例如,以BPMN)。比如,所述轉換可能是比如在美國申請號為N0.13/280, 960的專利中描述的EPC2BPMN轉換,其全部內容在此通過引用被併入本申請中。一旦被部署,所述流程可能被運行或執行以便設計的訂單執行流程可能被比如公司的銷售團隊使用。圖1B和IC提供用戶初始創建的流程的更詳細的視圖。圖1B是根據特定實施例顯示示例的業務流程的流程流圖,圖1C是對應於圖1B中的流程流的示例的數據流圖。此處,所述業務流程開始於121並進行到步驟「誰提問」122A。這個事件包括通過輸入的欄位124A的尤裡的輸入和通過輸入欄位123選擇第二用戶的指令。一旦用戶被選擇,通過步驟126A的文本欄位125問題被輸入。隨後,當在130A電子郵件被生成或接收,所述流程進行到實時消息步驟128A。在實時消息後,所述流程在129結束。圖1C中的數據流圖可能被自動生成以顯示與圖1B的流程流圖相關的數據流。更具體地,步驟122A,124A,與126A,128A,與130A中的每個都具有各自的數據欄位122B, 124B, 126B, 128B,與130B。所述數據流圖然後映射變量或參數信息怎樣在多個步驟之間移動。這樣,比如,用戶可以確定實時消息使用來自步驟126A的文本欄位125的內容,並且來自郵件130A的主題欄位的文本作為實時消息的輸入。在特定的示例實施例中,數據被提取比國內切用戶分配數據怎樣流動。傳統的流程模型(例如,EPC模型)可能變得太大而不能有效維持。嘗試創建進一步的抽象層級(例如,VACD)可能發生故障,因為對頂層抽象層級的改變可能不能有效地轉化到較低層的更技術性的模型。因此,本申請的發明人已經提出「自動化流程圖」。在特定的示例實施例中,所述流程圖可能將另一個抽象層增加到業務流程層級(例如,以EPC或其它符號),所述業務流程層級具有用於鏈的附加變量(或其它實體,例如,流程、事件等)生成,其可能基於該信息創建。在特定的示例實施例中,在自動化流程圖中的通信發生在用於流程圖的鏈的數據欄位之間。因此,在特定的示例實施例中,在可執行的流程流EPC之間可能沒有通信。圖2顯示示例的流程圖,其中鏈數據202,204和206可能分別包括來自關聯模型的數據欄位。所述模型之間的轉換關於鏈之間的數據而不是關聯的EPC模型的流程流被定義。圖3A是根據特定的示例實施例包含自動化流程圖的示例的EPC到EPC到BPMN轉換的示意圖。此處,第一 EPC模型視圖302包括傳統的流程流圖306和自動化流程圖304(其與圖3B顯示的流程圖相同)。如此處所討論的,所述自動化流程圖可能被自動、人工或其結合而生成,以顯示關聯的實體或模型等之間的數據流。所述流程圖可能基於給定的流程模型,比如以EPC符號描述的流程模型。在特定的示例實施例中,所述流程流圖和自動化流程圖可能以EPC符號描述。在特定的示例實施例中,所述流圖以EPC模型定義並且所述自動化流程圖以獨立的符號定義(例如,分離於EPC)。在任何情況下,所述流程圖可能從它們在302中的狀態轉換為306中顯示的另一個EPC流程圖(例如,EPC2EPC轉換)。在數據流圖304中提出的變量可能被轉換為生成的「映射」活動。然後生成的映射活動可能被注入或插入視圖306中的流圖。在特定的示例實施例中,所述生成的映射活動在連結到另一個模型(例如,EPC模型)之前被設置。比如,這可能比如用事件和流程接口對象完成。在特定的示例實施例中,對於每個定義的塊到塊通信,映射活動被生成和插入。如上所述,在所述302視圖中,所述流程控制圖沒有以任何明確的方式連結。這樣,在特定的示例實施例中,生成的或插入的活動可能促進將業務流程連結在一起,而仍然維持數據流控制圖304。在特定的示例實施例中,所述生成的變量可能位於生成的映射活動的數據流圖中。在特定的示例實施例中,所述映射活動的對象類型可能是「功能」。一旦所述轉換流程模型被創建(例如,以EPC符號),然後它可能被轉換為用於部署、檢查、執行等的BPMN310模型。圖3B是來自圖3A的自動化流程圖304的更近的視圖。所述自動化視圖包括塊(自此可能指鏈),所述塊分別包含給定模型(例如,所述「批准模型」)的數據欄位。在特定的示例實施例中,一個塊可能與業務流程的一個或更多的原子實體關聯。比如,一個模型可能包括15個單獨實體。因此,一個塊可能與一個完整的流程模型關聯並且所述模型的數據欄位可能包括在所述塊中。控制流程模型的流程、功能和類似的可能自動地或人工地與塊關聯。比如,用戶可能將流程流的實體拖放到關聯的數據流塊中。在特定的示例實施例中,用這樣的實現,可能創建數據欄位之間的連接並且後來控制那些塊被執行哪些塊不被執行(例如,如上所解釋的什麼時候自動化流程圖被用於轉換)。因此,代替以傳統的控制流定義模型之間的轉換,模型之間的轉換可能在每個模型的數據之間被定義。圖4顯示根據特定的示例實施例的示例鏈目錄。在特定的情況下,所有可用的塊可能在EPC中被列為功能。功能可能設計在EPC中的活躍(active)元素和/或描述從最初狀態到結果狀態的轉換。這可能使得用於更容易知道哪些塊存在。此外,從技術的觀點,這可能給用戶一個相對清楚的起始點。在特定的示例實施例中,每一個功能表示一個塊並且它包含對功能分配圖的分配,所述功能分配圖描述各自的塊的數據欄位。圖5是定義與業務流程模型關聯的鏈欄位的示例用戶界面。此處,所有與西裡爾(Cyrillic)屏幕模型相關的數據欄位被呈現給用戶。在EPC流程設計過程中模型的數據欄位可能被指定。在特定的示例實施例中,有兩種類型的自動鏈數據欄位。強制性(Mandatory)欄位必須在流程圖執行之前定義。如果這些欄位沒有被定義,適當的信息可能通過確認程序顯示給用戶(例如,出錯消息或類似的),並且執行可能被拒絕。另一方面,可選的欄位可能被配置為用戶期望的。這樣的欄位對執行行為可能或可能不具有直接的影響。通常,自動化鏈數據欄位可能是用於獲得鏈的輸入信息的輸入欄位、用於與另一個鏈共享信息的輸出欄位、或同時包括以上兩種性質的輸入和輸出欄位。所述自動化鏈數據欄位可能也具有多種不同的類型。比如,這樣的類型可能包括字符串、布爾值、十進位值、日期、定義的用戶、文件、對象和類似的。圖6是與業務流程模型關聯的用於鏈的示例流程圖。在特定的示例實施例中,與給定的模型關聯的數據欄位的存儲可能在功能分配圖中進行。在圖6中,討論的模型是「檢查模型」流程602。所述模型包括「被檢查的模型」的輸入和與模型的積極的和/或消極的檢查相關的輸出606。輸入數據欄位可能通過群集對象被定義,其具有到表示建立的塊(例如,圖6中的602)的功能的「為其輸入」的連接。輸出數據欄位可能被定義為實體類型對象。所述表示建立的塊的功能可能具有到實體類型對象的「具有其輸出」的連接。所述表示建立的塊的功能可能獲得到包含建模流程(例如,建立的塊的功能)的EPC模型的分配。圖7是根據特定的示例實施例顯示處理流程的設計和執行的示例組件的示意流程圖。第一組件可能是客戶702。這樣的客戶可能包括ARIS流程自動化架構和/或本發明的受讓者可用的ARIS架構。這些客戶界面可能被用於創建、維持和/或轉換業務流程。在特定的示例實施例中,所述客戶可能支持流程模型的雙向轉換。比如,關於圖3A討論的兩個轉換也可能在相反方向被執行。這樣,轉換的BPMN模型可能被轉換回以EPC符號,然後其可能執行另一個EPC轉換以提取或創建自動化流程圖。因此,用戶用戶可能能更新流程圖的數據流,然後將所述流程圖重新部署到生成環境。第二組件可能包括用於將BPMN轉換為可執行代碼的ARIS伺服器704,可能然後在第三組件APG伺服器706上執行。在特定的示例實施例中,創建可執行的流程可能包括開始於設計的業務模型的一個或更多轉換。圖8是顯示創建可執行的業務流程的示例轉換的示意流程圖。此處,執行的自動化模型可能被完成或由客戶提供,所述客戶也已經生成基於EPC的流程模型。然後所述自動化模型被插入到EPC流程模型中。如上所述,在特定的示例實施例中,這通過生成映射活動並將那些活動包括進所述EPC模型來完成。一旦系統已經修改了所述EPC代碼,所述修改的代碼被傳遞到BPMN轉換流程,其從EPC符號產生BPMN代碼。然後該BPMN被部署(例如,到ARIS伺服器)為將所述BPMN轉換為流程XML代碼。然後所述流程XML被部署到APG伺服器,其中它可能通過示例適當的流程識別符執行。從基礎的EPC修改的EPC的生成可能通過在處理系統上實施的流程執行。比如,所述處理系統可能是業務流程伺服器(或開發伺服器)並且可能包括一個或更多的處理器,相關的易失性和/或非易失性存儲區域等。圖9是根據特定的示例實施例顯示業務流程轉換的示意流程圖。在特定的示例實施例中,以下流程可能被執行以將EPC轉換為修改的EPC:I)從自動化流程圖獲取所有的鏈。2)為每個鏈生成EPC2.1)從各自的鏈的功能分配圖讀取鏈的所有輸出數據欄位2.2)對於每個輸出數據欄位,在另一個鏈上查找在自動化流程圖上與其關聯的對應的輸入數據欄位:2.3)生成映射活動:2.3.1)生成活動本身2.3.2)生成用於所述活動的數據流2.3.3)生成具有「實例」的範圍的變量(例如,在實例中存在的變量)。為當前鏈的每個輸出數據欄位,創建一個變量,並且為來自另一個鏈的每個輸入數據欄位,創建一個變量。如果變量在關聯的自動化流程圖上連接,它們與連接有關。2.4)定位與討論中的鏈關聯的EPC並複製它。2.5)只將生成的映射活動注入到複製的EPC。在特定的實例實施例中,在與另一EPC的每個「連結」之前進行所述注入。這可能是具有類型「流程接口」的事件對象。因此,具有附屬的自動化流程圖的EPC模型可能被轉換。
圖10是另一個實例自動化流程圖並且圖11顯示基於圖10中顯示的自動化流程圖從第一 EPC模型到第二 EPC模型的示例轉換。一個自動化流程圖1000包括鏈1002,1004,和1006。在所述鏈之間的數據流被定義為來自鏈1002的輸出I指向鏈1004的輸入1,從鏈1002的輸出2指向鏈1004的輸入2,並且來自鏈1002的輸出3指向鏈1006的輸入3。鏈1002與在1102的流程圖顯示的EPC關聯。這樣,在1104中的新EPC基於鏈映射1106被生成。可以看出,EPC1102和1104之間的不同點是新生成的映射活動1108,其包含數據流中生成的變量。根據鏈1002的鏈數據欄位和在自動化流程圖1000上的數據欄位之間的連接生成變量和變量之間的連接。圖12是另一個示例的自動化流程圖。所述自動化流程圖1200包括包含指向三個不同的鏈的一個輸出的鏈I。鏈2包括一個輸入和指示運行鏈4的輸出。鏈3包括基於鏈I的輸出的運行命令輸入。鏈4包括對應鏈I和2的輸出的兩個輸入。圖13顯示可能與業務流程模型有關的示例的鏈。每個鏈可能分配給描述給定的鏈的功能分配圖。在這個方面,圖14-17顯示基於圖12的自動化流程圖用於各自的鏈的示例的功能分配圖。圖18-21顯示根據特定的示例實施例的示例的EPC模型和它們各自的數據欄位。在圖18中,在圖1802中顯示的所述人工任務模型(其可能是在一個更大的模型中的一個流程步驟)包括許多不同的數據欄位,所述數據欄位顯示在對應的數據欄位視圖1804中。在所述數據欄位視圖1804中,用戶可能將複選框布爾值分配到圖12中顯示的自動化流程圖的「複選框被選中嗎」的輸入數據欄位。在特定的情況下,模型中的每個流程步驟可能具有對應的數據映射(例如,關於圖18中顯示的人工任務)。比如,在圖18中顯示的模型中的實時消息步驟可能包括映射活動和相關的數據映射。將理解到其它的值可能被換出並分配到所述輸入數據欄位值。因此,給定的業務流程流可能通過分配與自動化流程圖相關的新的值而被改變。這可能發生因為給定的流程流可能通過數據流而不是控制流驅動。如此處解釋的,這些改變可能被傳送到修改的EPC模型、BPMN、和/或其它用於處理的標記方案。圖19-21顯示對在各自的EPC模型中的給定功能的變量的輸入和輸出的類似的分配。圖22-25顯示從圖18_21的各自的EPC模型示例轉換的具有注入的數據流的修改的EPC模型。如,在圖22EPC中,基於圖12的自動化流程圖和在圖18的視圖1804中的變量的分配生成代碼。如上所解釋的,該生成的結果是注入到包括生成的數據流的變量的映射活動的EPC代碼。圖23-25顯示用於鏈2-4的類似的注入的映射活動。在將附加的EPC代碼注入到基礎的EPC模型中後,修改的EPC模型可能被轉換為更技術性的流程規範(例如,BPMN)。圖26-29顯示從在圖22-25中顯示的EPC模型轉換的BPMN模型。在從EPC到BPMN的轉換(例如,EPC2BPMN)過程中,所述流程可能考慮鏈的功能分配圖和映射活動,以便在流程的結束創建鏈事件而不是結束事件。類似地,在流程的開始,創建鏈事件而不是開始流程事件被創建。在特定的示例實施例中,當映射活動包括屬於另一個鏈的變量映射時,可能完成這種形式的生成。因此,基於圖12-29中描述的示例的模型和轉換,建模的業務流程可能在處理系統/伺服器上被執行。比如,在上述的「人工任務」活動過程中可能出現複選框並且用戶可能選中所述複選框。該信息可能傳遞給後來的流程(例如,在後來的鏈中的實時消息事件)和/或事件。在特定的示例實施例中,流程開始於選擇保存業務流程的資料庫。通過執行在圖12-29中描述的流程,以下描述的消息被輸出/輸入/處理等。籃I當所述流程示例開始時,以下可能是開始所述流程示例的輸出消息:
權利要求
1.一種將可執行的流程相互連結的方法,所述方法包括: 提供包括多個組件的基礎控制流模型,,所述組件中至少一些包括一個或更多數據欄位; 提供包括多個塊的自動化模型,每個所述的塊與所述基礎控制流模型的部分子集相關聯,並包括與所述基礎控制流模型的各自的部分子集關聯的數據欄位的指令,其中在自動化模型的塊中的數據欄位的至少一些指令之間的關係被定義;以及 對於在自動化模型中的每個塊,通過以下步驟響應將基礎控制流模型轉換為轉換的控制流模型的請求: 確定所述塊中的數據欄位的哪些指令是用於所述塊的輸出; 對於每個所述輸出,確定所述多個塊中的另一個的對應的輸入; 在轉換的控制流模型中生成新的組件; 創建用於對所述塊的每個輸出和對所述多個塊中的另一個的每個輸入的新的組件的變量; 將創建的變量相互關聯,以根據在自動化模型中表徵的定義的關係指示兩者之間的連接;以及 將新的組件注入到與所述塊關聯的部分子集中。
2.根據權利要求1所述的方法,其中所述轉換的控制流模型和基礎控制流模型是與流程、業務要求、和/或技術 要求相關的面向業務的模型。
3.根據上述權利要求中的任一項所述的方法,進一步包括將所述轉換的控制流模型轉換為技術模型。
4.根據權利要求3所述的方法,其中所述技術模型是業務流程模型和符號表示。
5.根據上述權利要求中的任一項所述的方法,其中多個塊的數據欄位的所述指令定義與所述多個塊關聯的部分子集之間的通信。
6.根據上述權利要求中的任一項所述的方法,其中在與所述多個塊關聯的部分子集之間不存在直接的通信。
7.根據上述權利要求中的任一項所述的方法,其中與所述多個塊關聯的部分子集之間的通信僅僅通過所述多個塊的數據欄位的指令定義。
8.根據上述權利要求中的任一項所述的方法,其中在所述各自的部分子集連結到另外的部分子集之前,所述新的組件被注入。
9.根據上述權利要求中的任一項所述的方法,進一步包括響應提供輸入以生成獨立於所述基礎控制流模型的自動化模型的用戶。
10.根據權利要求1-8中的任一項所述的方法,進一步包括: 響應用戶請求以自動生成包含數據欄位的指令的部分自動化模型,沒有用戶介入;以及 接收用戶輸入以定義所述關係。
11.根據上述權利要求中的任一項所述的方法,其中所述至少一些組件的一個或更多的數據欄位中的一些是強制性數據欄位,並且所述至少一些組件的一個或更多的數據欄位中的一些是可選的數據欄位。
12.根據上述權利要求中的任一項所述的方法,其中所述基礎控制流模型和所述轉換的控制流模型通過事件驅動的流程鏈符號定義。
13.根據上述權利要求中的任一項所述的方法,其中每個塊被定義為功能分配模型。
14.一種將可執行流程相互連結的計算機實現方法,所述方法包括: 提供包括多個組件的基礎控制流模型,所述多個組件中的至少一些包括一個或更多的數據欄位; 提供包括多個塊的自動化模型,每個所述的塊與所述基礎控制流模型的部分子集相關聯,並包括與所述基礎控制流模型的各自的部分子集關聯的數據欄位的指令,其中在自動化模型的塊中的數據欄位的至少一些指令之間的關係被定義;以及 對於在自動化模型中的所述塊中的至少一個,通過以下步驟響應將所述基礎控制流模型轉換為轉換的控制流模型的請求: 在所述轉換的控制流模型中生成一個新的組件;以及 根據在自動化模型中表徵的定義的關係,為所述新的組件創建一個錨點。
15.根據權利要求14所述的方法,其中為在所述自動化模型中的每個塊執行從所述基礎控制流模型到轉換的控制流模型的轉換。
16.根據權利要求14或15所述的方法,其中從所述基礎控制流模型到轉換的控制流模型的轉換包括: 確定所述塊中的數據欄位的哪些指令是用於塊的輸出;以及 對於每個所述輸出,確定所述多個塊中的另一個的對應的輸入。
17.根據權利要求14-16中的任一項所述的方法,其中 創建用於對塊的每個輸出和對所述多個塊中的另一個的每個輸入的錨點;以及 其中所述方法進一步包括將創建的所述錨點相互關聯,以根據在自動化模型中表徵的定義的關係指不兩者之間的連接。
18.根據權利要求14-17中的任一項所述的方法,進一步包括將所述新的組件注入到與所述塊關聯的部分子集中。
19.根據權利要求14-18中的任一項所述的方法,其中所述轉換的控制流模型和基礎控制流模型是與流程、業務要求、和/或技術要求相關的面向業務的模型。
20.根據權利要求14-19中的任一項所述的方法,進一步包括將所述轉換的控制流模型轉換為技術模型。
21.根據權利要求14-20中的任一項所述的方法,其中多個塊的數據欄位的所述指令定義與所述多個塊關聯的部分子集之間的通信。
22.根據權利要求14-21中的任一項所述的方法,其中在與所述多個塊關聯的部分子集之間不存在直接的通信。
23.根據權利要求14-22中的任一項所述的方法,其中與所述多個塊關聯的部分子集之間的通信僅僅通過所述多個塊的數據欄位的指令定義。
24.根據權利要求14-23中的任一項所述的方法,其中在所述各自的部分子集連結到另外的部分子集之前,所述新的組件被注入。
25.根據權利要求14-24中的任一項所述的方法,進一步包括: 響應用戶請求以生成獨立於所述基礎控制流模型的自動化模型;或 響應用戶請求以自動生成包含數據欄位的指令的部分自動化模型,沒有用戶介入,以及接收用戶輸入以定義所述關係。
26.根據權利要求14-25中的任一項所述的方法,其中所述基礎控制流模型、所述自動化模型、和所述轉換的控制流模型通過事件驅動的流程鏈符號定義。
27.根據權利要求14-26中的任一項所述的方法,其中每個塊被定義為功能分配模型。
28.一種電腦程式,包括用於執行根據權利要求14-27中的任一項的方法的指令。
29.—種將可執行的流程相互連結的系統,所述系統包括: 存儲介質,被配置為存儲: 包括多個組件的基礎控制流模型,所述組件中的至少一些包括一個或更多數據欄位;包含多個塊的自動化模型,每個所述的塊與所述基礎控制流模型的部分子集相關聯,並包括與所述基礎控制流模型的各自的部分子集關聯的數據欄位的指令,其中在自動化模型的塊中的數據欄位的至 少一些指令之間的關係被定義;以及 包括至少一個處理器的處理系統,,所述處理系統被配置為,對於在自動化模型中的每個塊,通過以下步驟響應將基礎控制流模型轉換為轉換的控制流模型的請求: 確定所述塊中的數據欄位的哪些指令是用於所述塊的輸出; 對於每個所述輸出,確定所述多個塊中的另一個的對應的輸入; 在轉換的控制流模型中生成新的組件; 創建用於對塊的每個輸出和對所述多個塊中的另一個的每個輸入的新的組件的變量; 將創建的變量相互關聯,以根據在自動化模型中表徵的定義的關係指示兩者之間的連接;以及 將新的組件注入到與所述塊相關的部分子集中。
30.一種非暫態計算機可讀存儲介質,用於存儲計算系統使用的指令,所述計算系統包括處理系統,所述處理系統包括至少一個處理器和一個存儲介質,所述存儲的指令包括實施權利要求1-13中的任一項所述的方法的指令。
31.一種連結基礎控制流流程模型的片段的計算機實現方法,其中所述基礎控制流流程模型包括在所述片段之間劃分的多個組件,所述多個組件中的至少一些包括一個或更多的數據欄位,所述多個片段包括分別包括第一和第二組件的第一和第二片段,所述第一和第二組件包括第一和第二數據欄位,所述方法包括: 創建包含多個塊的基礎自動化模型,所述多個塊包括至少一個第一塊和一個第二塊;定義在所述基礎自動化模型的多個塊之間的多個關係,所述定義的多個關係包括在所述第一塊和所述第二塊之間的第一關係;以及 將所述基礎自動化模型與所述基礎控制流流程模型相關聯以創建組合模型,其包括:將所述基礎控制流模型的片段中的每一個與所述基礎自動化模型的多個塊中的各自一個相關聯,所述第一和第二片段分別與所述第一和第二塊相關聯;以及 將各自的組件中的至少一些組件的至少一些數據欄位分配到多個關係,包括將所述第一數據欄位分配到所述第一關係和將所述第二數據欄位分配到所述第一關係。
32.根據權利要求31的方法,其中所述基礎控制流流程模型的片段之間的轉變僅僅通過多個關係定義。
33.根據權利要求31-32中的任一項所述的方法,其中所述基礎自動化模型獨立於所述基礎控制流流程模型被創建。
34.一種將可執行的流程相互連結的建模系統,所述系統包括: 存儲介質,被配置為存儲: 包括多個組件的基礎控制流模型,至少一些組件包括一個或更多數據欄位; 包含多個塊的自動化模型,每個所述的塊與所述基礎控制流模型的部分子集相關聯,並包括與所述基礎控制流模型的各自的部分子集關聯的數據欄位的指令,其中在自動化模型的塊中的數據欄位的至少一些指令之間的關係被定義;以及 包括至少一個處理器的處理系統,所述處理系統被配置為,對於在所述自動化模型中的多個塊中的至少一個,通過以下步驟響應將所述基礎控制流模型轉換為轉換的控制流模型的請求: 在所述轉換的控制流模型中生成一個新的組件;以及 根據在所述自動化模型中表徵的定義的關係,為所述新的組件創建一個錨點。
35.一種連結基礎控制流流程模型的片段的系統,所述基礎控制流流程模型包括在所述片段之間劃分的多個組件,所述多個組件中的至少一些包括一個或更多的數據欄位,所述多個片段包括分別包括所述第一和第二組件的第一和第二片段,所述第一和第二組件包括第一和第二數據欄位,所述系統包括: 包括至少一個處理器的處理系統,所述處理系統被配置為: 創建包含多個塊的基礎自動化模型,所述多個塊包括至少一個第一塊和一個第二塊;定義在所述基礎自動化模型的多個塊之間的多個關係,所述定義的多個關係包括在所述第一塊和所述第二塊之間的第一關係;以及 將所述基礎自動化模型與所述基礎控制流流程模型相關聯以創建組合模型包括:將所述基礎控制流模型的片段中的每一個與所述基礎自動化模型的多個塊中的各自一個相關聯,所述第一和第二片段分別與所述第一和第二塊相關聯;以及 將各自的組件中的至少一些組件的至少一些數據欄位分配到多個關係,包括將所述第一數據欄位分配到所述第一關係和將所述第二數據欄位分配到所述第一關係。
36.一種非暫態計算機可讀存儲介質,用於存儲處理系統使用的計算機可讀指令,所述處理系統被配置為連結基礎控制流流程模型的片段,所述基礎控制流流程模型包括在所述片段之間劃分的多個組件,所述多個組件中的至少一些包括一個或更多的數據欄位,所述多個片段包括分別包括第一和第二組件的第一和第二片段,所述第一和第二組件包括第一和第二數據欄位,所述存儲的指令包括進行以下配置的指令: 創建包含多個塊的基礎自動化模型,所述多個塊包括至少一個第一塊和一個第二塊;定義在所述基礎自動化模型的多個塊之間的多個關係,所述定義的多個關係包括在所述第一塊和所述第二塊之間的第一關係;以及 將所述基礎自動化模型與所述基礎控制流流程模型相關聯以創建組合模型,其包括:將所述基礎控制流模型的片段中的每一個與所述基礎自動化模型的多個塊中的各自一個相關聯,所述第一和第二片段分別與所述第一和第二塊相關聯;以及 將各自的組件中的至少一些組件的至少一些數據欄位分配到多個關係,包括將所述第一數據欄位分配到所述第一關係和將所述第二數據欄位分配到所述第一關係。
全文摘要
本發明特定的示例實施例涉及用於與控制流模型相關的數據流鏈路的變量的生成。特定的示例實施例涉及壓縮流程模型(例如,事件驅動流程鏈EPC模型)的數據流的流程圖(例如,自動化流程圖)的創建。在特定的示例實施例中,為通過自動化流程圖連結可執行的流程提供變量的生成,以便數據流可以被集成到所述EPC模型中。EPC模型可能被轉換為BPMN模型。可選擇地,所述轉換可能相反地發生,以便從修改的EPC模型創建自動化模型。
文檔編號G06F9/44GK103218217SQ201210510739
公開日2013年7月24日 申請日期2012年11月29日 優先權日2011年11月30日
發明者尤裡·扎布羅瓦尼 申請人:德商賽克公司