專利名稱:數(shù)據(jù)處理系統(tǒng)和方法,以及計算機(jī)程序體系結(jié)構(gòu)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明是關(guān)于能易于構(gòu)成以圖象和語言處理為主的計算機(jī)應(yīng)用程序的數(shù)據(jù)處理系統(tǒng)。本發(fā)明還涉及到用于不受其他程序模塊控制的程序模塊的計算機(jī)程序體系結(jié)構(gòu)和方法。
通常的計算機(jī)程序體系結(jié)構(gòu)由一主程序和多個程序模塊組成。一般是主程序控制和協(xié)調(diào)程序模塊的操作。圖22為一具有這樣一種體系結(jié)構(gòu)的程序100的示意圖。圖22中,主程序102含有多個語句,例如104和106。一些語句可以是CALL(調(diào)用)語句,例如語句108和110。此二CALL語句在執(zhí)行時將調(diào)用程序模塊120和130。主程序102可能含有一使得主程序102在一循環(huán)中連續(xù)執(zhí)行的LOOP(循環(huán))語句。主程序102還包含為終止程序的STOP(停止)語句。應(yīng)理解的是,程序100可以不同的程序語言編寫,語句和程序結(jié)構(gòu)的確切語法將隨程序語言而變化。
程序100含有多個由主程序102調(diào)用的程序模塊,例如模塊120和130。模塊120含有多個語句,例如語句122和124。它還可能含有多個CALL(調(diào)用)語句,如語句126。這一語句在執(zhí)行時將調(diào)用模塊140。最后,模塊120含有一RETURN(返回)語句。
在CALL語句108執(zhí)行時,主程序102轉(zhuǎn)移到模塊120。執(zhí)行語句122、124和程序的其余部分。在執(zhí)行模塊120中的RETURN語句后,程序100返回到跟隨CALL語句108之后的語句的語句106。這時,程序100的控制返回到主程序102。主程序102繼續(xù)執(zhí)行。
所有模塊的結(jié)構(gòu)均與模塊120的相以。同樣地,上述的轉(zhuǎn)移-返回機(jī)制為程序100中的所有CALL語句執(zhí)行。所以在此說明中將不對它們再作描述。
為進(jìn)行這一轉(zhuǎn)移-返回機(jī)制,必須將CALL語句的返回地址貯存在RAM(一般在一稱之為堆棧的存貯器結(jié)構(gòu))中。在轉(zhuǎn)移到被調(diào)用模塊之前的計算機(jī)的其他主要狀態(tài)信息例如寄存器的值如果有必要也可加以貯存(例如轉(zhuǎn)移到一中斷服務(wù)程序)。這樣,在主程序102調(diào)用模塊120時,這些寄存器的內(nèi)容也可被推(即貯存)入此堆棧。類似地,在模塊120調(diào)用模塊140時,模塊120的返回地址也須加以貯存。適當(dāng)?shù)募拇嫫鞯膬?nèi)容可能需要被推進(jìn)堆棧。因而在當(dāng)執(zhí)行大量CALL語句時堆棧的大小可能很大。
當(dāng)執(zhí)行一RETURN語句時,返回地址被用來返回呼叫程序。被貯存的信也被檢索出。
一般,上述通常體系結(jié)構(gòu)的程序含有許多CALL語句和許多模塊。這些模塊可調(diào)用其他模塊(例如模塊120可調(diào)用模塊140),由此形成一CALL語句鏈。這一語句鏈的精確歷程關(guān)系必須被加以保存以便被最后調(diào)用的模塊能返回到主程序。通常體系結(jié)構(gòu)的程序之一是,運(yùn)行此語句鏈的時間可能很長。如上面指出的,每次調(diào)用一CALL語句就需貯存一定量的狀態(tài)信息,導(dǎo)致執(zhí)行的額外開銷。每次執(zhí)行一RETURN語句,就需要恢復(fù)被貯存的信息,再次要求執(zhí)行中的額外負(fù)荷。結(jié)果,采用通常體系結(jié)構(gòu)編寫的程序的執(zhí)行速度就很慢。
此通常體系結(jié)構(gòu)的一些特征如下(a)有一控制(“主管”)程序,例如主程序102;(b)在程序的一部分一調(diào)用程序例如主程序102或某些模塊的執(zhí)行轉(zhuǎn)移到另一部分(被調(diào)用程序)時需加以保存的連接信息(例如返回地址和寄存器);和(c)利用此連接信息返回控制和信息給調(diào)用程序。這一體系結(jié)構(gòu)可被稱之為“主管”體系結(jié)構(gòu)。調(diào)用模塊可被看作為主模塊而被調(diào)用模塊則可被看作為執(zhí)行主模塊所發(fā)出命令然后主模塊報告結(jié)果的從模塊。
近來已開發(fā)了其他一些編程體系結(jié)構(gòu)。不過它們也是基于此主管體系結(jié)構(gòu)。其一例為面向目標(biāo)的編程。這種方法使得代碼可被作利用和較快地開發(fā)應(yīng)用程序。但是應(yīng)用程序仍然具有會增加巨大的額外開銷的控制實體。
在運(yùn)行環(huán)境上也對程序體系結(jié)構(gòu)作出了進(jìn)展。一個例子是Microsoft’s MS Windows環(huán)境中所采用的進(jìn)程間通信協(xié)議調(diào)用的動態(tài)數(shù)據(jù)交換(DDE)。DDE利用一共享存貯器在進(jìn)程和協(xié)議間作數(shù)據(jù)交換來使數(shù)據(jù)傳輸同步。DDE協(xié)議的核心是DDE消息。一進(jìn)程(客戶機(jī))可要求另一進(jìn)程(服務(wù)器)進(jìn)行服務(wù)。具體說,客戶機(jī)發(fā)出WM_DDE_EXECUTE消息依靠在一全局存貯器塊中存貯一命令串和傳送給服務(wù)器一對此全局存貯器塊的句柄來向服務(wù)器指派一命令。接著,服務(wù)器返回一WM_DDE_ACK給客戶機(jī)。如果服務(wù)器成功地執(zhí)行此命令,WM_DDE_ACK消息將返回一TRUE值到標(biāo)明為“fAck”“的DDEACK結(jié)構(gòu)部件。如果此命令未被成功地執(zhí)行,服務(wù)器登記一帶設(shè)置到FALSE的“fAck”的WM_DDE_ACK消息。在客戶機(jī)由服務(wù)器接收到此WM_DDE_ACK消息時,它由全局存貯器消除此命令串并進(jìn)而相應(yīng)地采取適宜的操作。
很顯然,通過DDE的進(jìn)程間通信具有許多圖22中所示通常的體系結(jié)構(gòu)的特點。在圖22的體系結(jié)構(gòu)中在各處理間通信中存貯少量寄存器的內(nèi)容和返回地址,而DDE則采用確立命令和數(shù)據(jù)結(jié)構(gòu)。結(jié)果DDE甚至此圖22的體系結(jié)構(gòu)效率更低。
在操作環(huán)境中新的進(jìn)展的另一例子是MS Windows調(diào)用的CLE(目標(biāo)連接和嵌入)中采用的體系結(jié)構(gòu)。這種體系結(jié)構(gòu)使得一應(yīng)用程序(例如字處理程序)能被連接到一或多個應(yīng)用程序(例如展開表格程序)。在CLE的術(shù)語中,應(yīng)用程序可被分成為客戶相應(yīng)用程序和服務(wù)器應(yīng)用程序。MS Windows利用一“設(shè)置數(shù)據(jù)庫”來保存有關(guān)OLE程序和用于MS Windows應(yīng)用程序的文件擴(kuò)展。應(yīng)用程序間的所有通信均由OLE處理。具體說,OLE應(yīng)用程序通過應(yīng)用三個動態(tài)連接的程序庫進(jìn)行通信OLECLI.ELL,OLESRV.DLL,和SHELL.DLL。SHELL.DLL使應(yīng)用程序能與設(shè)置數(shù)據(jù)庫進(jìn)行通信。OLECLI.DLL為OLE客戶機(jī)程序庫和OLESRV.DLL為服務(wù)器程序庫。OLE服務(wù)器和客戶機(jī)程序庫相互通過DDE消息進(jìn)行通信。用于OLE功能的通信的典型路徑包括有調(diào)用功能,OLE程序庫間的DDE消息,和向客戶機(jī)和服務(wù)器應(yīng)用程序傳播信息。
在一例子中,當(dāng)OLESRV.DLL程序庫由OLECLI.DLL接收到通報一客戶機(jī)應(yīng)用程序需要一對象時,OLESRV.DLL程序庫調(diào)用適當(dāng)?shù)姆?wù)器方法。例如,當(dāng)一用戶啟動一OLE中的一對象,客戶機(jī)應(yīng)用程序時,OLESRV.DLL調(diào)用一Server Open()方法。此服務(wù)器應(yīng)用程序然后進(jìn)行Server Open()方法。如果Server Open()進(jìn)行成功,方法返回到OLE_OK。如果Server Open()未成功進(jìn)行,則返回到OLE_ERROR_OPEN。然后客戶機(jī)應(yīng)用程序可采取適當(dāng)?shù)膭幼鳌?br>
OLE中的設(shè)置數(shù)據(jù)庫含有應(yīng)用程序的連接和歷程關(guān)系。OLE的設(shè)置數(shù)據(jù)庫和客戶機(jī)-服務(wù)器結(jié)構(gòu)形成一主管體系結(jié)構(gòu)。而且,即使一簡單的應(yīng)用程序間的通信也要求許多Windons的組成部分(例如DDE、動態(tài)連接程序庫等)的介入。如所公知,MS Windows應(yīng)用程序要求眾多的存貯器和處理器帶寬。主管體系結(jié)構(gòu)連同復(fù)雜的MS Windows組成部分的結(jié)構(gòu)一齊可能成為運(yùn)行緩慢的一個因素。
因而,本發(fā)明的目的就提提供一數(shù)據(jù)系統(tǒng)和計算機(jī)程序體系結(jié)構(gòu)及方法,能實現(xiàn)執(zhí)行速度快和易于編制的應(yīng)用程序。
為達(dá)到上述目的,按照本發(fā)明的第一個方面的數(shù)據(jù)處理系統(tǒng)包括繪圖裝置,用于在一屏幕上形成的窗口上繪制向量圖形;顯示一設(shè)置屏幕的裝置,用于設(shè)置確定在當(dāng)向量圖形按繪圖裝置繪制向量圖而被指示時欲執(zhí)行操作的參數(shù);參數(shù)設(shè)置裝置,用于在設(shè)置屏幕上設(shè)置參數(shù);參數(shù)存貯裝置,用于存放由參數(shù)設(shè)置裝置所設(shè)定的參數(shù);指示裝置,用于指示由繪圖裝置所產(chǎn)生的向量圖;和執(zhí)行裝置,用于檢測由指示裝置作的向量圖的指示和按照參數(shù)執(zhí)行操作。
按照本發(fā)明第一個方面的數(shù)據(jù)處理系統(tǒng)可將一預(yù)定的操作分派給一向量圖并能由指明此向量圖來執(zhí)行這一操作。因此使得容易進(jìn)行處理,例如打開一窗口,關(guān)閉一窗口,顯示圖形和產(chǎn)生音樂聲,并能依次將窗口與另一個相關(guān)連以便在整體上實現(xiàn)一高級應(yīng)用程序。
按照本發(fā)明第二方面的數(shù)據(jù)處理系統(tǒng)包括繪圖裝置,用于在一屏幕上形成的窗口上繪制向量圖形;為顯示一設(shè)置屏幕的裝置,用于設(shè)置在當(dāng)按照繪圖裝置繪制向量圖指示向量圖時規(guī)定欲打開的窗口的內(nèi)容的參數(shù);參數(shù)設(shè)置裝置,用于在設(shè)置屏幕上設(shè)置參數(shù);參數(shù)存貯裝置,用于存放由參數(shù)設(shè)置裝置所設(shè)定的參數(shù);指示裝置,用于指示由繪圖裝置所產(chǎn)生的向量圖;和調(diào)用裝置,用于檢測由指示裝置作的向量圖的指示和按照參數(shù)打開另一窗口;例如,調(diào)用裝置在一新打開的窗口中顯示光柵圖形或向量圖形。
參數(shù)可確定窗口標(biāo)題,窗口位置,窗口大小,窗口結(jié)構(gòu),窗口上顯示的圖形,再現(xiàn)的語言,關(guān)閉窗口的條件,等等。參數(shù)可配備成例如一文本文件格式。
按照本發(fā)明的第三方面提供一數(shù)據(jù)處理系統(tǒng),用于同時多次執(zhí)行一程序以便使該程序整體上作為一個應(yīng)用程序運(yùn)行,此系統(tǒng)包括繪圖裝置,用于在一屏幕上形成的窗口上繪制向量圖形;為顯示設(shè)置屏幕的裝置,用于設(shè)置在按照由繪圖裝置繪制向量圖形而指示向量圖形時確定欲執(zhí)行的操作的參數(shù);參數(shù)設(shè)置裝置,用于在設(shè)置屏幕上設(shè)置參數(shù);存貯裝置,用于存放程序和由參數(shù)設(shè)置裝置設(shè)定的參數(shù);指示裝置,用于指示由繪圖裝置產(chǎn)生的向量圖形;和執(zhí)行裝置,用于檢測指示裝置所作的向量圖形指示和按照參數(shù)執(zhí)行操作。
按照本發(fā)明第四個方面提供的數(shù)據(jù)處理系統(tǒng),允許同時存在多個由運(yùn)行中程序組成的單元而使得這些單位整體上作為一個應(yīng)用程序操作,此系統(tǒng)包括存貯裝置,用于存放程序和多個保持有為調(diào)用程序的參數(shù)的參數(shù)文件;
用于分派調(diào)用各個單元的參數(shù)到一圖形的裝置;指示圖形的指示裝置;和執(zhí)行裝置,響應(yīng)由指示裝置選擇的圖形,可連接成樹型的單元,指明一存放在存貯裝置中的參數(shù)文件并按照此參數(shù)文件中所保持的參數(shù)同時執(zhí)行程序。
按照本發(fā)明第二、第三和第四方面的數(shù)據(jù)處理系統(tǒng)可安排一預(yù)定的參數(shù)給一向量圖形和能按照這一參數(shù)執(zhí)行一操作。因此在一用戶僅設(shè)定向量圖形和參數(shù)時,就能使窗口順序相互關(guān)連,從而在整體上完成一高級應(yīng)用程序。而進(jìn)一步,各個別窗口的互相管理也免除了為進(jìn)行窗口總體管理的專用管理程序的需要。
按照本發(fā)明第五方面的數(shù)據(jù)處理系統(tǒng)包括繪圖裝置,用于在屏幕上繪制圖形;關(guān)連裝置,用于將一操作與圖形相關(guān)連;移動裝置,用于移動由繪圖裝置所繪制的圖形;位置檢測裝置,用于檢測窗口上圖形的位置;和執(zhí)行裝置,按照在圖形被移動到一預(yù)定位置時由位置檢測裝置作的檢測執(zhí)行與該圖形相關(guān)連的操作。
例如,在當(dāng)圖形完整出現(xiàn)時,當(dāng)圖形完全消失時,當(dāng)圖形部分出現(xiàn)時,或當(dāng)圖形部分消失時,按照位置檢測裝置所作的檢測,執(zhí)行裝置執(zhí)行處理打開一窗口,關(guān)閉一窗口,控制顯示的圖形,或產(chǎn)生聲音。
按照本發(fā)明第五個方面的數(shù)據(jù)處理系統(tǒng)安排一操作到一圖形并在此圖形的位置到達(dá)預(yù)定位置時執(zhí)行該操作。因此能容易地備置一按照屏幕的滾動等改變的應(yīng)用程序。
按照本發(fā)明第六方面的計算機(jī)程序系統(tǒng)結(jié)構(gòu),包括至少一第一和第二含有程序指令的程序單元;第二程序單元含有用于發(fā)出第一組的一或多個命令的程序指令;第一程序單元含有用于自動執(zhí)行第一組命令而不返回執(zhí)行結(jié)果給第二單元的程序指令,以及用于發(fā)出第二組的一或多個命令的程序指令;和第二程序單元含有用于自動執(zhí)行第二組命令而不返回執(zhí)行結(jié)果給第一單元的程序指令。
第一程序單元還可能包括有為調(diào)用一第三程序單元的程序指令,和此第三程序單元可執(zhí)行其自己的程序指氣而不返回執(zhí)行結(jié)果給第一程序單元。
第一程序單元可在當(dāng)?shù)谌绦騿卧\(yùn)行中終止。
第三程序單元可發(fā)出一命令終止第一程序單元。
第一和第二組的一或多個命令可能不包含有關(guān)它的起源的信息。
采用這種結(jié)構(gòu),各程序單元無需將命令的執(zhí)行結(jié)果返回給另外的程序單元,從而加速了各個單元程序指令的執(zhí)行。
按照本發(fā)明第七個方面提供一用于在一計算機(jī)中運(yùn)行的應(yīng)用程序的計算機(jī)體系結(jié)構(gòu),包括至少一第一和第二程序單元,各自含有程序指令并與一能由其他單元接收語句的獨立文件相關(guān)連;第二程序單元含有為發(fā)送第一組的一或多個語句給與第一程序單元相關(guān)連的第一文件的程序指令;第一程序單元含有為自動執(zhí)行第一組的一或多個語句而不返回執(zhí)行結(jié)果給第二程序單元的程序指令,和還含有為將第二組的一或多個語句發(fā)送給與第二程序單元相關(guān)連的第二文件的程序指令;和第二程序單元含有為自動執(zhí)行第二組的一或多個語句而不返回執(zhí)行結(jié)果給第一程序單元的程序指令。
第一文件可包括為接收由其他程序單元發(fā)送的語句的第一節(jié),和指示第一文件的狀態(tài)的第二節(jié);和第二程序單元可在發(fā)送第一組的一或多個語句之前校驗第二節(jié)。
第二節(jié)可含有與第一文件中語句之一相關(guān)的第一指針;和第二程序單元可包括在將所述第一組的一或多個語句加到第一文件時更新第一指針的程序指令。
第二節(jié)可含有一指向第一文件中當(dāng)前正由第一程序單元執(zhí)行的第二指針。
第二節(jié)可能指示表明第一文件已準(zhǔn)備好接收新的語句的第一狀態(tài)和表明第一文件不能接收新的語句的第二狀態(tài)。
第一文件可具有一組參數(shù);和所述第一程序單元可含有在第一程序單元被調(diào)用時利用參數(shù)的程序指令。
采用上述結(jié)構(gòu),第一文件指示一現(xiàn)有語句的最近位置和相應(yīng)的程序單元是否能接收一語句。當(dāng)程序單元能接收語句時欲被發(fā)送的語句被寫到緊接著現(xiàn)有語句的位置。這能防止現(xiàn)有語句在發(fā)送另一語句時被改寫,并能降低通信時間。因為每次均無需將執(zhí)行一命令的結(jié)果返回到其他程序單元,執(zhí)行一程序的速度就成為較快。
按照本發(fā)明的第八方面提供一應(yīng)用程序中至少二程序單元交互作用方法,每一個單元均含有程序指令并與一獨立文件相關(guān)連,此方法包括第一發(fā)送步驟,使得第二程序單元發(fā)送第一組的一或多個語句到與第一程序單元相關(guān)連的第一文件;和第一執(zhí)行步驟,使第一程序單元自動執(zhí)行第一組的一或多個語句而不將執(zhí)行結(jié)果返回到第二程序單元。
這一方法還可能包括第二發(fā)送步驟,使得一第三程序單元在第一發(fā)送步驟之后發(fā)送第二組的一或多個語句到與第一程序單元相關(guān)連的第一文件;和第二執(zhí)行步驟,使第一程序單元在第一執(zhí)行步驟完成后自動執(zhí)行第二組的一或多個語句。
第二發(fā)送步驟可在執(zhí)行第一組的一或多個語句的第一執(zhí)行步驟完成之前被啟動。
第一發(fā)送步驟可確定第一文件并在當(dāng)?shù)谝晃募槟芙邮盏谝唤M的一或多個語句的狀態(tài)中時發(fā)送第一組的一或多個語句。
采用這種結(jié)構(gòu),各個程序單元可順次執(zhí)行一相關(guān)文件中的語句而無需每次返回執(zhí)行結(jié)果到另外的程序單元,從而改善程序執(zhí)行速度。
按照本發(fā)明的第九個方面,提供程序單元相互關(guān)連以進(jìn)行一應(yīng)用程序的功能的方法,每一程序單元均含有程序指令和與一獨立文件相關(guān)連,此方法包括第一發(fā)送步驟,使第二程序單元發(fā)送第一組的一或多個語句給與第一程序單元相關(guān)連的第一文件;第二發(fā)送步驟,使一第三程序單元發(fā)送第二組的一或多個語句給與第一程序單元相關(guān)連的第一文件,此第二組的一或多個語句在邏輯上被置于第一組的一或多個語句之后;和執(zhí)行步驟,使第一程序單元按照其邏輯位置執(zhí)行第一文件中的語句由此在第二組的一或多個語句之前執(zhí)行第一組的一或多個語句,和使第一程序單元開始執(zhí)行第二組的一或多個語句而不與第二程序單元進(jìn)行通信。
利用這一結(jié)構(gòu),一程序單元中的各個執(zhí)行步驟能順序執(zhí)行所接收的語句而無需返回執(zhí)行結(jié)果到另外的程序單元,從而增加程序的執(zhí)行速度。
對附圖的簡要說明
圖1為表明按照本發(fā)明第一實施例的數(shù)據(jù)處理系統(tǒng)的數(shù)據(jù)處理的流程的圖形;圖2為表明按照本發(fā)明第一實施例的數(shù)據(jù)處理系統(tǒng)的物理結(jié)構(gòu)的方框圖;圖3為表面按照本發(fā)明第一實施例的數(shù)據(jù)處理系統(tǒng)的邏輯結(jié)構(gòu)的方框圖;圖4為表明一窗口示例的圖形;圖5A-5D為表明設(shè)置參數(shù)的過程的圖形;圖6為說明操作設(shè)置處理的流程圖;圖7為表示操作設(shè)置屏幕的結(jié)構(gòu)的圖形;圖8為說明在指示一向量圖形的操作的流程圖;圖9為說明一自動通用處理的流程圖;圖10A-10G為說明由操作控制操作的流程的示意圖;圖11A和11B表示先有技術(shù)的體系結(jié)構(gòu)與按照本發(fā)明第二實施例的體系結(jié)構(gòu)之間的比較;圖12為表明按照本發(fā)明第二實施例的單元的交互作用的圖形;
圖13為按照本發(fā)明第二實施例的DNA文件的結(jié)構(gòu)的方框圖;圖14為按照本發(fā)明第二實施例一單元的結(jié)構(gòu)的方框圖;圖15為按照本發(fā)明第二實施例運(yùn)行一應(yīng)用程序的計算機(jī)系統(tǒng)的方框圖;圖16表示按照本發(fā)明第二實施例在執(zhí)行多媒體開發(fā)系統(tǒng)期間與目視單元相關(guān)的各種窗口;圖17表示按照本發(fā)明第二實施例用于用戶輸入信息到一DNA文件的窗口;圖18表示按照本發(fā)明第二實施例在執(zhí)行一多媒體開發(fā)系統(tǒng)期間與按鈕型單元和目視單元相關(guān)的各種窗口;圖19為表明按照本發(fā)明第二實施例用戶指定一按鈕所用格式的窗口;圖20為表明按照本發(fā)明第二實施例用戶指定一與一按鈕型單元相關(guān)的目視單元所用格式的窗口;圖21為表明按照本發(fā)明第二實施例的一單元通告過程的流程圖;和圖22為表示先有技術(shù)程序體系結(jié)構(gòu)的圖形。
現(xiàn)在說明按照本發(fā)明第一實施例的一數(shù)據(jù)處理系統(tǒng)(一程序開發(fā)工具和由此工具開發(fā)的應(yīng)用程序)。
圖1舉例說明由按照本發(fā)明第一實施例的數(shù)據(jù)處理系統(tǒng)執(zhí)行的數(shù)據(jù)處理的流程。
在此例中,一包含有建筑的地圖被顯示在一給定窗口中(即單元1)。當(dāng)用戶將鼠標(biāo)置于建筑(符號1或4))位置上擊鍵時,進(jìn)一步打開由單元2和5所示的窗口,表明建筑的被放大的透視圖。當(dāng)用戶以鼠標(biāo)在單元2的放大透視圖上擊鍵選擇“斷面視圖(符號2)”或“平面視圖(符號3)”時,如單元3和4所示打開新的窗口,表明建筑的斷面和平面視圖。
當(dāng)用戶以鼠標(biāo)擊鍵選擇單元5的放大透視圖(符號5)時,作為一外部程序的字處理器被執(zhí)行來使得有關(guān)該建筑的文件數(shù)據(jù)能加以編輯。當(dāng)用戶在由此字處理器備置的文件上擊鍵選擇一符號6時,單元6即被調(diào)用來打開一表明該建筑設(shè)計者的照片的新的窗口。
通常,這樣的程序被設(shè)計成為一包含單元1至6和字處理器的單個程序。這一單個程序具有一金字塔式的結(jié)構(gòu),由一單個的進(jìn)行管理的程序(管理程序)管理。編寫這樣的程序要求了解所需程序語言的專家的勞動。而且這樣的程序太大不能降低運(yùn)行速度。
為克服這一缺點,在此實施例中將欲加調(diào)用的程序(EXE文件)設(shè)計成僅執(zhí)行基本的操作。此“基本操作”是指打開和關(guān)閉一窗口,圖象上卷,調(diào)用另一應(yīng)用程序,選擇顯示屏,產(chǎn)生聲音,等等。將指定要執(zhí)行一程序的參數(shù)與各個符號相關(guān)連,而使得擊鍵選取各符號即按照相應(yīng)的參數(shù)運(yùn)行該程序。因此能容易地進(jìn)行處理,例如打開一窗口和在此窗口上顯示所希望的圖形。當(dāng)窗口依次與符號和參數(shù)相關(guān)連時,就可能進(jìn)行圖1的數(shù)據(jù)處理。在數(shù)據(jù)處理中運(yùn)行的單個程序被稱做“單元”。因此,在圖1的例子中最大六個執(zhí)行程序同時被執(zhí)行而同時存在有最大六個單元。這六個單元構(gòu)成一單個的應(yīng)用程序。
各單元由一獨立的EXE文件構(gòu)成,它一旦被調(diào)用即成為獨立于其他的EXE文件。例如,單元2不被來自單元1的調(diào)用命令調(diào)用。在關(guān)閉單元2時,無需返回到單元1的處理。因此在要打開單元2時就無需貯存返回到單元1的地址、相關(guān)的寄存器的內(nèi)容等。單元2可按照自身的處理被關(guān)閉,不管單元的操作怎樣。單元1可在單元2維持打開的期間被關(guān)閉。
單元間互相通信以交換命令和數(shù)據(jù),每一個均能關(guān)閉其他單元和/或其自己,并能請求某些處理。
沒有關(guān)于有關(guān)通常管理這些單元的OS(操作系統(tǒng))的程序。換句話說,沒有關(guān)于進(jìn)行對如何打開許多窗口和各個別窗口的狀態(tài)、顯示內(nèi)容等的一般管理的程序。
采用這種結(jié)構(gòu),僅靠將符號與參數(shù)相關(guān)連就可逐個地打開其他的窗口(單元)來據(jù)此生成圖象,而使得普通不了解程序語言的人們能組建應(yīng)用程序。因為要被執(zhí)行的程序的大小很小,沒有進(jìn)行一般管理的程序和沒有額外開銷,所以能實現(xiàn)快速處理。
現(xiàn)在說明執(zhí)行上述數(shù)據(jù)處理的數(shù)據(jù)處理系統(tǒng)的結(jié)構(gòu)。
圖2表明按照本實施例的數(shù)據(jù)處理系統(tǒng)的結(jié)構(gòu)。如所示,此數(shù)據(jù)處理系統(tǒng)包括存貯器11,MPU(微處理器單元)12,鼠標(biāo)器13,鍵盤14,I/O端口15,VRAM(顯示數(shù)據(jù)RAM)16,CRT17,外存貯器裝置18和總線19。
存貯器11存貯前述的執(zhí)行程序(EXE文件),參數(shù)文件,OS,數(shù)據(jù)等。MPU12按照存放在存貯器11中的程序操作以處理數(shù)據(jù)。I/O端口15通知MPU12由鼠標(biāo)器13和鍵盤14來的輸入。VRAM16存放定義顯示圖形的位圖數(shù)據(jù)。CRT17顯示VRAM16中存放的位圖數(shù)據(jù)。外存貯器裝置18包括硬盤裝置、CD-ROM裝置等等,這里存放OS,圖形數(shù)據(jù)文件(圖形數(shù)據(jù)文件庫),音頻數(shù)據(jù)文件(音頻數(shù)據(jù)文件庫)等,和將欲被執(zhí)行的程序和數(shù)據(jù)傳送至存貯器11??偩€19轉(zhuǎn)輸數(shù)據(jù)。
圖3中表示此數(shù)據(jù)處理系統(tǒng)的邏輯結(jié)構(gòu),其中硬件31位于最底層而OS32被置于硬件31上。可用作為OS32的可以是任一具有DLL(動態(tài)連接程序庫)33,DDE(動態(tài)數(shù)據(jù)交換)34和OLE(對象連接嵌入)35的操作系統(tǒng),例如Microsoft Cor.的產(chǎn)品MS-Windows,或者具有或優(yōu)于MS-Windows性能的OS。
DLL33包含上卷功能,對策功能,光柵顯示(位形數(shù)據(jù)顯示)功能,向量顯示(向量圖形數(shù)據(jù)顯示)功能,層管理功能,和繪圖(生成向量圖象)功能。
在DLL33上獨立地執(zhí)行多個單元36。各個別的單元36由執(zhí)行同樣的執(zhí)行程序構(gòu)成。單元36邏輯上位于相同層,各單元管理(例如調(diào)用、關(guān)閉等)其自己或其它單元36。在OS上沒有進(jìn)行普通單元控制的程序,例如,控制單元數(shù),單元之間的相互關(guān)系,單元的內(nèi)容等。各單元36執(zhí)行以下功能(i)通過接口訪問光柵圖形文件(位圖型式圖形文件)37和在窗口上顯示光柵圖形的功能(打開光柵)。這時可由設(shè)置參數(shù)隨意設(shè)定初始顯示定標(biāo);
(ii)通過接口訪問向量圖形文件38和顯示向量圖形的功能(打開向量)。這時可由下面將討論的設(shè)置參數(shù)來隨意設(shè)定初始顯示定標(biāo);(iii)通過OS32的OLE35調(diào)用外部程序(例如字處理器或CAD)的功能(執(zhí)行程序)。如果此外部程序是一種由讀取被一參數(shù)指定的文件所調(diào)用的類型的,同一程序可以各種形式加以利用。因此有可能采用每一個在應(yīng)用中的OS上操作的軟件資源;(iv)用于利用上卷橫條作上卷和用于在被指定圖象數(shù)據(jù)具有大到能適應(yīng)于一窗口的大小時的隨意上卷(按照鼠標(biāo)的距離窗口中心的方向和距離控制上卷速度和上卷方向)的功能。這時,每一被改寫的圖象數(shù)據(jù)與背景作同步上卷。自動上卷可由DLL功能完成;(v)設(shè)定和改變顯示層(以后將討論)的功能。n層的光柵圖象(位象)BMP和向量圖象TIF可作隨意相互重疊的顯示。例如,一地圖的圖象可被作為光柵圖象進(jìn)行顯示而建筑的向量圖象可在任意層上形成從而使二圖象表現(xiàn)為相互重疊,從而就能顯示出圖1中單元1所示的圖象。而在窗口頂部所示的層條44(以后說明)可被擊鍵來顯示層萊單,它使得能任意設(shè)定或改變n層的向量圖象或者使得能轉(zhuǎn)換顯示;(vi)能再現(xiàn)并發(fā)聲一指定的語言文件(WAV、MID等);和(vii)關(guān)閉單元的功能。一單元可關(guān)閉其自己或其他單元。
還具有對顯示在窗口上的光柵數(shù)據(jù)或向量數(shù)據(jù)繪制和編輯圖象的功能。當(dāng)所有這些圖象均以向量形式繪制時,實現(xiàn)復(fù)制、移動、修改和刪除圖象的功能。
圖4舉例說明一單元36的窗口41的屏幕圖象。
窗口41包含有,在其頂部,一窗口標(biāo)題條42指示窗口標(biāo)題,一工具條43用于顯示編輯工具,層條44用于設(shè)置和改變顯示層,變化條45用于對所顯示的圖象向上和向下作圖形變比,控制條46,關(guān)閉條47和上卷條48。
參看圖3,參數(shù)文件39為一文本形式的文件,其中存放用于調(diào)用執(zhí)行程序的信息。
各個單元36通過接口(IF)參照引用相關(guān)的參數(shù)文件39來實現(xiàn)指定的模式和功能。多個單元36在連接到一起時作為統(tǒng)一的單個應(yīng)用程序操作。
參數(shù)文件39包含下列信息(1)窗口標(biāo)題;(2)要被顯示的窗口的初始顯示位置;(3)要被顯示的窗口的初始大小;(4)要被顯示窗口的結(jié)構(gòu);(i)幀掃描的存在/不存在;(ii)是否顯示標(biāo)題;(iii)是否顯示工具條;和(iv)顯示優(yōu)先級。
(5)單元型式(i)光柵顯示型;(ii)向量顯示型;(iii)程序執(zhí)行型;(iv)上卷執(zhí)行型;(v)層顯示型;(vi)音頻重放型;和(vii)單元終止型。
通過一參數(shù)文件39可為圖41中所繪的每一圖象元件登記一操作,如已經(jīng)參照圖1說明的。
在圖1的舉例中,為單元1中的建筑的符號1和4打開新的窗口以登記顯示放大透視圖的操作,此后為在相關(guān)窗口中顯示此放大透視圖的運(yùn)行即依靠用鼠標(biāo)器13指定符號1和4。由于操作可為每一向量圖進(jìn)行登記,故有可能實現(xiàn)處理的變異。
能加以登記的操作基本上是執(zhí)行程序能執(zhí)行的操作,亦即一操作單元36可執(zhí)行的??赡艿怯浀牟僮魅缦?1)打開光柵操作(Open Raster);(2)打開向量操作(Open Vector);這二操作通常包含一打開新的窗口的操作。
(3)程序執(zhí)行(Execute Program);(4)自動上卷操作(Do Scroll);這一操作自動由參數(shù)指定的一圖象到參數(shù)指定的圖象地或沿著一連續(xù)的直線上卷所顯示的圖象。
(5)層顯示操作(Select Layer);這一操作顯示所指定的層。
(6)聲音產(chǎn)生操作(Play Sound);這一操作使用指定的語言文件啟動聲音。
(7)單元關(guān)閉操作(Cell Close)這一操作關(guān)閉指定的單元(窗口)。一單元可能關(guān)閉它自己或任意數(shù)量的其他單元。也可能關(guān)閉全部單元。
登記一操作在每次在一窗口上繪制一向量圖時進(jìn)行。一操作的登記可不考慮,在此情況,圖象就成為簡單的圖形。
也可在一單元的窗口上為多個圖象登記操作。還可以為一單個圖象登記多個操作。例如,有可能為一單個圖象打開一個單元來顯示光柵圖象并在啟動聲音時自動地上卷另一窗口中的圖象。另外,已經(jīng)被登記的參數(shù)文件的文件名可被再次用來在其他某種場合重復(fù)動作本身。
各個別的單元與OS采用的DDE功能相一致。這一功能使下列各種信息能實時地在單元之中和一外部應(yīng)用程序與各單元之間進(jìn)行交換(1)輸入方面i)在將座標(biāo)值輸入到一單元時。顯示位置被轉(zhuǎn)換到此座標(biāo)位置(此位置可依靠某種操作由外部應(yīng)用程序檢索)。
ii)在輸入一圖象類型、圖象屬性和顯示位置時,被指定圖象即自動地被繪制在指定位置;iii)可在外部改變窗口大小、窗口顯示位置和窗口結(jié)構(gòu);iv)可在外部轉(zhuǎn)換顯示層;v)可在外部改變顯示定標(biāo);vi)可在外部調(diào)用自動上卷;和vii)可由外部輸入各種控制信息以實現(xiàn)精細(xì)的單元控制。
(2)輸出方面i)當(dāng)要求時,根據(jù)DDE的規(guī)范將當(dāng)前顯示座標(biāo)向外部輸出;ii)輸出由鼠標(biāo)指示(指向的)圖象的圖象類型、圖象屬性、層號等;iii)輸出窗口的詳細(xì)屬性;iv)向外輸出當(dāng)前顯示層號;v)向外輸出當(dāng)前顯示定標(biāo);和vi)向外輸出各單元的其他細(xì)節(jié)狀態(tài)。
各個別單元也與OS所支持的常規(guī)OLE和—OLE2功能兩者相符合。這些功能使外部應(yīng)用程序和個別的單元能執(zhí)行連接對象的處理。即就是,成為有可能調(diào)用一單元或由另一應(yīng)用程序內(nèi)粘接一字處理器屏幕或一個表到一單元中來產(chǎn)生動態(tài)圖象,等等。
現(xiàn)在參照圖5-10就圖1所示的順次調(diào)用單元的情況來說明這樣構(gòu)成的數(shù)據(jù)處理系統(tǒng)的運(yùn)行。
首先,假定單元1的窗口上顯示一含有光刪圖象的地圖,如圖5A中所示。
在這種情況下,建筑1的向量圖(符號1)利用鼠標(biāo)器13被繪制在光柵圖象的任意層上,如圖5B中所示。另一方面也可以由程序庫選擇指示建筑1的符號并可將其置于一所希望的位置。
DLL檢測在窗口上的向量圖的繪制(包括由程序庫選擇一符號)并通知單元1這一情況。為將一操作指派給向量圖象,單元啟動一圖6中所示的操作設(shè)置處理。首先,顯示圖7中所示的操作設(shè)置屏幕(步驟S1)。隨后按照此操作設(shè)置屏幕的內(nèi)容而來的是說明參數(shù)文件名,欲打開的新窗口的標(biāo)題,打開此窗口的定時,一操作,存貯欲顯示圖象的圖象文件名,是否要關(guān)閉當(dāng)前打開的窗口,存放欲呈現(xiàn)的聲音的音樂文件名,等等(步驟S2)。
當(dāng)參數(shù)文件名為CELL2和建筑1的外部透視圖的光刪圖象被存放在(磁盤)驅(qū)動C上的目錄RASTER中一文件GAIKAN1.BMP中時,例如說,“C\RASTER\GAIKANI.BMP”就被指定為圖象文件名和“打開一新的窗口”被指定為此操作。如果建筑1的外部透視圖被存貯在一預(yù)定文件的向量圖格式中,就應(yīng)指定該文件名。
在完成此定位時,這一窗口被關(guān)閉。DLL將在步驟S2中設(shè)定的符號1和參數(shù)文件相互聯(lián)系地存放在存貯器11中(步驟S3)。
這一階段的窗口顯示成為圖5B中所示。當(dāng)在這一狀態(tài)中符號1被作鼠標(biāo)器二次擊鍵時,DLL檢測到這種情況而開始圖8中表明的流程。首先,確定是否存在有與此被作雙擊鍵符號1相關(guān)的參數(shù)文件(步驟T1)。在這種情況下存在有參數(shù)文件CELL2,所以讀出這一文件(步驟T2)。然后確定指定向量圖的操作(雙擊鍵)是否與參數(shù)文件中的“WHEN?”字段中設(shè)定的操作一致(步驟T3)。因為在這一情況中兩者相互一致,所以按照參數(shù)文件CELL2的內(nèi)容調(diào)用一程序(步驟T4)。結(jié)果在與此參數(shù)文件的內(nèi)容相符的位置打開一新的窗口。顯示存放在GAIKAN1.BMP中的建筑1的放大透視圖(光柵圖象),而“CELL2”表示在該窗口的標(biāo)題條上。在這一狀態(tài)中共同存在二個文件,文件1和文件2。
文件2不由文件1通過調(diào)用一返回處理來調(diào)用。換言之,文件1和文件2各自由獨立的EXE文件構(gòu)成,和獨立地被調(diào)用及執(zhí)行。因此在單元2被打開時就無需貯存返回到單元1的地址和寄存器的值。這種安排能降低為貯存和恢復(fù)操作所需的時間,從而使整個處理加速。
接著,用戶在單元2的顯示圖象上移動光標(biāo)和由鍵盤14輸入字符“CROSS SECTION”,并在此字符上繪制一透明的方向量圖(符號2)。在此狀態(tài)中,向量圖被寫在光柵圖象上面。DLL通知單元2這一繪圖操作和啟動圖6中的流程,顯示操作設(shè)置屏幕(步驟S1)。按照顯示的內(nèi)容,用戶設(shè)定參數(shù)文件名,存貯建筑1的斷面視圖的文件名,等等(步驟S2)。然后相互聯(lián)系地存貯符號2的圖象文件和參數(shù)文件(步驟S3)。
同樣,用戶由鍵盤14在單元2的顯示圖象上輸入字符“PLAN VIEW”。在圖6中步驟S1檢測這一繪圖操作和顯示操作設(shè)置屏幕(步驟S1)。當(dāng)適當(dāng)?shù)膮?shù)被設(shè)定時(步驟S2),符號3和參數(shù)文件相互聯(lián)系地被加以存貯(步驟S3)。
在上述的設(shè)置之后,在符號3或字符串“CROSS SECTION”被雙擊鍵時,單元3打開以表示建筑1的斷面。當(dāng)符號4或字符串“PLAN VIEW”被雙擊鍵時,單元5打開以表示建筑1的平面視圖。
同樣,在單元1的屏幕上繪制建筑2的向量圖(符號4)。然后,指定相關(guān)的操作,即打開一窗口,和將保持建筑2的透視圖的文件名稱指定為圖象文件名。其它的設(shè)置也類似地進(jìn)行。
在完成此設(shè)置和關(guān)閉參數(shù)設(shè)置屏幕之后,雙擊鍵符號4打開一新窗口,表示建筑2的放大透視圖。
在被顯示的建筑2的放大透視圖上繪制一透明的向量圖作為符號5。然后將一作為外部程序調(diào)用一字處理器的命令設(shè)定為與符號5相關(guān)的操作。
在此設(shè)置完成之后對符號5作雙擊鍵時,通過OLE功能調(diào)用字處理器程序。而后用戶可利用此字處理器準(zhǔn)備所希望的字符信息。進(jìn)而,用戶在所準(zhǔn)備的文件上繪置向量圖,指明打開新窗口為這一向量圖的操作,指定含有建筑2的設(shè)計者的照片的文件為文件信息。然后雙擊鍵符號6顯示該設(shè)計者的照片。
可能以上述方式設(shè)定圖1中所示多個單元之間的相關(guān)性。
由上很顯見,這一實施例能方便地構(gòu)成一數(shù)據(jù)處理系統(tǒng),它借助將窗口上的任意的向量圖與按照與雙擊鍵向量圖相關(guān)的參數(shù)文件調(diào)用一執(zhí)行程序相聯(lián)系而使得能同時存在多個單元,并使得這樣單元作為一個整體能起一單個應(yīng)用程序的功能作用。而且,各個單元均由執(zhí)行基本操作,例如打開或關(guān)閉窗口的執(zhí)行程序組成,而在OS32上沒有系統(tǒng)地管理各個別單元的主管(管理程序)。因此可將執(zhí)行程序?qū)懗上鄬π〉拇笮?,而保證較快的運(yùn)行速度。換句話說,一普通程序具有一金字塔式的結(jié)構(gòu)和一系統(tǒng)地管理多個運(yùn)行中程序的主管位于此金字塔結(jié)構(gòu)的頂部。但在這一實施例中,各個別單元互相管理而沒有相當(dāng)于此主管的管理程序。
由于這一數(shù)據(jù)處理系統(tǒng)可通過OS的OLE利用外部程序,例如字處理器、數(shù)據(jù)庫、擴(kuò)展表和CAD,以及數(shù)據(jù),它具有較高的普遍性。例如,例如存放在市售的CD-ROM中的光柵數(shù)據(jù)可被用作為一地圖,層顯示功能可被用來將一交通信號燈的向量圖置于層1的各個交叉點,將地下管道的向量圖置于層2上和將地鐵路線圖的向量圖置于層3上,而這些層可互相轉(zhuǎn)換或者可在地圖上相互重疊。
利用指派給各向量圖的打開光柵功能,能夠容易地準(zhǔn)備這樣的應(yīng)用程序,如按雙擊鍵交通信號燈的圖象來顯示此交通燈的照片,按雙擊鍵地下管道的圖象來顯示地下管道的名稱,它們的交叉點和內(nèi)部管線,或按雙擊鍵地鐵路線地圖來顯示列車的類型和時刻表,而無需專門的編程技巧或知識。
雖然在上述實施例中執(zhí)行一操作的定時是被指定作為作雙擊鍵的時間,但也可將其改變?yōu)檫M(jìn)行指定一向量圖的另外的操作的定時,例如單個擊鍵。
就被繪制在一窗口上的向量圖而言,為作屏幕上卷等,所指派的操作的執(zhí)行可在“當(dāng)整個的向量圖出現(xiàn)在窗口中時”、“當(dāng)一部分出現(xiàn)在窗口上時”、“當(dāng)整個向量圖消失時(移出窗口)”, “當(dāng)部分消失時”等等。在這一情況中,這些條件將被設(shè)定在圖7中所示的操作設(shè)置屏幕上的“WHEN?”字段中。
參看圖9,現(xiàn)在說明在按以上的設(shè)置顯示的圖形為一移位器的操作。
在圖象作上卷時,例如,每次VRAM16的內(nèi)容被改寫,各個單元即執(zhí)行圖9中所表明的流程。首先,各單元由DLL接收每一向量圖的位置信息(步驟U1)。
初始化窗口中的各向量圖的數(shù)量n(步驟U2)。
然后確定是否有與各向量圖相關(guān)的參數(shù)文件(步驟U3)。
當(dāng)存在有這樣的參數(shù)文件時,確定設(shè)置在此相關(guān)參數(shù)文件中“WHEN?”字段中的內(nèi)容是否與檢測得的內(nèi)容相一致(步驟U4)。
當(dāng)相一致時,即執(zhí)行設(shè)置在參數(shù)文件中“ACTION”字段中的操作(U5)。
然后確定對所有向量圖的處理是否完成(步驟U6)。如果此處理未完成,更新向量圖象的數(shù)n(步驟U7),此后流程返回到步驟U3執(zhí)行對下一向量圖的同樣操作。
假定圖1中單元2的參數(shù)文件中“WHEN?”字段內(nèi)設(shè)置“當(dāng)一部分消失時”和“ACTION”字段內(nèi)設(shè)置“打開一新窗口”。
在這一情況中,當(dāng)單元1的顯示圖象被移動和符號1疊置窗口邊框時,該符號的一部分消失而致單元2被調(diào)用來打開一新的窗口。
調(diào)用定時在此實施例中并不限于上面討論的型式,而是也可以被設(shè)定為一延遲時間,例如由雙擊鍵起的“10秒鐘之后”或者“在整個圖象消失后一分鐘”。在這種情況中,如果圖8的流程圖中步驟1的確定或圖9的流程圖中步驟U3的確定為“YES”,就進(jìn)行判定參數(shù)文件的“WHEN?”字段有未設(shè)定一延遲時間。如未設(shè)定延遲時間,流程進(jìn)到步驟T3或U5。如設(shè)定了延遲時間,即測量開始時間并在經(jīng)過了指定的延遲時間之后流程進(jìn)到步驟T3或U5。
也可能自動地沿著窗口中表明的任意的線條(向量圖象)上卷顯示的圖象和在整個圖象隱慝不見時打開一新窗口。依靠將此線條設(shè)計成一透明線條,可自動執(zhí)行一程序而不使觀察者看到此線條。例如,很容易自動執(zhí)行這樣一程序,例如在一窗口上顯示一第一圖象而后將其上卷,當(dāng)完成此上卷操作時關(guān)閉這一窗口,并打開下一窗口,使一第二圖象上卷,而在此上卷完成時再次打開此下一窗口顯示第一圖象。
這一實施例的前述說明是針對作為一操作的打開新窗口的情況。在此情況下單元之間的關(guān)系在圖10A和10B中說明。圖10A表明在一新單元被調(diào)用來在其窗口上顯示一光柵圖象時的文件結(jié)構(gòu)和操作流程,而圖10B表明在一新單元被調(diào)用來在其窗口上顯示一向量圖象時的文件結(jié)構(gòu)和操作流程。
參數(shù)文件中能指定其他操作和以同樣方式執(zhí)行。
圖10C表明在一窗口上調(diào)用另一應(yīng)用程序的情況。較具體說,參數(shù)文件由單元1的向量圖指定,而根據(jù)參數(shù)文件的內(nèi)容調(diào)用另一程序,如字處理器,數(shù)據(jù)庫或擴(kuò)展表。
圖10D表明一窗口上顯示的圖象在該窗口上卷的情況。較具體說,參數(shù)文件由單元1的向量圖形(向量)指定,而根據(jù)這一參數(shù)文件的內(nèi)容使所顯示的圖象(光柵和/或向量)上卷。
圖10E表明在一窗口上由多個能在該窗口上顯示的層中選擇一實際上欲加顯示的層和在此窗口上顯示所選擇層的情況。較具體說,參數(shù)文件由單元1的向量圖象(向量)指定,和根據(jù)此參數(shù)文件的內(nèi)容選擇和顯示欲在單元1的窗口上顯示的層。
圖10F表明作為一窗口上某些處理的結(jié)果而進(jìn)行的一發(fā)出聲音的處理的情況。較具體說,參數(shù)文件由單元1的向量圖象指定,而根據(jù)此參數(shù)文件的內(nèi)容讀取預(yù)定的音樂文件來產(chǎn)生聲音。
圖10G表明一窗口關(guān)閉其自身的情況。較具體說,參數(shù)文件由單元1的向量圖形指定,而這一單元按照此參數(shù)文件的內(nèi)容將自己關(guān)閉。
可以設(shè)定另外的操作,例如“關(guān)閉其他的窗口”或“打開一新的窗口并關(guān)閉自己”。
在上述實施例中,缺省值被直接用于一窗口的位置和大小。但可以進(jìn)行某些設(shè)計修改來使用戶能改變?yōu)榕c上面討論的不同的其他參數(shù),例如一窗口的初始顯示位置、初始大小和結(jié)構(gòu),以及單元類型。在這一情況中,當(dāng)用戶例如敲擊圖4中所示窗口上的控制條46時,顯示為設(shè)置和改變參數(shù)的屏幕。按照這一屏幕上顯示的內(nèi)容,設(shè)定或改變參數(shù)并將所設(shè)定的或改變的參數(shù)存貯在參數(shù)文件的文本格式中。
在圖1所示的例子中符號4位于單元1中,如果符號4要被轉(zhuǎn)移到單元3中,此符號將被利用OS的DLL的向量繪圖功能移動進(jìn)單元3。在此情況中,符號4與由指定符號4所執(zhí)行的操作之間的關(guān)系將不會改變,除非符號4被指派給的文件的名稱被改變。因此單元3上的雙擊鍵符號4將打開單元5的窗口。
雖然在此實施例中各單元的符號與參數(shù)文件相關(guān)連,但可以增加一功能來指派一參數(shù)文件給獨立于一單元的向量圖象(此后稱之為“按鈕”)和響應(yīng)對一按鈕的二次擊鍵按照與該按鈕相關(guān)聯(lián)的參數(shù)文件來調(diào)用一執(zhí)行程序。
下面將討論備置按鈕、設(shè)置參數(shù)和執(zhí)行一執(zhí)行程序的處理。
為備置一按鈕,用戶利用OS的繪圖功能確定按鈕的構(gòu)成。按鈕可以是一個偶像或字符串。為登記要以擊鍵這一按鈕執(zhí)行的操作,設(shè)定操作設(shè)置模式以顯示操作設(shè)置屏幕。
可指派給按鈕的操作包括1)打開光刪操作,2)打開向量操作,3)程序執(zhí)行,4)自動上卷操作,5)層顯示操作,6)聲音生成操作和7)單元關(guān)閉操作。用戶選擇和登記一或多個操作。涉及到象調(diào)用一單元這樣的操作,要指定顯示為執(zhí)行此操作所需的位圖和向量圖象、參數(shù)文件名、圖象文件名、音樂文件名,等。
而且也可被一按鈕設(shè)計作為可通過相關(guān)的參數(shù)文件由一單元中的向量圖象調(diào)用的。
這一結(jié)構(gòu)使得能由操作一按鈕調(diào)用新單元或運(yùn)用一單元中的符號讀取相關(guān)按鈕來隨意備置一應(yīng)用程序。
而且,這一按鈕可利用OS的編輯功能復(fù)制到或移動到一樹形圖中另外的位置。在這種情況中,屬于這一按鈕的單元和此單元被同時復(fù)制和移動。
按照本發(fā)明,如以上已說過的,一參數(shù)文件被指派到一符號或按鈕,以使得由此參數(shù)定義的操作為指定此符號或按鈕來執(zhí)行。因此而能將一向量圖象與一易于備置應(yīng)用程序的操作相關(guān)聯(lián)。因為一執(zhí)行程序僅執(zhí)行一基本功能,如打開或關(guān)閉一窗口,所以需要有相對小的大小以便能保持快速執(zhí)行速度。
雖然在此實施例中以一鼠標(biāo)器作為指向一向量圖象的輸入裝置作為舉例,但也可以采用另外的輸入裝置,如一跟蹤球或操縱桿。顯示設(shè)備不限于CRT,而是也可以采用任何其他結(jié)構(gòu),象LCD。本發(fā)明并不限于上述實施例,而可以加以修改改適應(yīng)于各種其他形式。
現(xiàn)在說明適宜于實現(xiàn)本發(fā)明第一實施例的程序體系結(jié)構(gòu)。
簡言之,本發(fā)明能讓用戶容易地生成高級應(yīng)用程序,并能改善程序執(zhí)行速度。
本發(fā)明的體系結(jié)構(gòu)被稱之為“無主控”體系結(jié)構(gòu),因為每一個程序模塊均是與其他程序模塊同等的。沒有任何模塊控制程序的整個運(yùn)行(即沒有主控)。圖11表示無主管體系結(jié)構(gòu)與主管體系結(jié)構(gòu)的比較。圖11A為一基于主管體系結(jié)構(gòu)的應(yīng)用程序150的示意圖。此體系結(jié)構(gòu)為一層次結(jié)構(gòu)形式,主管模塊152控制多個模塊,例如模塊154-157。由主管塊連到各個別模塊的實線用作圖示命令鏈和連接。在執(zhí)行一最低層的程序模塊(即一轉(zhuǎn)移的末端的模塊157)時,必須維持由主管塊至該程序模塊的實線(即連接)151、153和158。
圖11B為一基于本發(fā)明的無主管體系結(jié)構(gòu)的應(yīng)用程序160的示意圖。應(yīng)用程序160包括多個程序模塊,如模塊162-165。各程序模塊(在本發(fā)明中被叫做“單元”)與層次意義上的其他單元相同。單元以新穎的方法連接到一齊,其中無需保持歷史或連接信息。每一連接均是獨立的。例如,無需連接同時有效。每一連接均是直接的,即二個單元可直接連接而無須利用一或多個中間連接。例如,單元162和164可直接利用線166連接而不用線167和168通過一中間單元。由定義所涉及的單元和利用本發(fā)明的新穎的連接可構(gòu)成一應(yīng)用程序。這與圖11A中的情況不同,那里由主管塊到最低層模塊的連接在模塊執(zhí)行期間必須總是有效的。在圖11B中,虛線被用來圖示本發(fā)明的新穎的交互作用。
圖12為表示采用本發(fā)明無主管的體系結(jié)構(gòu)的一應(yīng)用程序200的結(jié)構(gòu)。應(yīng)用程序200含有多個單元,標(biāo)明為C1-C4,被RAM中裝載和執(zhí)行。每一單元具有一稱之為DNA文件的相關(guān)文件(標(biāo)名為D1-D4),含有單元的信息。這里采用術(shù)語“DNA”是類似于生物細(xì)胞及其DNA之間的生物關(guān)系。在希望時,單元C1可利用一被稱之為數(shù)據(jù)移位功能(“DSF”)協(xié)議的協(xié)議發(fā)送語句(稱之為“DSF語句”)到單元C2。單元C2將執(zhí)行這些語句。下面將說明單元、DNA文件和DSF協(xié)議的詳細(xì)結(jié)構(gòu)。
本發(fā)明與通常的工序間通信的一個重要區(qū)別在于單元C2不保留有關(guān)這些語句的起源的信息,即不保持工序間通信的歷史。這樣,一旦單元C1完成其向單元C2寫DSF語句的過程,單元C1和C2之間就不再相連接。單元C2在這些語句執(zhí)行期間不了解它們的起源。單元C1稍后由發(fā)送另一組語句給C2能再次建立與單元C2的通信。但是這一通信與前面的通信是分開的,一旦終止即發(fā)送新的一組DSF語句。
每一單元均可發(fā)送DSF語句給它所希望的任一單元。這樣,單元C1也能發(fā)送語句到單元C3。同樣,單元C2能發(fā)送語句到單元C4,后者接著就能發(fā)送語句至單元C1。單元C3也可發(fā)送語句到C1。
在此例中,單元C1和C2并非對C4的主管。例如在C4執(zhí)行DSF語句時就無需維持單元C1與C2及單元C2與C4之間的任何連接。單元C4無向應(yīng)用程序200中任何單元報告執(zhí)行結(jié)果的責(zé)任。連接僅在傳送DSF語句期間保持。而且由單元C1向C2寫語句可與由單元C2向C4寫語句相互獨立地進(jìn)行。此外,單元C4僅執(zhí)行語句,而不管語句的來源。圖12中,虛線用來圖形表示單元之間的新穎關(guān)系。
如上面指出的,通常體系結(jié)構(gòu)的問題之一在于,維持過量的連接信息而降低程序的執(zhí)行速度。在本發(fā)明的體系結(jié)構(gòu)中,當(dāng)單元C2執(zhí)行由單元C1里的語句時無需在堆棧中貯存和恢復(fù)寄存器值。在發(fā)送命令前無需在一中央數(shù)據(jù)庫中登記單元。無需前后發(fā)送消息來報告執(zhí)行狀態(tài)。結(jié)果就能快速執(zhí)行應(yīng)用程序。
因為連接程序中實際上無額外開銷,所以有可能采用大量的小單元來設(shè)計一應(yīng)用程序。在一優(yōu)選實施例中,單元的大小很小,例如一般約10k字節(jié)。各單元的功能被明確定義和集中。因而提供了應(yīng)用程序設(shè)計上的靈活性和執(zhí)行效率的改善。
如果一單元未在RAM中裝載和運(yùn)行,另一單元也可調(diào)用該單元(例如單元C1可調(diào)用C5,如雙虛線所指示的)。此被調(diào)用單元(即單元C5)在調(diào)用后可完全獨立于調(diào)用單元(即單元C1)。這樣,此調(diào)用單元就不是被調(diào)用單元的主管,而此二單元在層次結(jié)構(gòu)上處于同一層。這是與先有技術(shù)完全不同的,在后者調(diào)用程序模塊與被調(diào)用程序模塊處于一層次結(jié)構(gòu)的不同層。
如下面解釋的,一單元可被作為一“EXE”文件來實現(xiàn)(在MS DOS或MS Windows環(huán)境中),并能按照此操作環(huán)境利用公知方法被裝載進(jìn)執(zhí)行用的RAM中。單元的相關(guān)DNA文件也能被裝載進(jìn)RAM。調(diào)用單元采取存放在其DNA單元中的屬性。在單元為調(diào)用后或在由寫文件的運(yùn)行期(其可以是—ASCII文件)也有可能修改DNA文件。結(jié)果,此體系結(jié)構(gòu)提供一靈活的構(gòu)成應(yīng)用程序的途徑。
由圖12可看到,無主管體系結(jié)構(gòu)具有平面結(jié)構(gòu)而不是圖22和11A的分層次的體系結(jié)構(gòu)。單元C1-C4的每一個均是一與其他可執(zhí)行例行程序處于同一層次結(jié)構(gòu)層的獨立的可執(zhí)行的例行程序。沒有任何單元起作為對其他單元的主管的功能作用。因而這種體系結(jié)構(gòu)被稱之為無主管體系結(jié)構(gòu)。
這一體系結(jié)構(gòu)使一應(yīng)用程序可在任一單元啟動。其他單元可在需要時被調(diào)用。這種體系結(jié)構(gòu)還使一應(yīng)用程序能在任一單元結(jié)束。因為無需解鏈,單元能立即終止。在退出應(yīng)用程序前無需返回“主管”程序。在本發(fā)明一實施例中,一單元可在調(diào)用一新單元之后一預(yù)定時間退出此應(yīng)用程序。在本發(fā)明的另一實施例中,其他單元可發(fā)送一DSF語句到這一單元要求其終止。
圖13為表明與一單元(例如單元CA)相關(guān)的DNA文件250的邏輯結(jié)構(gòu)的方框圖。文件250具有一包含與單元CA本身的特征相關(guān)的參數(shù)(“自己的參數(shù)”)的節(jié)252。例如,節(jié)252可含有有關(guān)在被調(diào)用時CA顯現(xiàn)自己的方式的參數(shù)單元CA的窗口大小和背景色彩,單元CA的名稱,與其調(diào)用和終止相關(guān)的音頻文件的名稱,等。
文件250還含有一包含有關(guān)涉及到單元CA的單元的連接參數(shù)(“連接參數(shù)”)的節(jié)254。此節(jié)中包含的參數(shù)舉例有其他單元的名稱、符號和位置。參數(shù)之一為“Close”,它被解釋為在與這一參數(shù)相關(guān)的單元被調(diào)用時關(guān)閉單元CA。
文件250還含有一DSF信息節(jié)256。此節(jié)包含一常規(guī)語句節(jié)257和最高優(yōu)先級功能節(jié)264。常規(guī)節(jié)257和最后優(yōu)先級功能節(jié)264的結(jié)構(gòu)基本相同,只是最高優(yōu)先級功能節(jié)264在語句執(zhí)行中具有較高優(yōu)先級。此二節(jié)均含有用于識別這些節(jié)的個別的首標(biāo)(例如,各節(jié)均以一不同名稱或符號起頭)。
常規(guī)節(jié)257包含一“條件”節(jié)258和一語句節(jié)260。語句節(jié)260包括由其他單元發(fā)送給單元CA的DSF語句。語句節(jié)260中的語句被順序地執(zhí)行。語句例如為“Draw Circle”、“Draw Line”、和“Scrolling”。各語句還含有為執(zhí)行語句所需的參數(shù)(如圓的位置和直徑)。條件節(jié)258包括三個組成部分(a)對當(dāng)前存在于語句節(jié)260中的最后的DSF語句的第一指針;(b)對正由單元CA處理中的當(dāng)前DSF語句的第二指針;(c)單元的當(dāng)前狀態(tài)。狀態(tài)的舉例為就緒,忙碌,鎖定,和決不。
最高優(yōu)先級功能節(jié)264含有條件節(jié)266和命令行節(jié)268。條件節(jié)266的結(jié)構(gòu)類似于條件節(jié)258的結(jié)構(gòu)(例如此二個均含有二指針)。命令行節(jié)268含有由其他單元利用DSF(或類似)協(xié)議發(fā)送的可執(zhí)行命令行。命令行具有高于語句節(jié)260中語句的執(zhí)行優(yōu)先級(執(zhí)行優(yōu)先級的細(xì)節(jié)將在下面結(jié)果圖14討論)。命令行節(jié)268中的命令順序執(zhí)行。節(jié)268中的命令例如關(guān)閉,min(為使一窗口最小),max(為使一窗口最大),恢復(fù)等。
應(yīng)理解的是,圖13中所示邏輯結(jié)構(gòu)可利用一或多個物理文件實現(xiàn)。邏輯節(jié)的各部分實際上可以相互混雜。在本發(fā)明一實施例中,DNA文件是一文本文件。這樣,DNA文件的內(nèi)容就能利用一常規(guī)文本編輯程序進(jìn)行修改。
由一單元發(fā)送到另一單元的語句遵從DSF協(xié)議。發(fā)送單元(如單元CS)建立一與單元CA相關(guān)的DNA文件250的通信連接。具體說,它檢查DNA文件250的地址和由檢驗其在條件節(jié)258中的狀態(tài)確定DNA文件250是否能接收DSF語句(例如在“就緒”狀態(tài))。語句只有在單元CA已準(zhǔn)備好接收它們時才將由CS發(fā)出。在一實施例中,發(fā)放語句涉及到向DNA文件250的語句節(jié)260寫ASCII字符(例如用于“Draw Circle(畫圓)”的ASCII字符)。
當(dāng)單元CS受權(quán)發(fā)送語句到單元CA時,單元CS讀取對最后一DSF語句的第一指針(條件節(jié)258中的)以確定寫此DSF語句的合適的地址。重要的是不能疊置在已存于單元CA中的DSF語句上。單元CS寫DSF語句到DNA文件250的語句節(jié)260。單元CS還更新條件節(jié)258中的第一指針以便指向新寫入語句節(jié)260的最后一DSF語句。單元CA與CA間的通信連接終止。可以看到,單元CA和DNA文件250不保持指明這些新語句源自于單元CS的記錄(即歷史)。
應(yīng)予理解的是,上述的DSF協(xié)議僅是一典型性的協(xié)議。其他協(xié)議也可被用來寫DSF語句到單元。例如可以采用不同的指針結(jié)構(gòu),如第一指針可指向最后的DSF語句后面的位置。可以采用不同的狀態(tài)類型和為檢測狀態(tài)信息的不同方法。而且語句可按照邏輯結(jié)構(gòu)而不是物理上按順序方式存放。例如說語句可組成組以指針來指向各組的地址。
命令行利用基本上與DSF協(xié)議相同的協(xié)議被由一單元發(fā)送給另一單元。因為常規(guī)語句節(jié)257與最高優(yōu)先級功能節(jié)264具有不同的首標(biāo),所以發(fā)送單元能區(qū)別這二個節(jié)而寫入恰當(dāng)?shù)墓?jié)。也可以利用其他識別此二節(jié)的措施(例如維持獨立的語句和命令行的連接表)。
因為DSF語句/命令是順序執(zhí)行的(或者物理上或者邏輯上),單元CA必須完成在上述的由單元CS寫的語句/命令之前的語句/命令(如果有的話)的執(zhí)行。這組先前寫的語句/命令多半是由其他單元寫的(雖然也有可能是由單元CS在一前面的通信連接中所寫的)。
在這組先前寫的語句/命令被執(zhí)行之后和執(zhí)行由單元CS寫的語句/命令之前,單元CA無需對寫第一組語句/命令的單元采取任何行動(例如無需“返回”)。本發(fā)明的這一方面是與通常的編程體系結(jié)構(gòu)不同的。
應(yīng)指出,單元CA與CS間的通信連接可在單元CS發(fā)送的第一語句/命令的執(zhí)行之前終結(jié)(例如,在單元CS結(jié)束發(fā)送DSF語句到單元CA時先前寫的DSF語句/命令還未被完全執(zhí)行)。這與通常的連接不同,在后者只有在有關(guān)此二模塊的任務(wù)完全執(zhí)行之后二程序模塊間的通信連接才會完成。
在最高優(yōu)先級功能節(jié)264的不同實施方案中,命令行節(jié)268僅允許一命令。在此實施例中,無需具有指針。這樣,條件級266就能由最高優(yōu)先級功能節(jié)264中去掉。其他單元可寫一單個命令到最高優(yōu)先級功能節(jié)264,因為此節(jié)與其他節(jié)是由首標(biāo)分隔開的。
圖1 4表示單元CA的結(jié)構(gòu)。它在邏輯上被分組成為多個節(jié),各自利用計算機(jī)可執(zhí)行的指令來實現(xiàn)。單元CA含有一初始化節(jié)312和一DNA接口節(jié)314。DNA接口節(jié)314使單元CA能由/向其對應(yīng)的DNA文件250讀/寫。初始化節(jié)312處理被調(diào)用時的內(nèi)務(wù)任務(wù),包括由DNA文件250的“自己的參數(shù)”節(jié)252讀取參數(shù)。單元CA還含有一DSF接口節(jié)316(用于處理DSF協(xié)議)。此節(jié)含有利用DSF協(xié)議發(fā)送和接收語句/命令行的代碼(即程序指令)。
單元CA含有一執(zhí)行節(jié)318,包含為自動執(zhí)行由其他單元寫的DNA文件250中的語句和命令行的代碼。此代碼順序讀取并執(zhí)行DNA文件250的語句節(jié)260中的語句。在各語句被執(zhí)行后,單元CA轉(zhuǎn)移到最高優(yōu)先級功能節(jié)259和執(zhí)行其中的所有命令行。然后單元CA執(zhí)行語句節(jié)260中的下一語句。
利用舉例來說明執(zhí)行步驟。在此例中,語句節(jié)260含有二個語句,“Draw Circle”和“Draw Line”,而最高優(yōu)先級功能節(jié)259含有一命令行,“Max”。當(dāng)單元CA讀取一“Drew Circle”語句及其相關(guān)參數(shù)時,此代碼將執(zhí)行一圖形算法來以一指定的直徑在一適當(dāng)位置(如由相應(yīng)的參數(shù)所確定的)繪制一圓圈。然后單元CA轉(zhuǎn)移到最高優(yōu)先級功能節(jié)259并執(zhí)行“Max”命令,這使與單元CA相關(guān)的窗口放大。單元CA返回到語句節(jié)260和執(zhí)行下一語句,即“Draw Line”語句。單元CA執(zhí)行一圖形算法,按照與此“Drew Line”語句相關(guān)的參數(shù)繪制一直線。
在上述示例中,如果最高優(yōu)先級功能節(jié)259中的命令行含有一“Close”命令,單元CA級關(guān)閉自己。在這一情況中,“Draw Line”語句將不被執(zhí)行。
在本發(fā)明的另一實施例中,單元CA以預(yù)定的時間讀取語句節(jié)260而不管DNA文件250中是否存在有語句(即類似于一種輪詢排列)。在本發(fā)明的另一實施例中,一單元在發(fā)送語句到DNA文件250之后直接或間接(例如通過操作系統(tǒng))地發(fā)送一信號給單元CA。接收到此信號,單元CA執(zhí)行語句節(jié)260中的語句直至所有語句均被執(zhí)行。然后單元CA等待另一信號。這一實施方案類似于一中斷排列。這樣語句就在二實施例中自動執(zhí)行。
單元CA含有用于存放暫時信息的暫存存貯節(jié)322。作為一個例子,在其執(zhí)行期間有可能改變單元CA的屬性(例如背景色彩和顯示窗口的大小)。在本發(fā)明一實施例中,被改變的屬性被暫時存放在暫存存貯器節(jié)322中而不是立即被寫到DNA文件250。在單元CA的這一實施方案中,被存放在暫存存貯器節(jié)322中的屬性信息只有在單元CA終止時才被寫進(jìn)DNA文件250的“自己的參數(shù)‘節(jié)252。
單元CA還含有一為調(diào)用其他單元的單元調(diào)用節(jié)324。在本發(fā)明一實施例中,此節(jié)取得關(guān)于希望被調(diào)用單元的信息并將這一消息傳送到實際調(diào)用所希望單元的一被指定的單元。還可能將單元CA的單元調(diào)用節(jié)中這一被指定的單元的功能性與其他單元相結(jié)合。
應(yīng)理解的是,上述單元CA中的節(jié)被加以邏輯分組,而這些節(jié)的部分在物理上是相混雜的。
由上述單元CA及其相關(guān)的DNA文件250的結(jié)構(gòu)可看到,單元CA和DNA文件250兩者均不跟蹤DSF語句的起源。一單元可從許多單元接收DSF語句(存貯在其相關(guān)的DNA文件中)。在DSF語句被接收之后,起始和目標(biāo)單元間的連接終止。此單元執(zhí)行其相關(guān)DNA文件中包含的DSF語句而無需了解此語句是如何到達(dá)DNA文件的。結(jié)果無需“返回”到任何單元。
通常,各單元的大小很小而單元的功能被明確定義。結(jié)果能提高執(zhí)行速度。作為很小的大小和專用功能的結(jié)果,單元可被寫來充分地利用計算機(jī)的資源。以對一應(yīng)用程序運(yùn)行的操作系統(tǒng)的訪問量最小地處理利用DSF的單元之間的通信。結(jié)果效率提高。
本發(fā)明的體系結(jié)構(gòu)包括至少二個能相互通信的單元。這些單元是專用于它們的目標(biāo)任務(wù)的封裝程序模塊。因此,采用本發(fā)明體系結(jié)構(gòu)開發(fā)的應(yīng)用程序包括多個能獨立或并行運(yùn)行的可執(zhí)行程序。單元間交互作用采用此發(fā)明的DSF協(xié)議。各單元能控制其他單元的操作。例如,第一單元可控制第二單元,和第二單元能控制第一單元。因此,沒有一單個單元具有對所有其他單元的完全控制,或者換句話說,沒有主管。另一方面,在普通的體系結(jié)構(gòu)下,從屬于一主管的程序模塊不能控制此主管。本發(fā)明體系結(jié)構(gòu)的另一獨特的特點在于,接收一命令的單元不保留任何該命令來源的信息。這種不具有歷史的情況使得單元能向前移動而不在一連接中返回。
本發(fā)明的技術(shù)被稱之為”數(shù)字細(xì)胞單元技術(shù)“,因為程序模塊的結(jié)構(gòu)和它們間的交互作用類似于生物細(xì)胞。某些類似性列舉如下(i)一應(yīng)用程序由許多相互間動態(tài)交互作用的單元構(gòu)成;(ii)許多單元可在同時有效;(iii)一對單元的交互作用可獨立于另一對單元的交互作用;(iv)分布控制而不是集中控制;和(v)各單元與一導(dǎo)引單元的行為的DNA結(jié)構(gòu)相關(guān)連。
本發(fā)明的實施例之一是一在Microsoft’s MS Windows下運(yùn)行的多媒體應(yīng)用程序開發(fā)系統(tǒng)。在這一環(huán)境中,單元為作為“.EXE”文件存貯的程序且一般在被調(diào)用時在計算機(jī)監(jiān)視器上顯示一窗口。由連接這些單元,用戶就能象裝積木那樣構(gòu)成軟件應(yīng)用程序。每一帶有其專用功能的單元通過與其他單元的DSF協(xié)議被賦于另一功能以便產(chǎn)生各種不同的應(yīng)用程序。
圖15表示一運(yùn)行上述應(yīng)用程序開發(fā)系統(tǒng)的計算機(jī)系統(tǒng)380的方框圖。計算機(jī)系統(tǒng)380包括一個人計算機(jī)382,如一IBM兼容計算機(jī)。個人計算機(jī)包含有組成部分如,CPU、RAM、ROM、硬盤和多媒體裝置(如聲卡、CD-ROM閱讀器、視頻卡等)。個人計算機(jī)被裝載有-MS-DOS384和MS Windows 386。本發(fā)明的單元391-393在MS Windows 386的頂層運(yùn)行。這些單元的一些可在一顯示裝置上作圖形顯示和按個人計算機(jī)382的聲卡運(yùn)轉(zhuǎn)。
下面給出在MS Windows環(huán)境下運(yùn)行的單元連同它們的功能說明的典型例表名稱 說明BUTTON 以指派給它們的操作屬性生成按鈕VIDEO使能視頻文件(AV1)重放CONTENTS 顯示文本文件(TXT)(帶有將操作屬性加到文本的能力的文本編輯程序)VISUAL 使能以動態(tài)360°自由上卷、多層支持、光刪和向量重疊、和以指派的操作屬性的目標(biāo)重疊的BMP、DXP、TITE、WRI、和TXT文件的顯示NAKAMA 使能多于一個的VISUAL單元利用座標(biāo)進(jìn)行連接。
使能二VISUAL單元中的圖象利用一互聯(lián)窗口加以互鎖(烏瞰圖)RUN DNA文件編輯程序和DNA文件執(zhí)行程序。使能連續(xù)再現(xiàn)應(yīng)用程序。這一單元被用來作為上述的為調(diào)用其他單元的專用單元。
COPY 進(jìn)行文件復(fù)制
TITLE執(zhí)行Tit1e Bar(標(biāo)題條)功能RESTART 給用戶提供退出或再啟動操作系統(tǒng)的選擇PLAYWAV 使能聲音文件(WAV)重放AREA 操縱VISUAL單元中所寫的圖象屬性LIST 使能目標(biāo)/層分組和提供對所定義的分組作即使訪問這些單元被作為“.EXE”文件存貯在存貯器(例如軟盤和/或硬盤)中。為多于一個的單元同時動作有效地安排系統(tǒng)資源,大部分單元的大小均為約10k字節(jié)。VISUAL單元為例外約100k字節(jié)。
現(xiàn)利用簡化的例子來說明此系統(tǒng)。在此例中僅應(yīng)用一種類型的單元,上述的視頻單元。此例中系統(tǒng)利用MS Windows的資源。例如單元調(diào)用(如用對一圖形作(鼠標(biāo)器)擊健來裝載一恰當(dāng)?shù)奈募?和圖形用戶接口(如象改變大小、曳出和投入等的窗口控制)均由MS Windows處理。
多媒體應(yīng)用程序開發(fā)系統(tǒng)必須被裝入MS Windows。此裝入涉及到將位圖、單元、聲音、視頻等的文件由可移動的存貯媒介(如軟盤CD ROM等)裝載到計算機(jī)硬盤的適當(dāng)目錄。程序連接到MS Windows和將圖形至于適當(dāng)位置。這樣,用戶就可以對在MS Windows環(huán)境下的圖形以擊(鼠標(biāo))鍵來調(diào)用此開發(fā)系統(tǒng)。一旦此開發(fā)系統(tǒng)運(yùn)行,就能以對與單元相關(guān)的圖形擊鍵來調(diào)用各種不同的單元。
圖16表示一代表在MS Windows386的控制下顯示屏幕402上顯示的一第一視頻單元的窗口400。窗口400一般含有一圖形圖象(未示出)和一標(biāo)題條404。用戶可對窗口400中的圖形406擊健,而顯示一側(cè)邊條408。側(cè)邊條408含有用于顯示用戶能將功能性加到與窗口400相關(guān)連的第一視頻單元的圖形的空間。
側(cè)邊條408的一個空間含有一為使用戶能將一為調(diào)用第二視頻單元的圖形附加到窗口400的圖形410。在用戶對圖形410擊健后,一個符號幫助用戶將一圖形412寫入窗口400內(nèi)來代表第二視頻單元。然后出現(xiàn)圖17中所示的窗口430,使用戶能定義此第二視頻單元的特征。側(cè)邊條408還含有一使用戶能刪除位于窗口400內(nèi)的視頻單元圖形424。
窗口430含有一行432,用于用戶輸入與第二視頻單元相關(guān)的DNA文件的名稱。輸入進(jìn)窗口430的信息將被存放在這一DNA文件中。窗口430還含有一行用于用戶輸入表示第二視頻單元的圖形窗口。圖17中,標(biāo)題“1-A”被輸入進(jìn)行434。行436使用戶能選擇調(diào)用此第二視頻單元的方式。在窗口430中選擇“雙擊健”,指示按對圖形412的雙擊鍵來調(diào)用第二視頻單元。
窗口430含有一使用能定義第二視頻單元的操作的行438。圖17中所選擇的操作為“打開位圖文件”。這樣,由此第二視頻單元所進(jìn)行的操作即為打開一位圖文件。行440使得用戶在第二視頻單元進(jìn)行其操作時能輸入欲打開的圖象文件。窗口430含有一“瀏覽”按鈕441以便用戶能為在行440中輸入適當(dāng)文件搜索已被存放在計算機(jī)中的圖象文件。窗口430還包含一“關(guān)閉我自己”框422。在被選擇時,當(dāng)?shù)诙曨l單元被調(diào)用時第一視頻單元就將自動關(guān)閉。這是依靠將一“關(guān)閉”參數(shù)附加到與第一視頻單元相關(guān)的DNA文件的連接此第一和第二視頻單元的連接參數(shù)中的一行來實現(xiàn)的。
在此實施例中,行440-442與操作行438相關(guān)連。如果所選擇的操作是“關(guān)閉視頻單元”而不是“打開位圖文件”,行440就將改變成使用戶能輸入被選擇來在調(diào)用第二視頻單元之后要被關(guān)閉一視頻單元的DNA文件。在此實施例中,第二視頻單元為關(guān)閉該單元在調(diào)用后發(fā)送一“放棄”DSF語句給此被指定的視頻單元。
可以利用窗口430輸入各種要被第二視頻單元進(jìn)行的操作。上述二例僅僅只是用作說明的目的。
窗口430含有一使用戶能輸入與第二視頻文件的調(diào)用相關(guān)的音頻文件的行444。窗口430含有—“瀏覽”按鈕445以便用戶能為在行444中輸入適當(dāng)文件而搜索已存放在計算機(jī)中的音頻(通常具有一擴(kuò)展名“WAV”)文件。
窗口430含有一使用戶能輸入延時的行448。這一參數(shù)使第二視頻單元能在圖形412被擊鍵打開之后顯示自己一預(yù)定的時間間隔。
應(yīng)當(dāng)理解,窗口430的格式和所要求的信息是示范性的。按照設(shè)計目的和程序員創(chuàng)造性,窗口430可能具有其他格式和不同類型信息要求。當(dāng)窗口430被關(guān)閉(在所有主要信息均由用戶輸入后)時,其中所含的信息被存進(jìn)行432上指示的DNA文件中。在這一實施例中,DNA文件為存放在硬盤中的ASCII文本文件。
當(dāng)用戶對圖形412擊鍵時,窗口416被打開來表示第二視頻單元的一種情況。窗口416具有由其相關(guān)DNA文件定義的特征。例如,窗口416含有標(biāo)題“1-A”(如由窗口430的行434所確定的)和與行440中定義的圖象文件相關(guān)的圖形圖象417。窗口416的位置可利用正常的MS Windows方法轉(zhuǎn)移(即曳出和投入)。當(dāng)用戶再次對圖形412擊鍵時,第二視頻單元的另一窗口418與窗口416同時出現(xiàn)。這些情況中,第二視頻單元的二個拷貝被裝載進(jìn)RAM,每一個均與同樣的DNA文件相關(guān)連。
在第二視頻單元起作用期間可能終止第一視頻單元。圖16中,各視頻單元窗口具有一“關(guān)閉”按鈕,如窗口416中的按鈕422,以使用戶能關(guān)閉窗口。圖16中所示的開發(fā)系統(tǒng),用戶可關(guān)閉與第一視頻單元相關(guān)的窗口400而同時窗口416和418能在顯示屏幕402上繼續(xù)作用。
也可能利用第二視頻單元發(fā)出的語句關(guān)閉窗口400。如前面解釋的,圖17的行438可被設(shè)定為“關(guān)閉視頻單元”和視頻單元的名稱設(shè)定為第一視頻單元。當(dāng)?shù)诙曨l單元被調(diào)用時,將為關(guān)閉第一視頻單元發(fā)送一DSF語句到與第一顯示單元相關(guān)的DNA文件。
下面說明表示二不同類型單元,一視頻單元和一按鈕單元的示例。圖18表示一代表在圖15的MS Windows 386的控制下顯示屏幕462上顯示的一按鈕單元的窗口460。窗口460含有一標(biāo)題條464。用戶可對窗口460中的一圖形466擊(鼠標(biāo)器)鍵而顯示側(cè)邊窗口468。側(cè)邊窗口468含有為顯示能讓用戶加以按鈕的圖形的空間。
側(cè)邊窗口468的一個空間含有用于能讓用戶將一按鈕附加到窗口460的圖形470。當(dāng)用戶對側(cè)邊窗口468中圖形470擊鍵時,出現(xiàn)幫助用戶將按鈕472置于窗口460內(nèi)所希望位置的符號。稍后用戶即可對此新的按鈕作擊鍵處理,而會發(fā)生一系列用戶定義的動作。側(cè)邊窗口468還含有一使用戶能去除窗口460內(nèi)的已有的按鈕的圖形476。
然后用戶可對側(cè)邊窗口468內(nèi)的另一圖形474擊鍵。這如圖19中所示打開窗口500,使用戶能定義按鈕472的特征。窗口500含有一表示為讓用戶能選擇欲輸入進(jìn)窗口500的信息類型的項目表的區(qū)間502。例如,選擇“操作”就使用戶能輸入在按鈕472被調(diào)用時其所進(jìn)行的操作,而選擇“圖形”則使用戶能選擇一圖形來代表此按鈕而不利用一簡單的矩形按鈕。此表還可含有其他項。按照在表中選擇的項目,窗口500的外形和其所要求的信息將各異。
在表示一個表的區(qū)間502中選擇“操作”。這種選擇的結(jié)果是顯示一“操作”窗口504和一“加入”窗口506。操作窗口504表明按鈕472被調(diào)用時的操作。操作窗口504的內(nèi)容由用戶利用加入窗口506選擇。
加入窗口506含有多個操作,例如“執(zhí)行程序”,“執(zhí)行按鈕”,“執(zhí)行觀察”、“作波動”、和“顯示位圖”。用戶可對這些操作的任一個進(jìn)行鼠標(biāo)擊鍵,而將顯示一使用戶能進(jìn)一步定義操作的窗口。這樣的為“執(zhí)行觀察”的窗口示例如圖20中所示。用戶可選擇加入窗口506中一或多個操作。
所選操作在操作窗口504上顯示。例如,操作窗口504含有一行“MUSIC START.WAV”指明已預(yù)先選擇加入窗口506中的“作波動”操作。與“作波動”相關(guān)的一窗口(未示出)使用戶能指明應(yīng)運(yùn)行一名為“START.WAV”的音頻文件。操作窗口504還含有一行“EXECUTEVISUAL SAMPLE”指明加入窗口506中的“執(zhí)行觀察”操作已被預(yù)先選擇。當(dāng)用戶對“OK”按鈕508擊鍵時,被輸入窗口500的信息即被存貯進(jìn)與這一按鈕相關(guān)的DNA文件。
現(xiàn)在說明視頻單元SAMPLE的細(xì)節(jié)。圖20的窗口530表示按選擇加入窗口506的“執(zhí)行觀察”操作所要求的信息類型。窗口530含有一行532用于用戶輸入希望加以調(diào)用的視頻單元的DNA文件。在這一情況中,名稱是“SAMPLE”,它對應(yīng)于操作窗口504中的“Execute VISUUAL”行。窗口530含有在用戶需要發(fā)現(xiàn)一預(yù)先存在的DNA文件名的表時的“瀏覽”按鈕534。窗口530還含有一行536用于用戶輸入可視單元窗口的標(biāo)題。在這一情況中此標(biāo)題為“2-B”。窗口530含有一行538用于使用戶能輸入所希望的操作。這些操作例如有“打開新窗口”,“打開新向量”,“打開新影片”等。窗口530中下一行,行540的內(nèi)容取決于行538中的選擇。在此例中,行540使用戶能輸入一位圖文件的名稱,因為行538中的操作為“打開新窗口”。如果行538中的操作為“打開新向量”或“打開新影片”,行540將分別要求一向量文件的或一視頻文件。窗口530含有一能讓用戶找到一所希望的預(yù)先存在的位圖文件的“瀏覽”按鈕542。窗口530含有一行544,使用戶能在調(diào)用視頻單元時輸入一音頻文件。窗口530含有一使用戶能選擇一所希望的預(yù)先存在的WAV文件的“瀏覽”按鈕548。當(dāng)用戶對一“OK”按鈕549擊鍵時,被輸入到窗口530的信息將被用來指定所選擇的與按鈕472相關(guān)的視頻單元。這一信息連同被輸入進(jìn)窗口500的其余信息一起稍后將被存貯進(jìn)按鈕472的DNA文件。
在所有有關(guān)按鈕472的信息均已輸入并存貯時,即可調(diào)用按鈕472?,F(xiàn)在回到圖18,由對圖形466進(jìn)行擊鍵可去除側(cè)邊窗口468。去除側(cè)邊窗口468將窗口460由一編輯模式(為使用戶能增加、修改和去消按鈕)改變到操作模式(為使用戶能調(diào)用窗口460中的按鈕)。在此實施例中,按鈕466作為用于顯示和去消側(cè)邊窗口468的一觸發(fā)器操作。在側(cè)邊窗口468被去除后,用戶可對按鈕472擊鍵來調(diào)用其相關(guān)的操作啟動一首音樂和顯示一對應(yīng)于視頻單元SAMPLE的窗口482。SAMPLE的窗口的標(biāo)題是“2-B”,它對應(yīng)于圖20的行536。在此例中,窗口482含有一使得能調(diào)用另一視頻單元的圖形484。此圖形484已經(jīng)以類似于以上結(jié)合圖16討論的操作方式被預(yù)先置于可視單元SAMPL中。用戶可對圖形484擊鍵以顯示對應(yīng)于一不同視頻單元的另一窗口490。
應(yīng)理解的是,窗口500和530的格式及它的所要求的信息是示范性的。根據(jù)設(shè)計目的和程序員的創(chuàng)造性,窗口500和530可具有其他格式和要求不同類型的信息。
在圖15的系統(tǒng)中運(yùn)行的另一應(yīng)用程序例是一顯示在一計算機(jī)屏幕上的旅館索引系統(tǒng)。此應(yīng)用程序可由匯編一單元集來構(gòu)成。首先可調(diào)用任一單元。例如此應(yīng)用程序的用戶可調(diào)用(例如以對之擊鍵)一被設(shè)定為顯示含有此索引的窗口的單元。當(dāng)用戶對此索引窗口中一項進(jìn)行擊鍵時另一單元成為有效。此新的單元自己顯示作為另一表示地區(qū)地圖的窗口。用戶可對此地圖窗口上一項進(jìn)行擊鍵以激活一第三單元,它在其顯示中包括有正反或圖形。這樣超過一個的單元同時起作用而產(chǎn)生一應(yīng)用程序。
如上面提到的,在本發(fā)明一實施例中,一單元在對另一單元寫DSF語句之后直接對之發(fā)出通知。圖21為表示一直接通知單元的實施例的流程圖580。在此例中,圖15的MS Windows386對在其上面運(yùn)行的每一程序(包含有單元)指派一程序識別。在第一單元將一組DSF語句寫到一第二單元的一DSF文件后(步驟S582),它獲得此第二單元的程序識別(步驟S584)。第一單元發(fā)送一中斷給MS Windows要求其發(fā)送一中斷到此第二單元(步驟S586)。按照這一請求,MS Windows386發(fā)送一中斷至第二單元(步驟S588)。然后第二單元執(zhí)行先前寫到其相關(guān)DNA文件的DSF語句(步驟S590)。
應(yīng)理解的是,上述流程圖中的MS Windows僅僅是一操作系統(tǒng)的例子。其他操作系統(tǒng),例如MS DOS和Macintosh OS,可被用來來代替MS Windows進(jìn)行中斷。
本發(fā)明已參照其特定的典型實施例作了說明??蓪χ鞲鞣N修正和改變而不背離發(fā)明的主要精神和范疇。因此,其細(xì)節(jié)和圖形應(yīng)被看作是說明性意義上而不是限制性意義上的。本發(fā)明僅由所提出的權(quán)利要求加以限定。
權(quán)利要求
1.一數(shù)據(jù)處理系統(tǒng),包括繪圖裝置,用于在一屏幕上形成的窗口上繪制向量圖形;顯示一設(shè)置屏幕的裝置,用于設(shè)置定義當(dāng)所述向量圖形按照由所述繪圖裝置繪制所述向量圖形所指明對欲執(zhí)行的操作的參數(shù);參數(shù)設(shè)置裝置,用于在所述設(shè)置屏幕上設(shè)置參數(shù);參數(shù)存貯裝置,用于存放由所述參數(shù)設(shè)置裝置所設(shè)定的所述參數(shù);指示裝置,用于指示由所述緩圖裝置所產(chǎn)生的所述向量圖形;和執(zhí)行裝置,用于檢測由所述指示裝置對所述向量圖形的指示和按照所述參數(shù)執(zhí)行所述操作。
2.一數(shù)據(jù)處理系統(tǒng),包括繪圖裝置,用于在一屏幕上形成的窗口上繪制向量圖形;顯示一設(shè)置屏幕的裝置,用于設(shè)置在所述向量圖形按照由所述繪圖裝置繪制所述向量圖形被指示時欲打開的一窗口的內(nèi)容的參數(shù);參數(shù)設(shè)置裝置,用于在所述設(shè)置屏幕上設(shè)置參數(shù);參數(shù)存貯裝置,用于存放由所述參數(shù)設(shè)置裝置的設(shè)定的所述參數(shù);指示裝置,用于指示由所述繪圖裝置所產(chǎn)生的所述向量圖形;和調(diào)用裝置,用于檢測由所述指示裝置對所述向量圖形的指示和按照所述參數(shù)打開另一窗口。
3.按照權(quán)利要求2的數(shù)據(jù)處理系統(tǒng),其特征是所述調(diào)用裝置打開一窗口和顯示一光柵圖形;和所述繪圖裝置在所述光柵圖形上繪制所述向量圖形。
4.按照權(quán)利要求2或3的數(shù)據(jù)處理系統(tǒng),其特征在是所述調(diào)用裝置包含用于并行激活多窗口的裝置。
5.按照權(quán)利要求2、3或4的數(shù)據(jù)處理系統(tǒng),其特征是所述調(diào)用裝置包含用于按照所述參數(shù)基本上執(zhí)行為并行打開窗口的一個程序的裝置。
6.按照權(quán)利要求5的數(shù)據(jù)處理系統(tǒng),其特征是所述調(diào)用裝置為基本上并行執(zhí)行一個程序,沒有用于執(zhí)行并行運(yùn)行程序的總體管理的程序,和所述并行運(yùn)行程序相互進(jìn)行管理。
7.按照權(quán)利要求2-6中任一個的數(shù)據(jù)處理系統(tǒng),其特征是所述參數(shù)包含用于確定下列至少一個的參數(shù)窗口標(biāo)題,窗口位置,窗口大小,窗口結(jié)構(gòu),窗口上顯示的圖形,再現(xiàn)的語言,打開一窗口的條件,和關(guān)閉一窗口的條件。
8.按照權(quán)利要求2-6中任一個的數(shù)據(jù)處理系統(tǒng),其特征是所述參數(shù)包含為打開另一窗口的定時;和所述調(diào)用裝置包含定時器裝置,用于在將由一預(yù)定操作開始經(jīng)過一預(yù)定時間的時刻指定作為所述定時時,測量由為所述指定裝置指定的時刻開始的所述預(yù)定時間,和為在所述定時器裝置已測量到所述預(yù)定時間之后打開所述另一窗口的裝置。
9.按照權(quán)利要求1-8中任一個的數(shù)據(jù)處理系統(tǒng),其特征是所述參數(shù)存貯裝置存貯所述參數(shù)作為文本文件。
10.一數(shù)據(jù)處理系統(tǒng),同時執(zhí)行基本上一個程序多次以使得所述程序整體上作為一個應(yīng)用程序運(yùn)行,包括繪圖裝置,用于在一屏幕上形成的窗口上繪制向量圖;顯示一設(shè)置屏幕的裝置,用于設(shè)置定義一在所述向量圖形按照由所述繪圖裝置繪制所述向量圖形所指示時要執(zhí)行的程序的參數(shù);參數(shù)設(shè)置裝置,為在所述設(shè)置屏幕上設(shè)置參數(shù);存貯裝置,用于存放所述程序和由所述參數(shù)設(shè)置裝置設(shè)定的所述參數(shù);指示裝置,指示由所述繪圖裝置產(chǎn)生的所述向量圖形;和執(zhí)行裝置,用于檢測由所述指示裝置對所述向量圖形的指示和按照所述參數(shù)執(zhí)行所述程序。
11.按照權(quán)利要求10的數(shù)據(jù)處理系統(tǒng),其特征是所述程序由為打開和關(guān)閉窗口的程序構(gòu)成;和所述參數(shù)包含為確定至少下列之一的數(shù)據(jù)打開一窗口的定時,窗口標(biāo)題,窗口位置,窗口大小,窗口結(jié)構(gòu),在一窗口上顯示的圖形,聲音再生類型和單元終止類型。
12.按照權(quán)利要求10或11的數(shù)據(jù)處理系統(tǒng),其特征是所述程序由打開和關(guān)閉窗口、和在新打開的窗口中顯示一光柵圖形或向量圖形的程序構(gòu)成。
13.按照權(quán)利要求10、11或12的數(shù)據(jù)處理系統(tǒng),其特征是所述參數(shù)包含為打開另一窗口的定時;和所述調(diào)用裝置包含定時器裝置,用于在由一預(yù)定操作開始經(jīng)過一預(yù)定時間的時刻被指定作為所述定時時,測量由所述指定裝置指定的時刻開始的所述預(yù)定時間,和在所述定時器裝置已測得所述預(yù)定時間之后打開所述另一窗口的裝置。
14.一數(shù)據(jù)處理系統(tǒng),使得能同時存在多個由運(yùn)行程序構(gòu)成的單元以便能將所述單元在整體上作為一個應(yīng)用程序,包括存貯裝置,用于存貯程序和多個包含為調(diào)用所述程序的參數(shù)的參數(shù)文件;用于指派一用來調(diào)用各單元的參數(shù)到一圖象的裝置;用于指示所述圖象的指示裝置;和執(zhí)行裝置,用于按照由所述指定裝置選擇的所述圖象,指定存貯在所述存貯裝置中的一參數(shù)文件并按照所述參數(shù)文件中包含的參數(shù)同時執(zhí)行所述程序,所述單元可以樹形式連接。
15.按照權(quán)利要求14的數(shù)據(jù)處理系統(tǒng),其特征是所述調(diào)用裝置基本上并行執(zhí)行一個程序,所述單元相互管理,向沒有用于對多個同時運(yùn)行的單元作總的管理的程序。
16.一數(shù)據(jù)處理系統(tǒng),包括繪圖裝置,用于在一屏幕上繪制圖形;相關(guān)裝置,用于將一操作與所述圖形相關(guān)連;轉(zhuǎn)移裝置,用于轉(zhuǎn)移由所述繪圖裝置所繪制的圖形;位置檢測裝置,用于檢測一窗口上所述圖形的位置;和執(zhí)行裝置,在所述圖形被轉(zhuǎn)移到一預(yù)定位置時按照所述位置檢測裝置的檢測執(zhí)行與所述圖形相關(guān)的所述操作。
17.按照權(quán)利要求16的數(shù)據(jù)處理系統(tǒng),其特征是所述執(zhí)行裝置包含為在所述圖形完全出現(xiàn)時,在所述圖形完全消失時,在所述圖形部分出現(xiàn)時,或在所述圖形部分消失時,按照所述位置檢測裝置的檢測執(zhí)行所述操作的裝置;和所述操作包含打開一窗口、關(guān)閉一窗口、控制被顯示的圖形和產(chǎn)生聲音中的任一個。
18.一計算機(jī)程序體系結(jié)構(gòu),包括至少一第一和一第二程序單元,各自含有程序指令;所述第二單元含有為發(fā)送第一組的一或多個命令的程序指令;所述第一單元含有為自動執(zhí)行所述第一組命令而無需返回執(zhí)行結(jié)果到所述第二單元的程序指令,所述第一單元還含有為發(fā)送一第二組的一或多個命令的程序指令;和所述第二單元含有為自動執(zhí)行所述第二組命令而不返回執(zhí)行結(jié)果給所述第一單元的程序指令。
19.按照權(quán)利要求18的體系結(jié)構(gòu),其特征是所述第一單元還包括為調(diào)用一第三程序單元的程序指令,所述第三單元執(zhí)行其自己的程序指令而不返回執(zhí)行其程序指令的結(jié)果給所述第一單元。
20.按照權(quán)利要求19的體系結(jié)構(gòu),其特征是在所述第三單元維持作用期間所述第一單元可被終止。
21.按照權(quán)利要求20的體系結(jié)構(gòu),其特征是所述第三單元可發(fā)出一命令使所述第一單元終止。
22.按照權(quán)利要求18的體系結(jié)構(gòu),其特征是所述第一和第二組命令不包含有關(guān)它們的起源的信息。
23.用于在計算機(jī)中運(yùn)行的應(yīng)用程序的計算機(jī)程序體系結(jié)構(gòu),包含至少一第一和一第二程序單元,所述單元的每一個均含有程序指令和與一能從其它單元接收語句的獨立的文件相關(guān)連;所述第二單元含有為發(fā)送一第一組的一或多個語句到與所述第一單元相關(guān)連的第一文件的程序指令;所述第一單元含有為自動執(zhí)行所述第一組語句而不返回執(zhí)行所述第一組語句的結(jié)果給所述第二單元的程序指令,所述第一組單元還含有為發(fā)送一第二組的一或多個語句到與所述第二單元相關(guān)連的第二文件的程序指令;和所述第二單元含有為自動執(zhí)行所述第二組語句而不返回執(zhí)行結(jié)果給所述第一單元的程序指令。
24.按照權(quán)利要求23的計算機(jī)體系結(jié)構(gòu),其特征是所述第一文件包括為接收由其他單元發(fā)送的語句的第一節(jié);和含有所述第一文件的狀態(tài)標(biāo)記的第二節(jié),所述第二單元在發(fā)送所述第一組語句之前檢驗所述標(biāo)記。
25.按照權(quán)利要求24的計算機(jī)程序體系結(jié)構(gòu),其特征是所述第二節(jié)含有與所述第一文件中的一個所述語句相關(guān)的第一指針,所述第二單元包括為更新反映對所述第一文件增加所述第一組語句的第一指針的程序指令。
26.按照權(quán)利要求25的計算機(jī)程序體系結(jié)構(gòu),其特征是所述第二節(jié)還含有一指向當(dāng)前正由所述第一單元執(zhí)行的所述第一文件中一語句的第二指針。
27.按照權(quán)利要求24的計算機(jī)程序體系結(jié)構(gòu),其特征是所述標(biāo)記可以是指示所述第一文件已準(zhǔn)備好接收新語句的第一狀態(tài),和可以是指示所述第一文件不能接收新語句的第二狀態(tài)。
28.按照權(quán)利要求24的計算機(jī)程序體系結(jié)構(gòu),其特征是所述第一文件還包括一組參數(shù),所述第一單元含有為在所述第一單元被調(diào)用所述參數(shù)的程序指令。
29.一應(yīng)用程序中至少二程序單元交互作用的方法,每一所述單元均含有程序指令和與一獨立的文件相關(guān)連,包括方法步驟由一第二單元發(fā)送一第一組的一或多個語句到與一第一單元相關(guān)連的第一文件;和由所述第一單元自動執(zhí)行所述第一組語句而不返回執(zhí)行所述第一組語句給所述第二單元。
30.按照權(quán)利要求29的方法,其特征是還包括步驟由一第三單元在隨所述第一發(fā)送步驟之后發(fā)送一第二組的一或多個語句到所述第一文件;和由所述第一單元在完成執(zhí)行第一組語句的所述步驟之后自動執(zhí)行所述第二組語句。
31.按照權(quán)利要求30的方法,其特征是所述第二發(fā)送步驟在完成執(zhí)行所述第一組語句的所述步驟之前啟動。
32.按照權(quán)利要求29的方法,其特征是發(fā)送所述第一組語句的所述步驟包括步驟定位所述第一文件;和在所述第一文件為能接收所述第一組語句的狀態(tài)中時發(fā)送所述第一組語句。
33.一應(yīng)用程序中為連接程序單元來完成功能作用的方法,每一程序均含有程序指令和與一獨立文件相關(guān)連,包括方法步驟由一第二單元發(fā)送第一組的一或多個語句到與一第一單元相關(guān)的第一文件;接著由一第三單元發(fā)送第二組的一或多個語句到與所述第一單元相關(guān)的所述第一文件,所述第二組語句被置于隨所述第一組指令后的一邏輯位置;和由所述第一單元按照它們的邏輯位置執(zhí)行所述第一文件中的語句,因而在執(zhí)行所述第二組指令之前執(zhí)行所述第一組指令,所述第一單元起動所述第二組語句的執(zhí)行無需啟動與所述第二單元的通信。
全文摘要
當(dāng)在一單元窗口上繪制一向量圖形時,顯示一屏幕使得用戶能設(shè)定參數(shù)來定義按照對這一向量圖形的選擇要被執(zhí)行的一操作等。根據(jù)此屏幕上所顯示的內(nèi)容,用戶設(shè)定例如為打開一新文件和顯示一預(yù)定文件的圖形的參數(shù)。當(dāng)稍后用戶利用鼠標(biāo)器等對這一向量圖形作雙擊鍵(選擇)時,即打開一新的單元窗口并在此顯示相關(guān)的圖形。一執(zhí)行程序具有僅進(jìn)行基本操作的功能,如打開或關(guān)閉一窗口,并能由OS(操作系統(tǒng))的多任務(wù)功能作同時的并行運(yùn)行。
文檔編號G06F9/46GK1181141SQ96193106
公開日1998年5月6日 申請日期1996年3月28日 優(yōu)先權(quán)日1995年4月7日
發(fā)明者口渕大介, 莊司涉, 中島一郎 申請人:軟體未來設(shè)計股份有限公司