欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

空運(yùn)行設(shè)計(jì)時(shí)環(huán)境的制作方法

文檔序號(hào):6433623閱讀:158來源:國(guó)知局
專利名稱:空運(yùn)行設(shè)計(jì)時(shí)環(huán)境的制作方法
技術(shù)領(lǐng)域
本公開涉及設(shè)計(jì)時(shí)(design-time)軟件工具和操作,并且更具體來說,涉及提供用于業(yè)務(wù)過程模型的空運(yùn)行(dry-rim)設(shè)計(jì)時(shí)工具的系統(tǒng)、軟件和計(jì)算機(jī)實(shí)現(xiàn)的方法。
背景技術(shù)
在很多方面,軟件開發(fā)、編程以及編碼包含在設(shè)計(jì)時(shí)環(huán)境中檢查代碼語法、編譯和重新編譯腳本、以及測(cè)試軟件系統(tǒng)的模塊的試錯(cuò)(trial-and-error)過程,以確保代碼沒有缺陷(bug)并且可以用于商業(yè)或運(yùn)行時(shí)部署。已經(jīng)開發(fā)了工具來幫助軟件開發(fā)者進(jìn)行調(diào)試、編譯以及硬編碼他們的程序。設(shè)計(jì)時(shí)工具和環(huán)境能夠提供這樣的工具以及使傳統(tǒng)軟件開發(fā)任務(wù)和過程自動(dòng)化的開發(fā)工具。設(shè)計(jì)時(shí)環(huán)境的一個(gè)示例是集成開發(fā)環(huán)境或“IDE”。 IDE能夠提供設(shè)計(jì)時(shí)組件和工具的套件,有時(shí)以公共用戶接口來提供所述設(shè)計(jì)時(shí)組件和工具的套件。IDE并非使用若干獨(dú)特的開發(fā)工具,而是將多個(gè)開發(fā)工具集成到一個(gè)公共包中, 以使得對(duì)這些工具的訪問和使用對(duì)用戶來說更加方便。在一些實(shí)例中,IDE專用于特定編程語言,從而提供與語言的細(xì)微差別(rumnce)和編程范例兼容且適配的工具和特征集 (feature set)。然而,一些多語言 IDE 也確實(shí)存在,比如,Eclipse、ActiveState Komodo > NetBeans、Microsoft Visual Studio、WinDev 以及 Xcode 的商業(yè)上可用的版本。IDE能夠提供軟件創(chuàng)作,修改,編譯,部署和調(diào)試的工具和特征。通過緊密集成開發(fā)工具和任務(wù),軟件開發(fā)的生產(chǎn)率和效率能夠得到提高。典型的IDE包括調(diào)試器、編譯器、源代碼編輯器和自動(dòng)構(gòu)建(build automation)工具。其他的當(dāng)代IDE可以進(jìn)一步包括類瀏覽器、對(duì)象監(jiān)視器(inspector)和類層次(hierarchy)工具,比如用來協(xié)助面向?qū)ο蟮能浖_發(fā)。

發(fā)明內(nèi)容
本公開提供在設(shè)計(jì)時(shí)環(huán)境中執(zhí)行業(yè)務(wù)過程模型的空運(yùn)行的各種實(shí)施例。該業(yè)務(wù)過程模型的開始事件和至少一個(gè)結(jié)束事件被識(shí)別。該開始事件和至少一個(gè)結(jié)束事件定義了該業(yè)務(wù)過程模型的流地圖的至少一條路徑,該路徑包含多個(gè)事件的序列,所述多個(gè)事件包含所述開始事件、所述至少一個(gè)結(jié)束事件,以及至少一個(gè)其它事件,所述至少一個(gè)其它事件在該序列中位于所述開始事件和所述結(jié)束事件之間。路徑中的多個(gè)事件被逐步通過 (stepped-through)以仿真多個(gè)事件中的每個(gè)事件。識(shí)別與路徑中的特定事件相對(duì)應(yīng)的至少一個(gè)錯(cuò)誤。響應(yīng)于識(shí)別出錯(cuò)誤,對(duì)多個(gè)事件的逐步通過被暫停在該特定事件。然后用戶被提示進(jìn)行至少臨時(shí)解決所述至少一個(gè)錯(cuò)誤的輸入。響應(yīng)于來自用戶的解決方案輸入,對(duì)多個(gè)事件的逐步通過繼續(xù)進(jìn)行,直到逐步通過到達(dá)至少一個(gè)結(jié)束事件為止,結(jié)束空運(yùn)行。雖然一般被描述為處理和轉(zhuǎn)換相應(yīng)數(shù)據(jù)的計(jì)算機(jī)實(shí)現(xiàn)的軟件的時(shí)候,但是部分或者全部方面可以是計(jì)算機(jī)實(shí)現(xiàn)的方法或進(jìn)一步包括在相應(yīng)系統(tǒng)或者其他設(shè)備中,用于執(zhí)行這個(gè)描述的功能。這些其他方面的細(xì)節(jié)以及本公開的實(shí)施例在下面的附圖和描述中闡述。 本公開的其他的特征、目的和優(yōu)點(diǎn)從說明書,附圖和權(quán)利要求中將很清楚。


圖1是示出包括包含空運(yùn)行仿真工具的開發(fā)環(huán)境的示例計(jì)算系統(tǒng)。圖2是示出空運(yùn)行仿真工具的示例實(shí)現(xiàn)的示意圖。圖3A是示出在設(shè)計(jì)時(shí)環(huán)境中執(zhí)行業(yè)務(wù)過程模型的空運(yùn)行的示例計(jì)算機(jī)處理的流程圖。圖;3B是示出在設(shè)計(jì)時(shí)環(huán)境中執(zhí)行業(yè)務(wù)過程模型的空運(yùn)行的計(jì)算機(jī)處理的另一個(gè)示例的流程圖。圖4A-4F是示出包含空運(yùn)行仿真工具的設(shè)計(jì)時(shí)環(huán)境的用戶界面的示例屏幕截圖。圖5A-5E是示出空運(yùn)行仿真工具的另一個(gè)示例使用的用戶界面的示例屏幕截圖。在各個(gè)圖中相同的參考標(biāo)號(hào)指代相同的元素。
具體實(shí)施例方式本公開大體描述了與用于執(zhí)行軟件模型(比如業(yè)務(wù)過程模型)的空運(yùn)行的設(shè)計(jì)時(shí)工具有關(guān)的軟件,計(jì)算機(jī)實(shí)現(xiàn)的方法和系統(tǒng)??者\(yùn)行一般是指在將軟件模型和/或相關(guān)代碼引入到計(jì)算機(jī)實(shí)現(xiàn)的編譯器、調(diào)試器、沙箱、運(yùn)行時(shí)環(huán)境、自動(dòng)構(gòu)建工具或其它用于更正式的測(cè)試和調(diào)試的工具之前,由軟件開發(fā)人員對(duì)軟件模型進(jìn)行的智力(mental)評(píng)估和檢查。在一些實(shí)例中,軟件模型能夠被開發(fā)人員用于在對(duì)按照該軟件模型建模的程序、模塊和過程編碼之前規(guī)劃(map-out)上下文、控制和數(shù)據(jù)流。軟件開發(fā)人員能夠在對(duì)編碼按照軟件模型建模的程序、模塊和過程所需的時(shí)間、金錢和計(jì)算資源進(jìn)行投入之前開發(fā)和精細(xì)調(diào)整該軟件模型。通常,調(diào)試器,編譯器和其它傳統(tǒng)的設(shè)計(jì)時(shí)工具為了完成處理,可能需要能夠被編譯的、完整的、充分指定的、或者語法正確或充分指定的一段代碼或者軟件模型。就是說,當(dāng)一個(gè)過程模型比如不完整、指定不完全(imderspecified)、或語法不正確時(shí),這個(gè)工具就不能成功地完成該模型的測(cè)試。此外,即使在業(yè)務(wù)過程模型被充分指定的實(shí)例中,測(cè)試它的功能行為可能也需要一個(gè)完全的設(shè)計(jì)時(shí)-運(yùn)行時(shí)的往返(design time-runtime roundtrip), 結(jié)果導(dǎo)致了不能接受的長(zhǎng)周轉(zhuǎn)(turnaround)時(shí)間和不利地影響軟件的開發(fā)和測(cè)試的其它不便。如上所述,在一些實(shí)例中,一個(gè)空運(yùn)行仿真工具能夠在建模階段執(zhí)行不完整的、指定不完全或語法不正確的業(yè)務(wù)過程的計(jì)算機(jī)實(shí)現(xiàn)的空運(yùn)行,從而輔助開發(fā)人員評(píng)估過程的當(dāng)前部分開發(fā)的狀態(tài)是否符合該開發(fā)人員的預(yù)期。在空運(yùn)行期間,終端用戶能夠仿真數(shù)據(jù)流、理解仿真的輸入和輸出數(shù)據(jù)能夠如何影響過程的執(zhí)行,在已經(jīng)定義的映射指令中識(shí)別出缺失的數(shù)據(jù)流定義或其它問題。當(dāng)空運(yùn)行遇到指定不完全或不完整的模型的部分時(shí),空運(yùn)行能夠暫停接收來自終端用戶的輸入,比如,與模型的開發(fā)不完全的部分相對(duì)應(yīng)的輸入數(shù)據(jù)、控制流關(guān)口(gateway)條件以及消息相關(guān)謂詞(message correlation predicate), 以臨時(shí)跨過(bridge)這部分并使用戶能夠完成模型的初步測(cè)試或運(yùn)行。業(yè)務(wù)過程的執(zhí)行不能僅依賴于控制流方面,也依賴于數(shù)據(jù)流。比如,數(shù)據(jù)流指令能夠結(jié)合過程活動(dòng)和事件的映射(例如,從全局?jǐn)?shù)據(jù)上下文到活動(dòng)簽名的轉(zhuǎn)換以及從活動(dòng)簽名到全局?jǐn)?shù)據(jù)上下文的轉(zhuǎn)換)來指定。此外,數(shù)據(jù)庫也能影響與模型的過程數(shù)據(jù)上下文相關(guān)的表達(dá)式,比如,條件關(guān)口或者消息相關(guān)謂詞。例如,在關(guān)口條件或消息相關(guān)謂詞沒有被正確定義的事件中,業(yè)務(wù)過程可能在運(yùn)行時(shí)不能適當(dāng)?shù)貓?zhí)行,或者根本不能執(zhí)行。在這樣的實(shí)例中,建模過程的空運(yùn)行能夠輔助開發(fā)人員在對(duì)‘真的(live)’,產(chǎn)出(productive)的系統(tǒng)進(jìn)行進(jìn)一步的開發(fā)工作和過程部署之前理解業(yè)務(wù)過程的任何或所有條件、關(guān)系和數(shù)據(jù)流是否被正確地定義。圖1示出了包括包含空運(yùn)行仿真工具110的開發(fā)環(huán)境105的示例計(jì)算系統(tǒng)100。 開發(fā)環(huán)境105可以是集成開發(fā)環(huán)境或IDE,并且除空運(yùn)行仿真工具110之外還包括一套集成的其它開發(fā)工具。開發(fā)環(huán)境105可以包括一個(gè)或多個(gè)存儲(chǔ)在存儲(chǔ)器115中的業(yè)務(wù)過程模型 112,這些模型能夠被包括設(shè)計(jì)時(shí)空運(yùn)行仿真工具110的開發(fā)環(huán)境105訪問。例如,業(yè)務(wù)過程模型112能夠被從與開發(fā)環(huán)境105的工作空間相關(guān)聯(lián)的存儲(chǔ)器訪問。開發(fā)環(huán)境能夠結(jié)合如圖1所示的通過一個(gè)或多個(gè)網(wǎng)絡(luò)125給一個(gè)或多個(gè)客戶130、135提供業(yè)務(wù)服務(wù)的企業(yè)軟件系統(tǒng)120來實(shí)現(xiàn)。開發(fā)環(huán)境105本身能夠被當(dāng)做服務(wù)提供給一個(gè)或多個(gè)遠(yuǎn)程客戶端計(jì)算設(shè)備(例如130、135)。在一些實(shí)例中,至少開發(fā)環(huán)境105的包括空運(yùn)行仿真工具110的部分,能夠被安裝在客戶端設(shè)備130、135自身上,并且與遠(yuǎn)離客戶端設(shè)備130、135的開發(fā)環(huán)境 105的后端部分交互。在另外一些示例中,開發(fā)環(huán)境105能夠被提供為分布式軟件環(huán)境,比如云計(jì)算系統(tǒng)。仍然在其它實(shí)例中,開發(fā)環(huán)境105能夠在終端用戶計(jì)算設(shè)備130,135上本地存儲(chǔ)和執(zhí)行。使用開發(fā)環(huán)境105開發(fā)和測(cè)試的業(yè)務(wù)過程模型能夠被導(dǎo)出到其它計(jì)算設(shè)備或從其它計(jì)算設(shè)備中導(dǎo)入,所述其它計(jì)算設(shè)備包括客戶端計(jì)算設(shè)備(例如130、135)、企業(yè)軟件系統(tǒng)120或其它應(yīng)用服務(wù)器140或計(jì)算設(shè)備,包括遠(yuǎn)離開發(fā)環(huán)境105的計(jì)算設(shè)備。開發(fā)環(huán)境105能夠使用一個(gè)或多個(gè)計(jì)算設(shè)備被實(shí)現(xiàn)。如本文中所使用的,術(shù)語“計(jì)算設(shè)備”或者“計(jì)算機(jī)”意圖包含任何適合的處理設(shè)備。比如,計(jì)算設(shè)備能夠包括一個(gè)或多個(gè)可操作用來接收、發(fā)送、處理、存儲(chǔ)或管理與軟件環(huán)境100相關(guān)聯(lián)的數(shù)據(jù)和信息的服務(wù)器。比如,環(huán)境100可以使用除了服務(wù)器,包括服務(wù)器池,之外的計(jì)算機(jī)實(shí)現(xiàn)。此外,任何、 所有或某些服務(wù)器(包括計(jì)算設(shè)備120、130、135、140)可以被適配為運(yùn)行任何操作系統(tǒng),包括Linux、UNIX、Windows Server或者任何其它適合的操作系統(tǒng)??蛻舳?30、135及環(huán)境 100外部的其它用戶,能夠直接或間接地(例如通過代理,虛擬機(jī)接口等等)使用開發(fā)環(huán)境 105訪問和執(zhí)行操作、測(cè)試和空運(yùn)行。將進(jìn)一步理解術(shù)語“應(yīng)用服務(wù)器”(例如140)可以包括任何適合的軟件組件或模塊,或能托管(hosting)和/或提供(serving)軟件應(yīng)用(包括分布式、企業(yè)級(jí)、或基于云的軟件應(yīng)用)的計(jì)算設(shè)備。在當(dāng)前這個(gè)示例中,開發(fā)環(huán)境105能夠與一個(gè)或多個(gè)應(yīng)用服務(wù)器140和/或企業(yè)軟件系統(tǒng)120接口。在一些實(shí)例中,開發(fā)環(huán)境105能夠被托管在公共的計(jì)算系統(tǒng),服務(wù)器或服務(wù)器池上,并且與企業(yè)軟件系統(tǒng)或其它軟件系統(tǒng)共享計(jì)算資源,包括共享的存儲(chǔ)器、處理器和接口。開發(fā)環(huán)境105能夠與其它軟件系統(tǒng)和客戶端設(shè)備接口,以在客戶端-服務(wù)器環(huán)境或其它分布式環(huán)境(包括環(huán)境100)中通信。提供開發(fā)環(huán)境105的計(jì)算設(shè)備可以包括一個(gè)或多個(gè)接口,該一個(gè)或多個(gè)接口包含以適當(dāng)組合編碼在軟件和/或硬件中的邏輯,并且可操作以與網(wǎng)絡(luò)125和其它計(jì)算設(shè)備(包括耦合到網(wǎng)絡(luò)125的計(jì)算設(shè)備通信)通信。更具體地,這些接口可以包含支持一個(gè)或多個(gè)與通信相關(guān)聯(lián)的通信協(xié)議的軟件,使得網(wǎng)絡(luò)125 或硬件能夠可操作以傳送示出的軟件環(huán)境100內(nèi)部和外部的物理信號(hào)。每一個(gè)示例服務(wù)器(例如120、140)(包括服務(wù)器和托管開發(fā)環(huán)境105的計(jì)算設(shè)備)都可以包含處理器。每一個(gè)處理器都能夠執(zhí)行指令并操縱(manipulate)數(shù)據(jù)以執(zhí)行關(guān)聯(lián)服務(wù)器的操作,并且都可以包括,例如中央處理單元(CPU)、刀片、專用集成電路(ASIC)、 或者現(xiàn)場(chǎng)可編程門陣列(FPGA)及其它合適的選項(xiàng)。根據(jù)關(guān)聯(lián)服務(wù)器的特殊需要,處理器能夠?qū)崿F(xiàn)為一個(gè)或多個(gè)處理器。對(duì)單處理器的提及也可以被解釋為多個(gè)處理器(如果可應(yīng)用的話)。每個(gè)處理器執(zhí)行的操作可以由它的關(guān)聯(lián)服務(wù)器的目的和操作來確定。通常,處理器執(zhí)行指令和操縱數(shù)據(jù),以執(zhí)行它的相應(yīng)服務(wù)器的操作,并且更具體地說,就是由該服務(wù)器托管的軟件系統(tǒng)和應(yīng)用(例如105)。在高層,每一個(gè)“服務(wù)器”都包括一個(gè)或多個(gè)可操作以接收、發(fā)送、處理、存儲(chǔ)或管理與環(huán)境100相關(guān)聯(lián)的數(shù)據(jù)和信息的電子計(jì)算機(jī)設(shè)備。更具體來說,服務(wù)器負(fù)責(zé)接收來自一個(gè)或多個(gè)客戶端的請(qǐng)求和向該請(qǐng)求客戶端發(fā)送適當(dāng)?shù)捻憫?yīng)。除了來自外部客戶端的請(qǐng)求之外,請(qǐng)求可以是從內(nèi)部用戶、外部或第三方客戶、其它自動(dòng)化應(yīng)用,以及任何其它適當(dāng)?shù)膶?shí)體、個(gè)體、系統(tǒng)或計(jì)算機(jī)發(fā)送的。例如,盡管圖1示出了用于應(yīng)用服務(wù)器140的單個(gè)服務(wù)器和用于企業(yè)系統(tǒng)120的服務(wù)器池,服務(wù)器也可以用一個(gè)或多個(gè)服務(wù)器,以及除服務(wù)器(包括服務(wù)器池)之外的計(jì)算機(jī),來實(shí)現(xiàn)。實(shí)際上,服務(wù)器可以是任何計(jì)算機(jī)或處理設(shè)備,比如刀片服務(wù)器、通用個(gè)人電腦(PC)、蘋果機(jī)、工作站、基于UNIX的工作站或任何其它合適的設(shè)備。換句話說,本公開考慮了除了通用計(jì)算機(jī)之外的計(jì)算機(jī),以及包括沒有常規(guī)操作系統(tǒng)的計(jì)算機(jī)。進(jìn)一步講,服務(wù)器能夠適配為運(yùn)行任何操作系統(tǒng),包括Linux、UNIX、Windows, Mac OS或任何其它適合的操作系統(tǒng)。在服務(wù)器實(shí)現(xiàn)開發(fā)環(huán)境105的情況中,服務(wù)器的處理器能夠執(zhí)行接收和回應(yīng)來自客戶端設(shè)備130,135以及與開發(fā)環(huán)境105接口的客戶端應(yīng)用140的請(qǐng)求及交互 (interaction)的功能。不管特定的實(shí)現(xiàn),“軟件”可以包括有形介質(zhì)上的計(jì)算機(jī)可讀的指令、固件、有線或可編程硬件、或它們的組合,它們當(dāng)被執(zhí)行時(shí)可操作以執(zhí)行至少在此描述的處理和操作。實(shí)際上,每一個(gè)軟件組件都可以用任何合適的計(jì)算機(jī)語言完全或部分編寫或描述,所述計(jì)算機(jī)語音包括C、C++、Java、Visual Basic、匯編、Perl、4GL的任意合適版本及其它語言。應(yīng)用能夠被實(shí)現(xiàn)為通過各種對(duì)象、方法或其它過程來實(shí)現(xiàn)各種特征和功能的單獨(dú)模塊,或者視情況而替代為包括許多子模塊、第三方服務(wù)、組件、庫等等。相反,各種組件的特征和功能能夠視情況而被組合成單個(gè)組件。在高層,包含在環(huán)境100中的應(yīng)用可以包括任何應(yīng)用、程序、模塊、過程或者其它軟件,它們可以根據(jù)本公開,具體來說,響應(yīng)于并且結(jié)合從所示的客戶端130、135接收一個(gè)或多個(gè)請(qǐng)求以及其它應(yīng)用,來執(zhí)行、改變、刪除、產(chǎn)生、或以其它方式管理信息。在某些情況下,只有一個(gè)托管應(yīng)用(hosted application)可以位于特定的服務(wù)器上。在其它情況中, 多個(gè)相關(guān)和/或不相關(guān)的托管應(yīng)用可以存儲(chǔ)在單個(gè)服務(wù)上,或者也可以位于多個(gè)其它服務(wù)器上。在某些情況中,環(huán)境100可以實(shí)現(xiàn)復(fù)合(composite)托管應(yīng)用。例如,復(fù)合應(yīng)用的部分可以被實(shí)現(xiàn)為企業(yè)Java Bean(EJB)或者設(shè)計(jì)時(shí)組件可以具有能夠?qū)⑦\(yùn)行時(shí)實(shí)現(xiàn)生成為不同平臺(tái)的能力,所述平臺(tái)比如,J2EE (Java 2 Platform, Enterprise Edition, Java 2 平 α dfe^lkiK) >ABAP (Advanced Business Application Programming,冑會(huì)禾呈)胃象、或微軟的NET等等。另外,應(yīng)用,包括通過企業(yè)軟件服務(wù)120提供的應(yīng)用,可以表示被遠(yuǎn)程客戶端130、135或者客戶端應(yīng)用140通過網(wǎng)絡(luò)125(例如,通過互聯(lián)網(wǎng))訪問和運(yùn)行的基于web的應(yīng)用。更進(jìn)一步,一個(gè)或多個(gè)與特定托管應(yīng)用相關(guān)聯(lián)的過程能夠被存儲(chǔ)、引用或遠(yuǎn)程運(yùn)行。例如,特定的托管應(yīng)用的一部分可以是與遠(yuǎn)程調(diào)用的應(yīng)用相關(guān)聯(lián)的web服務(wù),而托管應(yīng)用的另外一部分可以是被捆綁用于在遠(yuǎn)程客戶端130、135處理的接口對(duì)象或者代理。 此外,任何或所有托管應(yīng)用可以是其它軟件模塊的孩子或子模塊或者企業(yè)應(yīng)用(未示出), 而不脫離本公開的范圍。更進(jìn)一步說,托管應(yīng)用的部分可以被在服務(wù)器140直接工作的用戶以及在客戶端130、135遠(yuǎn)程工作的用戶運(yùn)行。每一個(gè)示例服務(wù)器105、120、140能包含存儲(chǔ)器。每一個(gè)存儲(chǔ)器可以包含任何存儲(chǔ)器或數(shù)據(jù)庫模塊,并且可以采用易失性存儲(chǔ)器或非易失性存儲(chǔ)器的形式,包括但不限于, 非瞬時(shí)(non-transitory)存儲(chǔ)器元件、磁介質(zhì)、光介質(zhì)、隨機(jī)存取存儲(chǔ)器(RAM)、只讀內(nèi)存 (ROM)、可移動(dòng)介質(zhì)或任何其它適合的本地或遠(yuǎn)程存儲(chǔ)器組件。每個(gè)存儲(chǔ)器可以存儲(chǔ)各種對(duì)象或數(shù)據(jù),包括類、框架、應(yīng)用、備份數(shù)據(jù)、業(yè)務(wù)對(duì)象、作業(yè)、網(wǎng)頁、網(wǎng)頁模板、數(shù)據(jù)庫表格、存儲(chǔ)業(yè)務(wù)或其它動(dòng)態(tài)信息的內(nèi)容儲(chǔ)存庫、或其它信息,所述其它信息包括與特定服務(wù)器用途相關(guān)的任何參數(shù)、變量、算法、指令、規(guī)則、約束或?qū)λ鼈兊囊?。每個(gè)存儲(chǔ)器還可以包含任何其它適當(dāng)?shù)臄?shù)據(jù),比如VPN應(yīng)用、固件日志和策略、防火墻策略、安全或訪問日志、打印或其它報(bào)表文件及其它內(nèi)容。將在下面結(jié)合軟件環(huán)境100和它組件的所示實(shí)現(xiàn)再一次詳細(xì)描述存儲(chǔ)在每個(gè)存儲(chǔ)器中的特定數(shù)據(jù)和指令。通常,網(wǎng)絡(luò)125方便了軟件環(huán)境100中組件之間(例如在開發(fā)環(huán)境105和一個(gè)或多個(gè)使用開發(fā)環(huán)境105的客戶端設(shè)備130、135之間)的無線或有線通信,也方便了與任何其它本地或遠(yuǎn)程的計(jì)算機(jī)(例如那些與一個(gè)或多個(gè)應(yīng)用120、140或外部數(shù)據(jù)源相關(guān)聯(lián)的計(jì)算機(jī))的通信。網(wǎng)絡(luò)125能夠?qū)崿F(xiàn)為一個(gè)或多個(gè)不同的網(wǎng)絡(luò)。在任何實(shí)現(xiàn)中,網(wǎng)絡(luò)125可以是連續(xù)或不連續(xù)的網(wǎng)絡(luò),而不脫離本公開范圍,只要網(wǎng)絡(luò)125的至少部分能夠方便發(fā)送方和接收方之間的通信。網(wǎng)絡(luò)125可以是企業(yè)或安全網(wǎng)絡(luò)的全部或部分。例如,在圖1中網(wǎng)絡(luò)12 可以表示企業(yè)網(wǎng)絡(luò)的部分,而網(wǎng)絡(luò)12 可以表示到互聯(lián)網(wǎng)的連接。在一些實(shí)例中,網(wǎng)絡(luò)125的部分可以是虛擬專用網(wǎng)絡(luò)(VPN)。網(wǎng)絡(luò)125的全部或部分能夠包括有線或無線鏈路。示例無線鏈路可以包括802. lla/b/g/n、802. 20、WiMax和/或任何其它合適的無線鏈路。換句話說,網(wǎng)絡(luò)125包含了任何內(nèi)部或外部網(wǎng)絡(luò)、子網(wǎng)或者它們的組合,它們可操作以方便所示環(huán)境100內(nèi)部和外部的各種計(jì)算組件之間的通信。網(wǎng)絡(luò)125能夠在地址之間傳送例如因特網(wǎng)協(xié)議(IP)分組、幀中繼幀、異步傳輸模式(ATM)單元、語音、視頻、數(shù)據(jù)和其它適合的信息。網(wǎng)絡(luò)125也可以在一個(gè)或多個(gè)地點(diǎn)包含一個(gè)或多個(gè)局域網(wǎng)(LAN),無線電接入網(wǎng)(RAN)、城域網(wǎng)(MAN)、廣域網(wǎng)(WAN),因特網(wǎng)的全部或部分、和/或任何其它通信系統(tǒng)。圖1所示的實(shí)現(xiàn)包含一個(gè)或多個(gè)本地和/或遠(yuǎn)程客戶端130、135。客戶端130、135 可以是任何可操作以使用有線或無線連接與至少開發(fā)環(huán)境105和/或網(wǎng)絡(luò)125連接或通信的計(jì)算設(shè)備。每一個(gè)客戶端130、135能包含圖形用戶接口(⑶I)。通常,客戶端130、135包含電子計(jì)算設(shè)備,其操作以接收、發(fā)送、處理和存儲(chǔ)與圖1所示的軟件環(huán)境相關(guān)聯(lián)的任何適當(dāng)數(shù)據(jù)。應(yīng)當(dāng)理解可能存在與環(huán)境100相關(guān)聯(lián)的任意數(shù)量的客戶端130、135,以及存在在環(huán)境100的外部的任意數(shù)量的客戶端130、135。此外,術(shù)語“客戶端”和“用戶”可以適當(dāng)?shù)亟粨Q使用,而不脫離在本公開范圍。再者,雖然每一個(gè)客戶端130、135是按照被一個(gè)用戶使用來描述的,但是本公開考慮到許多用戶可能使用一個(gè)計(jì)算機(jī)或者一個(gè)用戶可能使用多個(gè)計(jì)算機(jī)。如在本公開中所使用的,客戶端130、135意圖包含個(gè)人電腦、觸摸屏終端、工作站、網(wǎng)絡(luò)計(jì)算機(jī)、Kiosk、無線數(shù)據(jù)端口、智能電話、個(gè)人數(shù)據(jù)助理(PDA),在這些或其它的設(shè)備內(nèi)部的一個(gè)或多個(gè)處理器、以及任何其它適合的處理設(shè)備。例如,客戶端130、135可以包含計(jì)算機(jī),該計(jì)算機(jī)包含輸入設(shè)備和輸出設(shè)備,輸入設(shè)備比如鍵盤、觸摸屏、鼠標(biāo)或其它能接受信息的設(shè)備,而輸出設(shè)備能夠傳達(dá)與開發(fā)環(huán)境105(包含空運(yùn)行仿真工具110)以及其它應(yīng)用的操作相關(guān)聯(lián)的信息,包括數(shù)字?jǐn)?shù)據(jù)、可視信息或GUI,所述其它應(yīng)用在企業(yè)軟件系統(tǒng)120、 應(yīng)用服務(wù)器140(或環(huán)境100中的其它服務(wù)器)或客戶端130、135本身上被存儲(chǔ)和/或執(zhí)行。輸入設(shè)備和輸出設(shè)備二者都可以包含固定或可移動(dòng)存儲(chǔ)介質(zhì),比如計(jì)算機(jī)磁盤,CD-ROM 或其它適合的介質(zhì),用于通過顯示接口也就是GUI既從客戶端130、135的用戶接收輸入也提供輸出給客戶端130、135的用戶。GUI可以包含圖形用戶接口,其可操作以允許用戶出于任何適當(dāng)目的而與環(huán)境 100的至少部分接口,包括允許用戶與一個(gè)或多個(gè)軟件應(yīng)用(包括開發(fā)環(huán)境10 交互。通常,GUI向用戶提供對(duì)由系統(tǒng)提供的或在系統(tǒng)內(nèi)部傳送的數(shù)據(jù)的高效和用戶友好的呈現(xiàn)。術(shù)語“圖形用戶接口 ”,或GUI,可以以單數(shù)或復(fù)數(shù)使用,以描述一個(gè)或多個(gè)圖形用戶接口以及特定圖形用戶接口的每一個(gè)顯示。因此,⑶I可以是在環(huán)境100中處理信息和把結(jié)果高效地呈現(xiàn)給用戶的任何圖形用戶接口,比如web瀏覽器、觸摸屏或命令行接口(CLI)。通常,⑶I 可以包含多個(gè)可以由用戶在客戶端130、135上操作的用戶接口(Ul)元素,比如交互域、下拉列表、媒體播放器、表格、圖形、虛擬機(jī)接口、按鈕等等。這些UI元素可以具體與開發(fā)環(huán)境 105(包含空運(yùn)行仿真工具110)的功能相關(guān)并且具體適配為用于這些功能。盡管圖1被描述為包含多個(gè)元素或與多個(gè)元素相關(guān)聯(lián),但不是所有在圖1的環(huán)境 100里面所示的元素都能夠在本公開的每個(gè)可替換實(shí)現(xiàn)中使用。此外,這里描述的一個(gè)或多個(gè)元素可以位于環(huán)境100的外部,而在其它一些實(shí)例中,某些元素可以被包含在一個(gè)或多個(gè)其它所述元素以及在所示實(shí)現(xiàn)中未描述的其它元素的內(nèi)部或者作為一個(gè)或多個(gè)其它所述元素以及在所示實(shí)現(xiàn)中未描述的其它元素的部分。進(jìn)一步,某些圖1中示出的元素可以與其它組件組合,以及用于除這里描述的目的之外的替換或附加目的。圖2是開發(fā)環(huán)境的空運(yùn)行仿真工具110的實(shí)現(xiàn)的一個(gè)示例實(shí)現(xiàn)的示意性表示。在一些實(shí)現(xiàn)中,空運(yùn)行仿真工具110可以包含仿真模塊210和錯(cuò)誤解決(resolution)模塊 220。一個(gè)或多個(gè)業(yè)務(wù)過程模型112可以存儲(chǔ)在存儲(chǔ)器115中,存儲(chǔ)器115能夠被空運(yùn)行仿真工具110訪問或者與空運(yùn)行仿真工具110關(guān)聯(lián)。仿真模塊210可以被適配為對(duì)過程模型的路徑中的每個(gè)事件執(zhí)行逐步通過(step-through)仿真。仿真模塊210包含這樣的功能, 其允許用戶仿真事件的各種不同輸入或控制條件來測(cè)試該事件和路徑中的后續(xù)事件如何對(duì)仿真的輸入做出響應(yīng)。一個(gè)或多個(gè)GUI,包括彈出窗口,可以結(jié)合仿真模塊210的功能被顯示,以允許用戶在逐事件(event-by-event)的基礎(chǔ)上分析和交互每個(gè)事件的參數(shù)。除了允許用戶測(cè)試和細(xì)查過程模型中的每個(gè)事件,仿真模塊210還能夠識(shí)別出與事件有關(guān)的錯(cuò)誤。比如,錯(cuò)誤能夠標(biāo)識(shí)事件的未指定或指定不完全的參數(shù)。錯(cuò)誤解決(resolution)模塊220能夠結(jié)合仿真模塊210來操作以提示用戶進(jìn)行解決方案(resolution)輸入,來臨時(shí)解決仿真模塊210識(shí)別出的錯(cuò)誤??者\(yùn)行仿真實(shí)例可以被空運(yùn)行仿真工具110響應(yīng)于仿真模塊210檢測(cè)到事件錯(cuò)誤而暫停??者\(yùn)行可以在相應(yīng)的事件處暫停,直到錯(cuò)誤解決模塊220接收到可接受的解決方案輸入為止。錯(cuò)誤解決模塊 220還可以識(shí)別出錯(cuò)誤的本質(zhì)并且識(shí)別出能夠滿足錯(cuò)誤提示的潛在的解決方案輸入或輸入選項(xiàng)的集合。例如,錯(cuò)誤解決模塊220能夠通過提示呈現(xiàn)對(duì)錯(cuò)誤的簡(jiǎn)短描述并且建議對(duì)特
9定錯(cuò)誤的一個(gè)或多個(gè)解決方案。比如該提示可以呈現(xiàn)用戶可選擇的并且被錯(cuò)誤解決模塊 220識(shí)別為對(duì)該錯(cuò)誤的可接受響應(yīng)的多個(gè)解決方案選項(xiàng)。如圖2所示,空運(yùn)行仿真工具110可以與包含另外的開發(fā)工具的開發(fā)環(huán)境105集成在一起,所述另外的開發(fā)工具包括編譯器230、源代碼編輯器235、自動(dòng)構(gòu)建工具M(jìn)0、調(diào)試器245和過程模型編輯器255。過程模型編輯器255能夠提供構(gòu)建和編輯業(yè)務(wù)過程模型的功能。一個(gè)或多個(gè)包含在開發(fā)環(huán)境中的開發(fā)工具,包括過程模型編輯器255,能夠與空運(yùn)行仿真模塊210接口,以擴(kuò)展空運(yùn)行仿真工具110的功能。例如,過程模型編輯器255能夠提供允許用戶編輯、添加和刪除過程模型中的事件的圖形編輯環(huán)境。過程模型編輯器255 的編輯功能能夠用于與過程模型的空運(yùn)行仿真同時(shí)地修改過程模型。例如,響應(yīng)于與被仿真模塊210識(shí)別出的錯(cuò)誤相關(guān)聯(lián)的空運(yùn)行仿真中的暫停,用戶能夠通過使用過程模型編輯器255提供的編輯功能臨時(shí)性或永久性地編輯過程模型的方面,來對(duì)由錯(cuò)誤解決模塊220 產(chǎn)生的錯(cuò)誤提示做出響應(yīng)。錯(cuò)誤解決模塊220能夠在空運(yùn)行仿真期間使用過程模型編輯器 255識(shí)別出對(duì)過程模型的修改,充分地解決識(shí)別出的錯(cuò)誤,以使得空運(yùn)行逐步通過以前進(jìn)到所仿真的過程模型的路徑中的另一個(gè)事件。結(jié)合圖2所描述和示出的示例只是一個(gè)用于和包含在設(shè)計(jì)時(shí)開發(fā)環(huán)境中的空運(yùn)行仿真工具的示例實(shí)現(xiàn)。能夠認(rèn)識(shí)到基本上提供類似的功能和結(jié)果的可替代的實(shí)現(xiàn)。例如, 在一些實(shí)例中,模塊210、220的功能可以完全或部分地組合到單個(gè)模塊中。在其它實(shí)例中, 模塊210、220的功能和空運(yùn)行仿真器中存在的其它功能可以通過其它另外的模塊來提供。圖3A是示出在設(shè)計(jì)時(shí)環(huán)境例如開發(fā)環(huán)境105中執(zhí)行業(yè)務(wù)過程模型的空運(yùn)行的示例計(jì)算機(jī)處理的流程圖300。特定業(yè)務(wù)過程模型的流地圖(flow map)的至少一條路徑能夠被識(shí)別出來305。這條路徑能夠定義業(yè)務(wù)過程中的多個(gè)事件的序列,該序列開始于開始事件,結(jié)束于至少一個(gè)結(jié)束事件,在該序列中至少一個(gè)其它事件位于開始事件和結(jié)束事件之間??者\(yùn)行能夠逐步通過310路徑中的多個(gè)事件以仿真該多個(gè)事件中的每一個(gè)事件。對(duì)應(yīng)于該路徑中的指定事件的至少一個(gè)錯(cuò)誤能夠被識(shí)別出來315。響應(yīng)于識(shí)別出的至少一個(gè)錯(cuò)誤,逐步通過多個(gè)事件能夠在特定事件處暫停320。用戶能夠被提示325進(jìn)行輸入,以至少臨時(shí)解決所述至少一個(gè)錯(cuò)誤。例如,彈出窗口能夠呈現(xiàn)給用戶,以提供針對(duì)臨時(shí)補(bǔ)救方法 (比如,缺失的輸入值)的建議或選項(xiàng)并且從指定臨時(shí)補(bǔ)救方法的用戶接收輸入。響應(yīng)于從用戶接收到解決方案的輸入,逐步通過多個(gè)事件能夠重新開始。響應(yīng)于逐步通過到至少一個(gè)結(jié)束事件,空運(yùn)行可以結(jié)束335。圖;3B是示出在設(shè)計(jì)時(shí)環(huán)境中執(zhí)行業(yè)務(wù)過程模型的空運(yùn)行的計(jì)算機(jī)處理的另一個(gè)示例的流程圖??者\(yùn)行可以被初始化350,比如,被用戶使用包含空運(yùn)行仿真工具的集成開發(fā)環(huán)境初始化。特定業(yè)務(wù)過程模型可以使用空運(yùn)行仿真工具來識(shí)別和調(diào)試??者\(yùn)行可以通過檢查352以確保已經(jīng)針對(duì)該模型的路徑適當(dāng)?shù)刂付碎_始事件和至少一個(gè)結(jié)束事件來開始。如果開始和結(jié)束事件其中之一或二者沒有被指定,或者指定不正確或不適當(dāng),則用戶能夠相應(yīng)地被提示,并且與用戶對(duì)缺失的起始和/或結(jié)束事件的說明或補(bǔ)救方法的選擇或識(shí)別相對(duì)應(yīng)的“快速修復(fù)”輸入被接收到355。如果開始事件和至少一個(gè)結(jié)束事件被適當(dāng)?shù)刂付?,則空運(yùn)行能夠識(shí)別出模型的路徑以及一個(gè)或多個(gè)分支,其包含多個(gè)事件。隨著路徑被識(shí)別出來,空運(yùn)行能夠逐步通過358 所述多個(gè)事件中的每個(gè)事件,以仿真與每一個(gè)建模的過程事件相對(duì)應(yīng)的每一個(gè)數(shù)據(jù)流和/或控制流。事件被識(shí)別360并且事件的仿真(以及,如果有必要,調(diào)試)被初始化。事件可以被檢查362以查看事件所需要的輸入或輸出數(shù)據(jù)是否被適當(dāng)?shù)刂付?。如果確定事件的輸入/輸出映射指定不完全或指定不適當(dāng),則用戶能夠被提示去定義或提供365輸入/輸出映射的測(cè)試值或規(guī)范。另外,事件的控制和情況條件能夠被檢查368去確保事件的控制邏輯已經(jīng)被適當(dāng)?shù)刂付āz查情況條件368能夠與檢查輸入/輸出映射362并行或順序地發(fā)生。盡管圖;3B示出檢查控制邏輯368在輸入/輸出映射已經(jīng)被驗(yàn)證362之后發(fā)生,但在一些實(shí)現(xiàn)中,檢查368能夠在檢查362之前執(zhí)行,并且輸入/輸出映射檢查362能夠響應(yīng)于驗(yàn)證控制條件368而完成。在一些實(shí)例中,檢查362、368的順序可以是任意的或者基本同時(shí)執(zhí)行。像檢查352、362那樣,響應(yīng)于確定368控制條件沒有被充分指定,空運(yùn)行可以被暫停,以允許用戶提交370快速修復(fù)輸入以臨時(shí)補(bǔ)救該錯(cuò)誤并且允許空運(yùn)行仿真繼續(xù)進(jìn)行并且前進(jìn)到結(jié)束事件372。響應(yīng)于控制條件檢查368而接收到的快速修復(fù)輸入370能夠指定應(yīng)該應(yīng)用到仿真中的邏輯或條件,以指明數(shù)據(jù)如何從一個(gè)事件流動(dòng)到另一個(gè)事件。被指定的事件的邏輯和/或條件能夠使用或引用I/O映射以及變量值,來確定一個(gè)事件到另一個(gè)事件的過程流。例如,邏輯可以指定兩個(gè)或多個(gè)情況條件,比如如果χ則a ;如果y則b,等等。在一些實(shí)例中,響應(yīng)于控制條件檢查368而接收到的快速修復(fù)輸入370,能夠像顯式指示模型中應(yīng)該跟隨的事件、路徑或分支一樣簡(jiǎn)單。例如,如果第一個(gè)事件要求控制響應(yīng)于第一個(gè)事件而流向兩個(gè)隨后的事件中的一個(gè),則用戶可以指定快速修復(fù),其包含對(duì)控制要被傳遞到的兩個(gè)隨后事件中的一個(gè)的指示。當(dāng)終止一個(gè)事件的仿真時(shí),如果該事件是結(jié)束事件372,則空運(yùn)行結(jié)束380。但是,如果該事件不是結(jié)束事件,則逐步通過繼續(xù)前進(jìn)375到模型中被仿真的下一個(gè)事件。繼續(xù)前進(jìn)375到模型中的下一個(gè)事件可能依賴于在空運(yùn)行中先前仿真的另一事件的結(jié)果或者輸出。例如,如先前的示例中所述,前一個(gè)事件的快速修復(fù)可以導(dǎo)致用戶將處理流硬驅(qū)動(dòng)(hard-driving)到模型中的特定后續(xù)事件。因此在這個(gè)示例中,空運(yùn)行能夠逐步通過前進(jìn)375到在快速修復(fù)輸入370中指定的特定事件。逐步通過到后續(xù)事件可以包含對(duì)每一個(gè)事件循環(huán)執(zhí)行調(diào)試步驟362-372,直到到達(dá)結(jié)束事件為止,結(jié)束 380空運(yùn)行。圖4A-4F是示出設(shè)計(jì)時(shí)開發(fā)環(huán)境的用戶界面400的示例屏幕截圖。該設(shè)計(jì)時(shí)開發(fā)環(huán)境包含空運(yùn)行仿真工具實(shí)現(xiàn)技術(shù)并且合并了與結(jié)合圖1-3B描述的一些特征類似的特征。作為圖示的示例,并且如圖4A中所示,業(yè)務(wù)過程模型405可以被選擇用于在集成開發(fā)環(huán)境中開發(fā)和調(diào)試。在這個(gè)例子中,業(yè)務(wù)過程模型405對(duì)休假請(qǐng)求業(yè)務(wù)過程進(jìn)行建模,該休假請(qǐng)求業(yè)務(wù)過程當(dāng)被完全開發(fā)和部署之后,能夠允許雇員提交休假請(qǐng)求給管理者并且例如通過電子郵件接收到對(duì)該請(qǐng)求的響應(yīng)。模型405的可視表示能夠在GUI上呈現(xiàn)給用戶,并且允許用戶看見所建模的過程的總的控制和數(shù)據(jù)流。根據(jù)建模環(huán)境的規(guī)范,該模型能夠包含具有判定關(guān)口的控制流元素、數(shù)據(jù)流對(duì)象、定義和其它建模實(shí)體。除了集成開發(fā)環(huán)境的其它典型特征和工具之外,這個(gè)特定示例中的開發(fā)環(huán)境還包含空運(yùn)行仿真工具。能夠?qū)I(yè)務(wù)過程模型405執(zhí)行空運(yùn)行仿真。,仿真可以包括根據(jù)該模型定義的順序或邏輯逐步通過和仿真該模型中的事件??者\(yùn)行仿真也能識(shí)別錯(cuò)誤或指定不完全的建模元素,比如指定不完全或未指定的輸入數(shù)據(jù)、控制條件或邏輯、判定元素條件等等。在圖4B 的示例中,逐步通過過程模型導(dǎo)致證實(shí)登錄(Prove Login)事件410的仿真和調(diào)試。用戶能夠在空運(yùn)行期間仿真、檢查、測(cè)試和修改事件。例如,證實(shí)登錄事件410可以具有輸入變量或?qū)ο蟮卿洈?shù)據(jù)415,其對(duì)應(yīng)于用來驗(yàn)證所建模的休假請(qǐng)求提交系統(tǒng)的用戶的用戶登錄輸入。如窗口 420中所示,用戶能看見和查看與登錄數(shù)據(jù)對(duì)象415關(guān)聯(lián)的參數(shù)以及與對(duì)象 415關(guān)聯(lián)的輸入映射(在該情況中,例如,對(duì)象與證實(shí)登錄事件410的關(guān)聯(lián)和證實(shí)登錄事件 410對(duì)對(duì)象的處理)。在這個(gè)示例中,證實(shí)登錄過程事件410也能具有與事件410相關(guān)聯(lián)的證實(shí)的數(shù)據(jù)(Proved Data)輸出數(shù)據(jù)對(duì)象425 (例如,與傳送用戶成功或不成功的驗(yàn)證嘗試的結(jié)果的數(shù)據(jù)相對(duì)應(yīng))。如圖4C所示,用戶可以類似地查看與輸出數(shù)據(jù)對(duì)象425關(guān)聯(lián)的參數(shù)和值。此外,在空運(yùn)行期間,用戶可以利用與模型的事件相關(guān)聯(lián)以及在模型的事件之間傳遞的輸入數(shù)據(jù)和數(shù)據(jù)對(duì)象來進(jìn)行實(shí)驗(yàn),并且對(duì)所述輸入數(shù)據(jù)和數(shù)據(jù)對(duì)象進(jìn)行修改,以仿真過程模型如何傳遞和處理用戶使用的樣本變量和數(shù)據(jù)值,以及如何對(duì)所述樣本變量和數(shù)據(jù)值做出反應(yīng)。用戶能評(píng)估這些“試運(yùn)行(trial rim)”的結(jié)果,以判定過程模型405是否準(zhǔn)確地捕捉到了所期望的過程模型405所建模的過程的總體功能。進(jìn)一步的,如圖4D所示,隨著空運(yùn)行前進(jìn)通過該模型的路徑中的事件,逐步通過可以識(shí)別一個(gè)或多個(gè)與特定事件關(guān)聯(lián)的錯(cuò)誤。在圖4D的示例中,與休假申請(qǐng)事件430有關(guān)的輸入映射錯(cuò)誤被空運(yùn)行工具識(shí)別出來。I/O映射錯(cuò)誤可以涉及通常是由用戶或該模型范圍之外的另外一個(gè)過程指定的變量或數(shù)據(jù)對(duì)象值。響應(yīng)于這個(gè)錯(cuò)誤,提示435能夠被顯示給用戶,以標(biāo)識(shí)錯(cuò)誤和提供適配為接收用戶輸入的GUI,所述用戶輸入能夠臨時(shí)補(bǔ)救錯(cuò)誤以允許空運(yùn)行繼續(xù)進(jìn)行到完成。在這個(gè)示例中,提示435是彈出窗口,被適配為接受完成空運(yùn)行所需要的臨時(shí)輸入數(shù)據(jù)。在一些實(shí)例中,提示435能夠向用戶標(biāo)識(shí)或建議潛在的解決方案輸入的集合。在一些實(shí)例中,潛在的解決方案的集合可以是閉集(即,只有對(duì)特定事件的可用和反應(yīng)迅速的解決方案輸入),而在另外一個(gè)實(shí)例中,解決方案可以僅僅是建議性的集合或者是開集。在一些實(shí)例中,為了完全仿真與變量關(guān)聯(lián)的特定事件,可能需要具有變量值或規(guī)范的錯(cuò)誤的解決方案,或者錯(cuò)誤可以識(shí)別出隨后的事件依賴于缺失或指定不完全的變量值,正如圖4D的示例中的情況。后續(xù)判定事件440依賴于在休假請(qǐng)求事件430中的布爾變量值發(fā)送Gend),其指示休假請(qǐng)求是否應(yīng)該被發(fā)送給管理者審核。如圖4D所示,用戶能夠出于完成過程模型405的空運(yùn)行仿真的目的而輸入變量的值445。如圖4E的示例所示,錯(cuò)誤也能涉及數(shù)據(jù)流控制。例如,包含在模型中的判定邏輯或判定事件450(圖4A中示出)的條件可能指定不完全,這導(dǎo)致在空運(yùn)行中識(shí)別出錯(cuò)誤。用戶能夠被呈現(xiàn)提示455,其請(qǐng)求錯(cuò)誤的臨時(shí)解決方案。例如,在控制流錯(cuò)誤的情況中,對(duì)于粗略、將就的、或者臨時(shí)的控制條件或邏輯的請(qǐng)求能夠通過提示GUI 455被接收,或者控制事件的結(jié)果能夠簡(jiǎn)單地被用戶指定。與I/O映射錯(cuò)誤一樣,提示455能夠標(biāo)識(shí)和提供解決方案選項(xiàng)供用戶選擇,所述解決方案選項(xiàng)能夠潛在地提供對(duì)錯(cuò)誤可接受的臨時(shí)解決方案。 如圖4E所示,在這個(gè)示例中,用戶能夠簡(jiǎn)單地指定數(shù)據(jù)如何流過判定事件450,以允許用戶暫且忽略事件的指定不完全的本質(zhì),并且繼續(xù)進(jìn)行空運(yùn)行仿真。在這個(gè)示例中,用戶已經(jīng)指定了空運(yùn)行將繼續(xù),仿佛是判定事件導(dǎo)致了控制被傳遞到分支拆分事件(Branch split event) 460,而不是導(dǎo)致控制被直接傳遞到發(fā)送電子郵件事件(Send Email event) 4650如圖4F所示,當(dāng)用戶前進(jìn)通過模型路徑中的每一個(gè)事件時(shí),用戶能夠繼續(xù)進(jìn)行逐步通過、測(cè)試、仿真、事件糾正或修改某些事件,直到用戶到達(dá)路徑中的結(jié)束事件并且結(jié)束該空運(yùn)行為止。
圖5A-5E是示出第二示例中包含空運(yùn)行仿真工具的設(shè)計(jì)時(shí)開發(fā)環(huán)境的用戶界面 400的示例屏幕截圖。在一些實(shí)例中,為了讓空運(yùn)行開始,開始事件和結(jié)束事件需要被指定以便定義空運(yùn)行的邊界。圖5A-5E的示例就是這樣情的況。如圖5A所示,過程模型505被選擇用于使用集成開發(fā)環(huán)境的空運(yùn)行工具的空運(yùn)行調(diào)試。過程模型505,在這個(gè)特定示例中,涉及用來接受、修改和管理用戶登錄數(shù)據(jù)的建模過程。然而,如圖5B所示,當(dāng)一個(gè)用戶嘗試開始空運(yùn)行,錯(cuò)誤提示510被呈現(xiàn),其向用戶指示空運(yùn)行開始事件和結(jié)束事件都沒有被指定。并非取消空運(yùn)行,而是與在空運(yùn)行期間識(shí)別出其它錯(cuò)誤一樣,空運(yùn)行仿真工具能夠允許用戶通過提示510解決識(shí)別出的錯(cuò)誤,從而允許空運(yùn)行仿真繼續(xù)進(jìn)行直到完成。如圖 5C所示,用戶通過錯(cuò)誤提示GUI 510能夠指定開始事件,另外,用戶能夠進(jìn)一步指定結(jié)束事件,如圖5D所示。此外,用戶能夠在模型本身的圖形表示內(nèi)部通過將事件圖標(biāo)515、520拖放到它們?cè)谀P吐窂街械倪m當(dāng)位置,來輸入或修改開始事件和/或結(jié)束事件。如圖5E所示, 用戶定位了開始事件515和結(jié)束事件520,以便在模型中定義可接受的路徑(例如,包含跟隨在開始事件之后的結(jié)束事件的路徑),用于進(jìn)行空運(yùn)行。實(shí)際上,用戶結(jié)合錯(cuò)誤提示提交的空運(yùn)行解決方案輸入能夠包括用戶與模型、事件、路徑的圖形表示的交互和對(duì)它們的修改。例如,用戶能夠通過在模型的圖形表示上對(duì)模型中的事件重新排序來臨時(shí)糾正控制錯(cuò)誤,以解決空運(yùn)行錯(cuò)誤。圖4A-4F和5A-5F表示兩個(gè)使用空運(yùn)行設(shè)計(jì)時(shí)工具來測(cè)試、調(diào)試和仿真業(yè)務(wù)過程模型的非限制性示例。其它的例子能夠包含可替代的協(xié)議,其用于處理和呈現(xiàn)錯(cuò)誤、接受用戶解決方案輸入和其它特征。空運(yùn)行仿真工具及其它任意相關(guān)的設(shè)計(jì)時(shí)工具,比如集成開發(fā)環(huán)境工具,能夠包含另外的或更少的特征,但是仍然是在一些權(quán)利要求的范圍之內(nèi)。也能體會(huì)到,使用空運(yùn)行仿真工具仿真的業(yè)務(wù)過程模型的類型、復(fù)雜度和大小在種類上可能是無限的。在一些實(shí)例中,空運(yùn)行仿真工具可能特定于特定的過程模型格式或規(guī)范。例如, 某些過程模型能夠針對(duì)被開發(fā)為與特定企業(yè)軟件環(huán)境兼容的專門的過程。因此,空運(yùn)行仿真工具(及更大的設(shè)計(jì)時(shí)環(huán)境)可以被適配為或者甚至專門與某些專門的過程模型格式兼容。盡管本公開是根據(jù)特定實(shí)現(xiàn)方式和一般關(guān)聯(lián)的方法來描述的,但是這些實(shí)現(xiàn)方式和方法的改變和變更對(duì)于本領(lǐng)域技術(shù)人員來說是清楚的。例如,這里描述的動(dòng)作可以按照與所描述的順序不同的順序來執(zhí)行并且仍然可以達(dá)到期望的結(jié)果。作為一個(gè)示例,附圖中描繪的過程不一定需要所示的特定順序或者依次的順序才能達(dá)到期望的結(jié)果。在特定實(shí)現(xiàn)方式中,多任務(wù)和并行處理可能是有利的。其它的變化也在所附權(quán)利要求的范圍內(nèi)。
權(quán)利要求
1.一種在設(shè)計(jì)時(shí)環(huán)境中執(zhí)行業(yè)務(wù)過程模型的空運(yùn)行的計(jì)算機(jī)實(shí)現(xiàn)的方法,該方法包括識(shí)別定義業(yè)務(wù)過程模型的流地圖的至少一條路徑的業(yè)務(wù)過程模型的開始事件和至少一個(gè)結(jié)束事件,該路徑包含多個(gè)事件的序列,所述多個(gè)事件包含所述開始事件、所述至少一個(gè)結(jié)束事件,以及至少一個(gè)其它事件,所述至少一個(gè)其它事件在該序列中位于所述開始事件和所述結(jié)束事件之間;逐步通過路徑中的所述多個(gè)事件以仿真所述多個(gè)事件中的每一個(gè)事件; 識(shí)別與該路徑中的特定事件相對(duì)應(yīng)的至少一個(gè)錯(cuò)誤;響應(yīng)于識(shí)別出所述至少一個(gè)錯(cuò)誤,在特定事件處暫停對(duì)所述多個(gè)事件的逐步通過; 提示用戶進(jìn)行輸入以臨時(shí)解決所述至少一個(gè)錯(cuò)誤; 響應(yīng)于來自用戶的解決方案輸入,繼續(xù)對(duì)多個(gè)事件的逐步通過;以及響應(yīng)于逐步通過到所述至少一個(gè)結(jié)束事件,結(jié)束該空運(yùn)行。
2.如權(quán)利要求1的方法,進(jìn)一步包括業(yè)務(wù)過程模型的至少部分的圖形表示在GUI上呈現(xiàn)給用戶以及逐步通過多個(gè)事件的進(jìn)展在⑶I上呈現(xiàn)。
3.如權(quán)利要求1的方法,其中提示用戶進(jìn)行輸入包含呈現(xiàn)適配為從用戶接收輸入的交互彈出窗口。
4.如權(quán)利要求1的方法,其中提示用戶進(jìn)行輸入包含向用戶呈現(xiàn)輸入選項(xiàng)的列表,其中輸入選項(xiàng)的列表包含被確定為錯(cuò)誤的潛在解決方案的多個(gè)輸入。
5.如權(quán)利要求1的方法,其中特定事件包含使用至少一個(gè)變量的過程;所述錯(cuò)誤涉及未提供至少一個(gè)變量的值;以及解決方案輸入包含針對(duì)所述至少一個(gè)變量的用戶指定的值。
6.如權(quán)利要求5的方法,其中至少一個(gè)變量對(duì)應(yīng)于通過與所述業(yè)務(wù)過程模型建模的運(yùn)行時(shí)業(yè)務(wù)過程相關(guān)聯(lián)的用戶接口接收的輸入。
7.如權(quán)利要求5的方法,其中至少一個(gè)變量對(duì)應(yīng)于從業(yè)務(wù)過程模型建模的業(yè)務(wù)過程運(yùn)行時(shí)實(shí)現(xiàn)中的其它過程接收的輸入。
8.如權(quán)利要求5的方法,其中至少一個(gè)變量對(duì)應(yīng)于業(yè)務(wù)過程模型建模的運(yùn)行時(shí)業(yè)務(wù)過程的輸出。
9.如權(quán)利要求1的方法,其中所述特定事件包含至少部分地基于至少一個(gè)條件的判定; 所述錯(cuò)誤涉及未提供所述判定的至少一個(gè)條件;以及解決方案輸入包含用戶指定的條件。
10.如權(quán)利要求1的方法,其中業(yè)務(wù)過程模型是指定不完全的業(yè)務(wù)過程模型。
11.如權(quán)利要求10的方法,其中業(yè)務(wù)過程模型是不可編譯的。
12.如權(quán)利要求10的方法,其中業(yè)務(wù)過程模型在至少部分地基于所述至少一個(gè)錯(cuò)誤的運(yùn)行時(shí)環(huán)境中是不可執(zhí)行的。
13.如權(quán)利要求1的方法,其中設(shè)計(jì)時(shí)環(huán)境是集成開發(fā)環(huán)境。
14.如權(quán)利要求1的方法,進(jìn)一步包括識(shí)別業(yè)務(wù)過程模型缺少開始事件和結(jié)束事件中的至少一個(gè);響應(yīng)于識(shí)別出業(yè)務(wù)過程模型缺少開始事件和結(jié)束事件中的至少一個(gè),暫停對(duì)多個(gè)事件的逐步通過的初始化。提示用戶指定該缺少的開始事件和結(jié)束事件中的至少一個(gè),響應(yīng)于用戶對(duì)該缺少的開始事件和結(jié)束事件中的至少一個(gè)的指定,初始化對(duì)多個(gè)事件的逐步通過。
15.如權(quán)利要求1的方法,進(jìn)一步包括至少部分地基于解決方案輸入修改該業(yè)務(wù)過程模型。
16.一種系統(tǒng),包含包含空運(yùn)行仿真器的集成開發(fā)環(huán)境,該空運(yùn)行仿真器包含存儲(chǔ)至少一個(gè)業(yè)務(wù)過程模型的至少一個(gè)存儲(chǔ)設(shè)備,該業(yè)務(wù)過程模型包括包含至少一條路徑的數(shù)據(jù)流地圖,該路徑包含多個(gè)事件的序列,所述多個(gè)事件包含開始事件、結(jié)束事件, 以及至少一個(gè)其它事件,所述至少一個(gè)其它事件在該序列中位于所述開始事件和所述結(jié)束事件之間;仿真器工具,適配為逐步通過路徑中的所述多個(gè)事件以仿真所述多個(gè)事件中的每一個(gè)事件,識(shí)別與該路徑中的特定事件相對(duì)應(yīng)的至少一個(gè)錯(cuò)誤,響應(yīng)于識(shí)別出所述至少一個(gè)錯(cuò)誤,在特定事件處暫停對(duì)所述多個(gè)事件的逐步通過;和錯(cuò)誤解決方案工具,適配為提示用戶進(jìn)行輸入以至少臨時(shí)解決所述至少一個(gè)錯(cuò)誤,從用戶接收解決方案輸入,其中響應(yīng)于來自用戶的解決方案輸入,暫停的對(duì)多個(gè)事件的逐步通過繼續(xù)進(jìn)行。
17.如權(quán)利要求16的系統(tǒng),其中集成開發(fā)環(huán)境進(jìn)一步包含源代碼編輯器,編譯器,自動(dòng)構(gòu)建工具和調(diào)試器。
18.如權(quán)利要求16的系統(tǒng),其中集成開發(fā)環(huán)境被作為服務(wù)提供給至少一個(gè)遠(yuǎn)程客戶端計(jì)算設(shè)備。
19.如權(quán)利要求16的系統(tǒng),其中集成開發(fā)環(huán)境進(jìn)一步包含圖形用戶接口,該圖形用戶接口適配為將業(yè)務(wù)過程模型的至少部分的圖形表示呈現(xiàn)給用戶,逐步通過多個(gè)事件的進(jìn)展呈現(xiàn)給用戶,并且將識(shí)別出錯(cuò)誤的提示呈現(xiàn)給用戶。
20.一種物品,其包括機(jī)器可讀的存儲(chǔ)設(shè)備,該存儲(chǔ)設(shè)備存儲(chǔ)指令,該指令可操作以導(dǎo)致至少一個(gè)處理器執(zhí)行操作,所述操作包括在設(shè)計(jì)時(shí)環(huán)境中執(zhí)行業(yè)務(wù)過程模型的空運(yùn)行,其中執(zhí)行業(yè)務(wù)過程模型的空運(yùn)行包括 識(shí)別定義業(yè)務(wù)過程模型的流地圖的至少一條路徑的業(yè)務(wù)過程模型的開始事件和至少一個(gè)結(jié)束事件,該路徑包含多個(gè)事件的序列,所述多個(gè)事件包含所述開始事件、所述至少一個(gè)結(jié)束事件,以及至少一個(gè)其它事件,所述至少一個(gè)其它事件在該序列中位于所述開始事件和所述結(jié)束事件之間;逐步通過路徑中的所述多個(gè)事件以仿真所述多個(gè)事件中的每一個(gè)事件; 識(shí)別與該路徑中的特定事件相對(duì)應(yīng)的至少一個(gè)錯(cuò)誤;響應(yīng)于識(shí)別出所述至少一個(gè)錯(cuò)誤,在特定事件處暫停對(duì)所述多個(gè)事件的逐步通過; 提示用戶進(jìn)行輸入以臨時(shí)解決所述至少一個(gè)錯(cuò)誤; 響應(yīng)于來自用戶的解決方案輸入,繼續(xù)對(duì)多個(gè)事件的逐步通過;以及響應(yīng)于逐步通過到所述至少一個(gè)結(jié)束事件,結(jié)束該空運(yùn)行。
全文摘要
本公開提供在設(shè)計(jì)時(shí)環(huán)境中執(zhí)行業(yè)務(wù)過程模型的空運(yùn)行的各種實(shí)施例。該業(yè)務(wù)過程模型的開始事件和結(jié)束事件被識(shí)別,該開始事件和結(jié)束事件定義了流地圖的路徑,該路徑包含多個(gè)事件的序列,所述序列包含所述開始事件、所述結(jié)束事件,以及至少一個(gè)其它事件,所述至少一個(gè)其它事件在該序列中位于所述開始事件和所述結(jié)束事件之間。路徑中的多個(gè)事件被逐步通過(stepped-through)以仿真每個(gè)事件。識(shí)別與路徑中的特定事件相對(duì)應(yīng)的錯(cuò)誤。當(dāng)識(shí)別出錯(cuò)誤時(shí),該逐步通過被暫停。然后用戶被提示進(jìn)行至少臨時(shí)解決所述至少一個(gè)錯(cuò)誤的輸入。響應(yīng)于來自用戶的解決方案輸入,繼續(xù)進(jìn)行對(duì)多個(gè)事件的逐步通過??者\(yùn)行響應(yīng)于逐步通過到達(dá)結(jié)束事件而結(jié)束。
文檔編號(hào)G06F3/048GK102411503SQ20111028056
公開日2012年4月11日 申請(qǐng)日期2011年9月20日 優(yōu)先權(quán)日2010年9月20日
發(fā)明者J.賴斯比赫 申請(qǐng)人:Sap股份公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
双鸭山市| 游戏| 鄱阳县| 沈阳市| 阿合奇县| 普洱| 洮南市| 湘潭县| 名山县| 涡阳县| 康乐县| 广州市| 祁东县| 晴隆县| 红桥区| 鸡东县| 石景山区| 安宁市| 乐平市| 珲春市| 澄城县| 福州市| 安岳县| 志丹县| 杨浦区| 新干县| 龙岩市| 偃师市| 牡丹江市| 同江市| 天柱县| 奈曼旗| 平阳县| 赤城县| 淄博市| 文山县| 罗江县| 恩平市| 名山县| 上高县| 武邑县|