專利名稱:對象過程圖應(yīng)用程序開發(fā)系統(tǒng)的制作方法
背景技術(shù):
本發(fā)明涉及能產(chǎn)生和編輯靜態(tài)或動態(tài)計算機應(yīng)用程序的軟件應(yīng)用程序開發(fā)工具和環(huán)境,其包括綜合開發(fā)環(huán)境(IDE)、快速應(yīng)用程序開發(fā)(RAD)系統(tǒng)、和圖形用戶界面(GUI)工具。具體地,本發(fā)明涉及對象過程圖的產(chǎn)生和編輯,這將隨后在本說明書中進行描述。
本申請與兩個未決申請有關(guān)2005年5月20日申請的、題為“對象過程圖系統(tǒng)”的美國專利申請10/908,654;及2005年5月20日申請的、題為“對象過程圖應(yīng)用程序控制器-查看器”的美國專利申請10/908,653。二者均全部組合于此。
由于20世紀50年代匯編語言的開發(fā),計算機工業(yè)在軟件開發(fā)方面已目睹了一系列的逐漸增長的進步。這些進步已使軟件能夠以更少的人工勞動更快地開發(fā),并使可產(chǎn)生更復(fù)雜的軟件系統(tǒng)和改善軟件系統(tǒng)的可靠性。這些進步包括第3代編程語言如COBOL和Fortran的開發(fā);第4代編程語言如FOCUS的開發(fā);面向?qū)ο蟮木幊陶Z言如Smalltalk、C++和Java的開發(fā);CASE工具如Rational Rose的開發(fā);可視編程環(huán)境如Visual Basic和Web Sphere的開發(fā);關(guān)系數(shù)據(jù)庫系統(tǒng)如Oracle和DB2及面向?qū)ο蟮臄?shù)據(jù)庫系統(tǒng)如GemStone和Versant的開發(fā)。然而,盡管有這些進步,但大系統(tǒng)的開發(fā)仍然成本高昂且高風(fēng)險冒險,其需要許多高度有經(jīng)驗的程序員,且在最終系統(tǒng)的質(zhì)量和可應(yīng)用性方面總是有相當?shù)牟淮_定性。
第5代編程語言及其相關(guān)的開發(fā)環(huán)境如LabVIEW和MATLABSimulink被設(shè)計來將使用第4代語言獲得的開發(fā)生產(chǎn)率提高到下一級別。它們使非程序員能夠明確地使用計算能力,其非常類似于他們的特殊問題領(lǐng)域。第5代語言環(huán)境的特征通常包括綜合的永久數(shù)據(jù)管理系統(tǒng)、查詢語言、報告發(fā)生器及用戶界面定義設(shè)施,并可輔之以圖形發(fā)生器、決策支持功能、財政建模、電子表格能力、靜態(tài)分析功能和參數(shù)化的商業(yè)及領(lǐng)域模型。然而,第5代語言工具的最普遍的實施方式已高度以專門且相當窄的領(lǐng)域為目標,如儀器儀表數(shù)據(jù)獲取(LabVIEW)、信號處理、過程控制、機械建模、微陣列數(shù)據(jù)處理、通信系統(tǒng)設(shè)計等。
發(fā)明內(nèi)容
本發(fā)明定義和實現(xiàn)對象過程圖應(yīng)用程序開發(fā)系統(tǒng)。
一方面為對象過程圖應(yīng)用程序開發(fā)系統(tǒng),包括對象過程圖應(yīng)用程序描述記法和對象過程圖應(yīng)用程序編輯器。記法提供一組關(guān)鍵字及相關(guān)的定義,其使開發(fā)人員能夠定義所有應(yīng)用程序數(shù)據(jù)和功能,包括但不限于數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)變換、處理步驟和計算。應(yīng)用程序編輯器使用記法關(guān)鍵字的圖標表示提供可編輯的應(yīng)用程序圖形表示。
另一方面為對象過程圖應(yīng)用程序開發(fā)系統(tǒng),包括對象過程圖應(yīng)用程序描述記法、對象過程圖應(yīng)用程序編輯器、對象過程圖應(yīng)用程序窗口編輯器。記法定義關(guān)鍵字及其圖標表示的含意。編輯器提供應(yīng)用程序數(shù)據(jù)和過程信息的可編輯表示。窗口編輯器使應(yīng)用程序開發(fā)人員或用戶能夠在應(yīng)用程序正運行時產(chǎn)生和編輯應(yīng)用程序的用戶界面。
另一方面為對象過程圖應(yīng)用程序開發(fā)系統(tǒng),包括對象過程圖應(yīng)用程序描述記法、對象過程圖應(yīng)用程序編輯器、對象過程圖應(yīng)用程序窗口編輯器和對象過程圖應(yīng)用程序界面。記法提供應(yīng)用程序組成部分定義。應(yīng)用程序編輯器提供對象過程圖應(yīng)用程序的可編輯圖形表示。窗口編輯器向用戶和開發(fā)人員提供在應(yīng)用程序正運行時產(chǎn)生和編輯應(yīng)用程序的用戶界面所需要的功能。對象過程圖應(yīng)用程序界面提供界面功能的定義并實施使應(yīng)用程序能直接與對象過程圖應(yīng)用程序連接的接入方法。
另一方面為開發(fā)計算機系統(tǒng)的方法和計算機程序產(chǎn)品。所述方法包括接收指定圖結(jié)構(gòu)中的元素的指令并響應(yīng)于指令實時修改計算機程序。圖結(jié)構(gòu)為計算機程序。
另一方面為開發(fā)計算機系統(tǒng)的方法和計算機程序產(chǎn)品。所述方法包括將計算機程序生成為圖結(jié)構(gòu)并在用戶界面屏幕上顯示圖結(jié)構(gòu)的圖形表示。指定圖結(jié)構(gòu)中的元素的指令被接收。響應(yīng)于所述指令計算機程序被實時修改。此外,響應(yīng)于所述指令對圖結(jié)構(gòu)進行更新。更新后的圖結(jié)構(gòu)的圖形表示被顯示在用戶界面屏幕上。
本發(fā)明的示例性實施例包括許多優(yōu)點,包括降低建立大型、復(fù)雜對象過程圖應(yīng)用程序系統(tǒng)的成本和風(fēng)險。應(yīng)用程序用戶和應(yīng)用程序領(lǐng)域?qū)<揖軌蛞宰钌俚挠嬎銠C培訓(xùn)開發(fā)和維護專用、復(fù)雜對象過程圖應(yīng)用程序系統(tǒng)。為大大擴大軟件應(yīng)用程序系統(tǒng)的范圍、靈活性和有用性,可產(chǎn)生能在運行時間進行修改的應(yīng)用程序。此外,本發(fā)明提供使可組合對象過程圖應(yīng)用程序和傳統(tǒng)軟件應(yīng)用程序的界面。
本發(fā)明的這些及其它特征、方面和優(yōu)點參照下面的描述、所附權(quán)利要求和附圖將得以更好地理解,其中圖1為根據(jù)本發(fā)明示例性實施例的對象過程圖應(yīng)用程序開發(fā)系統(tǒng)(OPGADS)。
圖2為根據(jù)本發(fā)明示例性實施例的對象過程圖應(yīng)用程序編輯器(OPGAE)工作區(qū),顯示為Eclipse透視圖。
圖3為根據(jù)本發(fā)明示例性實施例的OPGAE例子。
圖4為根據(jù)本發(fā)明示例性實施例的對象過程圖(OPG)應(yīng)用程序顯示的例示。
圖5為根據(jù)本發(fā)明示例性實施例的表明儲存庫視圖的OPGAE工作區(qū)。
圖6為根據(jù)本發(fā)明示例性實施例的用于儲存庫選擇的應(yīng)用程序定義向?qū)Т翱凇?br>
圖7為根據(jù)本發(fā)明示例性實施例的用于應(yīng)用程序名稱輸入的應(yīng)用程序定義向?qū)Т翱凇?br>
圖8為根據(jù)本發(fā)明示例性實施例的OPGAE。
圖9示出了根據(jù)本發(fā)明示例性實施例從構(gòu)造器選擇OPG應(yīng)用程序窗口編輯器(OPGAWE)。
圖10示出了根據(jù)本發(fā)明示例性實施例從OPG默認應(yīng)用程序顯示窗口選擇操作窗口。
圖11為根據(jù)本發(fā)明示例性實施例的操作數(shù)據(jù)顯示窗口。
圖12示出了根據(jù)本發(fā)明示例性實施例從操作數(shù)據(jù)選擇窗口啟動OPGAWE。
圖13為根據(jù)本發(fā)明示例性實施例的OPG操作數(shù)據(jù)窗口編輯器。
圖14示出了根據(jù)本發(fā)明示例性實施例將應(yīng)用程序框架增加到OPG應(yīng)用程序窗口。
圖15為根據(jù)本發(fā)明示例性實施例的擴展的動態(tài)模型視圖控制器。
圖16示出了根據(jù)本發(fā)明示例性實施例的應(yīng)用程序數(shù)據(jù)顯示特性。
圖17示出了根據(jù)本發(fā)明示例性實施例的OPGAWE上的所選元素。
圖18為根據(jù)本發(fā)明示例性實施例的數(shù)據(jù)可見性及編輯特性編輯器窗口。
圖19示出了根據(jù)本發(fā)明示例性實施例的數(shù)據(jù)可見性及編輯特性編輯器組成部分。
圖20示出了根據(jù)本發(fā)明示例性實施例的OPG圖變換。
圖21示出了根據(jù)本發(fā)明示例性實施例的記法編輯器圖翻譯范例。及圖22為根據(jù)本發(fā)明示例性實施例的OPG應(yīng)用程序開發(fā)者范例。
具體實施例方式
本發(fā)明的示例性實施例的各方面包括用于開發(fā)對象過程圖(OPG)應(yīng)用程序的完整環(huán)境。示例性實施例,如圖1中所示,包括四個主要組成部分(圖1)對象過程圖應(yīng)用程序描述記法(OPGADN)1、對象過程圖應(yīng)用程序編輯器(OPGAE)2、對象過程圖應(yīng)用程序窗口編輯器(OPGAWE)4和對象過程圖應(yīng)用程序界面(OPGAPI)3。OPGAE2和OPGAPI3與本說明書隨后描述的OPG系統(tǒng)5緊密組合。
OPGADN1組成部分的示例性實施例包括一組關(guān)鍵字及相關(guān)的定義,其使應(yīng)用程序開發(fā)人員、用戶和領(lǐng)域?qū)<夷軌蛲耆x應(yīng)用程序的復(fù)雜處理步驟、數(shù)據(jù)操縱、變換和定義。關(guān)鍵字代表并映射到定義應(yīng)用程序的OPG元素。
OPGAE2組成部分的示例性實施例為用于定義和更新OPG應(yīng)用程序的全特征編輯環(huán)境。它們可被實施為獨立或基于WEB的計算機軟件系統(tǒng)。示例性實施例使用OPGAPI3定義的功能直接與OPG應(yīng)用程序交互作用并通過動態(tài)圖形解釋器(DGI)修改OPG應(yīng)用程序。它們將OPG應(yīng)用程序的圖形表示呈現(xiàn)給開發(fā)人員,所述圖形表示與實際的OPG應(yīng)用程序結(jié)構(gòu)緊密相關(guān)。圖形表示包括開發(fā)人員可用經(jīng)鍵盤、計算機鼠標或其它輸入設(shè)備輸入的編輯指令進行操縱的圖符和結(jié)構(gòu)。
OPGAWE4組成部分的示例性實施例提供一“所見即所得”(WYSIWYG)類型的編輯器,用于更新OPG應(yīng)用程序數(shù)據(jù)顯示于其上的窗口的定義,并提供一特殊的編輯器,用于定義和修改數(shù)據(jù)元的可見性和易變性。在運行程序之前或在進行中即程序正由DGI解釋時對窗口和顯示特性進行變化。OPGAWE4的示例性實施例還提供用于開始、停止和監(jiān)視OPG應(yīng)用程序及用于評估和改變應(yīng)用程序數(shù)據(jù)的指令。示例性實施例被實施為本說明書隨后描述的OPG應(yīng)用程序控制器-查看器系統(tǒng)(OPGACV)的模塊。
OPGAPI3組成部分的示例性實施例定義由OPG翻譯器實施的一組標準功能及相關(guān)參數(shù),其包括使非OPG應(yīng)用程序(如OPGAE2的實施例)能與OPG應(yīng)用程序交互作用的標準OPG和DGI組成部分。OPGAPI3定義用于開始、停止、定義及修改OPG應(yīng)用程序的功能。其還定義用于將數(shù)據(jù)輸入到OPG應(yīng)用程序并報告OPG應(yīng)用程序的輸出的功能。
對象過程圖應(yīng)用程序描述記法(OPGADN)在示例性實施例中,OPGADN1提供一組用于OPG應(yīng)用程序的元素的關(guān)鍵字及相關(guān)定義。OPGADN1用于描述OPG應(yīng)用程序編輯器的界面。其它記法,如通用建模語言(UML)也可通過修改一些UML符號的含意而用于定義OPG程序。此外,其它記法的編輯器可產(chǎn)生OPG程序描述,其可被翻譯成OPG程序的可擴展標記語言(XML)描述。下述為示例OPGADN1術(shù)語的列表及其定義OPG應(yīng)用程序-定義為可由OPG系統(tǒng)5中的DGI解釋(運行)的OPG的計算機軟件系統(tǒng)。OPG應(yīng)用程序由數(shù)據(jù)結(jié)構(gòu)、操作、及定義關(guān)系和數(shù)據(jù)變換的鏈接組成。
操作-定義暫時行動或程序行動或步驟的有序或無序可串行化或可并行化序列。操作大致對應(yīng)于高級計算機程序內(nèi)的代碼行、工作流系統(tǒng)內(nèi)的操作或步驟、或交互式或事務(wù)處理系統(tǒng)內(nèi)的屏幕或窗口。
過程-分組一組操作并給予該分組名稱的操作。OPG應(yīng)用程序由一個或多個過程組成。
數(shù)據(jù)元-具有名稱及單值或復(fù)值的數(shù)據(jù)項。
數(shù)據(jù)結(jié)構(gòu)-分組一組原始數(shù)據(jù)元、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)陣列和數(shù)據(jù)參考的數(shù)據(jù)元。所成組的項被稱為屬性。在程序內(nèi),數(shù)據(jù)結(jié)構(gòu)可作為單一實體進行引用和操縱。
原始數(shù)據(jù)-具有類型且沒有數(shù)據(jù)元子結(jié)構(gòu)的數(shù)據(jù)元。原始數(shù)據(jù)元為數(shù)據(jù)結(jié)構(gòu)的屬性。原始數(shù)據(jù)元包括對其類型獨一無二的顯示和處理功能。一大組原始類型被預(yù)先定義,包括字符串、雙精度型、整數(shù)、日期、文件、圖象、映射、XML文件、計算的、計算的字符串、自定義類、電子郵件地址、網(wǎng)站地址、目錄、電子表格單元、文件變換、長整數(shù)、大十進制、二進制、及關(guān)系表。另外的領(lǐng)域特有數(shù)據(jù)類型也可按需增加。
數(shù)據(jù)結(jié)構(gòu)陣列-數(shù)據(jù)結(jié)構(gòu)的同質(zhì)n維陣列。數(shù)據(jù)陣列是數(shù)據(jù)結(jié)構(gòu)的屬性。
數(shù)據(jù)參考-數(shù)據(jù)結(jié)構(gòu)的屬性,其指向數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)參考可被定義使得它們可以為空值(1對0或1關(guān)系)或永遠不為空值(1對1關(guān)系)。
應(yīng)用程序狀態(tài)-在應(yīng)用程序運行中數(shù)據(jù)元值及有效操作的集合。
鏈接-定義兩個OPG軟件單元之間的變換關(guān)系(連接)的軟件結(jié)構(gòu)。有三種鏈接范疇操作到操作,其定義兩個操作之間的關(guān)系;操作到數(shù)據(jù),其定義操作和數(shù)據(jù)結(jié)構(gòu)之間的關(guān)系;及數(shù)據(jù)到數(shù)據(jù),其定義兩個數(shù)據(jù)元之間的關(guān)系。所有鏈接具有定義其名稱、方向等的特性。由鏈接定義的行動可在數(shù)據(jù)例圖比較的基礎(chǔ)上偶然發(fā)生。在每一鏈接范疇內(nèi)有如下定義的鏈接類型。
顯示鏈接-定義控制流從一操作到另一操作的方向的操作到操作鏈接。應(yīng)用程序狀態(tài)信息被顯示為到接收操作的變遷的一部分。
隊列鏈接-定義控制流從一操作到另一操作的方向的操作到操作鏈接。應(yīng)用程序狀態(tài)被放在接收操作的等待事件的隊列中。
批鏈接-定義控制流從一操作到另一操作的方向的操作到操作鏈接。應(yīng)用程序狀態(tài)信息由接收操作立即處理。處理可被預(yù)定時間。
復(fù)制鏈接-定義將一數(shù)據(jù)元的值復(fù)制到另一數(shù)據(jù)元的數(shù)據(jù)到數(shù)據(jù)鏈接。這樣的復(fù)制是知道數(shù)據(jù)類型的,即值轉(zhuǎn)換和復(fù)制是隱含的。鏈接特性定義轉(zhuǎn)換及其它復(fù)制條件。
計算鏈接-定義一組應(yīng)用于數(shù)據(jù)元、產(chǎn)生新數(shù)據(jù)元的數(shù)據(jù)變換的數(shù)據(jù)到數(shù)據(jù)鏈接。計算鏈接提供復(fù)雜的數(shù)學(xué)公式和/或常規(guī)表示式以對任何數(shù)量的數(shù)據(jù)元作用從而計算另一數(shù)據(jù)元。
拆分鏈接-定義一應(yīng)用程序狀態(tài)中的數(shù)據(jù)元分布到一個或多個應(yīng)用程序狀態(tài)的數(shù)據(jù)到數(shù)據(jù)鏈接(應(yīng)用程序狀態(tài)如上所定義)。
歸并鏈接-定義將一個或多個應(yīng)用程序狀態(tài)中的數(shù)據(jù)元集合到一個應(yīng)用程序狀態(tài)中的數(shù)據(jù)到數(shù)據(jù)鏈接。
聯(lián)結(jié)鏈接-定義不同種類數(shù)據(jù)元的同時檢索的數(shù)據(jù)到數(shù)據(jù)鏈接(類似于關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS)聯(lián)結(jié))。
創(chuàng)建鏈接-定義新數(shù)據(jù)結(jié)構(gòu)的生成的操作到數(shù)據(jù)鏈接。
檢索鏈接-定義數(shù)據(jù)元的檢索及將它們隨該操作添加到應(yīng)用程序狀態(tài)的操作到數(shù)據(jù)鏈接。
執(zhí)行鏈接-定義程序代碼的執(zhí)行或包含在數(shù)據(jù)元內(nèi)的關(guān)于該操作的控制結(jié)構(gòu)的操作到數(shù)據(jù)鏈接。
對象過程圖應(yīng)用程序編輯器(OPGAE)下面提供了OPGAE2組成部分的示例性實施例的功能概觀。所參考的圖2-5為示出OPGAE2提供的工作區(qū)及OPG應(yīng)用程序的圖形模型被怎樣顯示的窗口圖象。在示例性實施例中,OPGAE2被實施為Eclipse平臺插件,其將工作區(qū)顯示為Eclipse透視圖。
在示例性實施例中,OPGAE2將工作區(qū)窗口內(nèi)的OPG應(yīng)用程序呈現(xiàn)在個人計算機(PC)顯示器上。OPGAE工作區(qū)為圖形用戶界面(GUI)。OPGAE2從PC的鼠標或鍵盤接受用戶輸入。
OPGAE工作區(qū)在示例性實施例中,如圖2中所示的實施例,OPGAE2提供Eclipse透視以在PC顯示器上顯示圖象工作區(qū)。工作區(qū)使用戶能夠編寫、選擇和更新OPG應(yīng)用程序。應(yīng)用程序被繼續(xù)保持在儲存庫中(數(shù)據(jù)源)。工作區(qū)使用戶能夠選擇儲存庫和選擇儲存庫中的應(yīng)用程序。其還提供對應(yīng)用程序的每一組成部分和鏈接的訪問及對與所述組成部分和鏈接相關(guān)的特性的訪問。用戶通過使用PC的鼠標和鍵盤從所顯示的列表進行選擇并拖動和使組成部分落在工作區(qū)上而定義或修改應(yīng)用程序。工作區(qū)顯示(如Eclipse透視)由標準圖形編輯框架(GEF)工具條12和六個專門視圖組成調(diào)色板視圖11、組成部分視圖9、應(yīng)用程序?qū)Ш揭晥D6、儲存庫視圖(未示出)、組成部分概覽視圖7、及組成部分特性視圖10。這些視圖可在編輯器窗口中重新排列以適合用戶的選擇。圖2示出了所述顯示的默認排列。在圖2中,應(yīng)用程序?qū)Ш揭晥D6的標簽被標記為“圖邏輯”。應(yīng)用程序?qū)Ш揭晥D6具有小的工具條8,其包括用于創(chuàng)建新應(yīng)用程序的圖符、打開現(xiàn)有圖符的圖符、恢復(fù)最近裝入的應(yīng)用程序版本(丟棄任何變化)并從視圖刪除所選項的圖符。圖2的排列將在下面更加詳細的描述。
在示例性實施例中,應(yīng)用程序組成部分、鏈接和原始數(shù)據(jù)屬性均由圖形符號表示。應(yīng)用程序組成部分由矩形表示。表示組成部分的類型的符號顯示在矩形的左上角。示例性的符號及它們所代表的組成部分被列在圖2中的調(diào)色板視圖11中。
OPG應(yīng)用程序的一些樣本組成部分被示出在圖3所示的示例性O(shè)PGAE工作區(qū)中。在組成部分矩形放在組成畫布14上時,組成部分13的名稱位于矩形的最上面。組成部分矩形的其余部分為組成畫布14,屬性組成可被放于其上。當子組成部分15在包圍組成部分的組成畫布內(nèi)時,組成部分矩形可被調(diào)整大小和改變位置。組成部分矩形具有四個用于鏈接的連接點16,每邊一個。當組成部分矩形被選中時,它們被高亮顯示。應(yīng)用程序鏈接由鏈接線17表示。鏈接線17從組成部分矩形上的連接點16連到另一或同一組成部分矩形上的連接點16。鏈接線17一端具有箭頭,其指向從屬組成部分。數(shù)據(jù)屬性由小的矩形代表,其包含在左側(cè)的圖符,圖符后為屬性名稱。數(shù)據(jù)屬性符號沒有組成畫布,因為它們不能有任何子組成部分。通過將PC上的鼠標光標定位在可選擇的元素上并點擊鼠標左鍵而在工作區(qū)上進行選擇。
調(diào)色板視圖11顯示可成為應(yīng)用程序一部分的OPG組成部分。當組成部分被選擇時,光標被用該組成部分“裝備”并在光標移過所選組成部分可被放于那里的組成視圖9的區(qū)域上方時顯示OK符號,或顯示該組成部分不能放于那里的禁止符號。光標保持裝備直到通過將光標定位在有效組成視圖9上的所需位置并點擊鼠標左鍵而選擇所述元素的位置為止。通過點擊調(diào)色板上的“選擇”選項而可在任何時候使光標“解除”。此外,通過點擊調(diào)色板視圖11上的組成部分選擇,光標可被裝備以不同的組成部分。
調(diào)色板視圖11提供下述組成部分選擇操作、結(jié)構(gòu)數(shù)據(jù)、結(jié)構(gòu)數(shù)據(jù)陣列和數(shù)據(jù)。調(diào)色板視圖11提供用于將一組成部分連到另一組成部分的鏈接選擇及使可選擇組成部分的組成畫布14上的多個組成部分的選取框選擇。在示例性實施例中,調(diào)色板視圖11的默認位置在工作區(qū)的右側(cè)。
組成視圖9,如圖4的示例性O(shè)PGAE工作區(qū)中所示的示例性組成視圖9,在組成畫布14上顯示組成部分的圖和/或?qū)傩?。多個組成視圖9可在同時打開。當它們被打開時它們以最近打開的組成視圖9在棧的最上面的方式自動堆疊。在棧的最上面的組成視圖9為“當前”視圖。每一組成視圖9具有帶有其組成部分名稱的標簽。點擊標簽將使得其視圖成為視圖棧的最上面視圖,從而使其可見和成為當前視圖(定序組成部分在圖4中進行選擇)。在示例性實施例中,組成視圖9為組成部分和連接可放于其上的畫布。通過將鼠標左鍵點擊在視圖標簽上的“X”上而關(guān)閉組成視圖9。
顯示在當前組成視圖9上的組成部分或鏈接可通過在組成部分或鏈接圖形上點擊左鍵而進行選擇。所選組成部分具有高亮顯示的邊框,在每一邊上具有表示連接點的小正方形。所選組成部分可按需在組成畫布14上調(diào)整大小或移動。組成視圖9是最大的視圖。在示例性實施例中,在默認排列情況下,組成視圖9位于OPGAE工作區(qū)窗口的中央,調(diào)色板視圖11在其右側(cè),應(yīng)用程序?qū)Ш狡鞴ぞ邨l8、組成部分概覽視圖7和組成部分特性視圖10在左側(cè)。
應(yīng)用程序?qū)Ш狡饕晥D6顯示整個應(yīng)用程序的樹圖,從而使可選擇應(yīng)用程序的任何組成部分。在應(yīng)用程序樹中的組成部分上雙擊鼠標左鍵將打開所選組成部分上的當前組成視圖9。應(yīng)用程序?qū)Ш狡鞴ぞ邨l8上的選擇標簽具有標題“圖形邏輯應(yīng)用程序?qū)Ш狡鳌薄?br>
儲存庫視圖18,如圖5的示例性O(shè)PGAE工作區(qū)中所示的儲存庫,顯示OPG應(yīng)用程序可被保留于其中的OPG儲存庫的列表。在該OPGAE2的結(jié)構(gòu)角度,儲存庫視圖18是應(yīng)用程序?qū)Ш狡鞴ぞ邨l8的替換方案。二者中的任一個均可通過點擊其各自的標簽進行選擇。
組成部分概覽視圖7的示例性實施例顯示當前組成視圖9中的組成部分的樹圖。點擊組成部分概覽視圖7中的組成部分,選擇(高亮顯示)可見組成視圖9中的組成部分。組成部分概覽視圖7位于工作區(qū)的左下側(cè),與組成部分特性視圖位于同一區(qū)域。組成視圖9可通過點擊其標簽進行選擇。
當當前組成視圖9上的組成部分或鏈接圖符被選擇時,如圖4中所示的圖符,其特性被顯示在組成部分特性視圖10上。特性被顯示在列表上,特性名稱在左列,其當前值在右列。在圖4中,組成部分特性視圖10被示出具有特性列表。不同的特性設(shè)置可與每一類型的組成部分或鏈接相關(guān)聯(lián)。在示例性實施例中,組成部分特性視圖10具有用于相關(guān)特性組的范疇標簽以簡化特性選擇。
列表上每一特性的值均是可編輯的。在許多情況下,它們是具有所示有效選擇的簡單下拉列表。
組成部分特性視圖10位于工作區(qū)的左下側(cè),與組成部分概覽視圖7在同一區(qū)域。組成部分特性視圖10可通過點擊其標簽進行選擇。
OPGAE編輯功能下述為本發(fā)明OPGAE2組成部分的示例性實施例提供的編輯功能列表定義應(yīng)用程序-定義新應(yīng)用程序的過程由應(yīng)用程序定義向?qū)Э刂?。當OPGAE工具條上的新應(yīng)用程序圖符被點擊時開始應(yīng)用程序定義向?qū)?。?yīng)用程序定義向?qū)紫蕊@示儲存庫選擇窗口,如圖6中所示的窗口。在新應(yīng)用程序?qū)⒈4嬗谄渲械膬Υ鎺毂贿x擇之后,應(yīng)用程序定義向?qū)э@示應(yīng)用程序名稱輸入窗口,如圖7中所示的窗口。在應(yīng)用程序名稱被輸入之后,應(yīng)用程序定義向?qū)э@示應(yīng)用程序定義窗口,其使用戶能夠提供應(yīng)用程序描述信息,如用戶是誰及密碼以控制對編輯功能的訪問。最后,應(yīng)用程序定義向?qū)筄PGAE2將新應(yīng)用程序顯示為組成視圖9中的OPG組成部分,如圖4中所示的那樣,其提供用于定義應(yīng)用程序的畫布。應(yīng)用程序?qū)Ш狡饕晥D6在其應(yīng)用程序樹這將應(yīng)用程序顯示為最上面的條目(如圖4中的“演示程序”)。
打開應(yīng)用程序-打開現(xiàn)有應(yīng)用程序的過程由應(yīng)用程序定義向?qū)Э刂啤.擮PGAE工具條上的打開應(yīng)用程序圖符被點擊時開始應(yīng)用程序定義向?qū)?。?yīng)用程序定義向?qū)э@示儲存庫選擇窗口,如圖6中所示的窗口,且當下一按鈕被點擊時,其顯示備選應(yīng)用程序的列表。
定義過程組成部分并將其添加到應(yīng)用程序組成部分-同顯示為當前組成視圖9的應(yīng)用程序一起,在調(diào)色板視圖11上進行操作選擇,操作被放在應(yīng)用程序的組成畫布14上。所放的過程變成應(yīng)用程序的子過程。每一應(yīng)用程序具有一組子過程。另外的過程可使用同樣的程序添加到應(yīng)用程序。過程的名稱可通過點擊其名稱并輸入新名稱而在過程組成部分上直接改變。
定義操作組成部分并將其添加到過程組成部分-在調(diào)色板視圖11上進行操作選擇之后,操作可被放在當前組成視圖9上顯示的任何過程的組成畫布14上。所放的操作成為其被放于之上的過程的子操作。每一過程具有一組子操作。
定義數(shù)據(jù)結(jié)構(gòu)組成部分并將其添加到操作組成部分-在調(diào)色板視圖11上進行數(shù)據(jù)結(jié)構(gòu)選擇之后,數(shù)據(jù)結(jié)構(gòu)可被放在當前組成視圖9上顯示的任何操作的組成畫布14上。
定義數(shù)據(jù)結(jié)構(gòu)組成部分并將其添加到數(shù)據(jù)結(jié)構(gòu)組成部分-在調(diào)色板視圖11上進行數(shù)據(jù)結(jié)構(gòu)選擇之后,數(shù)據(jù)結(jié)構(gòu)陣列可被放在當前組成視圖9上顯示的任何數(shù)據(jù)結(jié)構(gòu)的組成畫布14上。當數(shù)據(jù)結(jié)構(gòu)陣列被放在數(shù)據(jù)結(jié)構(gòu)的組成畫布14上時,其成為其放于之上的數(shù)據(jù)結(jié)構(gòu)的屬性。
定義數(shù)據(jù)結(jié)構(gòu)陣列組成部分并將其添加到數(shù)據(jù)結(jié)構(gòu)組成部分-在調(diào)色板視圖11進行數(shù)據(jù)結(jié)構(gòu)陣列選擇之后,原始數(shù)據(jù)可被放在當前組成視圖9上顯示的任何數(shù)據(jù)結(jié)構(gòu)的組成畫布14上。當數(shù)據(jù)結(jié)構(gòu)陣列被放在數(shù)據(jù)結(jié)構(gòu)的組成畫布14上時,其成為其放于之上的數(shù)據(jù)結(jié)構(gòu)的屬性。
定義原始數(shù)據(jù)組成部分并將其添加到數(shù)據(jù)結(jié)構(gòu)組成部分或數(shù)據(jù)結(jié)構(gòu)陣列組成部分-在調(diào)色板視圖11上進行原始數(shù)據(jù)選擇之后,原始數(shù)據(jù)可被放在當前組成視圖9上顯示的任何數(shù)據(jù)結(jié)構(gòu)或數(shù)據(jù)結(jié)構(gòu)陣列的組成畫布14上。當原始數(shù)據(jù)被放在數(shù)據(jù)結(jié)構(gòu)的組成畫布14上時,其成為其放于之上的數(shù)據(jù)結(jié)構(gòu)的屬性。
從OPG應(yīng)用程序刪除組成部分-在選擇將要刪除的組成部分之后,按壓鍵盤上的刪除鍵或選擇語境菜單上的刪除。
定義并添加兩個組成部分之間的鏈接-在調(diào)色板視圖11上進行鏈接選擇之后,點擊當前組成視圖9上的“自”組成部分,然后點擊“到”組成部分。OPGAE2將放置連接兩個組成部分的線,其從“自”組成部分上的連接點16到“到”組成部分上的連接點。如果需要,鏈接兩端可被移到不同的連接點16。由OPGAE2放置的鏈接將屬于適當?shù)摹白浴焙汀暗健苯M成部分范疇,即過程到過程、過程到數(shù)據(jù)或數(shù)據(jù)到數(shù)據(jù)鏈接。通過點擊鏈接以選擇其然后改變組成部分特性視圖7上的類型特性而可改變連接類型。
OPGAE設(shè)計描述在示例性實施例中,OPGAE2被實施為Eclipse平臺插件,并基于如圖8所示的經(jīng)典模型視圖控制器(MVC)框架。OPGAPI圖形翻譯器(GT)23將OPG應(yīng)用程序從OPG系統(tǒng)5翻譯為記法編輯器圖形(NEG)24(該翻譯將在下面作為包含于此的OPGAPI3描述的一部分進行描述)。OPGAE控制器21將NEG24轉(zhuǎn)換為OPGAE圖形模型22,OPGAE視圖20和OPGAE控制器21組成部分相互作用從而使OPG應(yīng)用程序和/或OPG應(yīng)用程序的部分呈現(xiàn)在顯示介質(zhì)上。在示例性實施例中,OPGAE視圖20和OPGAE控制器21均基于Eclipse GEF。OPGAE圖形模型22還使OPGAE控制器21能夠確認用戶輸入并動態(tài)確定用戶可用的選項。
OPGAE視圖20組成部分將OPG應(yīng)用程序的圖形模型呈現(xiàn)為顯示介質(zhì)上的簡圖(如圖形符號及控制的排列)。OPGAE視圖20可將完整的OPG應(yīng)用程序顯示為一組相關(guān)的頂級元素,這些元素可被遞歸地分解為其構(gòu)成部分。當OPGAE控制器21被通知用戶已通過圖形控制之一選擇更加詳細地檢查應(yīng)用程序元素時,其請求OPGAE視圖20呈遞模型的所選部分。這樣,用戶可將所顯示的OPG應(yīng)用程序或應(yīng)用程序的部分定位到任何所需的細節(jié)水平。
除了指示OPGAE視圖20組成部分在顯示介質(zhì)上呈遞所有或部分OPG應(yīng)用程序并將NEG轉(zhuǎn)換為圖形模型之外,OPGAE控制器21組成部分還負責(zé)處理用戶輸入和選擇。在示例性實施例中,用戶請求包括創(chuàng)建或刪除應(yīng)用程序元素,如操作和數(shù)據(jù)陣列,或改變應(yīng)用程序元素之間的關(guān)系。用戶還可增加或消除合成數(shù)據(jù)結(jié)點的屬性并更新任何應(yīng)用程序?qū)嶓w的特性。OPGAE控制器經(jīng)OPGAE模型呈現(xiàn)的圖形模型的功能與OPG應(yīng)用程序相互作用。
對象過程圖應(yīng)用程序窗口編輯器(OPGAWE)功能概述這部分提供了OPGAWE4的功能概述。所參考的附圖,即圖9-14均為示出數(shù)據(jù)顯示窗口和OPG應(yīng)用程序上的顯示特性可怎樣作為定義應(yīng)用程序的一部分或作為實際上正在運行的程序進行編輯的窗口圖象。
OPGAWE4提供WYSIWYG類型的編輯器。在示例性實施例中,如圖9中所示,編輯器從OPG系統(tǒng)5的“構(gòu)造器”窗口開始。此外,或者,如圖10中所示,編輯器從運行OPG應(yīng)用程序窗口開始。當編輯器從OPG系統(tǒng)5中的構(gòu)造器窗口開始時,應(yīng)用程序操作被選擇。“窗口編輯器”菜單項,如圖9中所示之一,用于選擇OPGAWE4。當OPGAWE4以這種方式啟動時對窗口和數(shù)據(jù)顯示特性所做的改變將應(yīng)用于隨后由相關(guān)應(yīng)用程序操作處理的所有事務(wù)的數(shù)據(jù)。
當編輯器從運行應(yīng)用程序開始時,在OPG系統(tǒng)應(yīng)用程序顯示窗口上的應(yīng)用程序操作處的事務(wù)被首先選擇(見如圖10中的事務(wù)標識符鏈接)。這使得OPG系統(tǒng)5在其當前操作顯示具有事務(wù)數(shù)據(jù)的應(yīng)用程序窗口。例如,參見圖11,其中顯示在窗口上的數(shù)據(jù)根據(jù)當前窗口格式化特性進行格式化。當前窗口格式化特性大概具有三個不同的來源。窗口格式化特性的第一來源是應(yīng)用程序或作為在當前操作的事務(wù)的一部分的數(shù)據(jù)的默認數(shù)據(jù)顯示特性。這是特性的最低優(yōu)先來源。窗口格式化特性的第二來源為操作特有的顯示特性,其僅應(yīng)用于在所選操作的事務(wù)數(shù)據(jù)。這是特性的下一最高優(yōu)先來源,其優(yōu)先于應(yīng)用程序特性。窗口格式化特性的第三來源是事務(wù)特有的顯示特性,其僅應(yīng)用于在當前操作的所選事務(wù)的數(shù)據(jù)。OPGAWE4可被用于編輯這些特性組中任一組的窗口和數(shù)據(jù)顯示格式化特性。
在示例性實施例中,OPGAWE4通過選擇窗口編輯器下拉列表上的特性來源之一而從應(yīng)用程序數(shù)據(jù)顯示窗口啟動,其為應(yīng)用程序數(shù)據(jù)顯示窗口上的控制。參見圖12,其為從操作數(shù)據(jù)顯示窗口啟動窗口編輯器的用戶界面的示例性實施例。
在示例性實施例中,如圖13中所示,OPGAWE4在窗口的組成畫布14上方顯示編輯功能工具條。組成畫布14中的窗口將使用所選來源的窗口和數(shù)據(jù)顯示特性顯示窗口。工具條提供許多通常由傳統(tǒng)窗口編輯器提供的功能,且它們以類似的方式行使職責(zé)。在編輯會話期間,數(shù)據(jù)顯示實體被選擇,一個或多個工具條功能可通過點擊工具條圖符而應(yīng)用于它們。例如,顯示在字段中的文本可通過選擇較大字體而變大或可變成斜體。數(shù)據(jù)顯示實體也可按需在窗口上移來移去和/或從視圖隱藏。
OPGAWE工具條的示例性實施例還提供簡單的圖形元素,如線、框、圓圈、及標注,其可放在窗口上并按需調(diào)整大小。文本可按需打入標注內(nèi)。
另外的永久數(shù)據(jù)項及其相關(guān)的顯示字段可被添加到窗口及其應(yīng)用程序,其通過點擊工具條最右邊的數(shù)據(jù)元圖符進行。數(shù)據(jù)項可以是簡單的數(shù)據(jù)輸入字段、圖象或文件鏈接,如電子表格或字處理器文檔。如此,添加到窗口的數(shù)據(jù)項或鏈接成為應(yīng)用程序的永久部分。
應(yīng)用程序框架也可通過點擊工具條最右邊的應(yīng)用程序框架圖符并選擇文件類型特性而添加到窗口。應(yīng)用程序框架提供與OPG應(yīng)用程序語境內(nèi)的應(yīng)用程序一起工作的方式。例如,如圖14中所示,電子表格可被載入OPG系統(tǒng)5并顯示在應(yīng)用程序窗口上的框架內(nèi)。之后,用戶可對電子表格中的數(shù)據(jù)進行變化并將它們保存在OPG數(shù)據(jù)庫中。用戶可選擇將更新的電子表格保存回其在主機系統(tǒng)的文件系統(tǒng)中的原始位置。當應(yīng)用程序框架被添加到窗口時,應(yīng)用程序在工作站上必須可用。工作站需要瀏覽器啟動應(yīng)用程序。
當窗口和數(shù)據(jù)顯示特性編輯被完成時,通過點擊軟盤圖符保存變化,其在工具條的最左邊。
OPGAWE描述本發(fā)明的示例性實施例,如圖15中所示,用作動態(tài)模型視圖控制器(DMVC)26的組成部分。DMVC26為通過將OPG應(yīng)用程序控制器(OPGAC)28和對象過程圖應(yīng)用程序查看器(OPGAV)29與OPG系統(tǒng)(對象過程圖(OPG)和動態(tài)圖形解釋器(DGI))26合成形成的應(yīng)用程序結(jié)構(gòu)。該動態(tài)應(yīng)用程序結(jié)構(gòu)表明OPG應(yīng)用程序的運行例圖。動態(tài)圖形解釋器(DGI)將在隨后描述。OPGAC28通過下述步驟控制應(yīng)用程序的運行處理來自用戶或其它系統(tǒng)的輸入數(shù)據(jù)、指令/選擇;經(jīng)OPGAV29啟動信息的顯示或輸出,命令DGI27啟動應(yīng)用程序狀態(tài)變遷,及控制OPG應(yīng)用程序描述的輸入和輸出。OPGAC28為DMVC26的控制器組成部分。
OPGAV29為DMVC26的視圖組成部分。其從OPGAC28接收顯示/輸出指令以將應(yīng)用程序OPG呈現(xiàn)在顯示介質(zhì)和/或輸出設(shè)備上。所呈現(xiàn)的OPG提供經(jīng)選擇和輸入控制與應(yīng)用程序相互作用的手段。它們還在其適當?shù)纳舷挛闹酗@示應(yīng)用程序狀態(tài)對象并提供查看和更新它們的內(nèi)容的方式。
DMVC26的另一元素,OPG系統(tǒng)27用作模型組成部分。其與OPGAC28和OPGAV29結(jié)合在一起。OPG定義應(yīng)用程序的復(fù)雜處理步驟和數(shù)據(jù),并提供對應(yīng)用程序的永久和暫時數(shù)據(jù)的存儲。DGI提供由OPGAC28和OPGAV29調(diào)用的功能以運行OPG定義的應(yīng)用程序。
本發(fā)明的一個示例性實施例(圖1)使OPGAC28和OPGAV29與OPG系統(tǒng)27結(jié)合以形成基于Jakarta Struts WEB應(yīng)用程序框架的動態(tài)模型查看控制器(DMVC)5應(yīng)用程序結(jié)構(gòu)。DMVC26能夠提供計算設(shè)備如個人計算機(PC)上的顯示。組合在本示例性實施例中的其它技術(shù)包括級聯(lián)樣式表(CSS)、動態(tài)HTML(DHTM)、Java文檔模型(JDOM)、Java服務(wù)器頁面(JSP)、Struts Tiles等。當然,其它實施例也可用多種其它應(yīng)用程序框架和技術(shù)實施。
在該示例性實施例中,OPGAC28控制功能用基于Struts的行動和表單類實現(xiàn)。行動類解釋用戶選擇、指令和輸入數(shù)據(jù)并與DGI27相互作用及命令DGI27更新應(yīng)用程序狀態(tài)對象,執(zhí)行狀態(tài)確認。同樣,基于應(yīng)用程序狀態(tài)對象和應(yīng)用程序的OPG中的過程控制對象,OPGAC28指示DGI將應(yīng)用程序狀態(tài)與下一有效操作相關(guān)聯(lián)。執(zhí)行這些功能與運行傳統(tǒng)的軟件應(yīng)用程序相似。表單類實現(xiàn)對OPG數(shù)據(jù)對象的標準Java Bean界面接入并提供對用于OPGAC2評價的用戶輸入數(shù)據(jù)的訪問。
OPGAWE4使DMVC26的應(yīng)用程序會話事務(wù)控制流特殊化,從而使用戶可修改OPG應(yīng)用程序窗口的數(shù)據(jù)顯示特性并使這些改變成為永久變化。從OPG系統(tǒng)5的觀點,其用作DMVC26的模型組成部分,保存顯示特性與保存任何其它數(shù)據(jù)特性一樣。組合在該示例性實施例中的技術(shù)包括Jakarta Struts WEB應(yīng)用程序框架、級聯(lián)樣式表(CSS)、動態(tài)超文本鏈接標示語言(DHTML)、Java文檔模型(JDOM)、Java服務(wù)器頁面(JSP)和Struts Tiles。
OPGAWE4擴展DMVC26的控制器組成部分OPGAC28和視圖組成部分OPGAV29。OPGAC28以兩種方式進行擴展。首先,功能被添加到OPGAC28以響應(yīng)于來自或構(gòu)造器窗口或運行應(yīng)用程序的窗口的啟動OPGAWE4的請求。當OPGAC28接收對于OPGAWE4的請求時,其指示OPGAV29創(chuàng)建動態(tài)實時OPGAWE4并將其傳送給用戶的因特網(wǎng)瀏覽器。在示例性實施例中,OPGAWE4是JSP,其結(jié)合寫入JavaScript的用戶事件處理器31、應(yīng)用程序窗口數(shù)據(jù)元、或編碼為CSS的數(shù)據(jù)元類型特性32及OPGAWE4工具條控制33。JSP被編譯到DHTML頁面中并由因特網(wǎng)應(yīng)用程序服務(wù)器發(fā)送給用戶的瀏覽器。OPGAC28的另一擴展為OPGAWE4的用戶事件處理器31組成部分。用戶事件處理器31為OPGAC28的邏輯擴展,因為其不是OPGAC28的直接組成部分,且其在用戶的PC或其它終端用戶計算設(shè)備上運行。用戶事件處理器31是響應(yīng)于用戶事件如鼠標點擊和鼠標移動的功能集,其由用戶的因特網(wǎng)瀏覽器檢測并對數(shù)據(jù)元類型特性32中的定義進行改變。
OPGAV29也以兩種方式擴展。第一,特殊的OPGAWE4JSP被包括在OPGAV29中。第二,編碼為CSS的數(shù)據(jù)元類型特性32和編輯器工具條控制33,其為OPGAWE4的組成部分,均為OPGAV29的邏輯擴展,因為它們執(zhí)行視圖功能并在用戶的PC上運行。
圖16示出了示例性的應(yīng)用程序數(shù)據(jù)顯示特性,對于OPG應(yīng)用程序窗口上顯示的每一(復(fù)合或基本)數(shù)據(jù)元均可定義顯示特性。每一數(shù)據(jù)元具有兩個組成部分名稱34和值35(圖17中所示的示例性實施例還識別OPGAWE窗口上的數(shù)據(jù)元的組成部分),每一組成部分具有一組編碼為CSS字符串的顯示特性。顯示特性36的例子包括高度、長度、位置、顏色和字體。
顯示特性36是應(yīng)用程序的OPG37中的永久數(shù)據(jù)定義的一部分。在示例性實施例中,有三組這樣的特性應(yīng)用程序、操作和事務(wù),它們由DGI合成為一組為OPGAV29使用。DGI6提供每一原始數(shù)據(jù)元的顯示特性38和保存在OPG應(yīng)用程序狀態(tài)數(shù)據(jù)例圖37中的安全約束條件39。原始數(shù)據(jù)顯示特性包括元素將被呈現(xiàn)在顯示器上的位置、元素的長度和高度等。安全約束條件包括元素是否應(yīng)被顯示或其是否能被編輯等。
在該示例性實施例中,顯示和安全特性可以三種級別進行定義應(yīng)用程序、操作和應(yīng)用程序例圖。應(yīng)用程序例圖特性具有最高優(yōu)先級。如果存在,它們?nèi)〈鷳?yīng)用程序和操作特性。操作特性具有次優(yōu)先級。如果存在,它們?nèi)〈鷳?yīng)用程序特性。應(yīng)用程序例圖特性應(yīng)用于運行應(yīng)用程序的單一例圖的應(yīng)用程序數(shù)據(jù)。操作特性應(yīng)用于運行應(yīng)用程序的所有例圖,但僅在特定操作的上下文內(nèi)。應(yīng)用程序特性43在應(yīng)用程序的上下文內(nèi)應(yīng)用,即應(yīng)用程序的所有例圖。顯示和安全特性合成功能根據(jù)應(yīng)用程序例圖的當前狀態(tài)(語境)確定將使用哪些特性。
用戶可將可選數(shù)據(jù)元或圖形如線和框添加到OPG應(yīng)用程序。OPG系統(tǒng)5提供用于每一窗口的可選數(shù)據(jù)結(jié)構(gòu),這些數(shù)據(jù)元可在所述窗口中被使得成為永久數(shù)據(jù)元。這些可選數(shù)據(jù)元可以與預(yù)定OPG應(yīng)用程序窗口元素被編輯的相同方式進行編輯。
當用戶編輯OPG應(yīng)用程序窗口時,如圖16中所示,變化被立即實時處理和顯示。用戶行動如鼠標點擊、在保持左鍵按下的同時移動鼠標、或點擊編輯器工具條控制33的控制元素如色彩下拉均由用戶的因特網(wǎng)瀏覽器作為用戶事件接收。之后,瀏覽器調(diào)用用戶事件處理器31的適當功能以處理所述事件。用戶事件處理器31在用戶會話語境中解釋事件,即用戶已經(jīng)完成什么。例如,如果用戶點擊數(shù)據(jù)元名稱或值組成部分,用戶事件處理器31將事件解釋為組成部分選擇。響應(yīng)于所述選擇,用戶事件處理器31將改變所選組成部分的CSS中的值,使得選擇邊框?qū)⒈徊脸?,并改變新選擇的元素的CSS中的值,使得其選擇邊框被顯示,且其保存指向所選元素的指針。圖17中所示的示例性實施例示出了所選的數(shù)據(jù)值元素。一旦選擇元素,則工具條上的編輯功能或調(diào)整大小或移動行動可應(yīng)用于該特定元素。編輯功能的處理遵循普通模式。在每一情況下,用戶事件處理器31轉(zhuǎn)換用戶事件以編輯請求功能并修改數(shù)據(jù)元類型特性32,這使得變化將被立即顯示。
當用戶編輯OPG應(yīng)用程序窗口的內(nèi)容時,變化保留在用戶的PC本地,直到它們被使得在OPG應(yīng)用程序中成為永久為止。用戶可回退到上一變成永久的窗口狀態(tài),其實質(zhì)上是撤銷還原功能。
數(shù)據(jù)可見性和編輯特性編輯器功能數(shù)據(jù)可見性和編輯特性編輯器可從應(yīng)用程序顯示窗口如圖11中所示的窗口或經(jīng)如圖13中所示的OPGAWE窗口經(jīng)最左邊的圖符(在圖13上標識)進行訪問。數(shù)據(jù)可見性和編輯編輯器的示例性實施例,如圖18中所示,提供數(shù)據(jù)結(jié)構(gòu)和元素的樹型顯示,其為在當前操作的事務(wù)數(shù)據(jù)的一部分。每一結(jié)構(gòu)在其名稱右邊具有兩組選擇控制。第一組具有標記為“d”、“e”和“c”的三個復(fù)選框?!癲”框控制項目是否將被顯示在應(yīng)用程序數(shù)據(jù)顯示窗口和OPGAWE窗口上?!癳”框控制項目是否可在應(yīng)用程序數(shù)據(jù)顯示窗口上進行編輯。“c”控制項目的子屬性是否將被顯示。這僅應(yīng)用于數(shù)據(jù)結(jié)構(gòu)。第二組具有標記為“o”和“t”的兩個選擇圖符。選擇圖符在被點擊時從“+”切換為“X”?!?”圖符表明項目不應(yīng)用,“X”表明其應(yīng)用。“o”選擇表明第一組控制中的數(shù)據(jù)可見性和編輯選擇僅在所選操作內(nèi)應(yīng)用,“t”表明其僅應(yīng)用于所選事務(wù)。如果二者均未被選中,這意味著可見性和編輯選擇應(yīng)用于整個應(yīng)用程序的特定數(shù)據(jù)項。
數(shù)據(jù)可見性編輯特性編輯器描述示例性實施例包括DMVC26的例圖。編輯器可從運行OPG應(yīng)用程序窗口或OPGAWE窗口選擇。如圖19中所示,編輯器包括數(shù)據(jù)可見性和編輯特性編輯器視圖38組成部分,其限定OPGAV29的范圍??梢娦院途庉嬏匦跃鶠镺PG應(yīng)用程序中其相關(guān)數(shù)據(jù)元的布爾特性。使用編輯器,特性可被改變并在OPG應(yīng)用程序中被使得成為永久特性。
OPGAWE4及數(shù)據(jù)可見性和編輯特性編輯器視圖38使應(yīng)用程序開發(fā)人員、用戶和設(shè)計專家可調(diào)整應(yīng)用程序的數(shù)據(jù)顯示窗口的可視方面。編輯器使在每一開發(fā)階段期間均可快速開發(fā)和更新應(yīng)用程序的用戶界面以解決變化的需求。當應(yīng)用程序?qū)嶋H上在使用中時,用戶和領(lǐng)域?qū)<铱筛淖兇翱诘目梢暦矫婧?或添加到應(yīng)用程序顯示的設(shè)計以滿足特定需要。他們還可將數(shù)據(jù)元添加到應(yīng)用程序的永久數(shù)據(jù)??蛇M行變化,使得它們應(yīng)用于應(yīng)用程序的所有隨后的運行或僅應(yīng)用于運行應(yīng)用程序的一個組成部分的例圖。這些運行時期編輯特征將OPG系統(tǒng)5的適應(yīng)性擴展到對數(shù)據(jù)要求的特別變化經(jīng)常發(fā)生的領(lǐng)域,如實驗室信息的管理。在所有領(lǐng)域中,用戶能夠與他們使用的信息系統(tǒng)相互作用以獲得更高水平的實用性。
對象過程圖應(yīng)用程序界面(OPGAPI)在示例性實施例中,OPGAPI3包括記法編輯器圖(NEG)41和圖形翻譯器(GT)43。這些組成部分均在圖20的完整編輯系統(tǒng)的上下文中示出。這些組成部分均被特殊設(shè)計以提供上述OPGAE2所需的支持功能。對于基于其它記法如通用建模語言(UML)的可供選擇的編輯器,使用該實施例描述的相同實施框架,其它OPGAPI均是可能的。
GT43和NEG41支持上述的OPGAE2的編輯功能。記法編輯器圖形模型39由OPGAE2創(chuàng)建。在示例性實施例中,其包含在用戶的顯示器上呈現(xiàn)OPG應(yīng)用程序的圖形表示所需要的圖形軟件元素。
當用戶選擇要編輯的應(yīng)用程序時OPGAE編輯會話開始。選擇使OPGAE2指令GT43將應(yīng)用程序的OPG42轉(zhuǎn)換為NEG41。初始轉(zhuǎn)換創(chuàng)建OPG應(yīng)用程序的NEG41的部分填充的基本例圖。隨后,當用戶操縱并改變OPG應(yīng)用程序的圖形表示時,OPGAE2與NEG41相互作用以保持其與應(yīng)用程序的用戶視圖一致,這包括添加和刪除結(jié)點和邊緣。當用戶指令OPGAE2保存變化時,OPGAE2指令GT43將對NEG41做出的任何變化轉(zhuǎn)換為永久OPG應(yīng)用程序的更新。OPGAE2還可指令GT43將NEG41還原到被使得成為永久的上一版本。
OPG42和NEG41均為由包括一組有向圖的有向圖和一組樹組成的復(fù)合層圖。圖內(nèi)的每一結(jié)點屬于有向圖和樹。每一結(jié)點屬于其的有向圖定義其與圖內(nèi)其它結(jié)點的關(guān)系。結(jié)點屬于其的樹定義其所屬于的合成層次。結(jié)點可屬于多個有向圖及多個合成層次。與OPG不同,NEG41不是永久的;GT43從OPG42創(chuàng)建NEG41所需要的特殊NEG元素在OPG42中均是永久的。NEG41的主要目的在于維持特定編輯會話的狀態(tài),且其僅在其相關(guān)會話的生存周期期間存在。當編輯繼續(xù)進行時,對應(yīng)于OPG42的結(jié)點和邊緣組成部分的NEG組成部分被例示或刪除。NEG組成部分功能為了面向編輯器的功能而進行優(yōu)化。另一方面,OPG組成部分功能被優(yōu)化從而解釋(運行)應(yīng)用程序,在一些情況下,NEG41支持OPG42內(nèi)的子圖的簡化或更概念上的視圖,特別是關(guān)于數(shù)據(jù)變換和對復(fù)雜數(shù)據(jù)結(jié)構(gòu)的訪問。
OPG數(shù)據(jù)結(jié)點包括將要執(zhí)行的數(shù)據(jù)訪問的詳細定義,如數(shù)據(jù)結(jié)構(gòu)的基準。圖21示出了這樣的基準的例子。如此,OPG42包括記法編輯器基準邊44,其被DGI忽略但被GT43用于在NEG41中構(gòu)建從數(shù)據(jù)結(jié)點X到數(shù)據(jù)結(jié)點Y的概念參考(即記法編輯器基準邊45)。OPGAE2從NEG41創(chuàng)建呈現(xiàn)正確類型的數(shù)據(jù)結(jié)構(gòu)之間的鏈接的記法編輯器圖形模型39,其為用戶46可識別的顏色。記法編輯器基準邊44在OPG42中是永久的。代表特殊記法編輯器概念的其它圖元由OPG42提供。
OPG42還將OPGAE記法編輯器圖形模型39中的元素的顯示特性保存在OPG應(yīng)用程序內(nèi)的特殊結(jié)構(gòu)中。GT43按需在轉(zhuǎn)換期間在圖形之間移動顯示特性。這使得OPGAE2可在編輯會話之間保持OPG應(yīng)用程序的圖形表示的元素排列。顯示特性包括圖元的大小和形狀及其在合成畫布上的位置。
GT43確保OPG42和NEG41在每次用戶保存圖形模型的變化時均是一致的。其基于兩個圖形結(jié)構(gòu)之間的差對DGI產(chǎn)生添加、消除和更新指令。
GT43使OPG42和NEG41的詳細設(shè)計相互隔離。因而,對任一結(jié)構(gòu)所做的改變的影響將被正常地限制到GT43。
OPGAPI3由其它應(yīng)用程序系統(tǒng)用于產(chǎn)生、修改和刪除OPG應(yīng)用程序。其還可用于以其它電子形式呈現(xiàn)OPG應(yīng)用程序,如HTML和/或XML。
OPGAPI3功能在下面列成兩組由GT43實現(xiàn)的功能和由NEG41實現(xiàn)的功能??傮w上,GT功能影響整個圖,而NEG功能影響圖的元素或子圖。每一功能的簡要描述和任何所需的參數(shù)均被包括。提供檢查功能,其指明功能是否能被執(zhí)行從而給出應(yīng)用程序的OPG的當前狀態(tài)或OPG42的子圖及應(yīng)用于該功能的OPG規(guī)則。這使編輯器能夠向用戶提供可視提示。名稱參數(shù)用點記法定義,其以應(yīng)用程序名稱開始,名稱后為OPG中下至感興趣結(jié)點的結(jié)點名稱。OPG應(yīng)用程序的結(jié)點結(jié)構(gòu)及其命名約定在對象過程圖系統(tǒng)專利申請中描述。下述為結(jié)點名稱的例子″payroll.department.employee.name″。
GT功能(影響應(yīng)用程序的全部圖)創(chuàng)建應(yīng)用程序(應(yīng)用程序名稱)-創(chuàng)建應(yīng)用程序并給予指定名稱。應(yīng)用程序由應(yīng)用程序結(jié)點代表。應(yīng)用程序名稱在OPG系統(tǒng)上必須是唯一的。
刪除應(yīng)用程序(應(yīng)用程序名稱)-刪除名稱指定的應(yīng)用程序。作為應(yīng)用程序的一部分的所有結(jié)點也被刪除。具有運行例圖的應(yīng)用程序不能刪除。
裝入應(yīng)用程序(應(yīng)用程序名稱)-將命名的應(yīng)用程序變換為提供下述功能的NEG41。
保存應(yīng)用程序(應(yīng)用程序名稱)-將對應(yīng)用程序的NEG41所做的任何改變保存為其OPG42的永久變化。
NEG功能(影響特定過程結(jié)點、數(shù)據(jù)結(jié)點或子圖)添加過程結(jié)點(雙親結(jié)點名稱、結(jié)點名稱、過程結(jié)點類型)-按過程結(jié)點類型所指定的創(chuàng)建或新操作或報告結(jié)點,并將其添加到過程結(jié)點的雙親結(jié)點組。雙親結(jié)點必須是過程結(jié)點。結(jié)點名稱在雙親過程結(jié)點組內(nèi)必須是唯一的。
能添加過程結(jié)點(雙親結(jié)點名稱、過程結(jié)點類型)-確定指定類型的過程結(jié)點能否被添加到指定的雙親。該功能返回真或假回答。
刪除過程結(jié)點(雙親結(jié)點、結(jié)點名稱)-從過程結(jié)點的指定雙親組刪除指定結(jié)點。其從OPG42刪除結(jié)點及其所有相關(guān)結(jié)點和其所有有關(guān)邊緣。
能刪除過程結(jié)點(雙親結(jié)點名稱、結(jié)點名稱)-確定指定過程結(jié)點能否從過程結(jié)點的指定雙親組刪除。該功能返回真或假回答。
刪除數(shù)據(jù)定義結(jié)點(雙親結(jié)點名稱、結(jié)點名稱)-從數(shù)據(jù)結(jié)點的指定雙親組刪除指定結(jié)點。其刪除該結(jié)點及所有其相關(guān)結(jié)點和所有其有關(guān)邊緣。
能刪除數(shù)據(jù)定義結(jié)點(雙親結(jié)點名稱、結(jié)點名稱)-確定指定結(jié)點能否從數(shù)據(jù)結(jié)點的指定雙親組刪除。該功能返回真或假回答。
添加數(shù)據(jù)定義結(jié)點(雙親結(jié)點名稱、結(jié)點名稱、數(shù)據(jù)結(jié)點類型)-創(chuàng)建指定名稱和類型的數(shù)據(jù)結(jié)點。如果指定雙親是數(shù)據(jù)結(jié)點,數(shù)據(jù)結(jié)點可以是合成數(shù)據(jù)結(jié)點(具有子結(jié)點的結(jié)點)或原始數(shù)據(jù)結(jié)點(沒有子結(jié)點的結(jié)點)。如果指定雙親是過程結(jié)點,則數(shù)據(jù)結(jié)點必須是合成數(shù)據(jù)結(jié)點。
能添加數(shù)據(jù)定義結(jié)點(雙親結(jié)點名稱、結(jié)點名稱)-確定指定數(shù)據(jù)結(jié)點能否從指定雙親結(jié)點刪除。該功能返回真或假回答。
修改結(jié)點特性(結(jié)點名稱、特性名稱、新特性值)-將指定結(jié)點的指定特性的值設(shè)為新的特性值。
能修改結(jié)點特性(結(jié)點名稱、特性名稱、新特性值)-確定指定結(jié)點的指定特性的值能否被設(shè)為新的特性值。該功能返回真或假回答。
添加邊緣(從結(jié)點名稱、到結(jié)點名稱、邊緣名稱)-用出向邊緣的從結(jié)點組的指定名稱創(chuàng)建新邊緣并將其添加到入向邊緣的到結(jié)點組。OPG邊緣類別過程到過程、過程到數(shù)據(jù)或數(shù)據(jù)到數(shù)據(jù)之一的邊緣基于到和從結(jié)點類型自動創(chuàng)建。
能添加邊緣(從結(jié)點名稱、到結(jié)點名稱、邊緣名稱)-確定新邊緣能否被添加到出向邊緣的從結(jié)點組和入向邊緣的到結(jié)點組。該功能返回真或假回答。
刪除邊緣(從結(jié)點名稱、到結(jié)點名稱、邊緣名稱)-刪除指定邊緣及其“從”結(jié)點和“到”結(jié)點參考。
能刪除邊緣(從結(jié)點名稱、到結(jié)點名稱、邊緣名稱)-確定指定邊緣和“從”結(jié)點及“到”結(jié)點參考能否被刪除。該功能返回真或假回答。
修改邊緣的類型(從結(jié)點名稱、到結(jié)點名稱、邊緣名稱、邊緣類型)-將指定邊緣的類型改為指定的邊緣類型。所定義的邊緣類型對于指定邊緣的類別必須是有效的。下面為每一邊緣類別的有效邊緣類型過程到過程邊緣無條件顯示無條件隊列無條件批處理有條件顯示有條件隊列有條件批處理過程到數(shù)據(jù)邊緣創(chuàng)建數(shù)據(jù)數(shù)據(jù)到數(shù)據(jù)邊緣將數(shù)據(jù)移到從…獲得數(shù)據(jù)歸并數(shù)據(jù)拆分數(shù)據(jù)取回數(shù)據(jù)用…計算聯(lián)結(jié)數(shù)據(jù)能修改邊緣的類型(從結(jié)點名稱、到結(jié)點名稱、邊緣名稱、邊緣類型)-確定指定邊緣的類型能否被改為指定的邊緣類型。所定義的邊緣對指定的邊緣類別必須是有效的。該功能返回真或假回答。
修改邊緣特性(邊緣結(jié)點名稱、特性名稱、新特性值)-將指定邊緣的指定特性的值設(shè)為新的特性值。
能修改邊緣特性(結(jié)點名稱、特性名稱、新特性值)-確定指定邊緣的指定特性的值能否被改為指定的新特性值。該功能返回真或假回答。
示例性的OPG應(yīng)用程序開發(fā)系統(tǒng)(OPGADS)創(chuàng)建過程下面為創(chuàng)建OPGADS的示例性過程的描述,這樣的系統(tǒng)已在上面進行定義和描述。包括于此的是該過程的一實施例,其它實施方式也是可能的。
假定存在OPGADS是其一部分的OPG系統(tǒng)5實施例,用以構(gòu)建和運行OPGADS系統(tǒng)的硬件/操作系統(tǒng)平臺、編程框架、數(shù)據(jù)庫和/或文件系統(tǒng)及顯示介質(zhì)的初始設(shè)置被選擇。這些所選項目必須與用于構(gòu)建OPG系統(tǒng)實施例的相同或與其兼容。在一示例性實施例中,使用在基于Intel的計算機硬件上運行的Windows XP操作系統(tǒng)。此外,來自Sun Microsystems的Java編程語言、來自Eclipse Foundation的Eclipse工具平臺、來自Eclipse Foundation的GEF和Draw2D框架、Jakarta Struts框架、Java服務(wù)器頁面(JSP)和級聯(lián)樣式表(CSS)也被用于開發(fā)OPGADS系統(tǒng)。該示例性實施例將無編程變化的在正運行Windows XP、Linux、Solaris 8、AIX、HP-UX和MAC-OSX操作系統(tǒng)的硬件平臺上運行。應(yīng)注意,上述操作系統(tǒng)、應(yīng)用程序平臺和編程語言工具僅代表可用于創(chuàng)建和運行本發(fā)明示例性實施例的開發(fā)和操作系統(tǒng)的一種可能配置。
使用上面對本發(fā)明的概述和描述以及附圖,對于示例性實施例,OPGADS的三個主要軟件組成部分可按下面幾個自然段的描述實現(xiàn)。其它實施方式也是可能的。OPGAPI3應(yīng)被首先實施,因為在將OPGAE2連到OPG系統(tǒng)5時需要其。為實現(xiàn)此,定義一個或多個類別及適當?shù)念悇e層次,其將涵蓋GT43的功能。
為實現(xiàn)OPGAE2,基于GEF和Draw2D框架的代表模型、視圖和控制器元素的三個類別組被定義。圖22示出了這些類別的示例性排列。
OPGAV29組成部分由圖22中的圖類代表,其是GEF圖類的延伸。圖類表示用戶域的記法。在圖22所示的示例性實施例中,視圖以五類實現(xiàn)數(shù)據(jù)圖、結(jié)構(gòu)數(shù)據(jù)圖、數(shù)據(jù)陣列圖、結(jié)構(gòu)數(shù)據(jù)陣列圖和結(jié)構(gòu)操作圖。
OPGADS控制器組成部分以四組類別實現(xiàn)編輯器、編輯部分、編輯策略和指令。在示例性實施例中,有一個編輯器類和五個編輯部分類數(shù)據(jù)部分、數(shù)據(jù)陣列部分、結(jié)構(gòu)數(shù)據(jù)部分、結(jié)構(gòu)數(shù)據(jù)陣列部分和結(jié)構(gòu)操作部分。此外,有三個編輯策略類元素組成部分編輯策略、元素容器編輯策略和元素XY布置編輯策略。此外,有五個指令類添加指令、連接指令、創(chuàng)建指令、刪除指令和設(shè)置約束條件指令。
模型組成部分以兩組類別實現(xiàn)圖形模型和OPG模型。有五個圖形模型類數(shù)據(jù)、數(shù)據(jù)陣列、結(jié)構(gòu)數(shù)據(jù)、結(jié)構(gòu)數(shù)據(jù)陣列、結(jié)構(gòu)操作類。有三個OPG模型類網(wǎng)絡(luò)結(jié)點、網(wǎng)絡(luò)鏈接和用戶網(wǎng)絡(luò)。
在示例性實施例中,如前所述,OPGAWE4被實施為OPGACV的延伸。這有助于直接與運行OPG程序連接。OPGAWE4的編輯器功能由編輯器類別實現(xiàn),其是OPGACV的會話行動類的延伸。編輯器工具條用CSS樣式表實現(xiàn)。OPGACV的應(yīng)用程序數(shù)據(jù)顯示JSP和CSS樣式表被用于在OPGAWE4的WYSIWYG編輯器中顯示應(yīng)用程序的數(shù)據(jù)。
最后,在示例性實施例中,使用戶能夠在OPG應(yīng)用程序窗口內(nèi)定義應(yīng)用程序框架的OPG特征可如下述實施。在OPGAWE4中需要框架定義選項以在窗口內(nèi)定義框架。用戶將定義文件類型,其暗示應(yīng)用程序。在運行期間,用戶通過點擊框架啟動應(yīng)用程序,這將導(dǎo)致InternetExplorer瀏覽器啟動應(yīng)用程序。當用戶完成程序時,用戶可在OPG數(shù)據(jù)庫中的臨時位置保存更新的文件。OPG類別和DGI功能可被實施以執(zhí)行這些功能。此外,小的Java程序必須被實施以支持該特征。程序?qū)⒃谄渥约旱木€程上運行并將定期在特殊的OPG位置尋找定義用戶請求的指令以保存應(yīng)用程序變化。當其發(fā)現(xiàn)這樣的指示時,其將相關(guān)的文件從其本地OPG位置移到其原始的源位置。
對象過程圖描述OPG37是OPG系統(tǒng)5即完整的應(yīng)用程序開發(fā)和運行環(huán)境的定義組成部分。其它組成部分包括解釋或運行OPG37定義的應(yīng)用程序的DGI和用于創(chuàng)建和修改OPG37的圖形用戶界面。
OPG的示例性實施例可被視為計算機語言(其是Turing完成),其被解釋為所運行的程序。OPG37保存在暫時及永久計算機存儲器中。OPG37可保存任何數(shù)據(jù)結(jié)構(gòu),包括但不限于關(guān)系表、層次表、n維數(shù)據(jù)陣列、電子表格、圖形模型和3D物理模型。這些數(shù)據(jù)結(jié)構(gòu)不被保存為關(guān)系數(shù)據(jù)庫系統(tǒng)中普遍的二進制大對象,而是影響它們的最初結(jié)構(gòu)和內(nèi)部關(guān)系的特殊OPG結(jié)構(gòu)。OPG過程和控制結(jié)構(gòu)提供對應(yīng)用程序內(nèi)永久和瞬時數(shù)據(jù)確認、變換和顯示的順序和定時的控制。OPG結(jié)構(gòu)還定義數(shù)學(xué)公式、常規(guī)表示式(在文字數(shù)據(jù)或混合數(shù)字和文字的數(shù)據(jù)的情形下)及完整的算法。
應(yīng)用程序的OPG37可被繪制在計算機終端或靜態(tài)輸出介質(zhì)如紙上。顯示在交互式介質(zhì)上的OPG數(shù)據(jù)、過程和控制結(jié)構(gòu)可被編輯。與傳統(tǒng)的軟件開發(fā)系統(tǒng)不同,編輯應(yīng)用程序的OPG37不產(chǎn)生必須被編譯和安裝的代碼。而是,做出改變并立即生效。改變甚至可在DGI正進行解釋(運行應(yīng)用程序)時進行。隨時安全改變應(yīng)用程序的能力對于大型、復(fù)雜的企業(yè)級應(yīng)用系統(tǒng)的快速開發(fā)和長期維護是需要的。
在OPG37中的所有應(yīng)用程序執(zhí)行狀態(tài)信息被保存在應(yīng)用程序狀態(tài)對象中。DGI通過改變其保存的應(yīng)用程序狀態(tài)信息而作用于OPG37。應(yīng)用程序狀態(tài)信息可包括任何永久數(shù)據(jù)對象。DGI可同時對多個應(yīng)用程序狀態(tài)作用,在應(yīng)用程序狀態(tài)對象的組合之間合并或拆分狀態(tài)信息。
OPG37以原始數(shù)據(jù)級為應(yīng)用程序中的所有永久和瞬時數(shù)據(jù)變化保留審計追蹤信息。審計追蹤信息很容易用于經(jīng)顯示控制顯示在用戶界面上或用于應(yīng)用程序的過程和數(shù)據(jù)流的進一步更新和操控。
定義長及短事務(wù)中進行的變化的審計信息被保留和追蹤應(yīng)用程序的永久數(shù)據(jù)的所有變化。長事務(wù)使系統(tǒng)能夠組織、控制和跟蹤所有永久數(shù)據(jù)的變化。這些變化可在許多工作會話中跨延長的時間段(幾天或幾周)出現(xiàn)。另一方面,短事務(wù)在單一用戶會話或與系統(tǒng)相互作用期間進行。長和短事務(wù)信息立即可經(jīng)系統(tǒng)的圖形用戶界面用于應(yīng)用程序內(nèi)的操控和顯示。追蹤長事務(wù)還有助于回退到事務(wù)中的任何點,(使用審計追蹤)事務(wù)的刪除經(jīng)應(yīng)用程序界面自動可用。通過系統(tǒng)界面可對用戶對應(yīng)用程序內(nèi)的所有功能和數(shù)據(jù)的訪問進行控制。這包括每一用戶對確定為應(yīng)用程序的一部分的每一原始數(shù)據(jù)項的分開訪問權(quán)限(讀、寫、回退)。
除了經(jīng)用戶界面輸入或改變數(shù)據(jù)以外,系統(tǒng)的實施例還接受來自其它系統(tǒng)的、任何數(shù)字格式的、對應(yīng)用進程的輸入數(shù)據(jù)。
一些實施例包括GUI。GUI使用戶能夠指明所有輸入的格式,其隨后被自動分析和用于更新應(yīng)用程序-在應(yīng)用程序進程的任何點添加到或修改數(shù)據(jù)庫中的永久數(shù)據(jù)或應(yīng)用程序或顯示界面中的瞬時數(shù)據(jù)。
同樣,輸出數(shù)據(jù)可從應(yīng)用程序的任何點以任何格式產(chǎn)生(對于永久或瞬時數(shù)據(jù)),其使用與上面各個實施例相反的過程進行。在一些實施例中,外部數(shù)據(jù)庫如關(guān)系數(shù)據(jù)庫可向應(yīng)用程序注冊,應(yīng)用程序內(nèi)的所有永久數(shù)據(jù)可被保存在這樣的數(shù)據(jù)庫中或從其取回。
示例性實施例的OPG37組成部分的實施例擴展了傳統(tǒng)的面向圖形對象的數(shù)據(jù)庫的基本功能。本發(fā)明的實施例將動態(tài)過程單元的功能和面向圖形對象的數(shù)據(jù)庫合成為單一集成系統(tǒng),這使得可快速產(chǎn)生完整的、復(fù)雜的企業(yè)級應(yīng)用程序,而不使用傳統(tǒng)的編程語言。OPG37被直接和動態(tài)地解釋,因此不需要產(chǎn)生代碼。改變OPG37的容易及對改變的立即反饋大大簡化了基于OPG的應(yīng)用程序的維護和改變。
盡管本發(fā)明已參考某些實施例進行相當詳細的描述,其它實施例也是可能的。例如,不同的操作系統(tǒng)、編程語言和軟件體系結(jié)構(gòu)可用于實施本發(fā)明的實施例。因此,所附權(quán)利要求的精神和范圍不應(yīng)限于在此包含的實施例的描述。
如上所述,本發(fā)明的實施例可體現(xiàn)為硬件、軟件、固件形式或用于實現(xiàn)實施例的任何方法和/或裝置。本發(fā)明的實施例還可體現(xiàn)為計算機程序代碼的形式,其包含存儲在有形介質(zhì)如軟盤、CD-ROM、硬盤、或任何其它計算機可讀存儲介質(zhì)中的指令,其中,當計算機程序代碼被裝入計算機并由計算機執(zhí)行時,計算機成為實施本發(fā)明的裝置。本發(fā)明還可體現(xiàn)為計算機程序代碼的形式,例如,無論是保存在存儲介質(zhì)中、裝入計算機和/或有計算機執(zhí)行,還是在一些傳輸介質(zhì)如在電線或電纜上、通過光纖、或經(jīng)電磁輻射進行傳輸,其中,當計算機程序代碼被裝入計算機并由計算機執(zhí)行時,計算機成為實施本發(fā)明的裝置。當實施在通用微處理器上時,計算機程序代碼段配置微處理器以產(chǎn)生特定的邏輯電路。
在本發(fā)明已結(jié)合示例性實施例進行描述的同時,本領(lǐng)域技術(shù)人員將理解,可進行許多變化或等價替代其中的組成部分,而不會背離本發(fā)明的范圍。此外,可進行許多修改以使特定的情形或材料適應(yīng)本發(fā)明的教義,而不背離本發(fā)明的實質(zhì)范圍。因此,本發(fā)明不應(yīng)限于作為預(yù)計實現(xiàn)本發(fā)明的最佳方式在此公開的特定實施例,而是將包括落在所附權(quán)利要求范圍內(nèi)的所有實施例。此外,術(shù)語第一、第二等的使用并不指示任何順序或重要性,而是用于使一個組成部分與另一組成部分區(qū)別開。
權(quán)利要求
1.對象過程圖(OPG)應(yīng)用程序開發(fā)系統(tǒng),所述系統(tǒng)包括OPG應(yīng)用程序界面(API),所述API提供對OPG系統(tǒng)的功能的訪問;用于幫助經(jīng)OPG API創(chuàng)建和編輯OPG應(yīng)用程序的OPG應(yīng)用程序編輯器;用于幫助在OPG應(yīng)用程序正運行時編輯OPG應(yīng)用程序用戶界面窗口的OPG應(yīng)用程序窗口編輯器;及包括用于描述和定義OPG應(yīng)用程序的多個關(guān)鍵字及其相關(guān)定義的OPG應(yīng)用程序記法。
2.根據(jù)權(quán)利要求1的系統(tǒng),其中OPG API提供界面功能,其使OPG應(yīng)用程序能夠動態(tài)地與其它系統(tǒng)相互作用并交換信息。
3.根據(jù)權(quán)利要求1的系統(tǒng),其中OPG API提供創(chuàng)建和保存代表永久OPG的圖形軟件模型的功能。
4.根據(jù)權(quán)利要求1的系統(tǒng),其中OPG API在相應(yīng)的圖形軟件模型被更新時更新永久OPG。
5.根據(jù)權(quán)利要求1的系統(tǒng),其中OPG應(yīng)用程序編輯器包括編輯器圖形模型界面,其使用OPG API創(chuàng)建和保存對應(yīng)于永久OPG的圖形軟件模型。
6.根據(jù)權(quán)利要求1的系統(tǒng),其中OPG應(yīng)用程序編輯器包括用于將對應(yīng)于永久OPG的圖形軟件模型呈現(xiàn)在計算機顯示介質(zhì)上的編輯器查看器,其中圖形軟件模型包括一個或多個圖形符號、圖標、線、圖片、文本、圖象和窗口控制元素。
7.根據(jù)權(quán)利要求6的系統(tǒng),其中OPG應(yīng)用程序編輯器包括用于將移動、添加、刪除和更新圖形軟件模型的組成部分的用戶輸入請求變換為編輯器圖形模型界面功能請求的編輯器控制器,所述請求使得編輯器查看器更新圖形軟件模型和OPG API以更新永久OPG。
8.根據(jù)權(quán)利要求7的系統(tǒng),其中編輯器控制器基于在OPG應(yīng)用程序編輯器繪制的一組工作區(qū)視圖上顯示的窗口控制元素上的顯示光標的位置及窗口控制元素的類型而響應(yīng)于來自鍵盤、鼠標或其它輸入設(shè)備的用戶選擇和輸入。
9.根據(jù)權(quán)利要求8的系統(tǒng),其中工作區(qū)視圖包括下述中的一個或多個用于顯示可被選擇以包括在圖形軟件模型中的圖形組成部分的調(diào)色板視圖、用于顯示OPG或子圖的圖形表示的組成視圖、用于顯示OPG的樹圖的應(yīng)用程序?qū)Ш狡饕晥D、用于列出包含OPG的儲存庫文件的儲存庫視圖、用于顯示OPG圖形結(jié)點和邊緣的特性名稱和值的特性視圖、及用于顯示在組成視圖上選擇和顯示的圖形組成部分的組成樹圖的組成概覽圖。
10.根據(jù)權(quán)利要求1的系統(tǒng),其中OPG應(yīng)用程序窗口編輯器包括添加到OPG控制器-查看器并與其成一體的窗口編輯器控制組成部分。
11.根據(jù)權(quán)利要求10的系統(tǒng),其中窗口編輯器控制組成部分在OPG應(yīng)用程序數(shù)據(jù)顯示窗口上顯示編輯器選擇控制,其使用戶能夠在相應(yīng)的OPG應(yīng)用程序正運行時選擇或OPG應(yīng)用程序窗口編輯器或應(yīng)用程序窗口的數(shù)據(jù)可見性特性編輯器。
12.根據(jù)權(quán)利要求1的系統(tǒng),其中OPG應(yīng)用程序窗口編輯器提供所見即所得(WYSIWYG)類型的編輯器,其使用戶能夠立即看見改變、添加或刪除應(yīng)用程序數(shù)據(jù)顯示窗口上的數(shù)據(jù)窗口顯示元素的效果。
13.根據(jù)權(quán)利要求1的系統(tǒng),其中OPG應(yīng)用程序窗口編輯器使應(yīng)用程序數(shù)據(jù)顯示窗口顯示元素可選擇、可移動、可編輯和可刪除,其中窗口顯示元素包括窗口控制、文本框、標簽、文本編輯器、線、形狀、圖片、圖象和圖標中的一個或多個。
14.根據(jù)權(quán)利要求1的系統(tǒng),其中OPG應(yīng)用程序窗口編輯器顯示包含多個編輯器控制的編輯器工具條,其使用戶能夠?qū)⒕庉嬈鞴δ軕?yīng)用于所選的應(yīng)用程序數(shù)據(jù)顯示窗口元素,包括添加或刪除元素、改變文本特性、調(diào)整大小和重新定位元素、及改變元素的顏色。
15.開發(fā)計算機系統(tǒng)的方法,所述方法包括接收指定圖結(jié)構(gòu)中的元素的命令,其中圖結(jié)構(gòu)為計算機程序;及響應(yīng)于命令實時修改計算機程序。
16.根據(jù)權(quán)利要求15的方法,還包括在用戶界面屏幕上顯示計算機程序的圖形表示,其中命令經(jīng)用戶界面輸入設(shè)備接收。
17.根據(jù)權(quán)利要求15的方法,還包括在用戶界面屏幕上顯示修改后的計算機程序的圖形表示。
18.根據(jù)權(quán)利要求15的方法,其中修改后的計算機程序由隨后由計算機程序處理的所有事務(wù)使用。
19.根據(jù)權(quán)利要求15的方法,其中修改后的計算機程序由隨后由計算機程序處理的所選事務(wù)使用。
20.根據(jù)權(quán)利要求15的方法,其中修改后的計算機程序由當前正由計算機程序處理的事務(wù)使用。
21.根據(jù)權(quán)利要求15的方法,其中所述元素包括組成部分的一個或多個及鏈接。
22.根據(jù)權(quán)利要求21的方法,其中組成部分包括應(yīng)用程序組成部分、過程組成部分、數(shù)據(jù)結(jié)構(gòu)組成部分、數(shù)據(jù)結(jié)構(gòu)陣列組成部分、及原始數(shù)據(jù)組成部分中的一個或多個。
23.根據(jù)權(quán)利要求15的方法,其中命令指定查看元素、添加元素、修改元素及刪除元素中的一個或多個。
24.根據(jù)權(quán)利要求15的方法,其中計算機程序與接收同時運行,所述方法還包括經(jīng)用戶界面屏幕顯示來自計算機程序的輸出。
25.根據(jù)權(quán)利要求24的方法,還包括經(jīng)用戶界面屏幕顯示修改后的計算機程序的輸出。
26.開發(fā)計算機系統(tǒng)的方法,所述方法包括將計算機程序創(chuàng)建為圖結(jié)構(gòu);在用戶界面屏幕上顯示圖結(jié)構(gòu)的圖形表示;接收指定圖結(jié)構(gòu)中的元素的命令;響應(yīng)于命令實時修改計算機程序;響應(yīng)于命令更新圖結(jié)構(gòu);及在用戶界面屏幕上顯示更新后的圖結(jié)構(gòu)的圖形表示。
27.根據(jù)權(quán)利要求26的方法,其中計算機程序為對象過程圖(OPG)。
28.根據(jù)權(quán)利要求26的方法,其中顯示OPG是經(jīng)OPG應(yīng)用程序編輯器和OPG應(yīng)用程序窗口編輯器中的一個或多個進行顯示。
29.根據(jù)權(quán)利要求26的方法,其中修改是經(jīng)OPG應(yīng)用程序界面和與OPG系統(tǒng)界面連接的OPG應(yīng)用程序窗口編輯器中的一個或多個進行。
30.用于開發(fā)計算機系統(tǒng)的計算機程序產(chǎn)品,所述計算機程序產(chǎn)品包括處理電路可讀的存儲介質(zhì)及處理電路運行其從而執(zhí)行方法的存儲指令,所述方法包括接收指定圖結(jié)構(gòu)中的元素的命令,其中圖結(jié)構(gòu)為計算機程序;及響應(yīng)于命令實時修改計算機程序。
31.用于開發(fā)計算機系統(tǒng)的計算機程序產(chǎn)品,所述計算機程序產(chǎn)品包括處理電路可讀的存儲介質(zhì)及處理電路運行其從而執(zhí)行方法的存儲指令,所述方法包括將計算機程序創(chuàng)建為圖結(jié)構(gòu);在用戶界面屏幕上顯示圖結(jié)構(gòu)的圖形表示;接收指定圖結(jié)構(gòu)中的元素的命令;響應(yīng)于命令實時修改計算機程序;響應(yīng)于命令更新圖結(jié)構(gòu);及在用戶界面屏幕上顯示更新后的圖結(jié)構(gòu)的圖形表示。
全文摘要
對象過程圖(OPG)應(yīng)用程序開發(fā)系統(tǒng),所述系統(tǒng)包括OPG應(yīng)用程序界面(API)、OPG應(yīng)用程序編輯器、OPG應(yīng)用程序窗口編輯器和OPG應(yīng)用程序記法。OPG API提供對OPG系統(tǒng)的功能的訪問。OPG應(yīng)用程序編輯器幫助經(jīng)OPG API創(chuàng)建和編輯OPG應(yīng)用程序。OPG應(yīng)用程序窗口編輯器幫助在OPG應(yīng)用程序正運行時編輯OPG應(yīng)用程序用戶界面窗口。OPG應(yīng)用程序記法包括用于描述和定義OPG應(yīng)用程序的多個關(guān)鍵字及其相關(guān)定義。
文檔編號G06F9/44GK101052948SQ200580030336
公開日2007年10月10日 申請日期2005年9月9日 優(yōu)先權(quán)日2004年9月10日
發(fā)明者戴維·馬文·貝克, 斯蒂芬·艾倫·戈爾德, 弗拉迪米爾·古謝夫, 梁紅平 申請人:圖形公司