專利名稱:基于元模型的工具中的實(shí)體變形的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般地涉及模型驅(qū)動(dòng)的流程開發(fā)(model driven process development), 更具體來說,涉及用于基于元模型細(xì)化(refine)模型實(shí)體的系統(tǒng)和方法。
背景技術(shù):
業(yè)務(wù)流程管理(Business Process Management,BPM)工具允許用戶可以基于通用 流程模型來對(duì)自己的業(yè)務(wù)流程進(jìn)行建模、執(zhí)行和監(jiān)視。業(yè)務(wù)流程模型和標(biāo)記法(Business Process Model and Notation(BPMN))是用于表示業(yè)務(wù)流程工作流的工業(yè)標(biāo)準(zhǔn)圖形標(biāo)記 法。BPMN以流程圖類型的風(fēng)格示出業(yè)務(wù)流程的端到端的流,并通常與面向用戶接口的BPMN 工具一起使用。BPMN工具的例子之一是SAP的NetWeaver BPM組件(NW BPM,也稱為“銀 河系(Galaxy) ”),其被設(shè)計(jì)用來幫助用戶提高業(yè)務(wù)流程的效率,減少復(fù)雜重復(fù)任務(wù)中的錯(cuò) 誤,以及降低異常處理的費(fèi)用。利用SAP BPM,用戶可以編排流程步驟、定義業(yè)務(wù)規(guī)則和異常 (exception)、使用BPMN對(duì)流程的流進(jìn)行建模、有效地執(zhí)行流程模型,以及通過個(gè)性化的用 戶接口或交互的形式來支持與運(yùn)行的流程的交互。在這樣的模型驅(qū)動(dòng)的開發(fā)中,元模型是描述如何構(gòu)建模型的模型。在元模型中,可 以規(guī)定表達(dá)域(domain)實(shí)體以及定義它們之間的關(guān)系的類(class)。這些實(shí)體以及它們 的關(guān)系也包含關(guān)于建立在該元模型頂層的工具的信息,所述工具例如BPMN工具。然而,該 信息目前在建?;A(chǔ)設(shè)施中沒有提供任何基于給定的元模型定義快速調(diào)整圖元(diagram element)的功能。
發(fā)明內(nèi)容
大體上,本文檔討論使用元模型中的繼承層次結(jié)構(gòu)(inheritance hierarchy)作 為如何基于元模型的定義細(xì)化模型實(shí)體的工具的手冊(cè)的系統(tǒng)和方法。該信息在建?;A(chǔ)設(shè) 施中提供基于給定的元模型定義快速調(diào)整(如BPMN工具的)圖元的通用功能。在一個(gè)方面中,提出一種計(jì)算機(jī)實(shí)現(xiàn)的用于在基于元模型的業(yè)務(wù)流程模型和標(biāo)記 (BPMN)工具中變形實(shí)體的方法。該方法通過至少一個(gè)計(jì)算機(jī)系統(tǒng)的至少一個(gè)處理器運(yùn)行計(jì) 算機(jī)可讀程序代碼來執(zhí)行。在另一方面中,該方法由一種包括存儲(chǔ)設(shè)備以及與該存儲(chǔ)設(shè)備 通信的BPMN工具計(jì)算機(jī)的系統(tǒng)來實(shí)現(xiàn)。該方法包括接收用于將實(shí)體從第一非抽象實(shí)體類型變形到第二非抽象實(shí)體類型 的命令;基于與該實(shí)體相關(guān)聯(lián)的元模型中的繼承層次結(jié)構(gòu),從建?;A(chǔ)設(shè)施(MOIN)返回該 實(shí)體的所有非抽象子類型或兄弟。該方法還包括從該實(shí)體的非抽象子類型或兄弟中確定 第二非抽象實(shí)體類型,并將所選出的實(shí)體從第一非抽象實(shí)體類型變形到第二非抽象實(shí)體類 型。另一方面,提出一種用于在基于元模型的業(yè)務(wù)流程模型和標(biāo)記(BPMN)工具中變 形實(shí)體的計(jì)算機(jī)程序產(chǎn)品。該產(chǎn)品包括可由至少一個(gè)處理器讀取并存儲(chǔ)由該至少一個(gè)處理 器執(zhí)行的用于以下操作的指令的存儲(chǔ)介質(zhì),所述操作包括接收用于將實(shí)體從第一非抽象實(shí)體類型變形到第二非抽象實(shí)體類型的命令,以及基于與該實(shí)體相關(guān)聯(lián)的元模型中的繼承 層次結(jié)構(gòu)返回該實(shí)體的所有非抽象子類型或兄弟。這些指令還包括從該實(shí)體的非抽象子類 型或兄弟中確定第二非抽象實(shí)體類型,以及將所選出的實(shí)體從第一非抽象實(shí)體類型變形到 第二非抽象實(shí)體類型。在附圖和下面的描述中闡述了一個(gè)或更多個(gè)實(shí)施例的細(xì)節(jié)。從所述描述和附圖以 及從權(quán)利要求中,其它的特征和優(yōu)點(diǎn)將會(huì)很明顯。
現(xiàn)在將參考后面的附圖來詳細(xì)描述這些和其他方面以及其它方面。圖1示出將順序連接符Gequence Connector)變形到條件順序連接符 (Conditional Sequence Connector);圖2示出實(shí)體變形系統(tǒng);圖3描述用戶接口,通過該用戶接口可以執(zhí)行實(shí)體變形技術(shù);圖4示出用于執(zhí)行實(shí)體變形過程的子菜單;圖5是實(shí)體變形方法的流程圖;圖6示出元模型的一個(gè)例子。各個(gè)圖中相似的參考符號(hào)表示相似的元素。
具體實(shí)施例方式本申請(qǐng)描述了一種用于在基于元模型的工具中進(jìn)行實(shí)體變形(morphing)的系統(tǒng) 和方法。具體來說,該系統(tǒng)在建?;A(chǔ)設(shè)施中包括基于給定的元模型定義快速調(diào)整圖元的 功能。根據(jù)一些實(shí)現(xiàn)方案,功能模塊被配置為基于給定的元模型定義將模型的實(shí)體“變形”, 并可以作為通用命令顯露在BPMN工具使用的建?;A(chǔ)設(shè)施(MOIN)中。MOIN使得能夠進(jìn)行 模型驅(qū)動(dòng)的開發(fā),這意味著由用戶建模的內(nèi)容(things)(如BPMN工件(artifacts))基于 給定的元模型以模型的形式存儲(chǔ)在MOIN中。在此使用的術(shù)語“變形”有若干含義,例如,改變到更具體的類型,或者改變成一個(gè) 兄弟(sibling)同時(shí)盡可能保持現(xiàn)有的屬性值、關(guān)系和身份。變形可以在繼承層次結(jié)構(gòu)的 一個(gè)層次上進(jìn)行,也可以在多個(gè)層次上進(jìn)行。在更復(fù)雜的情況中,變形還可以意味著工具可 以在層次結(jié)構(gòu)的同一層上進(jìn)行兄弟到兄弟的變形。在示例實(shí)現(xiàn)方案中,變形與遷移命令(migrate command)相關(guān)聯(lián), 如在SAP的Netweaver BPM中使用的MOIN中的用于遷移到子類型的命令 "MigrateToSubTypeCommand (遷移到子類型命令)”。這樣的命令有兩個(gè)參數(shù)1)要被遷移 的元素;以及幻該元素將被遷移到的子類型的類描述符(class descriptor)。在一些實(shí) 現(xiàn)方案中,應(yīng)用編程接口(API)提供一組能夠用于基于元模型中的繼承層次結(jié)構(gòu)來變形給 定元素的子類型。在執(zhí)行時(shí),遷移命令將給定的模型元素遷移到其非抽象子類型(或兄弟) 之一,并盡可能接管(take over)所有的屬性值和關(guān)系。一旦用戶或程序決定將模型元素變形到其非抽象子類型之一,如在圖1的 列子中所示的 Sequence Connector ( J幌序連接符)變形至Ij Conditional Sequence Connector (條件順序連接符),就可通過代碼來執(zhí)行遷移命令。下面的開發(fā)者工作室(developer studio)的 bpem. ide (integrated development environment,集成開發(fā)環(huán) 境)插件中的代碼是可以被調(diào)用的遷移命令的一個(gè)例子。作為示例,該插件包含下面的使 用 “MigrateToSubTypeCommand”API 的代碼片段(snippet)<···>Command comm = new MigrateToSubTypeCommand (getConnection (),GlxIdeMessages. ConvertAbstract2BPMNType_0,seqConn,ConditionalSequenceConnector. CLASS_DESCRIPT0R);comm. execute ();RefObject element = ( (MigrateToSubTypeCommand) comm). getMigratedElement();if(element instanceof ConditionalSequenceConnector){csc= (ConditionalSequenceConnector) element ;<···>如圖2所示,其中示出實(shí)體變形系統(tǒng)100,插件110可以是為用戶產(chǎn)生工作空間116的BPMN工具114的流程編排器(process composer) 112的一部分。流程編排器112是 應(yīng)用和計(jì)算機(jī)程序產(chǎn)品,并且可以在服務(wù)器計(jì)算機(jī)上運(yùn)行并通過網(wǎng)絡(luò)為客戶端計(jì)算機(jī)提供 服務(wù),而工作空間116則在一個(gè)或更多個(gè)客戶端計(jì)算機(jī)上運(yùn)行。實(shí)體變形由MOIN 104中的實(shí)體變形引擎102來執(zhí)行,并且在一些實(shí)現(xiàn)方案中該實(shí) 體變形引擎被實(shí)現(xiàn)為Java代碼。在這樣的實(shí)現(xiàn)方案中,Java代碼被配置成在ECLIPSE平 臺(tái)內(nèi)運(yùn)行。MOIN 104允許模型驅(qū)動(dòng)的開發(fā),意思是用戶建模的內(nèi)容(如BPMN工件)根據(jù)給 定的元模型108以實(shí)體模型106的形式存儲(chǔ)在MOIN 104內(nèi)。圖6中示出元模型的一個(gè)例子。除其它信息外,流程編排器112和工作空間116還可以提供描繪BPMN流程和實(shí)體 的圖形標(biāo)記的用戶接口。圖3示出由流程編排器提供的BPMN工具的示例性用戶接口 150。 除一組功能控件和菜單外,該用戶接口還包括具有若干文件夾的文件夾樹152,用于指示模 型化的流程和可以用于觸發(fā)流程的消息觸發(fā)器。在用戶接口 150的圖形建模窗口 IM中可 以定義、建模和產(chǎn)生流程,使用BPMN的圖形標(biāo)記和流程圖技術(shù)根據(jù)元模型來表達(dá)域?qū)嶓w及 它們的關(guān)系。用戶接口 150還可以包括特性定義區(qū)156,用戶可以在其中定義流程的特性、 實(shí)體以及關(guān)系。圖4表示用于執(zhí)行實(shí)體變形過程的子菜單。圖5是實(shí)體變形方法200的流程圖。在步驟202,選擇要變形到新的子類型的模型 元素的子類型。該選擇可由用戶操作用戶接口并選擇要被變形的模型元素的圖形表示來進(jìn) 行?;谠撨x擇,在步驟204,通過實(shí)體變形引擎來調(diào)用流程編排器中的變形代碼插件。該 調(diào)用可以基于由實(shí)體變形引擎處理以執(zhí)行該變形代碼插件的用戶命令。在步驟206,變形代 碼插件創(chuàng)建變形命令對(duì)象,其實(shí)現(xiàn)變形命令對(duì)象的構(gòu)造器。在一些實(shí)體變形過程實(shí)現(xiàn)方案中,首先通過構(gòu)造器創(chuàng)建新命令 “MigrateToSubTypeCommand”。命令是用來在MOIN實(shí)體模型上操作的MOIN功能的包裝 器(wrapper)。構(gòu)造器需要到MOIN的連接,該MOIN用來執(zhí)行該命令,并其提供命令的人類可讀描述、要被遷移的元素以及子類型的類描述符。在步驟208,在命令對(duì)象被創(chuàng)建之 后,通過調(diào)用execute ()方法來執(zhí)行該命令。例如,作為結(jié)果,可以在該命令對(duì)象上調(diào)用 "getMigratedElementO ”,并在步驟210接收可以被塑造成其新的子類型并進(jìn)一步被使用 的被遷移的元素。在可替代的實(shí)現(xiàn)方案中,可以將MOIN配置為用于基于元模型為給定的模型元素 提供所有非抽象子類型。然后,該列表可以被顯現(xiàn)給終端用戶,即以圖形顯示可視地表示, 該終端用戶然后可以決定模型元素應(yīng)當(dāng)被變形到給定的子類型中的哪一個(gè)。該代碼在構(gòu)造 “MigrateToSubTypeCommand” 命令之前執(zhí)行。本說明書中描述的一些或全部功能操作可以用數(shù)字電子電路或計(jì)算機(jī)軟件、固 件,或硬件來實(shí)現(xiàn),包括在本說明書中公開的結(jié)構(gòu)以及它們的結(jié)構(gòu)等同物,或它們的組合。 本發(fā)明的實(shí)施方式可以實(shí)現(xiàn)為一個(gè)或多個(gè)計(jì)算機(jī)程序產(chǎn)品,即一個(gè)或多個(gè)在計(jì)算機(jī)可讀存 儲(chǔ)介質(zhì)(如機(jī)器可讀存儲(chǔ)設(shè)備、機(jī)器可讀存儲(chǔ)介質(zhì)、存儲(chǔ)器設(shè)備或機(jī)器可讀的傳播信號(hào))上 編碼的計(jì)算機(jī)程序指令模塊,用于由數(shù)據(jù)處理裝置執(zhí)行或用于控制數(shù)據(jù)處理裝置的操作。術(shù)語“數(shù)據(jù)處理裝置”包括所有用于處理數(shù)據(jù)的裝置、設(shè)備及機(jī)器,例如包括可編 程處理器、計(jì)算機(jī)或多個(gè)處理器或計(jì)算機(jī)。除硬件外,該裝置還可以包括為所討論的計(jì)算機(jī) 程序創(chuàng)建執(zhí)行環(huán)境的代碼,例如構(gòu)成處理器固件、協(xié)議棧、數(shù)據(jù)庫管理系統(tǒng)、操作系統(tǒng)或它 們的組合的代碼。傳輸信號(hào)是人工產(chǎn)生的信號(hào),例如由機(jī)器產(chǎn)生的電、光或電磁信號(hào),產(chǎn)生 該信號(hào)是為對(duì)信息進(jìn)行編碼以傳輸?shù)胶线m的接收器裝置。計(jì)算機(jī)程序(也稱為程序、軟件、應(yīng)用、軟件應(yīng)用、腳本或代碼)可以任何形式的編 程語言(包括編譯的或解釋的語言)來書寫,并可以任何形式部署,包括作為獨(dú)立的程序或 作為模塊、組件、子程序或其它適合于在計(jì)算環(huán)境中使用的單元。計(jì)算機(jī)程序不必對(duì)應(yīng)于文 件系統(tǒng)中的文件。程序可以存儲(chǔ)在保存其它程序或數(shù)據(jù)(如存儲(chǔ)在標(biāo)記語言文檔中的一個(gè) 或多個(gè)腳本)的文件的一部分中、存儲(chǔ)在專用于所討論的程序的單個(gè)文件中,或存儲(chǔ)在多 重協(xié)調(diào)的文件中(如存儲(chǔ)一個(gè)或多個(gè)模塊、子程序或部分代碼的文件)。計(jì)算機(jī)程序可以部 署為在一臺(tái)計(jì)算機(jī)上執(zhí)行或者在位于一個(gè)地點(diǎn)或分布在多個(gè)地點(diǎn)且通過通信網(wǎng)絡(luò)互聯(lián)的 多臺(tái)計(jì)算機(jī)上執(zhí)行。在本說明書中描述的流程和邏輯流可由執(zhí)行一個(gè)或多個(gè)計(jì)算機(jī)程序以通過對(duì)輸 入數(shù)據(jù)進(jìn)行操作并產(chǎn)生輸出來執(zhí)行功能的一個(gè)或多個(gè)可編程處理器來執(zhí)行。這些流程和邏 輯流還可以由特定目的邏輯電路如FPGA(現(xiàn)場可編程門陣列)或ASIC(專用集成電路)來 實(shí)現(xiàn),裝置也可以實(shí)現(xiàn)為這樣的特定目的邏輯電路。適于執(zhí)行計(jì)算機(jī)程序的處理器例如包括通用的和專用的微處理器,以及任何種類 的數(shù)字計(jì)算機(jī)的一個(gè)或多個(gè)處理器。一般來說,處理器將從只讀存儲(chǔ)器或隨機(jī)存取存儲(chǔ)器 或兩者接收指令和數(shù)據(jù)。計(jì)算機(jī)的關(guān)鍵部件是用于執(zhí)行指令的處理器以及一個(gè)或多個(gè)用于 存儲(chǔ)指令和數(shù)據(jù)的存儲(chǔ)器設(shè)備。一般來說計(jì)算機(jī)還將包括通信接口或可操作地耦合到通信 接口,以從一個(gè)或多個(gè)用于存儲(chǔ)數(shù)據(jù)的海量存儲(chǔ)設(shè)備(如磁盤、磁光盤或光盤)接收數(shù)據(jù)或 者向一個(gè)或多個(gè)用于存儲(chǔ)數(shù)據(jù)的海量存儲(chǔ)設(shè)備(如磁盤、磁光盤或光盤)傳輸數(shù)據(jù),或者二 者兼有。此外,計(jì)算機(jī)還可以嵌入在另一設(shè)備中,僅舉幾例來說,如移動(dòng)電話、個(gè)人數(shù)字 助理(PDA)、移動(dòng)音頻播放器、全球定位系統(tǒng)(GPQ接收器等。適于具體化計(jì)算機(jī)程序指令和數(shù)據(jù)的信息載體包括所有形式的非易失性存儲(chǔ)器,例如包括半導(dǎo)體存儲(chǔ)器設(shè)備,如 EPROM、EEPROM和快閃存儲(chǔ)器設(shè)備;磁盤,如內(nèi)部硬盤或可移動(dòng)盤;磁光盤;以及⑶ROM和 DVD-ROM盤。處理器和存儲(chǔ)器可以用特定目的邏輯電路來補(bǔ)充或合并在特定目的邏輯電路 中。為了提供與用戶的交互,本發(fā)明的實(shí)施例可以在具有用于向用戶顯示信息的顯示 設(shè)備和用戶可以用來向計(jì)算機(jī)提供輸入的鍵盤和指示設(shè)備的計(jì)算機(jī)上實(shí)現(xiàn),所述顯示設(shè)備 例如CRT (陰極射線管)或LCD (液晶顯示)監(jiān)視器),所述指示設(shè)備例如鼠標(biāo)或跟蹤球。其 它類型的設(shè)備也可以用來提供與用戶的交互;例如,提供給用戶的反饋可以是任何形式的 感覺反饋,如視覺反饋、聽覺反饋或觸覺反饋;來自用戶的輸入可以以任何形式來接收,包 括聲音輸入、語言輸入或觸覺輸入。本發(fā)明的實(shí)施例可以在包括后端組件(如數(shù)據(jù)服務(wù)器)或中間件組件(如應(yīng)用服 務(wù)器)或前端組件(如具有用戶通過其可與本發(fā)明的實(shí)現(xiàn)交互的圖形用戶接口或網(wǎng)頁瀏覽 器的客戶端計(jì)算機(jī))或任何這樣的后端、中間、前端組件的組合的計(jì)算系統(tǒng)中實(shí)現(xiàn)。這些系 統(tǒng)的組件可以通過任何形式或媒介的數(shù)字?jǐn)?shù)據(jù)通信(如通信網(wǎng)絡(luò))互聯(lián)。通信網(wǎng)絡(luò)的例子 包括局域網(wǎng)(“LAN”)和廣域網(wǎng)(“WAN”),如互聯(lián)網(wǎng)。計(jì)算系統(tǒng)可以包括客戶機(jī)和服務(wù)器。客戶機(jī)和服務(wù)器通常彼此遠(yuǎn)離并且一般通過 通信網(wǎng)絡(luò)交互??蛻魴C(jī)和服務(wù)器的關(guān)系依靠運(yùn)行在各個(gè)計(jì)算機(jī)上并且相互具有客戶機(jī)-服 務(wù)器關(guān)系的計(jì)算機(jī)程序而產(chǎn)生。在本說明書中為清楚起見在不同實(shí)施例的上下文中描述的一些特征也可以在單 一的實(shí)施例中組合地提供。相反,為簡潔起見在單一實(shí)施例的上下文中描述的各種特征也 可以多個(gè)實(shí)施例中單獨(dú)地或者以任何合適的子組合的形式提供。此外,盡管特征在以上被 描述為以一定的組合的形式動(dòng)作或者最初要求保護(hù)成這樣,但在一些情況下要求保護(hù)的組 合中的一個(gè)或多個(gè)特征也可以從該組合中分離出來,并且要求保護(hù)的組合也可以指子組合 或子組合的變形。以上描述了本發(fā)明的特定實(shí)施例。其它實(shí)施例也落在后面權(quán)利要求的范圍內(nèi)。例 如,權(quán)利要求中列舉的步驟也可以不同的順序執(zhí)行而仍能獲得期望的結(jié)果。此外,本發(fā)明的 實(shí)施例不局限于關(guān)系數(shù)據(jù)庫體系結(jié)構(gòu);例如本發(fā)明可以被實(shí)現(xiàn)以為在關(guān)系模型以外的模型 上建立的數(shù)據(jù)庫(如導(dǎo)航數(shù)據(jù)庫或面向?qū)ο蟮臄?shù)據(jù)庫)和包含具有復(fù)雜屬性結(jié)構(gòu)(如面向 對(duì)象的編程對(duì)象或標(biāo)記語言文檔)的記錄的數(shù)據(jù)庫提供索引(indexing)和歸檔方法和系 統(tǒng)。所描述的流程可以由專門執(zhí)行存檔和檢索功能或嵌入在其它應(yīng)用中的應(yīng)用來實(shí)現(xiàn)。
權(quán)利要求
1.一種計(jì)算機(jī)實(shí)現(xiàn)的用于在基于元模型的業(yè)務(wù)流程模型和標(biāo)記BPMN工具中變形實(shí)體 的方法,該方法通過至少一個(gè)計(jì)算機(jī)系統(tǒng)的至少一個(gè)處理器運(yùn)行計(jì)算機(jī)可讀程序代碼來執(zhí) 行,該方法包括接收用于將實(shí)體從第一非抽象實(shí)體類型變形到第二非抽象實(shí)體類型的命令;基于與該實(shí)體相關(guān)聯(lián)的元模型中的繼承層次結(jié)構(gòu),從建?;A(chǔ)設(shè)施MOIN返回該實(shí)體 的所有非抽象子類型或兄弟;從該實(shí)體的非抽象子類型或兄弟中確定第二非抽象實(shí)體類型;以及將所選出的實(shí)體從第一非抽象實(shí)體類型變形到第二非抽象實(shí)體類型。
2.根據(jù)權(quán)利要求1所述的方法,其中,確定第二非抽象實(shí)體類型還包括調(diào)用流程編排器插件中的變形代碼,該變形代碼通過構(gòu)造器創(chuàng)建變形命令對(duì)象,該構(gòu) 造器從MOIN獲得到MOIN的連接、該變形命令的人類可讀描述、要遷移的元素,以及該元素 要被變形到的子類型的類描述符。
3.根據(jù)權(quán)利要求1所述的方法,還包括向用戶接口提供該命令的人類可讀描述。
4.根據(jù)權(quán)利要求2所述的方法,其中,所述命令包括用于用來對(duì)要被變形的實(shí)體操作 的MOIN功能的包裝器。
5.根據(jù)權(quán)利要求2所述的方法,其中,所述構(gòu)造器還包括第二非抽象實(shí)體子類型的類 描述符。
6.根據(jù)權(quán)利要求2所述的方法,其中,所述變形代碼插件產(chǎn)生要被變形為第二非抽象 實(shí)體類型的實(shí)體的表示。
7.一種用于在基于元模型的業(yè)務(wù)流程模型和標(biāo)記BPMN工具中變形實(shí)體的計(jì)算機(jī)程序 產(chǎn)品,該產(chǎn)品包括可由至少一個(gè)處理器讀取并存儲(chǔ)由該至少一個(gè)處理器執(zhí)行的指令的存儲(chǔ) 介質(zhì),該指令被該至少一個(gè)處理器執(zhí)行以進(jìn)行以下操作接收用于將實(shí)體從第一非抽象實(shí)體類型變形到第二非抽象實(shí)體類型的命令;基于與該實(shí)體相關(guān)聯(lián)的元模型中的繼承層次結(jié)構(gòu),返回該實(shí)體的所有非抽象子類型或 兄弟;從該實(shí)體的非抽象子類型或兄弟中確定第二非抽象實(shí)體類型;以及將所選出的實(shí)體從第一非抽象實(shí)體類型變形到第二非抽象實(shí)體類型。
8.根據(jù)權(quán)利要求7所述的計(jì)算機(jī)程序產(chǎn)品,其中,用于確定第二非抽象實(shí)體類型的指 令還包括用于調(diào)用流程編排器插件中的變形代碼的指令,該變形代碼通過構(gòu)造器創(chuàng)建變形命令 對(duì)象,該構(gòu)造器從MOIN獲得到MOIN的連接、該變形命令的人類可讀描述、要遷移的元素,以 及該元素要被變形到的子類型的類描述符。
9.根據(jù)權(quán)利要求7所述的計(jì)算機(jī)程序產(chǎn)品,所述指令還包括用于向用戶接口提供該命 令的人類可讀描述的指令。
10.根據(jù)權(quán)利要求8所述的計(jì)算機(jī)程序產(chǎn)品,其中,所述命令包括用于用來對(duì)要被變形 的實(shí)體操作的MOIN功能的包裝器。
11.根據(jù)權(quán)利要求8所述的計(jì)算機(jī)程序產(chǎn)品,其中,所述構(gòu)造器還包括第二非抽象實(shí)體 子類型的類描述符。
12.根據(jù)權(quán)利要求8所述的計(jì)算機(jī)程序產(chǎn)品,其中,所述變形代碼插件產(chǎn)生要被變形為 第二非抽象實(shí)體類型的實(shí)體的表示。
13.一種用于在基于元模型的業(yè)務(wù)流程模型和標(biāo)記BPMN工具中變形實(shí)體的系統(tǒng),該系 統(tǒng)包括存儲(chǔ)設(shè)備;以及與該存儲(chǔ)設(shè)備通信的BPMN工具計(jì)算機(jī),該BPMN工具計(jì)算機(jī)包括用于實(shí)施以下方法的 軟件,該方法包括接收用于將實(shí)體從第一非抽象實(shí)體類型變形到第二非抽象實(shí)體類型的命令;基于與該實(shí)體相關(guān)聯(lián)的元模型中的繼承層次結(jié)構(gòu),將該實(shí)體的所有非抽象子類型或兄 弟從建模基礎(chǔ)設(shè)施MOIN返回該BPMN工具計(jì)算機(jī);從該實(shí)體的非抽象子類型或兄弟中確定第二非抽象實(shí)體類型;以及將所選出的實(shí)體從第一非抽象實(shí)體類型變形到第二非抽象實(shí)體類型。
14.根據(jù)權(quán)利要求13所述的系統(tǒng),其中,確定第二非抽象實(shí)體類型還包括調(diào)用流程編排器插件中的變形代碼,該變形代碼通過構(gòu)造器創(chuàng)建變形命令對(duì)象,該構(gòu) 造器從MOIN獲得到MOIN的連接、該變形命令的人類可讀描述、要遷移的元素,以及該元素 要被變形到的子類型的類描述符。
15.根據(jù)權(quán)利要求13所述的系統(tǒng),所述方法還包括向用戶接口提供該命令的人類可讀描述。
16.根據(jù)權(quán)利要求14所述的系統(tǒng),其中,所述命令包括用于用來對(duì)要被變形的實(shí)體操 作的MOIN功能的包裝器。
17.根據(jù)權(quán)利要求14所述的系統(tǒng),其中,所述構(gòu)造器還包括第二非抽象實(shí)體子類型的 類描述符。
18.根據(jù)權(quán)利要求14所述的系統(tǒng),其中,所述變形代碼插件產(chǎn)生要被變形為第二非抽 象實(shí)體類型的實(shí)體的表示。
全文摘要
公開了一種用于在基于元模型的業(yè)務(wù)流程模型和標(biāo)記(BPMN)工具中變形實(shí)體的系統(tǒng)和方法。接收用于將實(shí)體從第一非抽象實(shí)體類型變形到第二非抽象實(shí)體類型的命令。建?;A(chǔ)設(shè)施(MOIN)基于與該實(shí)體相關(guān)聯(lián)的元模型中的繼承層次結(jié)構(gòu)返回該實(shí)體的所有非抽象子類型或兄弟。從該實(shí)體的非抽象子類型或兄弟中確定第二非抽象實(shí)體類型,并且將所選出的實(shí)體從第一非抽象實(shí)體類型變形到第二非抽象實(shí)體類型。
文檔編號(hào)G06Q10/00GK102054217SQ20101053328
公開日2011年5月11日 申請(qǐng)日期2010年11月5日 優(yōu)先權(quán)日2009年11月5日
發(fā)明者魯文·戴 申請(qǐng)人:Sap股份公司