亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

對象過程圖系統(tǒng)的制作方法

文檔序號:6656603閱讀:257來源:國知局
專利名稱:對象過程圖系統(tǒng)的制作方法
相關(guān)申請交叉索引本申請要求2004年6月5日申請的臨時申請60/577,501和2005年5月20日申請的10/908,654的利益,二者的內(nèi)容通過引用而全部組合于此。
發(fā)明
背景技術(shù)
領(lǐng)域本發(fā)明涉及軟件開發(fā)工具,其包括編程語言、CASE工具、數(shù)據(jù)庫系統(tǒng)和界面及顯示語言和相關(guān)工具。
背景技術(shù)
由于20世紀50年代匯編語言的開發(fā),計算機工業(yè)在軟件開發(fā)方面已目睹了一系列的逐漸增長的進步。這些進步已使軟件能夠以更少的人工勞動更快地開發(fā),并使可產(chǎn)生更復雜的軟件系統(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ā)仍然成本高昂且高風險冒險,其需要許多高度有經(jīng)驗的程序員,且在最終系統(tǒng)的質(zhì)量和可應(yīng)用性方面總是有相當?shù)牟淮_定性。
以目前的方法實現(xiàn)軟件系統(tǒng)的主要限制在于在開發(fā)周期之前需要詳細的、確定的需求設(shè)計。實現(xiàn)可在進行中容易且可靠地修改的復雜系統(tǒng)的手段,從而在變化的需求出現(xiàn)時系統(tǒng)能適于這些變化的需求,這將大大拓寬計算機應(yīng)用程序的范圍、可應(yīng)用性和有用性。

發(fā)明內(nèi)容
本發(fā)明定義和實現(xiàn)對象過程圖系統(tǒng)。
一方面是對象過程圖系統(tǒng),其包括圖形結(jié)構(gòu)和圖形解釋器。圖形結(jié)構(gòu)是動態(tài)的、有向的和循環(huán)的,并定義應(yīng)用程序。圖形結(jié)構(gòu)具有至少一數(shù)據(jù)結(jié)點、至少一過程結(jié)點、和至少一應(yīng)用程序狀態(tài)結(jié)點。圖形解釋器解釋圖形結(jié)構(gòu)以處理應(yīng)用程序。在圖形結(jié)構(gòu)正由圖形解釋器解釋的同時圖形結(jié)構(gòu)可被改變。
另一方面是對象過程圖系統(tǒng),包括圖形結(jié)構(gòu)、圖形解釋器、和圖形用戶界面。圖形結(jié)構(gòu)定義應(yīng)用程序。圖形結(jié)構(gòu)是復合層圖形并包括多個結(jié)點。解釋器解釋圖形結(jié)構(gòu)以處理應(yīng)用程序。圖形用戶界面在顯示介質(zhì)上顯示圖形結(jié)構(gòu)并處理由輸入設(shè)備輸入的、用戶定義的圖形變化。在圖形結(jié)構(gòu)正由解釋器解釋的同時圖形結(jié)構(gòu)可被改變。
本發(fā)明的示例性實施例包括許多優(yōu)點,包括在建立大的復雜軟件系統(tǒng)時降低成本和風險。應(yīng)用程序用戶和應(yīng)用領(lǐng)域?qū)<夷軌蛞宰钌俚挠嬎銠C培訓開發(fā)和維護專用、復雜軟件系統(tǒng)。可產(chǎn)生能在運行時進行修改的應(yīng)用程序以大大拓寬軟件應(yīng)用程序系統(tǒng)的范圍、靈活性和有用性。


本發(fā)明的這些及其它特征、方面和優(yōu)點結(jié)合下述描述、所附權(quán)利要求及附圖將得以更好地理解,其中圖1為根據(jù)本發(fā)明實施例的基于對象過程圖的計算機應(yīng)用程序。
圖2為根據(jù)本發(fā)明實施例的復合層圖形。
圖3為根據(jù)本發(fā)明實施例的對象過程圖類型層次。
圖4為根據(jù)本發(fā)明實施例的對象過程圖樣板數(shù)據(jù)庫類型/特性。
圖5為根據(jù)本發(fā)明實施例的對象過程圖結(jié)點。
圖6為根據(jù)本發(fā)明實施例的對象過程圖邊緣類型。
圖7為根據(jù)本發(fā)明實施例的對象過程圖過程到過程類型。
圖8為根據(jù)本發(fā)明實施例的GOP數(shù)據(jù)庫數(shù)據(jù)到數(shù)據(jù)類型。
圖9為根據(jù)本發(fā)明實施例的對象過程圖過程到數(shù)據(jù)類型。
圖10為根據(jù)本發(fā)明實施例的對象過程圖用戶對象。
圖11為根據(jù)本發(fā)明實施例的對象過程圖審計對象。
圖12為根據(jù)本發(fā)明實施例的動態(tài)圖形解釋器。
圖13為根據(jù)本發(fā)明實施例的應(yīng)用程序狀態(tài)結(jié)點。
圖14為根據(jù)本發(fā)明實施例的運行應(yīng)用程序例圖的動態(tài)圖形解釋器。
圖15為根據(jù)本發(fā)明實施例顯示應(yīng)用程序狀態(tài)。
圖16為根據(jù)本發(fā)明實施例改變應(yīng)用程序狀態(tài)。
圖17為根據(jù)本發(fā)明實施例改變應(yīng)用程序狀態(tài)過程和數(shù)據(jù)定義。
圖18為根據(jù)本發(fā)明實施例改變應(yīng)用程序狀態(tài)。
圖19為根據(jù)本發(fā)明實施例改變應(yīng)用程序狀態(tài)并添加數(shù)據(jù)定義結(jié)點。
圖20為根據(jù)本發(fā)明實施例改變應(yīng)用程序狀態(tài)過程和數(shù)據(jù)定義。
具體實施例方式
本發(fā)明的各方面包括對象過程圖(OPG)和動態(tài)圖形解釋器(DGI)。OPG定義計算機應(yīng)用程序的永久和瞬時數(shù)據(jù)、其處理邏輯和數(shù)據(jù)流、及每一應(yīng)用程序數(shù)據(jù)項的顯示和確認特征?;趫D形用產(chǎn)界面的編輯系統(tǒng)可用于產(chǎn)生和修改OPG。DGI是面向?qū)ο蟮南到y(tǒng),其對應(yīng)用程序的動態(tài)OPG進行存取、解釋、修改和行動。解釋OPG類似于在傳統(tǒng)的計算機環(huán)境中運行應(yīng)用程序。
OPG的實施例可被視為解釋成所執(zhí)行程序的計算機語言(其為Turing完成的語言)。OPG保存在過渡和永久計算機存儲器中。OPG可支持任何數(shù)據(jù)結(jié)構(gòu),其包括但不限于關(guān)系表、層次表、n維數(shù)據(jù)陣列、電子表格、圖形模型和3-D圖形模型。這些數(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ù)學公式、常規(guī)表示式(在文字數(shù)據(jù)或混合數(shù)字和文字數(shù)據(jù)的情形下)和完整算法。
應(yīng)用程序的OPG可被呈現(xiàn)在計算機終端或靜態(tài)輸出介質(zhì)如紙上。顯示在交互式介質(zhì)上的OPG數(shù)據(jù)、過程和控制結(jié)構(gòu)可被編輯。與傳統(tǒng)的軟件開發(fā)系統(tǒng)不同,編輯應(yīng)用程序的OPG不產(chǎn)生必須編譯和安裝的代碼。而是,可進行改變并立即生效。改變甚至可在DGI正進行解釋(運行應(yīng)用程序)時做出。在任何時候安全改變應(yīng)用程序的能力對于大型、復雜的企業(yè)級應(yīng)用程序系統(tǒng)的快速開發(fā)和長期維護是必要的。
OPG中的所有應(yīng)用程序執(zhí)行狀態(tài)信息被保存在應(yīng)用程序狀態(tài)對象中。DGI通過改變其保存的應(yīng)用程序狀態(tài)信息而對OPG起作用。應(yīng)用程序狀態(tài)信息可包括任何永久的數(shù)據(jù)對象。DGI可同時對多個應(yīng)用程序狀態(tài)起作用,在應(yīng)用程序狀態(tài)對象的組合之間合并或分拆狀態(tài)信息。
OPG以原語數(shù)據(jù)級保留應(yīng)用程序中所有永久和短暫數(shù)據(jù)變化的審計尾跡信息。審計尾跡信息易于經(jīng)顯示控制顯示在用戶界面上或易于在應(yīng)用程序的過程和數(shù)據(jù)流中進行進一步更新和操控。
對于應(yīng)用程序的永久數(shù)據(jù)的所有變化,定義長和短事務(wù)中進行的變化的審計信息被保存和跟蹤。長事務(wù)使系統(tǒng)能組織、控制和跟蹤所有永久數(shù)據(jù)的變化。這樣的變化可跨許多工作會話在延長的時間段(幾天或幾周)內(nèi)發(fā)生。另一方面,短事務(wù)在單一用戶會話或與系統(tǒng)交互作用時進行。長和短事務(wù)信息立即可用于經(jīng)系統(tǒng)的圖形用戶界面在應(yīng)用程序內(nèi)進行操縱和顯示。跟蹤長事務(wù)還有利于回退到事務(wù)的任何點,及事務(wù)(帶有審計尾跡)的刪除經(jīng)應(yīng)用程序界面可自動可用。對用戶對應(yīng)用程序內(nèi)的所有功能和數(shù)據(jù)的訪問的控制可通過系統(tǒng)界面進行。這包括每一用戶對定義為應(yīng)用程序的一部分的每一原語數(shù)據(jù)項的分開的訪問權(quán)(讀、寫、回退)。
除了經(jīng)用戶界面輸入或改變的數(shù)據(jù)以外,系統(tǒng)的實施例還接受來自其它系統(tǒng)的、任何數(shù)字格式的、應(yīng)用程序過程輸入數(shù)據(jù)。
一些實施例包括圖形用戶界面。圖形用戶界面可使用戶能夠指定所有輸入的格式,其之后被自動分析并用于更新應(yīng)用程序一在應(yīng)用程序過程的任何點添加到或修改數(shù)據(jù)庫中的永久數(shù)據(jù)或應(yīng)用程序或顯示界面中的暫時數(shù)據(jù)。
同樣,在不同的實施例中使用與上述相反的過程,輸出數(shù)據(jù)可從應(yīng)用程序中的任何點(對于永久和暫時數(shù)據(jù))以任何格式產(chǎn)生。在一些實施例中,外部數(shù)據(jù)庫如關(guān)系數(shù)據(jù)庫可向應(yīng)用程序注冊,應(yīng)用程序內(nèi)的所有永久數(shù)據(jù)可被保存在這樣的數(shù)據(jù)庫中或從其檢索。
本發(fā)明的對象過程圖組成部分的實施例擴展了傳統(tǒng)的、面向圖形對象的數(shù)據(jù)庫的基本功能。本發(fā)明的實施例將動態(tài)過程單元的功能和面向圖形對象的數(shù)據(jù)庫合成為單一集成的系統(tǒng),其使得不需傳統(tǒng)的編程語言即可快速地產(chǎn)生完整、復雜的企業(yè)級應(yīng)用程序。OPG被直接和動態(tài)解釋,因此不需要產(chǎn)生代碼。改變OPG的容易性和對改變的立即反饋大大簡化了基于保存和改變OPG的應(yīng)用程序。
本發(fā)明的實施例包括兩個組成部分(圖1)動態(tài)、復合層對象過程圖(OPG)3和動態(tài)圖形解釋器(DGI)2。OPG3完全定義并表示應(yīng)用程序。DGI2將應(yīng)用程序的OPG3翻譯和解釋為應(yīng)用程序被運行。應(yīng)用程序的界面1與DGI2相互作用,更新保存在OPG3中的永久數(shù)據(jù)或在應(yīng)用程序運行時由OPG3控制的暫時數(shù)據(jù)。
對象過程圖在本發(fā)明的示例性實施例中,OPG3被構(gòu)造成復合層圖形(圖2),具有兩種結(jié)點類型-合成和原語。圖2中的深色結(jié)點-8、9、10和12-不由其它結(jié)點組成,因此屬于結(jié)點類型原語。在這些圖中未充填的結(jié)點屬于結(jié)點類型合成。OPG復合層圖形包括一組有向圖和一組樹。圖形內(nèi)的每一結(jié)點屬于有向圖及樹。每一結(jié)點所屬的有向圖定義其與該圖形內(nèi)的其它結(jié)點的關(guān)系。結(jié)點所屬的樹定義其所屬的合成層次。結(jié)點可屬于多個有向圖和多個合成層次。例如,圖2中的結(jié)點9、10、11和12屬于有向圖7。結(jié)點9、10、11和12還屬于與結(jié)點6相同的合成層次,結(jié)點6屬于有向圖5。結(jié)點6在合成層次樹中是結(jié)點9、10、11和12的雙親段。應(yīng)注意,在此描述的復合層圖形僅僅是有向圖的特殊情形,從而OPG3的另一實施例可使用包含邊緣雙親的有向圖以指示合成。圖2中的深色結(jié)點-8、9、10、和12-不由其它結(jié)點組成,因而屬于結(jié)點類型原語。
OPG3包括至少兩種結(jié)點對象類型過程和數(shù)據(jù)。(某些另外的專門結(jié)點對象類型將在隨后描述)。如上所述,在每一結(jié)點對象類型內(nèi),結(jié)點類型可以是原語,在其作為成員的合成層次樹中沒有子段,或是合成類型。下面對過程和數(shù)據(jù)類型的描述是本發(fā)明的一個示例性實施例(圖3)。過程類型13可以是操作、報表或應(yīng)用-所有這些均可屬于結(jié)點類型合成。操作和報表類型也可屬于結(jié)點類型原語。數(shù)據(jù)類型14可以是原語數(shù)據(jù)15、合成數(shù)據(jù)16、陣列、圖形、或參考。在該示例性實施例中,數(shù)據(jù)類型原語數(shù)據(jù)的結(jié)點僅可屬于結(jié)點類型原語,所有其它數(shù)據(jù)類型的結(jié)點僅可屬于結(jié)點類型合成。
在該示例性實施例中,原語數(shù)據(jù)結(jié)點15可以是任一原語數(shù)據(jù)類型。每一原語數(shù)據(jù)結(jié)點的特性對于其類型是特定的。(應(yīng)注意,這對于所有結(jié)點均是正確的-結(jié)點特性依賴于其類型層次,但結(jié)點也可以是圖形定義和/或運行時間特殊)。大量預定義原語數(shù)據(jù)類型可用于OPG系統(tǒng)的各個實施例中,如字符串、雙精度型、整數(shù)、日期、文件、圖象、映射、XML文件、計算、計算的字符串、自定義類、電子郵件地址、萬維網(wǎng)地址、目錄、電子表格單元、文件變換、長整數(shù)、大小數(shù)、二進制、和關(guān)系表。每一原語數(shù)據(jù)類型定義包括用于處理和顯示其數(shù)據(jù)的專門功能。例如,文件變換數(shù)據(jù)類型允許以多種格式顯示文件中的基本信息文本、CVS、XML、電子表格(Excel-需要商用許可)、字處理文檔(Word-需要商用許可)。
盡管添加原語數(shù)據(jù)類型定義可能極少發(fā)生,新原語數(shù)據(jù)類型的新代碼將能組合在現(xiàn)有OPG3中,不再生成或重新組織OPG3。例如,在生命科學應(yīng)用中,也可添加特殊域的原語數(shù)據(jù)類型,其包括序列、多序列調(diào)整、凝膠圖象、及蛋白質(zhì)結(jié)構(gòu)。還應(yīng)注意,原語數(shù)據(jù)類型可包含可在應(yīng)用程序內(nèi)執(zhí)行的算法或自定義類(程序模塊)。
合成數(shù)據(jù)結(jié)點16為任何數(shù)據(jù)類型結(jié)點即原語數(shù)據(jù)、陣列、圖形、參考及合成數(shù)據(jù)的復合層圖形。陣列結(jié)點為由任何數(shù)據(jù)類型結(jié)點組成的同質(zhì)、n維陣列。圖形結(jié)點為由任何數(shù)據(jù)類型的結(jié)點組成的有向圖。參考結(jié)點為指向任何數(shù)據(jù)類型結(jié)點的指針。
每一數(shù)據(jù)結(jié)點具有或定義17或例圖18的模板數(shù)據(jù)庫類型(圖4)。定義結(jié)點包含對對應(yīng)于該定義結(jié)點19的所有例圖結(jié)點20均為共同的一組特性。這些特性控制例圖結(jié)點的值的數(shù)據(jù)怎樣被處理和顯示,所述值為結(jié)點特性的子集。例如,顯示和編輯為兩種指示數(shù)據(jù)值特性怎樣被顯示在顯示介質(zhì)上或在顯示介質(zhì)上被怎樣編輯的特性。顯示坐標特性指示值將被顯示在計算機顯示器上的位置;其它特性指明字體、顏色等。特性也可包括確認準則,包括使用常規(guī)表示式確認輸入。特性可以是過程結(jié)點特有,即每一定義結(jié)點具有默認特性設(shè)置21,但對于任何過程結(jié)點22,特性可被重新定義23而只用于該過程結(jié)點。存在于有效過程結(jié)點的應(yīng)用程序狀態(tài)中的任何相應(yīng)例圖結(jié)點應(yīng)使用其對于該過程結(jié)點的結(jié)點特性。如果對例圖結(jié)點不存在過程結(jié)點特有特性,則將使用相應(yīng)定義結(jié)點的默認特性。此外,特性可以是應(yīng)用程序狀態(tài)結(jié)點特有,即特性23a僅被定義用于應(yīng)用程序狀態(tài)X22a。(應(yīng)用程序狀態(tài)將在下面DGI2的描述中詳細描述)。不僅數(shù)據(jù)定義結(jié)點的特性可以是過程特有或應(yīng)用程序狀態(tài)特有,而且數(shù)據(jù)定義結(jié)點本身也是過程或應(yīng)用程序狀態(tài)特有。在該示例性實施例中,以這種方式規(guī)定的數(shù)據(jù)定義結(jié)點僅被應(yīng)用于特定過程或應(yīng)用程序狀態(tài)(或過程和/或應(yīng)用程序的結(jié)合),且在所有其它過程步驟或應(yīng)用程序狀態(tài)處均被忽略。
例圖數(shù)據(jù)結(jié)點為數(shù)據(jù)定義結(jié)點的特殊例示。特性也可設(shè)定在數(shù)據(jù)例圖級。特殊的數(shù)據(jù)類型可具有其自己的特性組。例如,文件數(shù)據(jù)類型將具有文件名稱和路徑特性,二者均為例圖特有。所有數(shù)據(jù)類型具有至少一例圖特有的值特性。對于例圖特有特性,定義結(jié)點可保存每一特性的默認值。
所有數(shù)據(jù)結(jié)點具有持續(xù)時間特性,其在定義結(jié)點中對該定義結(jié)點的所有例圖進行設(shè)定(還有影響定義結(jié)點自身的壽命的定義持續(xù)時間特性)。使用該特性,可產(chǎn)生暫時和永久例圖結(jié)點。永久例圖結(jié)點在OPG3中保存延長的時間段,而暫時結(jié)點僅在當前會話(或其一些子集/超集-可以是取決于長或短事務(wù)和/或取決于過程結(jié)點)的壽命期間存在。如果應(yīng)用程序用戶/設(shè)計者需要,使用這種機制,臨時工作存儲器的產(chǎn)生和操縱可由OPG3控制(作為暫時瞬間數(shù)據(jù)),而不將這樣的數(shù)據(jù)永久保存在OPG3中。
過程結(jié)點24(圖5)控制例圖結(jié)點流經(jīng)應(yīng)用程序及應(yīng)用程序經(jīng)顯示介質(zhì)使用的例圖結(jié)點的產(chǎn)生、修改和顯示。操作結(jié)點25,其為過程結(jié)點的一類,定義流經(jīng)應(yīng)用程序的數(shù)據(jù)和過程流中的分立步驟,包括應(yīng)用程序的顯示介質(zhì)的變化。
應(yīng)用程序狀態(tài)結(jié)點26屬于結(jié)點類型合成。它們包含邏輯上連接的例圖結(jié)點的集合27,其通過操作結(jié)點的子集產(chǎn)生、修改或顯示。報表結(jié)點28為專門操作結(jié)點,其不允許OPG3中的永久數(shù)據(jù)的修改(除了某些專門報表相關(guān)的數(shù)據(jù)結(jié)點以外)。應(yīng)用程序結(jié)點29屬于結(jié)點類型合成。它們包含邏輯上連接的過程和數(shù)據(jù)結(jié)點的集合30。
OPG3內(nèi)的所有結(jié)點均由定義結(jié)點之間的關(guān)系的邊緣連接。關(guān)系可包括但不限于變換、被動、控制通行和關(guān)系。邊緣具有特性,但與結(jié)點不同,其不包含其它結(jié)點或邊緣(盡管特性值可以是結(jié)點)。在本發(fā)明的一實施例中,定義了三種邊緣類型過程到過程、過程到數(shù)據(jù)、和數(shù)據(jù)到數(shù)據(jù)(圖6)。過程到過程邊緣31定義過程結(jié)點之間的關(guān)系,過程到數(shù)據(jù)邊緣32定義過程和數(shù)據(jù)結(jié)點之間的關(guān)系,數(shù)據(jù)到數(shù)據(jù)邊緣33定義數(shù)據(jù)結(jié)點之間的關(guān)系。在該實施例的上下文內(nèi),下面的各段定義這三種邊緣類型的分立例圖。
有三種過程到過程邊緣子類型顯示、隊列、和批(圖7)。在操作或報表結(jié)點之間的顯示邊緣34指明應(yīng)用程序內(nèi)的過程控制在結(jié)點之間以邊緣指定的方向移動。在操作A執(zhí)行之后,應(yīng)用程序內(nèi)在操作A的應(yīng)用程序狀態(tài)在操作B顯示在顯示介質(zhì)上。該例子定義應(yīng)用程序內(nèi)從一屏到另一屏的移動。
在操作或報表結(jié)點之間的隊列邊緣35指明過程控制何時從結(jié)點A移到結(jié)點B,應(yīng)用程序狀態(tài)將在結(jié)點B排隊但不顯示,除非用戶經(jīng)應(yīng)用程序界面采取進一步的行動(如點擊代表列表上的應(yīng)用程序狀態(tài)顯示在顯示介質(zhì)上結(jié)點B表示的鏈接)。該例子描述了應(yīng)用程序內(nèi)的工作流操作。
在報表和操作結(jié)點之間的批邊緣36導致由操作B定義的處理在應(yīng)用程序內(nèi)應(yīng)用程序狀態(tài)從操作A移到操作B時被調(diào)用為后臺過程。批邊緣用于基于邊緣內(nèi)的進程時間特性確定同時發(fā)生的過程結(jié)點以后臺方式運行的時間。應(yīng)注意,所有這些結(jié)點可保存數(shù)據(jù)結(jié)點為可用于調(diào)用邊緣的有條件執(zhí)行的特性。這樣,根據(jù)兩個數(shù)據(jù)結(jié)點之間的比較結(jié)果,特定屏可以也可不在應(yīng)用中顯示。
有五種數(shù)據(jù)到數(shù)據(jù)邊緣子類型復制、計算、拆分、歸并、和聯(lián)結(jié)(圖8)。所有數(shù)據(jù)到數(shù)據(jù)邊緣知道數(shù)據(jù)類型和原語數(shù)據(jù)類型。在兩陣列之間的復制邊緣37將把數(shù)據(jù)元從一陣列復制到另一陣列,經(jīng)受邊緣定義的任何映射特性。從原語數(shù)據(jù)到陣列的復制將原語數(shù)據(jù)結(jié)點的值和某些特性復制和重復到陣列的所有元素。按照需要,在不同的原語數(shù)據(jù)類型的結(jié)點之間進行適當?shù)闹缔D(zhuǎn)換(如字符串到整數(shù)),其取決于邊緣的特性強型或弱型。弱型邊緣允許這樣的數(shù)據(jù)轉(zhuǎn)換發(fā)生,而強型邊緣阻止其發(fā)生。
計算邊緣38提供復雜的數(shù)學公式和/或常規(guī)表示式以對任何數(shù)量的數(shù)據(jù)結(jié)點作用從而計算另一數(shù)據(jù)結(jié)點。拆分邊緣39和歸并邊緣40使應(yīng)用程序狀態(tài)對象在應(yīng)用程序中從一操作移到另一操作時被拆分或歸并。它們使一應(yīng)用程序狀態(tài)對象中的例圖結(jié)點在從一操作流到另一操作時被拆分到多個應(yīng)用程序狀態(tài)對象中,或?qū)⒃S多應(yīng)用程序狀態(tài)對象中的例圖結(jié)點合并到一個應(yīng)用程序狀態(tài)對象中。
聯(lián)結(jié)邊緣41使基于不同定義結(jié)點的合成數(shù)據(jù)例圖結(jié)點將從OPG3組合并一起取回。在這些情況下,參考結(jié)點可連同聯(lián)結(jié)邊緣一起使用。
有三種過程到數(shù)據(jù)類型創(chuàng)建、取回、和執(zhí)行(圖9)。創(chuàng)建邊緣42在過程結(jié)點于應(yīng)用程序狀態(tài)中創(chuàng)建定義結(jié)點的新例圖。取回邊緣43在過程結(jié)點取回數(shù)據(jù)例圖并將它們放在應(yīng)用程序狀態(tài)對象內(nèi)。執(zhí)行邊緣44將執(zhí)行程序代碼或控制結(jié)構(gòu)(包括算法),其在該過程的應(yīng)用程序的邏輯和控制流期間可包含在數(shù)據(jù)結(jié)點內(nèi)。
應(yīng)注意,本發(fā)明的不同實施例可添加或修改上述所有邊緣類型和子類型的性質(zhì)。
在本發(fā)明的一實施例中,用戶由專門的對象類型代表,其控制對應(yīng)用程序內(nèi)的功能和數(shù)據(jù)的訪問(圖10)。為每一有權(quán)使用OPG應(yīng)用程序的任何部分的各個用戶在OPG3內(nèi)創(chuàng)建用戶對象45。另外的用戶對象也可被創(chuàng)建以按任何需要的方式對功能集合或數(shù)據(jù)存取進行分組。每一用戶對象包含應(yīng)用程序內(nèi)對其訪問被允許的所有過程對象46和數(shù)據(jù)對象47。為用戶對象內(nèi)的每一對象分配訪問權(quán),其可以是來自下述兩個列表之一(列表1-對于數(shù)據(jù)例圖)塊I、讀I、寫I、回退,(列表2-對于數(shù)據(jù)定義和過程)塊M、讀M、寫M。如果用戶對象包含對合成對象48的訪問權(quán),動態(tài)圖形解釋器2使用其合成樹自動將相同的訪問權(quán)分配給合成對象的所有子段結(jié)點49。然而,如果用戶對象還包含其子段結(jié)點50之一,則對于該特定的子段是使用其訪問權(quán)(在圖10中,數(shù)據(jù)D僅具有讀訪問,而不是其雙親段的寫訪問)。應(yīng)注意,權(quán)限被排列并包括在每一列表內(nèi),從而回退權(quán)包括讀I和寫I訪問。
塊權(quán)限用于取走所有訪問權(quán)且僅在覆蓋雙親段的權(quán)限時需要,因為默認訪問權(quán)是塊一即在對象或其雙親段的任一不出現(xiàn)在用戶對象中時。用戶對象還可從另一用戶對象繼承所有權(quán)限。這允許建立任何數(shù)量的分組權(quán)限或角色-包括這樣的分組或角色的層次-其可用于同時自動更新許多用戶的權(quán)限。
審計是另一專門的對象類型。其用于跟蹤應(yīng)用程序內(nèi)對數(shù)據(jù)的所有訪問和修改(圖11)。駐留在應(yīng)用程序狀態(tài)對象51和合成數(shù)據(jù)對象52中,它們跟蹤在應(yīng)用狀態(tài)層53和數(shù)據(jù)例圖層54用戶對數(shù)據(jù)的所有訪問和修改、時間和操作步驟。如果對于應(yīng)用程序狀態(tài)中使用的所有定義數(shù)據(jù)審計特性均為“開”,則應(yīng)用程序狀態(tài)的回退可被執(zhí)行以回退到事務(wù)內(nèi)的任何操作步驟。在排隊操作(如工作流)的情形下,這允許可能跨許多用戶會話發(fā)生的長運行事務(wù)的回退。DGI2檢查事務(wù)處理后任何數(shù)據(jù)的變化并在那種情形下防止回退(或者,如果適當?shù)奶匦员辉O(shè)定,則允許替換)。
索引對象可在對象過程圖3內(nèi)指定以縮短搜索路徑從而提高性能。
動態(tài)圖形解釋器動態(tài)圖形解釋器(DGI)2(圖12)解釋動態(tài)OPG3,并使用顯示介質(zhì)57,其自動顯示應(yīng)用程序的可視方面。DGI2協(xié)同訪問應(yīng)用程序的狀態(tài)結(jié)點58及其過程和數(shù)據(jù)結(jié)點59以運行應(yīng)用程序的各個例圖。
OPG3中的應(yīng)用程序狀態(tài)結(jié)點和過程及數(shù)據(jù)結(jié)點一起包含顯示應(yīng)用程序信息及將應(yīng)用程序例圖從一狀態(tài)變?yōu)榱硪粻顟B(tài)所需的所有信息。應(yīng)用程序狀態(tài)結(jié)點(圖13)60包含應(yīng)用程序例圖的有效、當前操作結(jié)點及與特定狀態(tài)的例圖相關(guān)聯(lián)的所有數(shù)據(jù)例圖結(jié)點。
DGI2運行(等價于傳統(tǒng)意義的解釋、執(zhí)行、履行或運行)應(yīng)用程序的例圖(圖14),其通過使從一應(yīng)用程序狀態(tài)變?yōu)榱硪粦?yīng)用程序狀態(tài)61并在顯示介質(zhì)57上顯示應(yīng)用程序的狀態(tài)信息進行。在顯示介質(zhì)上顯示應(yīng)用程序狀態(tài)信息使用戶能動態(tài)地與應(yīng)用程序交互作用以引起應(yīng)用程序狀態(tài)的變化。其還使用戶能改變應(yīng)用程序的OPG3的其它元素一如過程結(jié)點、數(shù)據(jù)定義結(jié)點和這些結(jié)點之間的任何邊緣信息62。OPG3的這些元素的變化立即引起DGI2對OPG3進行解釋,從而使應(yīng)用程序在正被解釋即運行時能動態(tài)地改變。
DGI2致使應(yīng)用程序例圖的狀態(tài)信息根據(jù)顯示特性(圖15)而呈現(xiàn)在顯示介質(zhì)57上。狀態(tài)信息被保存在數(shù)據(jù)例圖結(jié)點中。顯示特性或是操作特有數(shù)據(jù)例圖顯示特性或是保存在數(shù)據(jù)例圖結(jié)點中的默認顯示特性。操作特有數(shù)據(jù)例圖顯示特性優(yōu)先于默認顯示特性。DGI2檢查應(yīng)用程序狀態(tài)結(jié)點62內(nèi)的所有數(shù)據(jù)例圖結(jié)點64,找到OPG3內(nèi)它們的相應(yīng)數(shù)據(jù)定義結(jié)點65及有效操作中它們的相應(yīng)顯示特性。如果對于有效操作和數(shù)據(jù)定義結(jié)點沒有特有顯示特性,則使用數(shù)據(jù)定義結(jié)點的默認顯示特性。之后,帶有其例圖特有特性值的所有數(shù)據(jù)例圖根據(jù)其操作特有顯示特性而呈現(xiàn)在顯示介質(zhì)57上。有效操作特有的其它顯示特性也可被呈現(xiàn)在顯示介質(zhì)上。
DGI2通過首先檢查應(yīng)用程序狀態(tài)內(nèi)的有效操作結(jié)點而改變應(yīng)用程序的狀態(tài)(圖16)。之后其查看OPG3內(nèi)的操作結(jié)點,找到從操作結(jié)點引出的邊緣并執(zhí)行由那些邊緣指明的變換。此外,其檢查對應(yīng)于應(yīng)用程序狀態(tài)結(jié)點內(nèi)的數(shù)據(jù)例圖的數(shù)據(jù)定義結(jié)點,找到從那些數(shù)據(jù)定義結(jié)點引出的邊緣并執(zhí)行由那些邊緣指明的變換。這樣,例如,在圖16中,應(yīng)用程序狀態(tài)X 66被變?yōu)閼?yīng)用程序狀態(tài)X’67。有效操作從操作A變?yōu)椴僮鰾且兩個新的數(shù)據(jù)例圖即數(shù)據(jù)例圖C和數(shù)據(jù)例圖D被添加到應(yīng)用程序狀態(tài)。將X變?yōu)閄’所需要的變換由相應(yīng)的操作和數(shù)據(jù)定義結(jié)點連同它們的互連邊緣68確定。
圖17-20更詳細地描述運行應(yīng)用程序例圖的一個步驟(等價于從一有效操作移到下一有效操作)的例子。圖17描述OPG3的一部分,其詳述在運行步驟時將由DGI2訪問的操作結(jié)點、數(shù)據(jù)定義結(jié)點和邊緣變換。圖17還詳述了邊緣變換將被運行的順序創(chuàng)建66、創(chuàng)建67、復制68、顯示69、創(chuàng)建70、創(chuàng)建71和復制72。
例子(圖18)以顯示在顯示介質(zhì)57上的應(yīng)用程序狀態(tài)X 73開始。在圖18以應(yīng)用程序狀態(tài)X 73開始的階段,如所詳示的,來自圖17的邊緣變換創(chuàng)建66和創(chuàng)建67已經(jīng)運行,然而,圖17中所示的其它邊緣變換尚未運行。如圖15中詳述的,在顯示介質(zhì)57上所顯示的內(nèi)容由包含在對應(yīng)于應(yīng)用程序狀態(tài)內(nèi)的數(shù)據(jù)例圖的數(shù)據(jù)定義75內(nèi)的顯示特性控制。DGI2管理用戶77與該顯示介質(zhì)57的交互作用,根據(jù)顯示介質(zhì)57上的用戶交互作用更新應(yīng)用程序狀態(tài)內(nèi)的數(shù)據(jù)例圖。應(yīng)注意,在用戶77經(jīng)DGI2更新應(yīng)用程序狀態(tài)73中的數(shù)據(jù)例圖內(nèi)的特性時,該用戶77也可同時經(jīng)DGI2更新對應(yīng)于應(yīng)用程序狀態(tài)73中的那些數(shù)據(jù)例圖的數(shù)據(jù)定義75的特性。一旦用戶77已完成經(jīng)顯示介質(zhì)57與應(yīng)用程序狀態(tài)X 73的交互作用,DGI2將運行復制68(圖17)邊緣變換,其連同用戶77通過顯示介質(zhì)57進行的更新一起將導致OPG3中更新的和變換的應(yīng)用程序狀態(tài)X’78。DGI2現(xiàn)在檢查OPG3中的操作結(jié)點、數(shù)據(jù)定義結(jié)點、和邊緣變換80并運行可導致更新和變換的應(yīng)用程序狀態(tài)X″81的顯示69、創(chuàng)建70和創(chuàng)建71(圖17)邊緣變換。該更新的應(yīng)用程序狀態(tài)X″81隨后以圖15中描述的方式經(jīng)DGI2解釋和顯示在顯示介質(zhì)57上。
如上面圖18中所述和所暗示的(見DGI2和數(shù)據(jù)定義結(jié)點75之間的雙向箭頭),用戶在更新數(shù)據(jù)例圖結(jié)點時可同時更新數(shù)據(jù)定義結(jié)點。然而,在運行應(yīng)用程序時同時更新應(yīng)用程序定義的能力不限于更新現(xiàn)有的數(shù)據(jù)定義結(jié)點,而是可擴展到更新OPG3的任何部分,其完全說明了應(yīng)用程序的所有方面。這樣,在圖19中,用戶88經(jīng)顯示介質(zhì)57、通過DGI居間而將新的數(shù)據(jù)定義結(jié)點E 86連同創(chuàng)建邊緣85一起添加到OPG3,同時更新應(yīng)用程序狀態(tài)X 83。
新更新和變換的應(yīng)用程序狀態(tài)X’89由DGI2產(chǎn)生。之后,該新的應(yīng)用程序狀態(tài)X’89同樣由DGI2使用OPG3內(nèi)的過程、數(shù)據(jù)定義結(jié)點和邊緣91進行更新和變換以控制變換和更新。這些數(shù)據(jù)定義結(jié)點和邊緣可包括新定義的結(jié)點和邊緣,如85和86。因此,在該例子中,隨后的應(yīng)用程序狀態(tài)X″92將包括新的數(shù)據(jù)例圖E,其已在該應(yīng)用步驟內(nèi)定義。應(yīng)用程序狀態(tài)X″92之后經(jīng)DGI2顯示在顯示介質(zhì)94上,如前所述。
圖20概括了因如圖19中所述運行應(yīng)用程序步驟引起的數(shù)據(jù)定義結(jié)點和邊緣的變化。比較圖20和17,圖20包括新的數(shù)據(jù)定義結(jié)點E95和新的創(chuàng)建邊緣96。應(yīng)注意,如先前在圖4中所述,特定的數(shù)據(jù)定義結(jié)點或數(shù)據(jù)定義結(jié)點的特性集合可對所有過程(默認)、單個過程或過程組、或特定應(yīng)用程序狀態(tài)進行定義。這樣,在該例子中,數(shù)據(jù)定義C和D為所有過程99的默認定義,而數(shù)據(jù)定義E 95和創(chuàng)建邊緣96已被定義僅用于應(yīng)用程序狀態(tài)X 100(在該例子中,這還應(yīng)用于X的所有變換如X’和X″)。這意味著應(yīng)用程序的隨后運行將訪問在應(yīng)用程序狀態(tài)X已訪問的數(shù)據(jù)定義C 97和D 98;然而,數(shù)據(jù)定義E將僅被應(yīng)用于應(yīng)用程序狀態(tài)X。在圖19的例子中,其已容易地將新的數(shù)據(jù)定義E應(yīng)用于所有過程,而不是僅用于應(yīng)用程序狀態(tài)X。
在圖17-20中概括的DGI2使人們可在應(yīng)用程序正被運行時同時開發(fā)和修改應(yīng)用程序。此外,其允許這樣的開發(fā)和修改應(yīng)用于應(yīng)用程序的所有隨后的運行、隨后的運行的一些子集或簡單地應(yīng)用于正被運行的應(yīng)用程序的當前例圖。
OPG和DGI方法及實施例下面為根據(jù)本發(fā)明創(chuàng)建OPG3系統(tǒng)和DGI2系統(tǒng)的示例性方法的描述,這樣的系統(tǒng)已在上面定義和描述。在此為該方法的一實施例。
1)選擇基于其建立和運行OPG3和DGI2系統(tǒng)的硬件/操作系統(tǒng)平臺、編程框架、數(shù)據(jù)庫和/或文件系統(tǒng)及顯示介質(zhì)的初始設(shè)置。在一實施例中,使用Linux操作系統(tǒng),在基于Intel的服務(wù)器硬件上運行,跨內(nèi)聯(lián)網(wǎng)連接到運行微軟Windows XP軟件和微軟Internet Explorer(IE)瀏覽器的基于Intel的PC。在PC終端上運行的IE瀏覽器將原則顯示介質(zhì)。使用面向?qū)ο蟮木幊陶Z言-來自Sun Microsystems的Java-編程OPG3和DGI2系統(tǒng)。使用面向Java數(shù)據(jù)對象(JDO)兼容的對象的數(shù)據(jù)庫系統(tǒng)-來自以色列ObjectDB Software的ObjectDB-其中保存我們的OPG3系統(tǒng)的永久數(shù)據(jù)。使用Jakarta Struts框架和Java服務(wù)器頁面將來自DGI2的信息呈現(xiàn)在顯示介質(zhì)57上。(動態(tài)圖形解釋器繪制系統(tǒng)將是未來專利的主題)。使用在Linux下運行的Jakarta Tomcat應(yīng)用服務(wù)器。OPG3和DGI2系統(tǒng)將在Tomcat應(yīng)用服務(wù)器上運行。該實施例還可在沒有程序設(shè)計變化的情況下在WindowsXP操作系統(tǒng)下本地運行的Tomcat應(yīng)用服務(wù)器上運行。同樣,ObjectDB數(shù)據(jù)庫的版本或在Linux下的服務(wù)器上運行或在Windows XP下的PC上運行。我們還使用來自Eclipse Foundation的Eclipse開發(fā)平臺和來自Genuitec的MyEclipse插件,在其基礎(chǔ)上進行基于Java的軟件開發(fā)。應(yīng)注意,上述操作系統(tǒng)、應(yīng)用平臺和編程語言工具僅代表本發(fā)明的一個可能實施例。
2)使用上面對各個實施例的總結(jié)和描述,連同附圖1-20,定義了一組類及適當?shù)念悓哟?,其將包括所需的功能。在Gamma等在Addison Wesley 1995的“設(shè)計模型”和Grand在Wiley ComputerPublishing 1998的“Java模型”中描述的設(shè)計模型可用于創(chuàng)建一組帶有所需功能的類。用于定義這些類的高級CASE工具也可使用??杀欢x的一些類為a、一組處理創(chuàng)建、修改、更新和定位復合層圖形(圖2)所需功能的類。這樣的類可部分基于迭代程序結(jié)構(gòu)模型(見上面引用的文本)。
b、處理創(chuàng)建、修改、更新和定位數(shù)據(jù)及過程結(jié)點的各個類型層次(圖3-5)所需功能的類。這樣的類可部分基于合成劃分模型。工廠方法及抽象的工廠創(chuàng)造模型也可在此及下述的其它類組中使用(見上面引用的文本)。
c、一組處理各個邊緣類型的類(圖6-9)。
d、一組處理用戶對象的類(圖10)。
e、一組處理審計對象的類(圖11)。
f、一組處理DGI2頂級框架的類(圖12、14)。這樣的類應(yīng)包括處理事件處理的功能并可部分基于觀察器行為模型(見上面引用的文本)。
g、一組處理創(chuàng)建、修改、更新和定位應(yīng)用程序狀態(tài)所需功能的類(圖13)。
h、一組顯示應(yīng)用程序狀態(tài)的類(圖15)。該組類必須廣泛地與用于將數(shù)據(jù)從DGI2和OPG3系統(tǒng)呈現(xiàn)在顯示介質(zhì)上的系統(tǒng)接口。在一實施例中,該動態(tài)圖形解釋器繪制系統(tǒng)使用Java服務(wù)器頁面基于Jakarta Struts框架建立。
i、一組用于改變應(yīng)用程序狀態(tài)的類(圖16-20)。這樣的類應(yīng)包括處理事件處理的功能并可部分基于觀察器行為模型(見上面引用的文本)。
j、一組用于改變OPG3內(nèi)的過程、數(shù)據(jù)定義結(jié)點和邊緣的類(圖16-20)。
上述類中的大部分將需要被定義為永久的類,這將使其內(nèi)定義的相關(guān)屬性被保存到長期永久介質(zhì)如存儲介質(zhì)。如果使用JDO兼容的數(shù)據(jù)庫如ObjectDB,這可以最少的額外編程完成-所有所需要的為XML文件詳細設(shè)計,其類為永久的類。動態(tài)圖形解釋器繪制系統(tǒng)中與DGI和顯示介質(zhì)交互作用的類將不總是永久的。
盡管本發(fā)明已結(jié)合某些實施例進行相當詳細的描述,其它實施例也是可能的。例如,不同的操作系統(tǒng)、編程語言、和軟件體系結(jié)構(gòu)可用于實施本發(fā)明的實施例。因此,所附權(quán)利要求的精神和范圍應(yīng)不限于包含于此的實施例的描述。
如上所述,本發(fā)明的實施例可體現(xiàn)為硬件、軟件、固件、或任何用于實現(xiàn)實施例的方法和/或裝置的形式。本發(fā)明的實施例還可體現(xiàn)為包含具體化在有形介質(zhì)中的指令的計算機程序代碼形式,所述介質(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)限于作為預計實現(xiàn)本發(fā)明的最佳方式在此公開的特定實施例,而是將包括落在所附權(quán)利要求范圍內(nèi)的所有實施例。此外,術(shù)語第一、第二等的使用并不指示任何順序或重要性,而是用于使一個組成部分與另一組成部分區(qū)別開。
權(quán)利要求
1.對象過程圖,包括用于定義應(yīng)用程序的圖形結(jié)構(gòu),所述圖形結(jié)構(gòu)是動態(tài)的、有向的及循環(huán)的,所述圖形結(jié)構(gòu)包括至少一數(shù)據(jù)結(jié)點、至少一過程結(jié)點、和至少一應(yīng)用程序狀態(tài)結(jié)點;及用于解釋所述圖形結(jié)構(gòu)以處理所述應(yīng)用程序的解釋器;其中所述圖形結(jié)構(gòu)能在其正由所述解釋器進行解釋時被改變。
2.根據(jù)權(quán)利要求1的系統(tǒng),其中所述圖形結(jié)構(gòu)包括至少一用于定義所述圖形結(jié)構(gòu)中的至少兩結(jié)點之間的關(guān)系的關(guān)系邊緣。
3.根據(jù)權(quán)利要求1的系統(tǒng),其中所述圖形結(jié)構(gòu)包括至少一變換邊緣,其用于變換所述圖形結(jié)構(gòu)中的至少量結(jié)點之間的關(guān)系。
4.根據(jù)權(quán)利要求1的系統(tǒng),其中所述圖形結(jié)構(gòu)包括至少一用于定義所述圖形結(jié)構(gòu)中的至少兩結(jié)點之間的關(guān)系的邊緣。
5.根據(jù)權(quán)利要求1的系統(tǒng),其中在所述圖形結(jié)構(gòu)正由所述解釋器解釋的同時,所述圖形結(jié)構(gòu)能夠響應(yīng)于外部輸入而被改變。
6.根據(jù)權(quán)利要求1的系統(tǒng),其中所述圖形結(jié)構(gòu)包括用于所述應(yīng)用程序的數(shù)據(jù)。
7.根據(jù)權(quán)利要求6的系統(tǒng),其中所述數(shù)據(jù)包括永久和暫時數(shù)據(jù)。
8.根據(jù)權(quán)利要求6的系統(tǒng),其中所述數(shù)據(jù)包括選自下組的數(shù)據(jù)結(jié)構(gòu)關(guān)系表、層次表、n維數(shù)據(jù)陣列、電子表格、圖形模型、及3-D物理模型。
9.根據(jù)權(quán)利要求6的系統(tǒng),其中所述圖形結(jié)構(gòu)包括所述數(shù)據(jù)的確認。
10.根據(jù)權(quán)利要求1的系統(tǒng),其中所述圖形結(jié)構(gòu)包括所述應(yīng)用程序的處理邏輯和數(shù)據(jù)流。
11.根據(jù)權(quán)利要求1的系統(tǒng),還包括用于顯示所述圖形結(jié)構(gòu)的至少一部分的用戶界面;其中所述圖形結(jié)構(gòu)定義所述部分的顯示特征。
12.根據(jù)權(quán)利要求11的系統(tǒng),其中所述用戶界面還用于創(chuàng)建和編輯所述圖形結(jié)構(gòu)。
13.根據(jù)權(quán)利要求1的系統(tǒng),還包括用于保存所述圖形結(jié)構(gòu)和所述解釋器的永久介質(zhì)。
14.根據(jù)權(quán)利要求1的系統(tǒng),其中所述圖形結(jié)構(gòu)包括用于控制數(shù)據(jù)確認、變換和顯示的順序及時機的過程和控制單元。
15.根據(jù)權(quán)利要求1的系統(tǒng),其中所述解釋器通過改變保存在所述圖形結(jié)構(gòu)中的應(yīng)用程序狀態(tài)信息而對所述圖形結(jié)構(gòu)起作用,所述應(yīng)用程序狀態(tài)信息包括一個或多個暫時數(shù)據(jù)對象和永久數(shù)據(jù)對象。
16.根據(jù)權(quán)利要求1的系統(tǒng),其中所述解釋器同時對多個應(yīng)用程序狀態(tài)起作用。
17.根據(jù)權(quán)利要求1的系統(tǒng),其中所述解釋器通過在應(yīng)用程序狀態(tài)對象的組合之間歸并或拆分應(yīng)用程序狀態(tài)信息起作用。
18.根據(jù)權(quán)利要求1的系統(tǒng),還包括定義事務(wù)中進行的變化的審計信息;其中所述變化能夠部分地或全部回退。
19.對象過程圖系統(tǒng),包括用于定義應(yīng)用程序的圖形結(jié)構(gòu),所述圖形結(jié)構(gòu)為復合層圖形,所述圖形結(jié)構(gòu)包括多個結(jié)點和邊緣;用于解釋所述圖形結(jié)構(gòu)以處理所述應(yīng)用程序的解釋器;及用于提供用戶界面的顯示介質(zhì),所述用戶界面能夠接收所述圖形結(jié)構(gòu)的變化;其中所述圖形結(jié)構(gòu)能在其正由所述解釋器解釋的同時被改變。
20.根據(jù)權(quán)利要求19的系統(tǒng),其中每一結(jié)點具有或合成或原語的結(jié)點類型。
21.根據(jù)權(quán)利要求19的系統(tǒng),其中每一結(jié)點屬于有向圖和樹,所述有向圖定義與所述圖形結(jié)構(gòu)內(nèi)的其它結(jié)點的關(guān)系,所述樹定義合成層次。
22.根據(jù)權(quán)利要求19的系統(tǒng),其中所述結(jié)點為對象的例圖。
23.根據(jù)權(quán)利要求22的系統(tǒng),其中每一對象具有對象類型過程類型或數(shù)據(jù)類型,所述過程類型為操作、報表、或應(yīng)用,所述數(shù)據(jù)類型為原語數(shù)據(jù)、合成數(shù)據(jù)、陣列、圖、或參考。
24.根據(jù)權(quán)利要求19的系統(tǒng),其中每一結(jié)點具有或定義或例圖的模板數(shù)據(jù)庫類型。
25.根據(jù)權(quán)利要求23的系統(tǒng),其中為具有數(shù)據(jù)類型的對象類型的對象的例圖的每一結(jié)點具有持續(xù)時間特性,所述持續(xù)時間特性定義所述結(jié)點的壽命。
26.根據(jù)權(quán)利要求23的系統(tǒng),其中為具有過程類型的對象類型的對象的例圖的每一結(jié)點能夠控制結(jié)點流經(jīng)所述應(yīng)用程序,并經(jīng)所述顯示介質(zhì)創(chuàng)建、修改、和顯示結(jié)點。
27.根據(jù)權(quán)利要求23的系統(tǒng),其中作為對象類型為操作的對象的例圖的每一結(jié)點代表結(jié)點流經(jīng)所述應(yīng)用程序中的至少一步驟。
28.根據(jù)權(quán)利要求23的系統(tǒng),其中作為對象類型為應(yīng)用的對象的例圖的每一結(jié)點通過操作結(jié)點進行創(chuàng)建、修改或顯示。
29.根據(jù)權(quán)利要求19的系統(tǒng),其中所述圖形結(jié)構(gòu)包括至少一定義結(jié)點間關(guān)系的邊緣。
30.根據(jù)權(quán)利要求29的系統(tǒng),其中每一邊緣具有邊緣類型過程到過程、過程到數(shù)據(jù)、或數(shù)據(jù)到數(shù)據(jù)。
31.根據(jù)權(quán)利要求30的系統(tǒng),其中每一所述過程到過程邊緣類型具有子類型顯示、隊列、或批。
32.根據(jù)權(quán)利要求30的系統(tǒng),其中每一所述數(shù)據(jù)到數(shù)據(jù)邊緣類型具有子類型復制、計算、拆分、歸并、或聯(lián)結(jié)。
33.根據(jù)權(quán)利要求30的系統(tǒng),其中每一所述過程到數(shù)據(jù)邊緣類型具有子類型創(chuàng)建、取回、或執(zhí)行。
34.根據(jù)權(quán)利要求19的系統(tǒng),還包括至少一用于控制對所述應(yīng)用程序的功能和數(shù)據(jù)的訪問的用戶對象。
35.根據(jù)權(quán)利要求34的系統(tǒng),其中所述用戶對象包括多個對象,每一對象具有相關(guān)聯(lián)的訪問權(quán)。
36.根據(jù)權(quán)利要求35的系統(tǒng),其中所述訪問權(quán)包括回退、讀和寫。
37.根據(jù)權(quán)利要求35的系統(tǒng),其中所述對象之一屬于審計類型。
38.根據(jù)權(quán)利要求19的系統(tǒng),其中所述解釋器能夠動態(tài)地顯示所述應(yīng)用程序的可視方面。
39.根據(jù)權(quán)利要求19的系統(tǒng),其中所述解釋器解釋所述圖形結(jié)構(gòu)以通過執(zhí)行下述方法處理所述應(yīng)用程序訪問所述圖形結(jié)構(gòu)中的狀態(tài)結(jié)點、過程結(jié)點、和數(shù)據(jù)結(jié)點;在所述圖形結(jié)構(gòu)中從第一應(yīng)用程序狀態(tài)變?yōu)榈诙?yīng)用程序狀態(tài);在所述顯示介質(zhì)上顯示狀態(tài)信息;接收用戶輸入;及根據(jù)所述用戶輸入改變所述圖形結(jié)構(gòu)的方面。
40.根據(jù)權(quán)利要求39的系統(tǒng),其中從所述第一應(yīng)用程序狀態(tài)變?yōu)樗龅诙?yīng)用程序狀態(tài)通過下述執(zhí)行確定所述第一應(yīng)用程序狀態(tài)中的有效操作結(jié)點;找到從所述有效操作結(jié)點引出的任何第一邊緣并執(zhí)行與所述第一邊緣相關(guān)的第一變換;確定所述第一應(yīng)用程序狀態(tài)中對應(yīng)于數(shù)據(jù)例圖的數(shù)據(jù)定義結(jié)點;找到從所述數(shù)據(jù)定義結(jié)點引出的任何第二邊緣;及執(zhí)行與所述第二邊緣相關(guān)的第二變換。
41.對象過程圖系統(tǒng),包括用于定義應(yīng)用程序的圖形結(jié)構(gòu),所述圖形結(jié)構(gòu)為動態(tài)的、有向的和循環(huán)的,所述圖形結(jié)構(gòu)包括至少一數(shù)據(jù)結(jié)點;至少一過程結(jié)點;至少一應(yīng)用程序狀態(tài)結(jié)點;至少一用于定義所述圖形結(jié)構(gòu)中至少兩結(jié)點之間的關(guān)系的關(guān)系邊緣;及至少一用于定義所述圖形結(jié)構(gòu)中至少兩結(jié)點之間的變換關(guān)系的變換邊緣;及用于解釋所述圖形結(jié)構(gòu)以處理所述應(yīng)用程序的解釋器;其中所述圖形結(jié)構(gòu)能在其正由解釋器解釋的同時被改變。
42.根據(jù)權(quán)利要求41的系統(tǒng),其中在所述圖形結(jié)構(gòu)正由所述解釋器解釋的同時,所述圖形結(jié)構(gòu)能夠響應(yīng)于外部輸入而被改變。
43.根據(jù)權(quán)利要求41的系統(tǒng),其中所述圖形結(jié)構(gòu)包括用于所述應(yīng)用程序的數(shù)據(jù)。
44.根據(jù)權(quán)利要求43的系統(tǒng),其中所述數(shù)據(jù)包括永久和暫時數(shù)據(jù)。
45.根據(jù)權(quán)利要求43的系統(tǒng),其中所述數(shù)據(jù)包括選自下組的數(shù)據(jù)結(jié)構(gòu)關(guān)系表、層次表、n維數(shù)據(jù)陣列、電子表格、圖形模型、及3-D物理模型。
46.根據(jù)權(quán)利要求43的系統(tǒng),其中所述圖形結(jié)構(gòu)包括所述數(shù)據(jù)的確認。
47.根據(jù)權(quán)利要求41的系統(tǒng),其中所述圖形結(jié)構(gòu)包括所述應(yīng)用程序的處理邏輯和數(shù)據(jù)流。
48.根據(jù)權(quán)利要求41的系統(tǒng),還包括用于顯示所述圖形結(jié)構(gòu)的至少一部分的用戶界面;其中所述圖形結(jié)構(gòu)定義所述部分的顯示特征。
49.根據(jù)權(quán)利要求48的系統(tǒng),其中所述用戶界面還用于創(chuàng)建和編輯所述圖形結(jié)構(gòu)。
50.根據(jù)權(quán)利要求41的系統(tǒng),還包括用于保存所述圖形結(jié)構(gòu)和所述解釋器的永久介質(zhì)。
51.根據(jù)權(quán)利要求41的系統(tǒng),其中所述圖形結(jié)構(gòu)包括用于控制數(shù)據(jù)確認、變換和顯示的順序及時機的過程和控制單元。
52.根據(jù)權(quán)利要求41的系統(tǒng),其中所述解釋器通過改變保存在所述圖形結(jié)構(gòu)中的應(yīng)用程序狀態(tài)信息而對所述圖形結(jié)構(gòu)起作用,所述應(yīng)用程序狀態(tài)信息包括一個或多個暫時數(shù)據(jù)對象和永久數(shù)據(jù)對象。
53.根據(jù)權(quán)利要求41的系統(tǒng),其中所述解釋器同時對多個應(yīng)用程序狀態(tài)起作用。
54.根據(jù)權(quán)利要求41的系統(tǒng),其中所述解釋器通過在應(yīng)用程序狀態(tài)對象的組合之間歸并或拆分應(yīng)用程序狀態(tài)信息起作用。
55.根據(jù)權(quán)利要求41的系統(tǒng),還包括定義事務(wù)中進行的變化的審計信息;其中所述變化能夠部分地或全部回退。
全文摘要
本發(fā)明提供了包括用于定義應(yīng)用程序的對象過程圖和解釋對象過程圖的動態(tài)圖形解釋器的軟件系統(tǒng)。對象過程圖定義所有應(yīng)用程序操縱和處理步驟及所有應(yīng)用程序數(shù)據(jù)。對象過程是動態(tài)的,使其可在任何時候改變應(yīng)用程序的數(shù)據(jù)輸入、處理或信息顯示的任何方面。當對象過程圖被解釋時,其用于接受數(shù)據(jù)、處理數(shù)據(jù)和產(chǎn)生信息輸出。在對象過程正被解釋時對其進行的修改可立即生效并可保存。對象過程圖和動態(tài)圖形解釋器可被部署在單一用戶工作站計算機上或部署在分布式處理環(huán)境上,其中中央服務(wù)器保存對象過程圖和運行動態(tài)圖形解釋器,工作站計算機經(jīng)內(nèi)聯(lián)網(wǎng)或局部內(nèi)聯(lián)網(wǎng)訪問服務(wù)器。
文檔編號G06F9/44GK1993675SQ200580026525
公開日2007年7月4日 申請日期2005年5月27日 優(yōu)先權(quán)日2004年6月5日
發(fā)明者斯蒂芬·艾倫·戈爾德, 戴維·馬文·貝克, 弗拉迪米爾·古謝夫, 梁紅平 申請人:圖形公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1