TW424194B - Data process method, recording medium and data processor - Google Patents
Data process method, recording medium and data processor Download PDFInfo
- Publication number
- TW424194B TW424194B TW088102768A TW88102768A TW424194B TW 424194 B TW424194 B TW 424194B TW 088102768 A TW088102768 A TW 088102768A TW 88102768 A TW88102768 A TW 88102768A TW 424194 B TW424194 B TW 424194B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- processing
- data field
- stored
- mentioned
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 371
- 238000012545 processing Methods 0.000 claims description 270
- 230000005540 biological transmission Effects 0.000 claims description 55
- 230000000875 corresponding effect Effects 0.000 claims description 43
- 230000002079 cooperative effect Effects 0.000 claims description 26
- 238000012856 packing Methods 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 4
- MYWUZJCMWCOHBA-VIFPVBQESA-N methamphetamine Chemical compound CN[C@@H](C)CC1=CC=CC=C1 MYWUZJCMWCOHBA-VIFPVBQESA-N 0.000 description 19
- 230000006870 function Effects 0.000 description 18
- 235000015170 shellfish Nutrition 0.000 description 12
- 238000004891 communication Methods 0.000 description 9
- 238000003672 processing method Methods 0.000 description 8
- 238000011437 continuous method Methods 0.000 description 6
- 238000007726 management method Methods 0.000 description 6
- 239000007787 solid Substances 0.000 description 6
- 239000011800 void material Substances 0.000 description 6
- 238000007639 printing Methods 0.000 description 5
- 239000008186 active pharmaceutical agent Substances 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 239000000463 material Substances 0.000 description 3
- 238000012384 transportation and delivery Methods 0.000 description 3
- 208000034423 Delivery Diseases 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 101100524646 Toxoplasma gondii ROM6 gene Proteins 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 238000002716 delivery method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000001356 surgical procedure Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/465—Distributed object oriented systems
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Description
424794 A7 B7 五、發明説明(i ) (本發明所屬之技術領域) 本發明係有關於在物件(object)之間處理訊息時的 資料處理方法。又本發明係有關於一種記錄了用來實現上 述資料處理方法之操作系統的記錄媒體、以及備有該記錄 媒體的資料處理裝置。 (習知技術) 近年來,由於軟體程式技術的發展,乃可以開發出根 據物件指向技術的軟體。當應用物件指向時,則應用程式 等之軟體的功能會被模組化以作爲在操作系統上動作的物 件。物件則將彼此必要的情報當作訊息彼此交換,而實現 作爲模組的功能。該訊息的交換則被稱爲訊息傳遞( message passing ) ° 經濟部中央標芈局員工消費合作社印裝 (請先閲讀背面之注意事項vv%寫本頁) 而實現訊息傳遞的方法已經提出各種的方法而被實現 。其中之一則是使用了未來(future )的訊息傳遞=第8 圖係表使用了未來的訊息傳遞的基本的動作。此外,在第 8圖中,將訊息傳送源的物件當作客側物件,而將訊息傳 送對象的物件當作主側物件。 在使用未來的訊息傳遞中,首先,如第8圖中之箭頭 B 1所示,會從客側物件,將要求某種處理的訊息送到主 側物件β此時,則確保用來儲存根據主側物件之處理結果 的資料領域。該資料領域是一用來儲存客側物件將來所要 接受之結果的領域,而被稱爲未來(future) » 主側物件,如第8圖中實線B 2所示’進行與由客側 本紙張尺度通用中國囷家標準(CNS ) Λ4規格(210X297公釐) 經濟部中央標準局M3:工消费合作社印装 4 2 4 7 9 4 -㈣ . A7 B7 * 五、發明説明(2 ) 物件所送來之訊息的要求呈對應的處理,若該處理結束時 |則如第8圖中之箭頭B 3所示,將該處’理結果儲存在未 來(future )中 15 另一方面,客側物件,如第8圖中之實線B 4所示, 連在將上述訊息送到主側物件後,也會繼續執行處理,之 後,當根據主側物件的處理結果成爲必要時,則如第8圖_ 中之箭頭B 5所示,讀取被儲存在未來(future )中的資 料。 此時,若根據主側物件的處理結果尙未儲存在未來時 ,如第8圖中之虛線B 6所示,客側物件成爲等待狀態。 此外,若根據主側物件的處理結果被儲存在未來時,如第 8圖中之箭頭B 7所示|根據主側物件的處理結果會從未 來被送到客側物件。 亦即_,客側物件,當根據主側物件的處理結果被儲存 在未來時,則會立刻接受結果,而當根據主側物件的處理 結果尙未被儲存在未來時,則會成爲等待狀態直到結果被 儲存在未來中。 (本發明的要解決的課題) 在第8圖所示之利用未來的訊息傳遞中,在客側物件 將訊息送到主側物件後,常常會發生客側物件在等待根據 主側物件之處理結果的狀態。 該等侍狀態,除了根據主側物件的處理尙未結术的情 形以外.,也會在例如主側物件,因爲發生了防礙主側物件 本紙張尺度適用中國國家標準 ( CNS ) A4規格(2IOX297公釐) (請先閱讀背面之注意事項寫本頁) -裝. 訂 4 2 4 19 4 : 4 Α7 Β7 五、發明説明(3 ) 之正常執行的例外情況而發生當機時所產生。又例如因爲 網路等對訊息傳遞爲必要之通路的故障而導致訊息傳遞無 法動作時也會產生。 因此,當成爲等待狀態的物件無法從該等待狀態脫離 時’例如當爲一被組裝到箱內的系統時,系統因不明原因 造成停止的狀態,對使用者而言並不好。 因此,對於提供利用未來之訊息傳遞功能的操作系統 而言,乃期待在物件不知何種麻煩成爲等待狀態時,也可 以讓該物件回復以使在該操作系統上動作的軟體能夠安定 地動作。 經濟部中央標準局員工消费合作社印装 -II - I -----裝-- (請先閱請背面之注意事項寫本頁 線 以往的操作系統1在發生等待狀態時,爲了要避免該 等待狀態,則不管其發生原因爲何,大多使用暫停( timeout)處理。然而使用暫停處理來避免等侍狀態的方法 ,由於到發生暫停爲止的時間仍是爲等待狀態,因此,會 因爲到發生暫停爲止的時間設定而無謂地浪費掉時間。又 即使藉著暫停可以避免等待狀態,也無法特定出發生等待 狀態的原因》當無法特定出發生等待狀態的原因時,則可 能會再度因爲同樣的理由而發生等待狀態。 本發明即是有鑑於以上之習知情形而提出,其目的在 於提供一當利闬未來進行訊息傳遞時,即使物件不知何種 麻煩而成爲等待狀態時,也可以不使用暫停處理,即可以 使物件從等待狀態回復的資料處理方法。又本發明之目的 在於提供一已記錄了用來實現該資料處理方法之操作系統 的記錄媒體,以及備有該記錄媒體的資料處理裝置。 本紙張尺度適用中國國家標準(CNS ) A4规格(2丨0X 297公釐) _β. 424194—, 經濟部中央標準局員工消资合作社印裝 A7 B7 五、發明説明(4 ) (解決課題的手段) 本發明之資料處理方法係有關於從客側物件\將訊息 送到主側物件,根據主側物件來進行該訊息所要求的處理 ,且將該處理結果從主側物件送回客側物件之資料處理方 法。 此外,本發明之資料處理方法當從客側物件將訊息 送到主側物件時,會確保具有用來儲存作爲根據主側物件 之處理結果之資料的結果資料的領域以及用來儲存表示主 側物件之狀態的狀態資料的領域的資料領域。此外當根據 主側物件的處理已經正常結束時,則會將爲該處理結果之 資料的結果資料儲存在上述資料領域內,而當根據主側物 件之處理未正常結束時,則會將表示主側物件之狀態的狀 態資料儲存在上述資料領域內。此外客側物件,藉著讀取 被儲存在上述資料領域內的資料,當根據主側物件的處理 正常結束時,會接受上述結果資料,當根據主側物件的處 理未正常結束時,會接受上述狀態資料。 在以上的資料處理方法中,當根據主側物件的處理未 正常結束時,會經由上述資料領域,將表示主側物件之狀 態的狀態資料送到客側物件。因此,在訊息傳遞時,即使 客側物件不知何種麻煩而成爲等待狀態時,則也可以不使 用暫停處理,即將主側物件的狀態通知客側物件,而使客 側物件從等待狀態回復過來。- 又,本發明之記鋒媒體,係一記錄有將送出要求針對 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) i 装 訂 . . 線 J (請先閱讀背面之注意事項Hi'·寫本頁) Α7 Β7 經濟部令央標準局員工消f合作社印製 五、發明説明(5 ) 其他物必須要回答處理結果之處理的訊息的訊息傳送方法 ’當作在記述物件時所使用之應用程式介面的操作系統的 記錄媒體。 上述操作系統’其中與上述訊息傳送方法對應的處理 ,除了進行從客側物件,將訊息送到主側物件的處理外, 也進行確保具有用來儲存爲根據主側物件之處理結果的資 料的結果資料的領域,以及用來儲存表示主側物件之狀態 的狀態資料的領域的資料領域的處理。又,上述操作系統 ,當根據主側物件的處理已經正常結束時,則會將作爲該 處理結果之資料的結果資料儲存在上述資料領域內,而當 根據主側物件的處理未正常結束時,則會將表示主側物件 之狀態的狀態資料儲存在上述資料領域內。 記錄在以上之記錄媒體的操作系統,當根據主側物件 的處理未正常結束時’會將表示客側物件之狀態的狀態資 料儲存在上述資料領域內。因此,客側物件,藉著讀取被 儲存在該資料領域內的資料,可以接受表示客側物件之狀 態的狀態資料。因此,在訊息傳遞時,即使客側物件不知 何種麻煩而成爲等待狀態時,不使用暫停處理,也會將主 側物件的狀態通知客側物件,而可以使客側物件從等待狀 態回復過來。 又’本發明之資料處理裝置,其主要備有一記錄有將 送.出要求針對其他物件必須要回答處理結果之處理的訊息 的訊息傳送方法’當作記述物件時所使用之應用程式介面 的操作系統的記錄媒體。 (請先閲讀背面之注意事 :寫本頁) -裝. 訂 本紙張尺度適用中國國家標率(CNS ) A4規格(ZIOXW7公釐) -8- 經濟部中央標準局員工消費合作社印製 4 24 1 94 ί A7 λ A 7 B7 五、發明説明(6 ) 上述操作系統,其中與上述訊息傳送方法對應的處理 ’除了進行從客側物件’將訊息送到主側物件的處理外, 也進行確保具有用來儲存爲根據主側物件之處理結果的資 料的結果資料的領域,以及用來儲存表示主側物件之狀態 的狀態資料的領域的資料領域的處理。又,上述操作系統 ’當根據主側物件的處理已經正常結束時,則會將作爲該' 處理結果之資料的結果資料.的儲存在上述資料領域內,而 當根據主側物件的處理未正常結束時,則會將表示主側物 件之狀態的狀態資料儲存在上述資料領域內。 被記錄在以上之資料處理裝置所具備之記錄媒體中的 操作系統,當根據主側物件的處理未正常結束時,會將表 示客側物件之狀態的狀態資料儲存在上述資料領域內。因 此,客側物件,藉著讀取被儲存在該資料領域內的資料, 可以接受^示客側物件之狀態的狀態資料。因此,在訊息 傳遞時,即使客側物件不知何種麻煩而成爲等待狀態時, 不使用暫停處理,也會將主側物件的狀態通知客側物件, 而可以使客側物件從等待狀態回復過來。 此外,在本說明書中,乃將用來管理應用程式之執行 的軟體廣泛地稱爲操作系統。亦即,在本說明書中的操.作 系統,不只是進行硬體管理的基本軟體,同時也包括了會 在進行硬體管理的基本軟體上動作,而管理應用程式之執 行之所謂的中間軟體(middleware )。更者,本說明書中 的應用程式,也包括了藉著在1台電腦上實現執行多個程 式•而讓使用者看得到多個電腦在動作之實現所請的假想 (諳先閲讀背面之注意事寫本頁) .裝- -訂 本纸張尺度適用中國國家標準(CNS ) A4現格(210X297公釐) _g . 經濟部4-央標隼局貝工消費合作社印裝 4 2 4 f 9 4 '- A7 __B7_· - 五、發明説明(7 ) 計算機系統的軟體等。 發明之實施形態 請一邊參照圖面來詳細地說明本發明的實施形態。 1 *硬體環境 .首先請參照第1圖來說明應用本發明之資料處理裝置 的一例。此外,在此本發明之實施形態的一例,雖然是舉 將本發明應用到備有資料處理功能之電視裝置爲例,但是 當然本發明也可以適用在其他的資料處理裝置。亦即,本 發明可以廣泛地應用在由操作系統而動作的資料處理裝置 ,例如電視裝置以外的音頻•視覺系統(亦即A V機器) 或各種事務機器或一般的電腦裝置。 在作爲本發明所適用之資料處理裝置之第1圖所示的 電視裝置,則藉由天線或電纜等來接收來自電台的信號, 根據該信號,除了將影像顯示在由布朗管或液晶面板等所 構成之影像顯示裝置外,也從揚聲器輸出聲音。 該電視裝置不只是具備一般的電視功能,也可以從外 部接收到程式或資料,如第1圖所示,備有:經由匯流排 / I 0橋(bridge ),被連接到匯流排2的電視功能部3 ,經由匯流排/記億體橋4,被連接到匯流排2的處理器 5,經由匯流排/記憶體橋4,被連接到匯流排2的 ROM ( Read Only Memory) 6 以及 RAM.( Randow Access Memory ) 7,被連接到匯流排2的操作面板8,外 部記憶裝置9,通信裝置10以及圖形裝置1 1。 (请先閱讀背面之注意事項\<%·窝本頁) -裝. 訂 線 本紙張尺度適用t國國家標準(CNS ) A4規格(2丨0><297公釐) -10- 經濟部中央樣隼局負工消费合作社印製. 4 24 194 * A7 __._B7_^__二 五、發明説明(8 ) 電視功能部3則備有可根據由天線或電纜等所收到的 信號使影像或聲音再生的功能。該電視功能部3,則經由 匯流排/ I 0橋1被連接到匯流排2,藉此可以與其他的 部分進行信號的授受。 處理器5係一用來控制該電視裝置之各部分的演算處 理裝置,經由匯流排/記憶體橋4被連接到匯流排2。又 R Ο Μ 6以及R A Μ 7,則經由匯流排/記憶體橋4被連 接到處理器5。 R Ο Μ 6則記憶了由處理器5進行控制之操作系統或 應用程式等。在此,操作系統係一由物件(object )指向 所構成之目標指向型操作系統。 RAM7則當成處理器5之工作區域來使用。亦即, 處理器5,藉著將RAM7當作工作區域來使用,而執行 被記憶在R ◦ Μ 6之操作系統或應用程式等,而來控制構 成該電視裝置的各部分。 操作面板8係一接受來自使用者之輸入操作的輸入裝 置,而由該操作面板8例如輸入用於指示切換電視之頻道 或是音量的信號。該操作面板8具體地說是由備有用於輸 入各種信號之多個按鈕的輸入裝置,或是被稱爲所謂的滑 鼠的指標裝置(pointing device )等所構成。由該操作面 板8所輸入的信號,則經由匯流排2以及記憶體橋4,而 被輸入到處理器5。此外,處理器5,則根據由操作面板 8所輸入的信號,進行一定的演算處理來控制各部分。 外部記億裝置9例如由硬碟裝置等所構成,係用於記 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) -11 - ---------I-- \)/ (請先閱讀背面之注$項rt寫本頁) 訂 線 經濟部中央標準局員工消費合作社印製 424194^ Ί ^ f Λ7 B7 五、發明説明(9 ) 錄影像或資料,對控制該電視裝置爲必要的控制資料,以 及從外部,經由通信裝置1 〇被下載之應用程式等。 通信裝置1 0係一在與外部之間進行資料通信的輸出 入部’例如由數據機或終端連接器等所構成。 圖形裝置1 1則係對被記錄在外部記憶裝置9的資料 ’或是經由通信裝置1 〇而從外部所收到的資料等進行加 工而顯示者。 該電視裝置1 0,不只是具備由電視功能部3所提供 的一般的電視功能外,也可以經由通信裝置1 〇,從外部 接收到資料。亦即,該電視裝置,藉著從例如外部的網路 ’經由通信裝置1 0而接收到新的軟體模組,可以升級操 作系統或是應用程式的版本。 又’該電視裝置1除了藉由處理器5來執行被記憶在 R0M6的操作系統外,也藉著在該操作系統上執行被記 —- i.· 憶在R Ο Μ 6以及外部記憶裝置9的應用程式來控制各部 分。亦即,該電視裝置具備R0M6以作爲記錄媒體而讀 取所記錄的操作系統β 此外’操作系統也可以記錄在RAM 7或是外部記憶 裝置9 ’特別是當想要更寫操作系統時,則記錄在 RAM7或是外部記億裝置9 » -12- 請先閱讀背面之注意事嗔彳如寫本頁) '裝· 訂- 經濟部中央標準局貞工消費合作社印裝 424 194 Λ 五、發明説明(10 ) 在上述電視裝置中所使用的操作系統乃採用物件( object)指向-換言之,在該操作系統上動作之應用程式等 的軟體則被模組化以作爲物件,而在物件之間的操作則由 傳遞訊息(message passing )來進行。 該操作系統,如第2圖所示,備有可提供作爲操作系 統之基本功能的微核心(micro kernel ),而可以在該微核 心上同時提供多個程式執行環境。此外,在以下的說明中 ,將由該操作系統所提供的程式執行環境稱爲中間空間( meta space )。 此外•該操作系統,其中中間空間則具體地提供有以 多個物件所構築的mCOOP中間空間與由多個物件所構築的 mDdve中間空間,針對每個中間空間提供在記述構成應用 程式等之物件時所使用的應用程式介面。此外,在以下的 說明中,則將構成中間空間的目標稱爲中間物件(meta object ) β mCOOP中間空間主要是一讓物件指向型之應用程式( 例如用於實現控制操作面板8之圖形使用者介面的應用程 式等)的中間空間.此外,mCOOP中間空間的「m」係指 中間空間的意思,「COOP j 係 Concurrent Object Oriented
Programming 的簡稱 β 另一方面,mDrive中間空間主要是指讓用來控制硬體 之裝置驅動器(例如用來控制圖形裝置1 1的裝置驅動器 ,或如經由網路進行資料授受般地控制通信裝置1 0等的 裝置驅動器等)的中間空間。此外,mDrive中間空間广m 本紙張尺度適用中國國家榡準(CNS ) A4規格(21 〇X297公釐).-|3 - 請先閱讀背面之注意事寫本頁) 裝· ,1Τ 經濟部中央標準局貝工消費合作社印«» 424 194^ A7 * A 7 ____B7_^__ 五、發明説明(11 ) j係表中間空間的意思,而「Drive」係表是讓裝置驅動器 .(Device Driver )動作之中間空間的意思。 亦即,該操作系統,是在微核心上讓mCOOP中間空間 以及mDrive中間空間動作,或在mCOOP中間空間上,讓被 模組化作爲物件之應用程式動作,或在mDrive中間空間上 ,讓被模組化作爲物件之裝置驅動器動作。 此外,該操作系統,其中可在微核心上動作的中間空 間,則除了 mCOOP中間空間及mDrive中間空間之外,也可 以提供讓手續型的應用程式(例如在電視功能部3顯示動 畫的應用程式等)動作的中間空間等。 構成mCOOP中間空間的中間物件(meta object )例如 有物件「mCOOPMailer」與物件「mCOOP Fault Handler」 。物件「mCOOPMailer」係一在可於mCOOP中間空間上動 作的應用程式之間進行訊息傳遞(message passing )時所 使用的中間空間《物件「mCOOP Fault Handler j則是一負 責例如處理的中間空間。此外,mCOOP中間空間,實際上 除了該些中間物件外,係由各種的中間物件所構成。 構成mDrive中間空間的中間物件,例如有物件「 mDriveMailer」與物件「mDrive Fault Handler」。物件「 mDriveMailer」係一在可於mDrive中間空間上動作之裝置 驅動器之間進行訊息傳遞時所使用的中間空間。物件「 mDriveFaultHandler」是一負責例外處理的中間物件。此外 ,mDrive中間空間,實際上除了該些中間空間外,係由各 種的中間空間所構成。 本紙張尺度適用中國國家標準(CNS) A4规格(210X297公釐).14 . ---------^------ΐτ----.——^線 (請先閲讀背面之注意事寫本頁) 4 2 4 19 4 ;^ A7 * A 7 .B7 五、發明説明(12 ) 此外,該操作系統則提供使用未來(future )的訊息 傳遞功能。以下則詳細說明此功能。此外’在以下的說明 中,對於使用未來(future )的訊息傳遞,則將要求將訊 息送到其他之物件的物件稱爲客側物件而將從客側物件接 受訊息,而根據該訊息進行'處理側的物件稱爲主(serve ) 側物件。
2 — 2 mCOOP中間空間的A P I 上述操作系統,爲了要在Me oop中間空間中利用未來 ( future )進行訊息傳遞,對於在記述在mCOOP‘中間空間上 動作之目標時所使用的A P I ,則提供以下的方法。此外 ,在此,API則是根據在OMG I D L ( Object Hanagement Group Interface Definition Language )中的記 ---- ·~Λ.- . 述方法爲準來表示。 經濟部t央橾準局員工消费合作社印装 (請先閱讀背面之注意事項/各寫本頁) sError SendWithRBox(in OID destObjID, in Selector meth, in any msg, in si ze_t sizeOfMsg, out RID rBoxID) sError Receive(in RID rBoxID, in any msg, in size —t sizeOfMsg) sError Reply(in any resultMsg, ' in size_t sizeOfResultMsg) sError Delegate(in OID destObjID, in Selector meth, in any msg, in size_t sizeOfMsg) 以下則詳細地說明該方法。 本紙浪尺度通用中國囡家橾準(CNS ) Λ4規格(210X297公釐)_ 15 - 94 Α7 Β7 經濟部中央標準局員工消費合作社印聚 五、發明説明(13 ) 2-2-1 SendWithRBox。 sError SendWithRBox(in OID destObjID, in Selector meth, in any msg, in si ze_t sizeOfMsg, out RID rBoxID) 方法「SendWithRBox」係~從客側物件,將訊息送到 主側物件之訊息傳送方法。亦即,該方法「SendWithRBox j係使用於在客側物件將訊息’傳送到主側物件後,客側物 件必須要有在主側物件中的處理結果的情形。 自變量「destObjID」係一爲用來特定出物件之資料型 式的「01 D」型的自變量,在該自變量「destObjlD」則 設定有用來特出主側物件的値。 自變量「meth」係一爲任意之資料型式之「Selector 」型的自變量,在該自變量「meth」則設定有用來特定已 記述了所要求之處理之1·之方法的値。 —-λ 自變量「msg」係一爲任意之資料形式的「any」型的 自變量,而在自變量「msg」則設定有指已收容有要傳到 主側物件之訊息之領域的指標》 自變量「SizeofMsg」係一爲用來特定出資料大小之資 料形式的「size_t j型的自變量,而在該自變量「 SizeofMsg」則設定有表示要傳到主側物件之訊息之大小的 値。 當發出該方法「SendWithRBox」時,如後所述,收容 了由主側物件之處理結果的資料領域「RBox」係由物件「 mCOOPMailer」所確保。該資料領域「RBox」係一收容了 請先閱讀背面之注意事寫本買 裝· 訂 -線· 本紙張尺度適用中國國家標準(CNS ) A4規格(2丨0X297公釐> -16- 424 194 ^ 經濟部中央標準局員工消费合作社印裝 A7 B7 五、發明説明(14 ) 客側物件將來所接受之結果的領域,而被稱爲未來(future )0 此外,該方法「SendWithRBox」,在將訊息送到主側 物件後’可得到爲用來特定資料領域「RB〇x」之資料形式 的「 R I D」型的識別子「rBoxID」。 該識別子 「 rBoxID J係 —在發出方法1 「SendWithRBox」時 ,用來特定出由物 件「 mCOOPMailer」 !所確保的資料領.域 「RBox」 的識別子 該方法「SendWithRBox」將爲表示錯誤碼之資料形式 的「sError」型的値當作返回値。亦即,當發出該方法「 SendWithRBox」時,若該方法「SendWithRBox」的處理尙 未正常結束時,則表示其原因的錯誤碼會當作返回値而返 回。此外,若處理正常地結束時,則表示處理已經正常結 束的値會當作返回値而返回。 2—2—2 Receive() sError Receive(in RID rBoxID, in any msg,in size_t sizeofMsg) 方法「Receive」係一用來讀取被儲存在資料領域「 RBox」之資料的資料讀取方法。亦即,該方法「Receive 」係使用在當客側物件發出方法「SendWithRBox」後,客 側物件接受主側物件之處理結果的情形。 自變量「rBoxID」係一爲用來特定資料領域「RBox」 之資料形式的「R I Dj型的自變量,在該自變量「 本紙張尺度通用中國國家梯率(CNS ) A4規格(2丨0X297公釐)_ 17 (請先閲讀背面之注意事項/如寫本頁) .裝_ -訂 4 24 194 J^ A7 B7 經濟部中央標準局員工消費合作社印裝 五、發明説明(15 )
rBoxID」則設定有用來特定收容有主側物件之處理結果的 資料領域「RB〇x」的識別子。亦即,在該自變量「rB0XID j設定有當發出方法「SendWithRBox」時所得到的識別子 〇 自變量「msg」係一爲任意資料形式之「any J型的自 變量’在該自變量「msg」則設定有指到用來收容所接受-之訊息之領域的指標。 自變量「SizeofMsg」係一爲用來特定資料之大小之資 料形式「size_t」型的自變量,在該自變量「SizeofMsgj 則設定有表示用來收容所接受之訊息之領域的大小的値。 該方法「Receive j將爲表示錯誤碼之資料形式的「 s Error」型的値當作返回値。亦即,當發出該方法「 Receive」時’若該方法「Receive」的處理尙未正常結束 時,則表示其原因的錯誤碼會當作返回値而返回。此外, 若處理正常地結束時,則表示處理已經正常結束的値會當 作返回値而返回。
2-2-3 ReplvO sError Reply (in any resultMsg, in size_t sizeOfResultMsg) 方法「Reply」係使用在當客側物件發出方法「 SendWithRBox」後,主側物件會將處理的結果退回客側物 件的情形。 ’ 自變量「resultMsg」係一爲任意之資料形式的「any i— i i n κ , I κ . 線 -Λ^/.- (請先閱讀背面之注意事項t寫本頁) 本紙張尺度適用中國國家標準(CNS ) Μ規格(210X297公釐) -18- 424194-^ A7 B7 五、發明説明(16 ) 」型的自變量,在該自變量「resultMs自」-則設定有指到已 收容了要傳到客側物件之訊息的領域的指標。 自變量「SizeofResultMsgj係一爲用來特定資料之大 小之資料形式的「size_t」型的自變量,而在該自變量則 設定有用來表示要傳到客側物件之訊息之大小的値。 該方法「Reply」將爲表示錯誤碼之資料形式的「 sError」型的値當作返回値。亦即,當發出該方法「Repiy 」時’若該方法「Reply」的處理尙未正常結束時,則表示 其原因的錯誤碼會當作返回値而返回。此外,若處理正常 地結束時,則表示處理已經正常結束的値會當作返回値而 返回β 經濟部中央標準局貝工消费合作社印製 -19- 經濟部中央標芈局負工消費合作社印裝 4 2 4 19 4;-^ A7 B7 - 五、發明説明(17 ) 自變量「destObjID」係一爲用來特定物件之資料形式 的「0 I D」型的自變量*在該自變量(destObjID )則設 定有用來特定權限委誤對象物件的値》 自變量「meth」係一爲用來特定方法之資料形式的自 變量,在該自變量則設定有用來特定已記述了所要求之處 理之權限委讓對象物件之方法的値。 自變量「msg」係一爲任意之資.料形式的「any」型的 自變量,在該自變量「msg」則設定有指到已收容了要傳 到權限委讓對象件之訊息的領域的指標。 自變量「SizeofMsg」係一爲用來特定資料之大小之資 料形式的「size_t」型的自變量,而在該自變量(
SizeofMsg )則設定有用來表示要傳到權限委讓對象物件之 訊息之大小的値。 該方#「Delegate」將爲表示錯誤碼之資料形式的「 sError」型的値當作返回値。亦即,當發出該方法「 Delegate」時,若該方法「Delegate」的處理尙未正常結束 時,則表示其原因的錯誤碼會當作返回値而返回。此外, 若處理已經正常結束時,則會將表示處理已經正常結束的 値會當作返回値而返回》
2-3 mDrive中間空間的A P I 上述操作系統爲了要在mDrive中間空間中利用未來( future )進行訊息傳遞,在記述在mDrive中間空間上動作 之物件時所使用的A P I ,則提供以下的方法。此外,在 (請先閱讀背面之注意事項寫本頁) 裝' 订 本紙張尺度適用_國國家標準(CNS ) Α4規格(210 X 29?公釐) -20- 經濟部中央標準局負工消費合作.杜印裝 ^ p 1 9 4 ,J ^ * A 7 ____—_^B7_'_ 螬五、發明説明(18) 此,ΑΡ Γ係根據在OMG I DL中之記述方法來表示 Q sError sendWithContinuation(in ODI destObjID,in Selector meth, in any msg, in size_t sizeofMsg, in Selector contMeth) sError Kick (in ContID contID, in any msg, in sze_t sizeofMsg) 以下則詳細地說明該些方法。 2 — 3 — 1 SendWithContinuationQ sError SendWithContinuation(in OID destObjID, in Selector meth, in. any msg, in size_t sizeofMsg, in Selector contMeth) 方法「SendWithContinuation」係一從客側物件,將訊 息送到主側物件的訊息傳送方法。該方法「 SendWithContinuation」係使用在客側物件,將訊息送到主 側物件後,接受在主側物件中的處理結果,而客側物件必 須要執行特定之方法(以下稱爲持續方法)的情形。 自變量「destObID」係一爲用來特定物件之資料形式 的「0 I D」型的自變量,在該自變量「destObID」則設 定有用來特定主側物件的値。 自變量「methj係一爲任意之資料形式之「Selector 」型的自變量,在該自變量「me th」則設定有用來特定已 記述了所要求之主側物件之方法的値。 (请先閱讀背面之注意事項ί寫本頁) -装- 訂 線· 本紙張尺度適用中國國家標準(CNS ) Α4規格(210X297公釐) 經濟部中央標準局貞工消费合作社印裝 4之4 1 9 4 壩 A7 87 五、發明説明(19 ) 自變量「msg」係一爲任意之資料形式的「any」型的 自變量,而在自變量「msg」則設定有指到已收容了要傳 到主側物件之訊息的領域的指標。 自變量「SizeofMsg」係一爲用來特定資料大小之資料 形式的「size_t」型的自變量,而在該自變量(sizeofMsg )則設定有表示要傳到主側物件之訊息之大小的値。 自變量「contMeth」係一爲用來特定方法之資料形式 的「seiector」型的自變量’而在該自變量則設定有用來特 定持續方法的値。 當發出該方法「SendWithContinuation」時,如後所述 ’藉由物件「mDriveMailer」確保資料領域「Continuation 」,而將針對持續方法的訊息儲存在該資料領域「 Continuation」。該資料領域係一儲存了客側物件未來要執 行之持續方法的訊息的領域,被稱爲未來(future )。 該方法「SendWithContinuation」將爲表示錯誤碼之資 料形.式的「sErr or」型的値當作返回値。亦即,當發出該 方法「S e n d W i t h C ο n t i n u a t ί ο η」時,若該方法「 SendWithContinuation」的處理尙未正常結束時,則表示其 原因的錯誤碼會當作返回値而返回。此外,若處理正常地 結束時,則表示處理已經正常結束的値會當作返回値而返 回。 - 2-3-2 kick() sEr.ror Kick (in ContID contID, in any msg, in size_t 本纸張尺度適用中國國家標準(CNS > A4規格(210X297公釐) -22- ---------t.------IT------^線 (請先閱讀背面之注意事項 Ci寫本耳} A24194;-, A7 ——__—_B7_ 螬 五、發明説明(20 ) sizeofMsg) 方法「Kick」係使用於當由客側物件發出方法「 SendWithContinuation」後,主側物件會讓客側物件執行特 續方法的情形。 自變量「contID」係一爲用來特定資料領域r Continuation」之資料形式的「c〇ntID」型的自變量,在該 自變量「comlD」則設定有當發出方法「
SendWithContinuation j時,用來特定由物件「 mDriveMailer」所確保之資料領域「Continuation」的識別 子。 自變量「msg」係一爲任意之資料形式之「any」型的 自變量’在該自變量「msg」則設定有指到要傳送到客側 物件之訊息的領域的指標。 自變量「SizeofMsg」係一爲用來特定資料之大小之資 ·*〇. 料形式「size_t」型的自變量,在該自變量r SizeofIV[sg」 則設定有表示要傳到客側物件之訊息之大小的値。 經濟部中央標準局貝工消费合作社印製 該方法「Kick」將爲表示錯誤碼之資料形式的「 sError」型的値當作返回値。亦即,當發出該方法「Kick 」時’若該方法「Kick」的處理尙未正常結束時,則表示 其原因的錯誤碼會當作返回値而返回。此外,若處理正常 地結束時,則表示處理已經正常結束的値會當作返回値而 返回》 2-4 使用在訊息傳遞上的資料領域 上述操作系統’當在mCOOP中間空間進行訊息傳遞時 • 23 · 本紙張尺度適用肀國國家榡羋(CNS) A4JDL格(210X297公釐) 424 I 94 ^ 7 4 A7 B7 經濟部中央樣隼局員工消费合作社印裝 五、發明説明(21 ) ,除了將資料領域「RBojc」當作未來(future )來使用外 ,爲了要從客側物件,將訊息傳到主側物件,乃使用資料 領域「DeliveryBoxA」。 又,上述操作系統,當在mDrive中間空間中進行訊息 傳遞時,除了將資料領域「Continuation」當作未來來使用 外,爲了要從客側物件,將訊息傳到主側物件,乃使用資_ 料領域「DeliveryBoxB」。 又,上述操作系統,則針對各物件確保儲存了用來管 理物件之執行狀態等之資訊的資料領域「Thread」,也將 針對未來的資訊儲存在該資料領域「Thread」。此外,在 mCO〇P中間空間以及mDrive中間空間上,貝IJ物件會進行所 請的單螺紋(single thread ),而使1個螺紋(thread )對 應於1個物件。此外該螺紋(thread )的資訊則當作甩來 管理物件_之執行狀態等的資料被儲椠在資料領域「Thread j 0 此外,該些資料領域「RBox」、「DeliveryBoxA」、 「Continuation」、「DeliveryBoxB」、「Thread」皆提供 訊息傳遞的功能,係一爲了要管理物件,由操作系統所使 用之資料領域,而由操作系統管理以避免被應用程式或是 裝置驅動器等直接地存取。 以下則詳細地說明該些資料領域。 2—4—1 Rbox 資料領域「RBox+j ’在發出方法「SendWithRBox」 請先閱讀背面之注意事項一,寫本頁 .裝. 訂 -線 本紙張尺度適用中國國家標準(CNS ) A4規格(210>C297公釐) -24 - m A7 B7 五、發明説明(22) 時,會爲物件「mCOOPMailer」所確保。藉由物件「 mCOOPMailer」來確保資料領域,具體地說係藉著產生具 有表1所示之屬性之等級class (以下稱爲等級「RBox」 )之例證(instance )來進行。此外,在表1中,在等級「 RBox」的屬性中,在對於要實現在mCOOP中間空間中之訊 息傳遞的基本形式爲必要的屬性中,只表示最小限度者,_ 當然也可以包含以外的屬性。 【表1】 Rb ox ThreadID creator bool ready void* resuItMsg t_size sizeOfResultMsg sError status 0¾ ..T,- (請先閱讀背面之注意事項W4寫本頁)
經濟部中央標準局貝工消费合作社印SL 如表1所示,等級「RBOX」具有爲用來特定針對各物 件所設定之資料領域「Thread j之資料形式的「Thread」 型的屬性「creator」β 又,等級「RBox」,其中儲存了作爲主側物件之處理 結果之資料的結果資料的領域,具有爲用於邏輯値之資料 形式之「bool」型的屬性「rea'dy」、爲表示指標之資料形 式的「void*」型的屬.性「resultMsg」、以及用來特定資料 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐> -25 經濟部中央標準局員工消費合作社印装 ^ 1 94 -J«l 424 ί 94-¾_:77 , . 五、發明説明(23 ) 之大小之資料形式的「size_t」型的屬性「_ sizeOfResuhMsg」。 又,等級「RBox」,其中儲存了用來表示主側物件之 狀態的領域,則具有爲表示錯誤碼之資料形式的「sError 」型的屬性。 在屬性「creator」乃設定有用來特定與成爲該資料镇 域「RBox」之產生源之物件(亦即,發出方法「 SendWhhRB〇x」之客側物件)呈對應之資料領域「Thread 」的識別子。此外,在mCOOP中間空間上,如上所述,物 件乃進行單螺紋(single thread )的動作,1個資料領域 「Thread」對應於1個物件。因此,當資料領域「Thread 」被屬性「creator」所特定時*則與此對應之客側物件也 會被特定。 在屬性「ready」則設定有表示由主側物件之處理的結 果是否回來的値。換言之,屬性「ready」係一表示從主側 物件退回客側物件的結果訊息是否準備好了的旗標。 在屬性「resultMsg」則設定有指到已儲存了作爲主側 物件的處理結果,而要傳到客側物件之領域的指標。 在屬性「sizeOfResultMsgj則設定有表示作爲主側物 件之處理結果,而要傳到客側物件之訊息之大小的値。 在屬性「status」則設定有作爲應該要通知客側物件的 資訊,而表示主側物件之狀態的碼•亦即,例如當發生阻 礙主側物件正常執行的例外情形時,若主側物件的處理未 正常地結束時,如後所述,會將主側物件的處理未正常結 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) ^ ~ ' (請先閱讀背面之注意事項f4寫本頁) -裝. -丁 _ Ί° 424134 ^ A7 B7 五、發明説明(24 ) 束的訊息從物件「mCOOPFaultHandler」通知物件「 mC〇〇PMailer」,而根據物件「mCOOPMailer」,將表示 客側物件之狀態的錯誤碼設定在屬性「status」。在屬性「 status」則設定有表示主側物件處理正常狀態下的値。 此外,當由客側物件發出方法「Receive」時,則參照 屬性「ready」,藉此來判斷根據主側物件的處理結果是否 已經退回。此外,當根據主側物件的.處理結果已經退回時 ’則參照屬性「vesultMsg j ,藉此可以特定出儲存了作爲 主側物件的處理結果,而要傳到客側物件之訊息的領域, 從該領域讀取由屬性「sizeOfResuItMsg」所表示之大小的 資料。藉此,可以讀取作爲客側物件的處理結果,而要傳 到客側物件的訊息,該訊息也會被傳到客側物件。 請 先 閱 背 δ 之 注 意 事 項 0 寫 本 頁 裝 訂 經濟部中夬標隼局貝工消費合作社印31 2 — 4 — 2 DeliveryBoxA 資料領域「DeliveryBoxAj ,在發出方法「 SendWithRBox」時,爲了要從客側物件,將資訊傳到主側 物件,乃爲物件「mCOOPMailer」所確保。藉由物件「 mCOOPMailer」來確保資料領域,具體地說係藉著產生具 有表2所示之屬性之等級class (以下稱爲等級「 DeliveryBoxA」).之例證(instance )來進行。此外,在表 1中,在等級.「DeliveryBoxA」的屬性中,在對於要實現 在mCOOP中間空間中之訊息傳遞的基本形式爲必要的屬性 中,只表示最小限度者,當然也可以包含以外的屬性。 線 本紙張尺度適用中國國家標準(CNS ) A4現格(2I0X297公釐) 經濟部t央標準局員工消费合作杜印製 424194 - A7 B7 五、發明説明(25) 【表2】 ... DelivervRnxA RID rBoxID void* msg t_size sizeOfMsg 却表2所示,等級「DeliveryBoxA」具有爲用來特定 資料領域「RBox」之資料形式的屬性「rBoxID」、爲表示 指標之資料形式之「void*」型的屬性「msg」、以及爲用 來特定資料之大小之資料形式的「size-t」的屬性「 sizeofMsg」。 在屬性「rBcxID 一則設定有用來特定在利用該資料領 域「Deli^eryBoxA」而進行之訊息傳遞中所使甩之資料領 域「RBox」的·識別子。 在屬性「msg」則設定有指到已儲存了從客側物件要 傳到主側物件之訊息之領域的指標。 在屬性「sizeofMsg」則設定了從客側物件要傳到主側 物件之訊息之大小的値》 使用藉由產生如此之等級「Delivery BoxA」的例證所 確保的資料領域「DeliveryBoxA」,當操作系統從客側物 件將訊息送到主側物件時,則有關資料領域「RB〇x」的資 訊可以與該訊息一起被送到主側物件。換言之,藉著使用 資料領域「DeliveryBoxA」,操作系統可以在mCOOP中間 本紙張尺度適用中國國家揉準(CNS ) A4规格(210X297公廣) 28- (請先閱讀背面之注意事項寫本頁) 、1·
T 五、發明説明(26 A7 B7 空間中同時處理訊息(message )與未來(future ) 2 — 4 — 3 Continuation 資料領域「Continuation」,在發出方法「 SendWithContinuation」時,爲了要儲椠有關持續方法的資 訊,乃爲物件「mDriveMailer」所確保。藉由物件「 mDriveMailer」來確保資料領域「Continuation」,具體地 說是藉由產生具有如表3所示之屬性的等級(以下稱爲等 級「Continuation」)之例證而進行°此外,在表3中,在 等級「Continuation」的屬性中’在對於要實現在mDrive 中間空間中之訊息傳遞的基本形爲必要的屬性中,只表示 最小限度,當然也可以包含以外的屬性。 【表
Continuation
ThreadID Selector creator meth 請 先 閱 讀 背 面 之 注 意 事 I裝 頁 訂 線 經濟部中央標隼局員工消費合作.杜印製 如表3所示,等級「Continuation」具有爲用來特定針 對各物件所設定之資料領域「Thread」之資料形式的「 ThreadID」型的屬性「creator」以及爲用來特定方法之資 料形式的「selector」型的屬性「meth」。 在屬性「creator」則設定有用來特定與資料領域「 本紙張尺度適用t國國家標準(CNS > A4規格(210 X 297公釐).29- 4 2 4 1 9 4 ;· A7 B7 五、發明説明(27)
Continuation」之產生源的物件(亦即,發出方法「 SendWithContinuation」之客側物件)對應之資料領域「 Thread」的識別子。此外,在mDrive中間空間上,如上所 述’物件會進行單螺紋(single thread )的動作。因此, 當根據屬性「cveator」來特定出資料領域「Thread」時, 則與此對^的客側物件也會被特定。 在屬性「meth」則設定有用來特定出客側物件之持續 方法的値。 此外,當主側物件發出方法「Kick」時,則會參照屬 性,藉此,可以特定出客側物件的持續方法,而使該持續 方法被起動=
2 — 4 — 4 Deli very BoxB 資料領域「DeliveryBoxB」,當發出方法「 SendWithContinuation」時,爲了要將資訊從客側物件傳到 主側物件,乃爲物件「mDriveMailer」所確保。藉由物件 「mDriveMailer」來確保資料領域「DeliveryBoxB」,具 體地說是藉由產生具有如表4所示之屬性的等級(以下稱 爲等級「DeliveryBoxB」)之例證而進行》此外,在表4 中,在等級「DeliveryBoxB」的屬性中,在對於要實現在 mDrive中間空間中之訊息傳遞的基本形爲必要的屬性中, 只表示最小限度,當然也可以包含以外的屬性。 請 閱 讀 背 面 之 注 意 事 項 裝 訂 經濟部中央標準局貞工消费合作社印製 本紙張尺度適用中國國家標準(CNS ) Α4規格(210X297公釐) -30- 經濟部中央標準局員工消费合作社印製 424 754**, 1 4 A7 B7 五、發明説明(28 ) r表4】 DeliveryBoxB ContID contID void * msg t_si ze sizeofMsg 如表4所示,等級「Deli very BoxB」具有爲兩來特定 出資料領域「Continuation」之資料形式的屬性「ContID 」、爲用來表示指標之資料形式的「void*」型的屬性「 msg」、以及爲用來特定出資料大小之資料形式的「Size_t 」型的屬性「sizeofMsg」。 在屬性「contID」則設定有用來特定出在利用資料領 域「DeliveryBoxB」而進行之訊息傳遞中所使用的資料領 域「Continuation」的識別子。 在屬性「msg」則設定有指到已儲了要從客側物件要 傳送到主側物件之訊息的領域的指標。 在屬性「sizeofMsg」則設定有表示從客側物件要傳到 主側物件之訊息的大小的値。 使用藉由產生如此之等級「DeliveryBoxB」的例證所 確保的資料領域「DeliveryBoxB」,當操作系統從客側物 件將訊息送到主側物件時,則有關資料領域「Continuation 」的資訊可以與該訊息一起被送到主側物件·》換言之,藉 者使用資料領域「De.UveryBoxB」,操作系統可以在 本紙張尺度適用中國國家標芈(CNS ) A4規格(2丨0 X 297公釐} -31 - I 1 裝 ml ^ 線 (請先閱讀背面之注意事項寫本頁) 41 94 明 A7 B7 ·# 五、發明説明(29 ) mD rive中間空間中同時處理訊息(message)與未來( future ) · 2-4-5
Thread 經濟部中央標準局負工消費合作社印31 如上所述,在mCOOP中間空間以及mDrive中間空間中 ’物件進行單螺紋(single thread)動作’而1個螺紋對 應於1個物件。各螺紋的資訊則當作用來管理物件之執行 狀態等的資訊,而被儲存在資料領域「Thread」內。亦即 ,操作系統可以針對各物件確保住儲存用來管理物件之執 行狀態等之資訊的資料領域「Thread」。 在該資料領域^ Thread」則儲存有例如有關物件是否 處於等待狀態或是可執行狀態的資料,以作爲用來管理物 件之執行狀態等的資料。又在該資料領域「Thread」則在 利用未來進行訊息傳遞時,儲存了有關該未來的資訊。 具體地說,當爲在mCOOP中間空間上動作的物件時, 則當利用未來進行訊息傳遞時,則在與該物件呈對應的資 料領域「Thread」中,則根據物件「COOPMailer」儲存用 來特定出使用在訊息傳遞之資料領域「RBox」的識別子Γ rBoxID j ,以作爲有關於未來的資訊。 又當爲在mDriv_e中間空間上動作的物件時,則當利用_ 未來進行訊息傳遞時,則在與該物件呈對應的資料領域「 Thread」中,則根據物件「mDriveMailer」儲存用來特定 出使用在訊息傳遞之資料領域「Continuation」的識別子「 contID」.β 請 閲 讀 背 。面 意奉 項 f 裝 訂 本紙浪尺度適用中國國家標準(CNS ) A4規格(210X297公釐) * 32 - 經濟部令央標準局貝工消费合作社印装 々 A7 ___'_ B7_ - 五、發明説明(30 ) 2-5 訊息傳遞 有關利用以上之方法以及資料領域所進行的訊息傳遞 ,則以具體的シ十y才爲例來詳細說明。 此外,在以下的說明中所參照的第3圖到第7圖係表 在訊息傳遞時之處理的流程或是訊息的處理等。在該些圖' 中,虛線箭頭係表在操作系統內之處·理的流程或是訊息的 處理,而實線箭頭係表從應用程式方面來看時的處理的流 程或是訊息的處理》 2-5-1 利用SendWithRBoxO的訊息傳遞 在mCOOP中間空間中,有關在使用方法「 SendWithRBox」時的訊息傳遞,則針對處理正常進行的情 形與發生例外情況的情形來加以說明。 2 - 5 - 1 - 1 正常處理時 在mCOOP中間空間中,有關使用方法「SendWithRBox 」時的訊息傳遞,請參照第3圖來說明未發生例外情況, 而處理正常進行的情形。 第3圖係表在mCOOP中間空間中之訊息傳遞的基本的 方案(scenariQ )爲一在mCOOP中間空間上當作應用程式 而動作的物件A與在mCOOP中間空間上當作應用程式而動 作的物件B之間,利用方法「SendWithRBox」進行訊息傳 遞時的方案。亦即,在本例中,物件A爲客側物件、物件 (請先閱讀背面之注意事項t^寫本頁) •裝. -It 本紙張尺度適用中國國家標隼(CNS ) ΑΊ規格(210X297公釐) -33- 經濟部令夬標準局員工消費合作社印製 424194:, A7 B7 一 五、發明説明(31 ) B爲主側物件。 如S T 1 — 1所示,當物件A發出方法「
SendWithRBox」時,則如虛線箭頭S T 1 — 2所示,處理 會移到物件「mCOOPMailer」,而在ST1 — 3中,根據 物件「mCOOPMailer」進行與方法「SendWithRBox」呈對 應的物理。 在此,物件「mCOOPMailer」,.首先會確保住儲存了 根據主側物件(在本例中是物件B )之處理結果的資料領 域「RBox」,且在該資料領域「RBoxj的屬性「creator j設定有用來特定出與物件A呈對應的·資料領域「Thread 」的識別子β 其次,物件「mC〇〇PMailer」則確保資料領域「 DeliveryBoxA」,而在該資料領域「DeliveryBoxA」則儲 存了用來特定出資料領域「RBox」的識別子「rBoxID」與 根據方法「SendWithRBox」而送來的訊息。 在此所謂在資料領域「DeliveryBoxA」儲存了用來特 定出資料領域「RBox」的識別子「rBoxID」,具體地說係 指將用來特定出資料領域「」的識別子「rBoxID」的 値設定在資料領域「DeliveryBoxA」的屬性「rBoxIDj 。 又所謂的在資料領域「DeliveryBoxA」儲存了根據方 法「SendWithRBox」所送來的訊息,具體地說係指除了將 方法「SendWithRBox」的自變量「msg」的値設定在資料 領域「DeliveryBoxA」的屬性「msg」外,也將方法「 SendWithRBox」的自變量「sizeOfMsgj的値設定在資料領 本紙張尺度適用中國國家標準(CNS ) A4规格(210父297公廣1 _ 3二 ^ (請先閲讀背面之注意事項o'寫本頁) -裝. _線. 經濟部中央橾準局負工消费合作社印袈 4 2 4 1 9 d 相 A7 _____B7____^ 五、發明説明(32 ) 域「DeliveryBoxA j 的屬性「SizeOfMsg」。 之後’物件「mCOOPMailer」,則如虛線箭頭S T 1 —4所不般,將儲存在資料領域「DeliveryBoxAj的資料 ,亦即,根據方法「SendWithRBox」所送來之訊息,以及 用來特定出所確保之資料領域「RBoxj的識別子「rB〇XID 」送到物件B,而起動物件B的方法。 此時,在物件B的方法只有收到.訊息,而識別子「 rBoxID」則被儲存在與物件B呈對應的資料領域「Thread 」β換言之,被傳到物件B的識別子「rBoxID」係處在操 作系統的管理下,當從應用程式方面來看時,被送到物件 B者則只有訊息。 此外,將被儲存在資料領域「DeliveryBoxAj的資料 ,則從物件「mCOOPMailer」被配送到物件B,在啓動物 件B的方法時,則物件B會根據方法「SendWithRBox」的 自變量「destObjID」被特定,而物件Β的方法則根據方法 「SendWithRBox」的自變量「meth」被特定。 當該些處理結束時,物件「mCOOPMailer」,如虛線 箭頭S T - 5所示*除了用來特定出所確保之資料領域「 RBox」的識別子「rBoxID」返回物件A外,也將表示處理 已正常結束的値,當作針對方法「SendWithRBox」的返回 値而返回物件A,而使得物件A處於可以持續執行的狀態 。藉此,物件A成爲可執行狀態,當有應該要執行的處理 殘留下來時,則會繼續執行該處理。 根據以上的處理,當從應用程式方面來看時,則如實 本紙張尺度適用t國國家樣準(CNS ) A4说格(210X 297公釐) .35- ' (請先閱讀背面之注意事項〇寫本頁) *裝. 訂 424 1 9Λ m A7 B7 經濟部中央標準局貝工消费合作杜印裝 五、發明説明(33 ) 線箭頭S T 1 — 6所示,將訊息從物件A配送到物件B ’ 而成爲物件A與物件B同時動作的狀態。 之後,如ST 1 _7所示,當物件A發出方法「 Receive」,則如虛線箭頭S T 1 — 8所示’處理會移到物 件「mCOOPMailer」,而在ST1 — 9中,根據物件「 mCOOPMailer」進行與方法「Receive」呈對應的處理。具 體地說,物件「mCOOPMailer」會參照根據方法「Receive -」的自變量「rBoxID」所特定出的資料領域「RBox」,若 根據物件B的處理結果被儲存在該資料領域「RBox」時, 則將該結果送到物件A,若根據物件B的處理結果未被儲 存在該資料領域「RBox」時,則將物件A從可執行狀態設 成等待狀態。 在本例中,在物件A發出方法「Receive」的階段,由 於物件B未發出方法「Reply」,因此,根據物件B的處理 ---- J , _ 結果尙未被儲存在資料領域「.RBox」。因此,物件「 mCOOPMailer」,會如虛線箭頭ST1 — 1 ◦所示,會將 根據物件B的處理結果尙未被儲存在資料領域「RBox」的 訊息通知物件A,而將物件A從可執行狀態設成等待狀態 〇 之後’如ST1 — 1 1所示,當物件B發出方法「 Reply」時,則如虛線箭頭S T 1 — 1 2所示,處理會移到 物件「mCOOPMailer」’而在ST1 — 13中,根據物件 「mCOOPMailer」進行與方法「Repiy」呈對應的處理。具 體地說物件「mCOOPMailer」,若物件A已發出方法「 (請先閱讀背面之注意事項寫本頁) :p .裝_ ,tr 本紙張尺度適用中國國家標準(CNS ) A4说格(210X29?公;^ ) -36- 4 2 4 1 9 4 :一 _ a? ^ B7 - 五、發明説明(34 )
Receive」時,則根據物件B的處理結果會送到物件A,若 物件A尙未發出方法「Receive」時,則將根據物件B的處 理結果儲存在資料領域^RBox」。 在本例中,在物件B發出方法「Reply」的階段,則物 件A已經發出方法「Receive」。因此,物件「 mCOOPMailer」,如虛線箭頭S T 1 — 1 4所示,則根據 物件B的處理的結果不會儲存在資料領域「RBox」,而會 直接送到物件A。此外,物件「mCOOPMailer」,若根據 物件B的處理結果送到物件A的處理正常地結束時,則如 虛線箭號ST1 - 1 5所示,表示該處理已經正常結束的 値,會當作針對方法「Reply」的返回値而返回到物件B, 而使物件B處於可繼續執行狀態。 根據以上的處理,當從應用程式方面來看時,則如實 線箭頭S Τ 1 - 1 6所示,根據物件Β的處理結果會被送 到物件A,而再度成爲物件Α與物件Β同時動作的狀態。 經濟部中央樣準局貝工消费合作社印製 此外,在第3圖的例子中,雖然是表示在發出方法「 Reply」之前已經發出方法「Receive」的情形,但是也有 在發出方法「Reply」後才發出方法「Receive」的情形。 當在發出方法「Reply」後才發出方法「Receive」的情形 ’則物件A不會成爲等待狀態,而會直接接受根據物件B 的處理結果。 亦即,當爲在物件B發出方法「Reply」後,物件A才 發出方法「Receive J的情形,則物件「mCOOPMailer」, 在物件B發出方法「Reply」的階段,會將根據物件B的處 -37- 本紙张尺度通用乍國國家標準(CNS ) A4規格(2丨0X297公釐) 五、發明说明(35 ) 理結果儲存在資料領域「RBox」,·而在物件A發出方法「 Receive」的階段,會從資料領域「RBox」讀取根據物件 B的處理結果,且將之傳到物件A。 此外,所謂將根據物件B的處理的結果儲存在資料領 域「RBox j ,具體地係指在資料領域「RBox」的屬性「 reday」設定有表示根據物件B的處理結果已回來的値,且 在資料領域「RBox」的屬性「resuUMsg」則設定有指到 儲存了將傳到物件A,而當作根據物件B的處理結果之訊 息之領域的指標,亦即,以方法「Reply」之自變量「 resultMsg」所表示的指標,且在資料領域「RBox」的屬性 「sizeOfResultMsg」,則設定有表示傳到物件A,而當作 根據物件B之處理結果之訊息的大小的値,亦即,以方法 「Reply」的自變量「sizeOfResultMsg」所表示的値。 經濟部中央標隼局負工消費合作社印製 此外,當從資料領域「RBox」讀取根據物件B的處理 結果,且將其送到物件A時,則物件「mCOQPMailer」, 首先會從根據方法「Receive」的自變量「rBoxID」所特 定出的資料領域「RBox」。,讀取該資料領域「RBox」 的屬性「.resultMsg」以及屬性「sizeOfResultMsg」,而從 屬性「resultMsg」所指示的領域讀取相當於由屬性「 sizeOfResultMsg」所表示之大小的資料。該資料則成爲從 物件B傳到物件A的訊息。此外,物件「mCOOPMailer」 ,Pll將如此所謂出的資料儲存到由方法r Receive」的自變 量「msg」所指示的領域內。在此,由方法「Receive」的 自變量「msg」所指示之領域的大小,.則是根據方法「 -38- 本紙張尺度適用中國國家標準(CNS )八4規格(210X 297公I ) 經濟部中央標準局員工.消費合作社印裝 4 2 4 i 9 4 -, 4 ' A7 __'_ B7_ ·五、發明説明(36 ) Receive」的自變量「SizeOfMsgj所設定。 根據以上的處理,在發出方法「Reply」後才發出方法 「Receive」的情形,則與在發出方法「Reply」之前發出 方法「Receive」的情形同樣地,根據物件B的處理結果會 被送到物件A,而再度成爲物件A與物件B同時動作的狀 態。 2 — 5 — 1 — 2 發生例外情形時 在mCOOP中間空間中,針對已使用了方法「 SendWithRBox」時的訊息傳遞,請參照第4圖來說明在根 據主側物件進行處理的途中,發生了會防礙到主側物件之 正常處理之執行的例外情況的情形》 第4圖係表在mCOOP中間空間中之訊息傳遞的基本的 方案,爲一在mCOOP中間空間上當作應用程式而動作的物 件A與在mCOOP中間空間上當作應用程式而動作的物件B 之間,利用方法「SendWithRBox」進行訊息傳遞時的方案 。亦即,在本例中,物件A爲客側物件、物件B爲主側物 件。此外,在本方案中,在根據物件A發出方法「Receive 」後,在物件B發生例外情況,而導致物件B不能夠動作 的情形。 在本方案中,在第4圖所示之各步驟中,由於到 ST2-1,ST2-2,ST2-3,ST2-4, S 丁 2 — 5,ST2-6,ST2-7,ST2-8, ST2 — 9 * ST2 — 10爲止的步驟係分別與第3.圖所 (請先閱讀背面之注意事項4.^._^'本頁) .裝· 訂 線 本紙張尺度通用中國國家標準(CNS ) A4说格(210X297公釐) -39- 424194 m A7 B7 經濟部中央樣準局員工消资合作社印梵 五、發明説明(37 ) 示之步驟 ST1 — 1 ’ ST1 — 2,ST1 — 3,ST1 -4'ST1-5»ST1-6>ST1-7>ST1-8,ST1 — 9,ST1 — 10相同,因此省略說明。 在此,在本方案中,經過到ST2- 1 0爲止的步驟 ,當物件A處於等待狀態,而物件B處於執行處理的狀態 時.,發生了會防礙到物件B之正常處理之執行的例外情況_ 的情形。 如ST2—11所示,當發生了會防礙到物件B之正常 處理之執行的例外情況時,則如虛線箭頭S T 2 _ 1 2所 示,處理會移到物件「mCOOPFaultHandler」,而在S T 2 一 1 3中,根據物件「mCOOPFaultHandler」進行一定的例 外處理。此外,物件「mCOOPFaultHandkr」,如虛線箭頭 S T 2 - 1 4所示,會將物件B因爲發生例外情況而變得 不能動作的訊息通知物件「mCOOPMailer」。 此時,物件A已經發出方法’「Receive」而成爲等待狀 態。在此,物件「mCOOPMailer」,則如虛線箭頭所示, 針對物件A,將表示物件B因爲發生例外情況而變成不能 動作之錯誤碼,當作針對方法「Receive」的返回値而返回 物件A,而使得物件A處於可繼續執行的狀態。藉此,物 件A成爲可執行狀態,而當殘留有應該要執行的處理時, 則持續執行該處理。 根據以上的處理,雖然物件A *當得自物件B時,會 無法接受到所期待的結果訊息,但是會將表示物件B變成 不能動作的錯誤碼接受作爲返回値,而再度成爲可執行狀 本紙張尺度適用中國固家標準(CNS ) Α4現格(210X297公;8Π -40- ---------裝— (請先閱讀背面之注意事項-r-^-.寫本頁)
,1T
經濟部中夬標隼局員工消费合作社印製 五、發明説明(38 ) 態。此時,物件A會進行與此狀態對應之繼續的處理。 在此,與此狀態對應之繼續處理可爲例如將在物件B 發生例外情況的訊息顯示在畫像顯示裝置,而要求使用者 實施重置的處理,或是例如經由網路等從外部下庫成爲取 代B的物件,而再度嘗試訊息傳遞的處理等。 此外,在第4圖的方案中,係以在根據物件A發出方_ 法「Receive」後才在物件B發生例外情況的情形爲例,但 是也可以考慮到物件A發出方法F Receive」之前已經在物 件B發生例外情況的情形。 當爲在物件A發出方法「Receive」的前已經在物件B 發生例外情況的情形時,則物件「mCOOPMailer」,在資 料領域「RBox」的屬性「status」設定有表示物件B因爲 發生例外情況而變成不能動作的錯誤碼。 此外,在物件A發出方法「Receive」的階段,物件「 mCOOPMailer」會讀取被設定在資料領域「RBox」之屬性 「status」的錯誤碼,而將該錯誤碼當作針對方法「 Receive」的返回値而返回物件A,而將物件A設成可持續 執行的狀態。藉此,與上述的方案,同樣地,物件A成爲 可執行狀態,當殘留有應該要進行的處理時,則會繼續執 行該處理。 如此般,藉著在資料領域「RBox」的屬性「 stutus J 設定了表示物件B因爲發生例外情況而變成不能動作的錯 誤碼,則當物件A發出方法「Receive」時,則不會成爲不 需要的等待狀態,即可以立即地通知物件B因爲發生例外 (請先閱讀背面之注告筆項寫本頁) 裝_
,1T 本紙張尺度適用中國國家標準(CNS ) A4说格(210X297公釐) •41 - 經濟部中央捸隼扃負工消費合作社印製 24194^1 ^ A7 __ ' B7 - 五、發明説明(39 ) 情況而變成不能動作的訊息。 在以上的方案中,雖然是以在物件B發生例外情況的 情形爲例,但是即使是其他以外的情形,當不知何種原因 而使得結果訊息無法返回到物件A時,則將錯誤碼設定在 資料領域「RBox」的屬性「status j 。藉此,當不知何種 原因使得結果訊息無法返回到物件A時,可以使錯誤碼返_ 回到物件A,而能夠使物件A從等待.狀態回復到可執行狀 態,而能夠避免物件A成爲等待狀態而導致系統停止的情 形。 2-5-2 利用DelegateO的訊息傳遞 在mCOOP中間空間中係利用方法「Delegate」來進行 。請參照第5圖來說明在根據主側物件之處理要求的接受 口與出口爲不同之構成中的訊息傳遞情形β 第5圖係表在mCOOP中間空間中之訊息傳遞的方案, 係一在mCOOP中間空間上當作應用程式動作之物件a,物 件B以及物件C之間的訊息傳遞情形,係表物件b將回答 權限委讓給物件C時的方案。 亦即,在本例中,物件A爲客側物件,物件b以及物 侔C爲主側物件。此外,使處理的結果退回物件a的權限 ,則從物件B被委讓給物件C。亦即,物件b除了是主側 物件外,同時也是權限委讓原物件,而物件C除了是主側 物件外,同時也是權限委讓對象物件。 如ST 3 - 1所示,當物件A發出方法「 本紙浪尺度適用中國國家標準(CNS ) Α4規格(210X297公釐) -42- (請先閣讀背面之注意事項寫本頁) 裝· 訂 五、發明説明(40 )
SendWithRBox」時,如虛線箭頭ST3 — 2所示,處理會 移到物件「mCOOPMailer」,而在S T 3 - 3,根據物件 「mCOOPMailer」進行與方法「SendWithRBox」呈對應的 處理。 在此’物件「mCOOPMailer」,首先會確保用來儲存 根據主側物件之處理結果的資料領域「RB〇x」,而在該資 料領域「RBox」的屬性「creat〇r y .,則設定有用來特定出 與物件A呈對應之資料領域「Thread」的識別子。 其次,物件「mCOOPMailer」則確保資料領域「 DeliveryBojcA」’而在該資料領域內儲存用來特定出資料 領域「RBox」的識別子「rBoxID」與根據方法「 SendWithRBox」被送來的訊息。 在此,所請的在資料領域「DeliveryBoxA」內儲存用 來特定出資料領域「RBox」的識別子「rBoxID」,具體地 ~^· ―, Λ·.. · 說是指在資料領域「DeliveryBoxA」的屬性「rBoxID」設 定有用來特定出資料領域「RBox」的識別子「rBoxID」的 値。 經濟部中央橾準局貝工消費合作社印裝 又所謂的在資料領域.「DeliveryBoxA」內儲存根據方 法「SendWithRBox」被送來的訊息,具體地說是指除了在 資料領域「DeliveryBoxA j的屬性「msg」設定有方法「 SendWithRBox」的自變量「msg」的値外,也在資料領域 「DeliveryBoxA」的屬性「size〇fMsg設定有方法「 SendWithRBox」之自變量「siZe〇fMsg」的値= 之後,物件「mCOOPMailer」會將儲存在資料領域Γ 本紙張尺度通用中國國家橘準(_CN_S ) Α4規格(2丨0x297公釐)~~.43- A7 B7 7Λ 五、發明説明(41 )
De丨iveryBoxA」的資料,亦即,根據方法「SendWithRBox j所送來的訊息與用來特定出所確保之資料領域「RBox」 的識別子「rBoxID」’如虛線箭頭S T 3 — 4所示配送到 物件B,而使物件B起動。 此時,在物件B的方法中只傳送訊息,而識別子「 rBoxID」則被儲存在與物件B呈對應的資料領域「Thread' 」。換言之,被傳到物件B的識別子.「rBoxID」係在操作 系統的管理下,當從應用程式方面來看時,被配送到物件 B者只有訊息而已。 此外,將被儲存在資料領域「DeliveryBoxA」的資料 ,則從物件「mCOOPMailer」配送到物件B,在使物件B 的方法起動時,則物件B會被方法「SendWithRBox」的自 變量「destObjID」所特定,而物件B的方法則爲方法「 SendWithRBox」的自變量「meth」所特定。 當該些處理結束時,物件「mCOOPMailer」,除了如 虛線箭頭S T 3 - 5所示,使用來特定出所確保之資料領 域「RBox」的識別子「rBoxID」返回物件A外,也將表示 處理已正常結束的値當作針對方法「SendWithRBox」的返 回値而返回到物件A,而將物件A設成可以繼續執行狀態 。藉此,物件A成爲可執行狀態,當殘留有應該要進行的 處理時,會持續地執行該處理。 .根據以上的處理,當從應用程式方面來看時,如實線 箭頭S T 3 — 6所示,訊息係從物件A被配送到物件B , 而成爲物件A與物件B同時動作的狀態。 請 先 閱 讀 背 ί 華 項 募裝 訂 經濟部中央標準局員工消費合作社印裝 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公疫) -44 - 經濟部中央標準局貝工消費合作社印製 4 2 4 19 4; a? B7 五、發明説明(42 ) 之後,如ST3 — 7所示,當物件A發出方法「 Receive」時,如虛線箭頭ST3 — 8所示,處理會移到「 mCOOPMailer」,而在S T 3 — 9中,根據物件「 mCOOPMailer」進行與方法「Receive」呈對應的處理。具 體地說,物件「mCOOPMailerj會參照由方法「Receive」 的自變量「rBoxID」所特定出的資料領域「RBox」,若根 據主側物件的處理結果被儲存於該資.料領域「RBox」內時 ,則會將其結果送到物件A,若根據主側物件的處理結果 未被儲存於該資料領域「RBox」內時,則將物件A從可執 行狀態設成等待狀態。 在本例中,在物件A發出方法「Receive」的階段,由 於主側物件未發出方法「Reply」,因此,根據主側物件的 處理結果尙未被儲存在資料領域「RBox」。因此,物件「 mCOOPMailer」,會如虛線箭頭S T 3 — 1 0所示,將根 據主側物件之處理結果尙未被儲存於資料領域「RBox」內 的訊息通知物件A,而將物件A從可執行狀態設成等待狀 態。 之後,如ST3 — 1 1所示,當物件B發出方法「 Delegate」時,如虛線箭頭S T 3 — 1 2所示,處理會移到 物件「mCOOPMailer」,而在ST3 — 13中,根據物件 「mCOOPMailer」進行與方法「Delegate」呈對應的處理 具體地說,物件「mCOOPMailer j首先會確保資料領 域「DeliveryBoxA」。此外,物件「mCOOPMailer」則讀 本紙張尺度通用中國國家標準(CNS ) A4規《格(210X297公釐) ---------裝-- (請先閲讀背面之注意事項tls'·本頁) 訂 經濟部中央標孪局員工消費合作杜印裝 42^94;-^ A7 ____B7 五、發明説明(43 ) 出被儲存在與物件B呈對應之資料領域「Thread」內的識 別子「rBoxID」’且將該識別子「rBoxID」的値設定在資 料領域「DeliveryBoxA」的屬性「rBoxID」。 此時’被儲存於與物件B呈對應之資料領域「Thread 」的識別子「rBoxID」會被消去,藉此,物件B會喪失回 答權限。亦即’物件B因爲發出方法r Delegate」而喪失· 回答權限,而該回答權限被委讓給物.件C。此外,由於物 件B喪失回答權限,因此無法發出方法「Repiy」。換言之 ,物件B乃取代方法「Reply」,而改發出方法「Delegate j ° 又,物件「mCOOPMailerj ,則在資料領域「 DeliveryBoxA」也儲存根據方法「Delegate」被送來的訊息 **在此所謂的在資料領域「DeliveryBoxA」內儲存1 艮據方 法「Delegate」所送來的訊息,具體地說是指除了在資料 領域「DeliveryBoxA」的屬性「msg」設定有方法「 Delegate」的自變量「msg」的値外,也在資料領域广 De丨iveryBoxAj的屬性「size〇fMsgj設定有方法「
Delegate」的自變量「size〇fMsg」的値。 之後’物件「mCOOPMailer」會將儲存在資料領域r DeliveryBoxA」的資料,亦即,根據方法r Delegate」所送 來的訊息與用來特定出資料領域「RBox」的識別子「 rBoxID」’如虛線箭頭S T 3 _ 1 4所示配送到物件C, 而使物件B的方法起動。 此時,在物件C的方法中只傳送訊息,而識別子「 本紙張尺度適用中国國家標準(CNS )A4規格(210X 297公釐) -46- ---------裝-- (請先閱讀背面之注意事碩^v"·本頁) 訂 .嫌‘ Ο A7 B7 五、發明説明(44 ) rBoxID」則被儲存在與物件C呈對應的資料領域「Thread 」。換言之,被傳到物件C的識別子「rBoxID」係在操作 系統的管理下,當從應用程式方面來看時,被配送到物件 B者只有訊息而已。 此外,將被儲存在資料領域「DeliveryBoxA」的資料 ,則從物件「mCOOPMailer」配送到物件C,在使物件C' 的方法起動時,則物件C會被方法「. Delegate」的自變量 「destObjID」所特定,而物件C的方法則被方法「 Delegate j的自變量「meth」所特定。 當該些處理結束時,物件「mCOOPMailer」,除了如 虛線箭頭S T 3 — 1 5'所示,將表示處理已正常結束的値 當作針對方法「Delegate」的返回値而返回到物件B,而 將物件B設成可以繼續執行狀態。藉此,物件B成爲可執 行狀態,當殘留有應該要進行的處理時,會持續地執行該 處理。 根據以上的處理,當從應用程式方面來看時,如實線 箭頭ST3—16所示,回答權限係從物件B被委讓給物 件C,而成爲物件B與物件C同時動作的狀態。 之後,如ST3 — 1 7所示,當物件C發出方法「 Reply」時,如虛線箭頭ST3 — 1 8所示,處理會移到「 mCOOPMailer j ,而在ST3—19中,根據物件「 mCOOPMailer」進行與方法「Reply」對應的處理。具體地 說,物件「mCOOPMailer」,若物件A已經發出方法「 Receive」時,則會將根據物件C的處理結果送到物件A * 本紙張尺度適用中國國家標隼(CNS)A4規格(2!OX297公釐).47 U3 诗先閱讀背面之注意事項C3寫本頁 、° 經濟部中央標準局負工消费合作社印31 A7 B7 五、發明説明(45 ) 若物件A尙未發出方法「Receive」時,則將根據物件C之 處理結果儲存在資料領域「RBox」。 在本例中,在物件C發出方法「Reply」的階段,則物 件A已經發出方法「Receive」。因此,物件「 mCOOPMailer」,如虛線箭頭S T — 2 0所示,根據物件 C的處理結果不會儲存在資料領域「RBox」,而直接傳到 物件A »此外,物件「mCOOPMailer.」,若根據物件C的 處理結果傳到物件A的處理正常結束時.,則如虛線箭頭 S T - 2 1所示,將表示該處理已經正常結束的値,當作 針對方法「Reply」的返回値而返回物件C,而將物件C設 成可繼續執行狀態。藉此,物件C成爲可執行狀態,當殘 留有應該要進行的處理時,則繼續執行該處理。 根據以上的處理,當從應用程式方面來看時,則如實 線箭頭S T 3 — 2 2所示,則根據物件C的處理結果會被 傳到物件A,而成爲物件A與物件C同時動作的狀態。 經濟部中央標準局貝工消費合作社印製 (請先閱讀背面之注意事項^^寫本頁) 此外,在第5圖的例中,雖然是表示在發出方法「 Reply」之前已經發出方法「Receive」的情形,但是也有 在發出方法「Reply」後才發出方法「Receive」的情形。 當在發出方法「Reply」後才發出方法「Receive」的情形 ,則物件A不會成爲等待狀態,而會直接接受根據物件C 的處理結果。 亦即,當爲在物件C發出方法「Reply」後,物件A才 發出方法「Receive j的情形,則物件「mCOOPMailer」, 在物件C發出方法「Reply」的階段,會將根據物件C的處 本紙張尺度適用f國國家標準(CNS ) A4規格(210X297公釐)-48
424194, A 4 A 7 __ B7 五、發明説明(46 ) 理結果儲存在資料領域「RBox」,而在物件a發出方法「 Receive」的階段,會立即從資料領域「RBox」讀取根據 物件C的處理結果,且將之傳到物件a。 此外’所謂將根據物件C的處理的結果儲存在資料領 域「RBox」’具體地係指在資料領域「rBox」的屬性「 reday」設定有表示根據物件C的處理結果已回來的値,且 在資料領域「RBox」的屬性「resultMsg」則設定有指到 儲存了將傳到物件A ’而當作根據物件c的處理結果之訊 息之領域的指標,亦即,以方法「Reply」之自變量「 resultMsg」所表示的指標,且在資料領域「rbox」的屬性 「sizeOfResultMsg」,則設定有表示傳到物件A,而當作 根據物件C之處理結果之訊息的大小的値,亦即,以方法 「Reply」的自變量「sizeOfResultMsg j所表示的値。 經濟部令夹橾準局員工消费合作社印策 此外,當從資料領域「RBox」讀取根據物件C的處理 結果,且將其送到物件A時,則物件「mCOOPMailer」, 首先會從根據方法「Receive j的自變量「rBoxID」所特 定出的資料領域「RBox」。,讀取該資料領域「RB〇x」 的屬性「resultMsg」以及屬性r sizeOfResultMsg」1而從 屬性「resultMsg」所指示的領域讀取相當於由屬性「 sizeOfResultMsg」所表示之大小的資料。該資料則成爲從 物件C傳到物件A的訊息。此外,物件「mCOOPMailer」 ,則將如此所謂出的資料儲存到由方法「Receive」的自變 量「msg」所指示的領域內β在此,由方法「Receive」的 自變量「msg」所指示之領域的大小,則是根據方法「 本紙浪尺度適用中國國家標準(CNS ) A4規格(210X297公ft ) _ 49 - 經濟部中央標準局負工消費合作社印裳 414194·^ 4 A7 ____B7_'_ * 五、發明説明(47 )
Receive」的自變量「SizeOfMsg」所設定。 根據以上的處理,在發出方法「Reply」後才發出方法 「Receive」的情形,則與在發出方法「Reply」之前發出 方法「Receive」的情形同樣地,根據物件C的處理結果會 被送到物件A,而再度成爲物件A與物件C同時動作的狀 態。 如上所述,在記載物件時所使用.的A P I ,藉著導入 方法「Delegate」,當主側物件係由多個物件所構成時, 可以在該些物件之間進行回答權限的委讓。換言之,藉著 導入方法「Delegate」,即使主側物件係由多個物件所構 成,且處理要求的接受口與出口不同時*也可以適切地進 行訊息傳遞β 又當導入方法「Delegate」時,當在構成主側物件之 物件之間進行回答權限之委讓之際,則在應用程式方面並 不需要音識到資料領域「RBox」以及用來特定出該資料領 域「RBox j的識別子「rBoxID」。因此,藉著導入方法「 Delegate」,可以容易開發出應用程式。 此外,在藉由方法「Delegate」而委讓回答權限的物 件(在上述的例中爲物件C ),則當因爲發生例外情況, 而成爲不能動作狀態,而變得無法求得結果時,則根據與’ 第4圖所示之方案同樣的方案來進行例外處理。 .亦即,在第5圖所示的例中,在根據方法「Delegate 」被委讓回答權限的物件C正在執行時,若該物件C因爲 發生例外情況變得不能動作,而無法求得結果時,則處理 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐)_ 50 - (請先閱讀背面之注意事項寫本頁) .裝. 訂 Α7 Β7 經濟部中央標準局負工消費合作社印裝 五、發明説明(48 ) 會移到物件「mCOOPFauUHancUer」,根據物件「 mCOOPFaultHandler」進行一定的例外處理,而將物件C因 爲發生例外情況變得不能動作的訊息,從物件「 mCOOPFaultHandler」通知到物件「mCOOPMailer」。 此時,若物件A已經發出方法「Receive」而成爲等待 狀態時,物件「mCOOPMailer」乃將表示物件C因爲發生 例外情況變得無法動作的錯誤碼,當.作針對方法「Receive 」的返回値返回物件A,而將物件A設成可以繼續執技的 狀態。藉此,物件A成爲可以執行的狀態,當殘留有應該 要進行之處理時,則會繼續執行該處理。 又當在物件A發出方法「Receive」之前,已經在物件 C發生例外情況時,物件「mCOOPMailer」會在資料領域 「RBox j的屬性「Status」設定有表示物件C因爲發生例 外情況而變得不能動作的錯誤碼。此外,在物件A已發出 方法「Receive」的階段,物件「mCOOPMailer」會讀取被 設定在資料領域p RBox」的屬性「Status」的錯誤碼,而 將該錯誤碼當作針對方法「Receive」的返回値而返回物件 A,將物件A設成可以繼續執行的狀態β藉此,物件A成 爲可以執行狀態,當殘留有應該要進行的處理時,會繼續 執行該處理 根據以上的處理,根據方法「Delegate」被委讓回答 權限的物件C,即使是不知何種原因導致結果訊息無法返 回物件A時,而可以使物件A從等待狀態回復到可以執行 狀態,能夠避免物件A成爲等待狀態而導致系統停止的情 请 先 閱 讀 背 之 注 意 事 項 ί裝 頁 訂 本紙浪尺度適用中國國家標孪(CNS > Α4規格(210 X 297公釐) 經濟部中央標準局貝工消费合作社印製 五、發明説明(49 ) 形。 2-5-3 使用 SendWithContinuationO的訊息傳遞 請參照第6圖來說明在mDrive中間空間中使用方法「 SendWithContinuation」時的訊息傳遞。 .第6圖係表在mDrive中間空間中之訊息傳遞的基本的_ 方案(scenariQ )爲一在mDrive中間空間上當作裝置驅動 器而動作的物件A與在mDrive中間空間上當作裝置驅動器 而動作的物件B之間,進行訊息傳遞時的方案。亦即,在 本例中,物件A爲客側物件、物件B爲主側物件。 此外,在第6圖中,將發出方法「 SendWithContinuation」之物件A的方法以「A : : A 1」 來表示。又除了根據方法「SendWithContinuation」而起動 外,也將發出方法「Kick」之物件的方法以「B:B1」 來表示。又根據方法「Kick」而起動之物件A的方法,亦 即,繼續方法以「A::A2」來表示。 如ST4—1所示,當物件A在方法「A: :A1」 中發出方法「SendWithContinuation」時,如虛線箭頭 ST 4 — 2所示,處理會移到物件「mDriveMaile〆」,而 在ST4— 3中,根據物件「mDriveMailer」進行與方法 「SendWithContinuation」呈對應的處理。 在此,物件「mDriveMailer」’首先會確保資料領域 「C ο n t i n u a t i ο η」,而在該資料領域「C ο n t i n u a t i ο η」儲存 有關繼續方法的資訊。在此所謂的在資料領域「 (請先閲讀背面之注意事項-r'^寫本頁) -裝 *1Τ 線 本紙張尺度通用中國国家梯準(CNS ) Λ4说格(2丨0X297公釐).52 經濟部中央標準局員工消費合作社印袈 424 19 4' A7 _ > B7 五、發明説明(50 )
Continuation」儲存有關繼續方法的資訊,具體地說係指除 了在資料領域「Continuation」的屬性「creator」設定有 用來特定出與物件A呈應的資料領域「Thread」外,也在 寶料領域「Continuation」的屬性「meth」則設定有方法 「SendWithContinuation」的自變量「contMeth」的値。 又,物件「mDriveMailer」則會確保資料領域「 DeliveryBoxB」,而在該資料領域「.DeliveryBoxB」則儲 存用來特定出資料領域「Continuation」的識別子「contlD 」以及根據方法「SendWithContinuation」送來的訊息。在 此所謂的在資料領域「DeliveryBoxB」儲存用來特定出資 料領域「Continuation」的識別子「contID」,具體地說是 指在資料領域「DeliveryBoxB」的屬性「contID」設定了 用來特定出資料領域「Continuation」的識別子「contID」 的値。又所謂的在資料領域「DeliveryBoxB」儲存了根據 方法「SendWithContinuation」所送來的訊息,具體地說係 指除了在資料領域「DeliveryBoxB j的屬性「msg」設定 有方法「SendWithContinuation」的自變量「msg」的値外 ’也在資料領域「DeliveryBoxB」的屬性設定有方法「 SendWithContinuation」的自變量「sizeOfMsg」的値。 之後,物件「mDriveMailer」會如虛線箭頭S T 4 _ 4所不般’將儲存在資料領域「DeliveryBoxB」的資料, 亦即,根據方法「SendWithContinuation j所送來的訊息與 用來特定出資料領域「Continuation」的識別子「contID」 配送到物件B,而使物件B的方法「B : : B 1」起動。 本紙張尺度適用中國國家標準(CNS ) A4規格(2I0X297公釐) -53- (請先閱讀背面之注意事項厂%寫本頁) 裝. 訂 424 1 94 at _ _B7 _·_^ 五、發明説明(51 ) 請 先 閱 讀 背 之 注 意 事 項 D 寫 本 此外,則將被儲存在資料領域「DeliveryBoxB」的資 料1從物件「m D r i v e M a i I e r」配送到物件B,在使物件B 的方法「B::B1」起動之際,物件B會爲方法「 SendWithCoiUinuation」的自變量「destObjID」所特定,而 物件B的方法「B : : B 1」則爲方法「
SendWithContinuation」的自變量「meth」所特定。 當該些處理結束時,物件「.mCOOPMailer」,會如虛 線箭頭S T 4 - 5所示,將表示處理已正常結束的値當作 針對方法「SendWithContinuation」的返回値而返回到物件 A,而將物件A設成可以繼續執行狀態。藉此,物件A成 爲可執行狀態,當殘留有應該要進行的處理時,會持續地 執行該處理。 根據以上的處理,當從應用程式方面來看時,如實線 箭頭S T 4 - 6所示,訊息係從物件A被委讓給物件B, 而成爲物件A與物件B同時動作的狀態。 之後,物件B則執行方法「B : : B 1」,若由物件 經濟部甲央橾準局負工消费合作社印裝 A所要求的處理結束時,則如S T 4 — 7所示發出方法「 Kick」。當發出方法「Kick」時,如虛線箭頭ST4 — 8 所不,處理會移到物件「mDriveMailer」,而在S T 4 -9中,根據物件「mDriveMailer」進行與方法「Kick」呈 對應的處理。 具體地說,物件「mDriveMailer」,首先會根據方法 「Kick」的自變量「c〇ntID來特定出資料領域「 Continuation」,而讀出被儲存在該資料領域「 本紙張又度適用中國固家橾準(CNS >从说格(210X297公釐) -54- 經濟部中央樣準局貝工消费合作社印装 4241Θ4 / Α7 _____Β7 五、發明説明(52 )
Continuation」內的資訊。 此時,在資料領域「Continuation」,則設定了用來特 定出與物件A呈對應的資料領域「Thread」之識別子的値 以作爲屬性「creator」。藉此,物件「mDriveMailer」會 特定出物件A以作爲針對方法「Kick」應該要起動的物件 。又在資料領域「Continuation」則設定有用來特定出方法 「SendWithContinuation」之自變量「contMeth」的値,亦 即,繼續方法「A : : A 2 j以作爲屬性「meth」。藉此 ,物件「mDriveMailerj會特定出方法「A : : A 2」以 作爲針對方法「Kick」應該要起動的繼續方法。 此外,物件「mDriveMailer」,會如虛線箭頭S T 4 —1 0所不,將根據被儲存在資料領域「Continuation」的 資訊所特定出的物件的方法,亦即,物件A的方法「A : :A 2」當作繼續方法而起動。此外,在起動繼續方法「 Α· _A2」之際’被送到該繼續方法「A::A2」的 訊息則根據方法「Kick」的自變量「msg」、「sizeOfMsg 」而被特定。 當該些處理結束時,物件「mCOOPMailer」,若物件 A之繼續方法「A : : A2」的起動正常結束時,會如虛 線箭頭ST4 — 1 1所示,將表示方法「Kick」的處理已 正常結束的値當作針對方法「Kick」的返回値而返回到物 件B,而將物件B設成可以繼續執行狀態。藉此,物件B 成爲可執行狀態,當殘留有應該.要進行的處理時,會持續 地執行該處理· 本紙張尺度適中國國家標芈(CNS ) A4规格(2丨0X297公釐)_ cc _ (請先閱讀背面之注意事項Γν寫本頁) 裝·
•1T 線 經濟部中央標準局負工消费合作社印裝 五、發明説明(53 ) 根據以上的處理,當從裝置驅動器方面來看時,如實 線箭頭ST4 — 12所示,物件A之繼續方法「A:: A2」會根據物件B被起動,而再度成爲物件A與物件B 同時動作的狀態。 2-5-4 在不同的中間空間之間的訊息傳遞 請參照第7圖來說明在Meoop中.間空間與mDrive中間 空間之間,利用方法「Delegate」進行訊息傳遞的情形。 第7圖係表在不同中間空間之間之訊息傳遞的方案, 係指在mCOOP中間空間上當作應用程式動作之物件A、在 mC〇〇P中間空間上當作應用程式動作的物件B、以及在 niDrive中間空間上當作裝置驅動器動作之物件C之間的訊 息傳遞情形,係表示物件B將回答權限委讓給物件C時的 方案。 亦即,在本例中,物件A爲客側物件,物件B以及物 件C爲主側物件。此外,將處理結果退回物件A的權限則 從物件B委讓給物件C。亦即,物件B除了是主側物件外 ,也同時是權限委讓原物件,又,物件C除了是主側物件 外,也同時是權限委讓對象物件。 在本方案中’在第7圖所示的各步驟中,到S T 5 — 1,ST5-2,ST5-3,ST5-4,ST5-5 'ST5-6 * ST5-7,ST5-8,ST5-9, S T 5 — 1 0爲止的步驟,由於分別與第5圖所示的步驟 ST3-1 ’ ST3-2 ,ST3 — 3 ,ST3-4 , 本紙張尺度適用中國國家揉準(CNS > A4規格(210X297公潑) -56- (請先閱讀背面之注意事項寫本頁) -裝· A7 87 4 2 4 13 4 ^ ^ •5 五、發明説明(54 ) ST3 - 5,ST3 — 6,ST3-7,ST3-8, ST3 — 9,ST3 — 10相同,因此省略其說明。 (請先閱讀背面之注意事項寫本頁) 此外,在本方案中,經過到ST5 - 1 〇爲止的步驟 ,物件A處於等待狀態,當物件B成爲正在執行處理的狀 態時,則物件B,爲了要委讓回答權限,乃發出方法「 Delegate」〇 如ST5 — 11所示,當物件B.發出方法「Delegate 」時,如虛線箭頭ST5 - 1 2所示,處理會移到物件「 mCOOPMailer」,而在ST5 — 13中,根據物件「 mCOOPMailer」進行與方法「Delegate」呈對應的處理。 經濟部中夬標準局貝工消費合作社印装 此時,物件「mCOOPMailer」會判斷權限委讓對象物 件是否是在Mcoop中間空間上動作的物件。當權限委讓對 象物件是在mCOOP中間空間上動作的物件時,則根據第5 圖所示的方案進行處理。然而在本例中,權限委讓對象物 件並不是一在mCOOP中間空間上動作的物件,而是一在 mDrive中間空間上動作的物件,因此會如虛線箭頭S T 5 -14所示,將處理從物件「mCOOPMailer」移到物件「 mDriveMailer」。 此外,處理由物件r mCOOPMailer」移到物件「 mDriveMailer」係經由微核心「micro kerne」而進行。具 體地說,首先,物件「mCOOPMailer」會根據方法「 Delegate」的自變量「destObjID」而判斷出權限委讓對象 物件所動作之中間空間是mDrive中間空間。之後’物件「 mCOOPMailer,則利用微核心的功能’將處理委讓給作爲 本紙張尺度適用中國國家標準(CNS > A4規格(2丨0X2D7公釐).57 - 9 4 A7 B7 經濟部中央樣準局貝工消費合作社印製 五、發明説明U5 ) 負責有關在mDrive中間空間上動作之物件之訊息傳遞的中 間物件的物件「mDriveMailer」。藉此,處理會從物件「 mCOOPMailer」移到物件「mDriveMaiier。 如上所述,若處理從物件「mCOOPMailer」移到物件 「mDriveMailer」時,則在S T 5 — 1 5中,根據物件「 mDriveMailer」進行與方法「Delegate」呈對應的處理。 具體地說,物件「mCOOPMailer·」首先會確保資料領 域「DeliveryBoxB」β此外,物件「mCOOPMailer」則讀 出被儲存在與物件B呈對應之資料領域「Thread」內的識 別子「rBoxID」,且將該識別子「rBoxID」的値設定在資 料領域「DeliveryBoxB j 的屬性「rBoxID」。 此時,被儲存於與物件B呈對應之資料領域「Thread j的識別子「rBoxID」會被消去,藉此,物件B會喪失回 答權限。亦即,物件B因爲發出方法「Delegate」而喪失 回答權限,而該回答權限被委讓給物件C。此外,由於物 件B喪失回答權限,因此無法發出方法「Reply」^換言之 ’物件B乃取代方法「Reply」,而改發出方法「Delegate j ° 又’物件「·mCOOPMailer」,則在資料領域「 DeliveryBoxB」也儲存根據方法「Delegate」被送來的訊息 。在此所謂的在資料領域「DeliveryBoxB」內儲存根據方 法「Delegate」所送來的訊息,具體地說是指除了在資料 領域「DeliveryBoxB」的屬性「msg」設定有方法「 Delegate」的自變量「msg」的値外,也在資料領域「 (許先閱諳背面之注意事項ο寫本頁 .裝- ,·1Τ. -線_ 本紙張尺度逋用中國國家橾準(CNS ) Α4規^格(210X297公嫠) -58- 經濟部中央標準局貝工消費合作社印製 424194 ^ Ί • Α7 _ Β7_· 五、發明説明(56 )
DeliveryBoxB」的屬性「sizeOfMsg」設定有方法「 Delegate」的自變量「sizeOfMsg.」的値。 之後’物件「mCOOPMailer」會將儲存在資料領域「 DeliveryBoxB」的資料’亦即,根據方法「Delegate」所送 來的訊息與用來特定出資料領域「RBox」的識別子「 rBoxID」,如虛線箭頭S T 5 — 1 6所示配送到物件c, 而使物件C的方法起動。 此時,在物件C的方法中只傳送訊息,而識別子r rBoxID」則被儲存在與物件C呈對應的資料領域「Thread j 。換言之,被傳到物件C的識別子「rBoxID」係在操作 系統的管理下,當從應用程式方面來看時,被配送到物件 C者只有訊息而已。 此外,將被儲存在資料領域「DeliveryBoxB」的資料 ,則從物件「mCOOPMailei:」配送到物件C,在使物件C 的方法起動時,則物件C會被方法「Delegate」的自變量 「destObjID j所特定,而物件C的方法則被方法Γ Delegate」的自變量「meth」所特定。 當該些處理結束時,物件「mCOOPMailer」,除了如 虛線箭頭ST5 — 17 * ST5 — 18所示,經由物件「 mCOOPMailer」將表示處理已正常結束的値當作針對方法 「Delegate」的返回値而返回到物件B,而將物件B設成 可以繼續執行狀態。藉此,物件B成爲可執行狀態,當殘 留有應該要進行的處理時,會持續地執行該處理* 根據以上的處理|當從應用程式方面來看時,如實線 (請先閲讀背面之注意事項一0寫本頁) 裝. 訂 本紙張尺度適用中國囷家標準(CNS ) A4規格(210X297公釐) -59- 424 194 m at ^ B7 五、發明説明(57 ) 箭頭ST5_ 1 9所示,回答權限係從物件B被委讓給物 件C,而成爲物件B與物件C同時動作的狀態。 之後,物件C,當由物件A所要求的處理結束時,如 ST5 — 2 0所示,會發出方法「Kick」。當發出方法「 Kick」時,如虛線箭頭S T 5 - 2 1所示,處理會移到物 件「mDriveMailer」*而在S T 5 - 2 2中1根據物件「 mDriveMailer」來進行與方法「Kick·」呈對應的處理。 此時,物件「mDri veMailer」,則會讀取被儲存在與 物件C呈對應之資料領域「Thread」內的資訊。此外*當 在資料領域「Thread」內儲存有用來特定出資料領域「 Continuation j的識別子「contlD」時,則根據第6圖所示 的方案進行使繼續方法起動的處理。然而,在本例中,在 資料領域「Thread」並未儲存用來特定出資料領域「 Continuation」的識別子「contID」,而是儲存了用來特定 出資料領域「RBox」的識別子「rBoxIDj 。 經濟部中央標準局貝工消费合作社印裝 (錆先閱讀背面之注意事項广I』寫本頁 此外,當如此般在資料領域「Thread」儲存用來特定 出資料領域「RBox」的識別子「rBoxID」時,則不是根據 物件「mDriveMailer」來起動繼續方法,而是如虛線箭頭 ST5- 2 3所示,將處理從物件「mDriveMailer」移到 物件「mCOOPMailer」。 此外,將處理從物件「mDriveMailer」移到物件「 mCOOPMailer」係經由微核心來進行。 具體地說,首先根據物件「mDriveMailer」來判斷被 儲存在與物件C對應之資料領域「Thread」內的識別子是 本紙張尺度適用中國國家標準(CNS ) A4規格(210 X 297公釐) -60- 4 A7 B7 五、發明説明(58 ) 否爲用來特定出在mDrive中間空間中所使用之資料領域r Continuation」的識別子r contID」。在本例中,被儲存在 與物件C對應之資料領域「Thread」內的識別子經判斷並 不是用來特定出資料領域「Continuation」的識別子「 contID j 。 在此,在與各物件呈對應的臺料領域「Thread」也儲_ 存有用來判別訊息傳遞之對象物件所.存在之中間空間的資 訊。在此被儲存在與物件C對應之資料領域「Thread」內 的識別子,若判斷爲不是用來特定出資料領域「 Continuation」的識別子「contID」時,則會再調查物件C 的資料領域「Thread」,而判斷訊息傳遞之對象物件所存 在的中間空間。結果,在本例中,訊息傳遞之對象物件所 存在的中間空間被判斷爲Mcoop中間空間。 在此,物件「mDriveMailer」會利用微核心的功能, 將處理委託給作爲負責有關在mCOOP中間空間上動作之物 件之訊息傳遞的中間物件的物件「mCOOPMailer」。藉此 ,處理從物件「mDriveMailer」移到物件「mCOOPMailer 經濟部中央標準局員工消费合作社印製 請先閣讀背面之注意事寫本頁) 線 j ° 如上所述,若處理從物件「mDriveMailer」移到物件 「mCOOPMailer」時,則在S T 5 — 2 4中,根據物件「 mCOOPMailer」進行與方法「Kick」呈對應的處理β 具體地說,物件「mCOOPMailer」,若物件Α已經發 出方法「Receive」時,則將根擄物件C之處理結果送到物 件A,而若物件A尙未發出方法「Receive」時,則將根據 本紙張尺度適用中國囷家榇準(CNS ) A4规格(210X 297公釐)_61 - A7 B7 五、發明説明(59 ) 物件C的處理結果儲存在資料領域「RBox」。 在本例中,在物件C發出方法「Kick」的階段,則物 件A已經發出方法「Receive」。因此,物件「 mCOOPMailer」,如虛線箭頭S T 5 — 2 5所示,根據物 件C的處理結果不會儲存在資料領域「rBox」,而直接傳 到物件A。此外’物件「mCOOPMailer」,若根據物件C 的處理結果傳到物件A的處理正常結.束時,則如虛線箭頭 ST5 — 26,ST5 — 27所示,將表示該處理已經正 常結束的値,當作針對方法「Kick」的返回値而返回物件 C ’而將物件C設成可繼續執行狀態。藉此,物件c成爲 可執行狀態,當殘留有應該要進行的處理時,則繼續執行 該處理《 根據以上的處理,當從應用程式方面來看時,則如實 線箭頭S U — 2 8所示,則根據物件C的處理結果會被 傳到物件A,而成爲物件A與物件C同時動作的狀態。 此外.,在第7圖的例中,雖然是表示在發出方法「 經濟部中央標準局員工消費合作社印裝 (請先閱讀背面之注意事^寫本頁)
Kick」之前已經發出方法「Receive」的情形,但是也有在 發出方法「Kick」後才發出方法「Receive」的情形。當在 發出方法「Kick」後才發出方法「Receive」的情形,則物 件A不會成爲等待狀態,而會直接接受根據物件c的處理_ 結果。 •亦即,當爲在物件C發出方法「Kick」後,物件A才 發出方法「Receive」的情形,則物件「mCOOPMailer」, 在物件C發出方法「Kick」的階段,會將根據物件C的處 本紙張尺度適用中國囷家標準(CNS M4現格(210X297公釐} . go - 經濟部中央橾準扃負工消费合作社印製 4 2 4 1 9 4 / A7 B7 五、發明説明(60 ) 理結果儲存在資料領域「RBoxj ,而在物件A發出方法「 Receive」的階段,會立即從資料領域「RBcx」讀取根據 物件C的處理結果,且將之傳到物件a。 此外’所謂將根據物件C的處理的結果儲存在資料領 域「RBox」’具體地係指在資料領域「RBox」的屬性「 reday」設定有表示根據物件C的處理結果已回來的値,且 在資料領域「RBox」的屬性「resultMsg」則設定有指到 儲存了將傳到物件A,而當作根據物件C的處理結果之訊 息之領域的指標,亦即,以方法「Kick」之自變量「msg j所表示的指標,且在資料領域「RBox」的屬性「 sizeOfResultMsg」,則設定有表示傳到物件A,而當作根 據物件C之處理結果之訊息的大小的値,亦即,以方法「 Kick」的自變量「sizeOfResultMsg」所表示的値。 此外,當從資料領域「RBox」讀取根據物件c的處理 結果,且將其送到物件A時,則物件「mCOOPMailer」, 首先會從根據方法「Receive」的自變量「rBoxID」所特 定出的資料領域「RBox」。,讀取該資料領域「RBox j 的屬性「resultMsg」以及屬性「sizeOfResultMsg」,而從 屬性「r e s u 11M s g」所指示的領域讀取相當於由屬性「 sizeOfResultMsg」所表示之大小的資料。該資料則成爲從 物件C傳到物件A的訊息。此外,物件「mCOOPMailer」 '則將如此所謂出的資料儲存到由方法「Receive」的自變 量「msg.」所指不的領域內。在此’由方法「Receive」的 自變量「msg」所指示之領域的大小*則是根據方法「 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) .63 請先聞讀背面之注意事項寫本頁) *νβ 丁 " Α7 Β7 經濟部中央標準局貝工消费合作社印製 五、發明説明(61 ) Receive」的自變韋「SizeOfMsg」所設定。 根據以上的處理,在發出方法「Kick」後才發出方法 「R e c e i v e」的情形,則與在發出方法「K i c k」之前發出方 法「Receive」的情形同樣地,根據物件C的處理結果會被 送到物件A,而再度成爲物件A與物件C同時動作的狀態 〇 此外,在藉由方法「Delegate」.而委讓回答權限的物 件(在上述的例中爲物件C ),則當因爲發生例外情況, 而成爲不能動作狀態,而變得無法求得結果時,則根據與 第4圖所示之方案同樣的方案來進行例外處理。 亦即,在第7圖所示的例中,在根據方法「Delegate 」被委讓回答權限的物件C正在執行時,若該物件C因爲 發生例外情況變得不能動作,而無法求得結果時,則處理 會移到物件「mCOOPFaultHandler」,根據物件「 mCOOPFaultHandler」進行一定的例外處理,而將物件C因 爲發生例外情況變得不能動作的訊息,從物件「 mCOOPFaultHandler」經由物件「mDriveMailer」通知到物 件「mCOOPMailer」。 此時,若物件A已經發出方法「Receive」而成爲等待 狀態時,物件「mCOOPMailer」乃將表示物件C因爲發生 例外情況變得無法動作的錯誤碼,當作針對方法「Receive 」的返回値返回物件A,而將物件A設成可以繼續執行的 狀態。藉此,物件A成爲可以執行的狀態,當殘留有應該 要進行之處理時,則會繼續執行該處理。 (請先閱讀背面之注意事項寫本頁) .裝. 訂 線 本紙張尺度適用中國國家標準(CNS ) A4规格(2丨0X297公釐) -64- 424194/- ^ A7 __ _B7_;__ 五、發明説明(62〉 又當在物件A發出方法「Receive」之前,已經在物件 C發生例外情況時,物件「mCOOPMailerj會在資料領域 「RBox」的屬性「status」設定有表示物件C因爲發生例 外情況而變得不能動作的錯誤碼。此外,在物件A已發出 方法「Receive」的階段,物件「mCOOPMailer」會讀取被 設定在資料領域「RBox」的屬性「Status」的錯誤碼,而 將該錯誤碼當作針對方法「Receive」的返回値而返回物件 A ’將物件A設成可以繼續執行的狀態。藉此,物件A成 爲可以執行狀態,當殘留有應該要進行的處理時,會繼續 執行該處理< 根據以上的處理,根據方法「Delegate」被委讓回答 權限的物件C,即使是不知何種原因導致結果訊息無法返 回物件A時,而可以使物件A從等待狀態回復到可以執行 狀態,能@避免物件A成爲等待狀態而導致系統停止的情 瑕。 (發明之效果) 經濟部中央標準局員工消費合作社印製 (請先閱讀背面之注意事項寫本頁) 如上所詳述,本發明在將訊息從客側物件送到主側物 件時可以確保資料領域,而當根據主側物件的處理未正常 結束時,則會經由上述資料領域·,將表丕主側物件之狀態 的狀態資料傳到客側物件。 因此,根據本發明,在使用未來(future )進行訊息 傳遞時,即使客側物件不知何種麻煩而成爲等待狀態時| 也不會使用暫停(timeout)處理,而會將主側物件的狀態 本紙張尺度適用中國國家標準(CNS ) A4規格(210 X 297公釐).55. 424 194 a? Β7 五、發明説明(63 ) 通知客側物件,而讓客側物件從等待狀態回復。 又’本發明,當根據主側物件的處理未正常結束時, 由於會經由上述資料領域,將表示主側物件之狀態的狀態 資料傳到客側物件,因此不會像使用暫停(timeout)處理 的情形一樣’不會浪費時間,可以使客側物件從等待狀態 迅速地回復。 + 更者,本發明,當根據主側物件.的處理未正常結束時 ’由於會經由上述資料領域,將表示主側物件之狀態的狀 態資料傳到客側物件,因此與暫停(timeout )處理不同, 可以特定出發生等待狀態的原因。因此,藉著進行針對該 原因的處理,可以避免再度因爲相同的原因而成爲等待狀 態。 圖面之簡單說明: _ .第1圖係針對應用本發明之電視裝置的一例,表示其 槪略的構造。 經濟部中央標孪局貝工消費合作社印裝 請先閲讀背面之注意事寫本頁) 第2圖係表示來說明被搭載在上述電視裝置之操作系 統的說明圖。 第3圖係表針對利用方法「SendWithRBox」來進行訊 息傳遞,在處理正常進行時之方案(scenario )的一例。 第4圖係表針對利用方法「SendWithRBox」來進行訊 息傳遞,在發生例外情況時之方案的一例。 第5圖係表在根據主側物件之處理要求的接受口與出 口不同之構造中之訊息傳遞的方案的一例。 本紙張尺度適用中國國家標隼(CNS ) A4規格(210X297公釐),gg . 4 24 1 94 A7__B7 _·五、發明説明(64 ) 第6圖係表利用方法「SendWithCo+ntinuation」來進行 訊息傳遞之方案的一例》 第7圖係表在不同的中間空間之間的進行之訊息傳遞 之方案的一例。 第8圖係表利用了未來 動作的說明圖。 符號的說明 1 2 3 4 5 6 7 8 9 10 future )之訊息傳遞之基本 經濟部中央標準局負工消費合作社印製 匯流排/ I 〇橋 匯流排 電視功能部 匯流排/記億體橋 處理器 ROM RAM 操作面板 外部記億裝置 通信裝置 圖形裝置 ---------i^.-- 〇 (請先閱讀背面之注意事項-r-4寫本頁) 本紙張尺度適用中國國家標準(CNS ) A4規格(2丨0X297公釐) -67-
Claims (1)
- A8 QS C8 D8 經濟部中央標準局員工消費合作社印裝 六、申請專利範圍 1 . 一種資料處理方法,其特徵在於: 在從客側物件將訊息送到主側物件,而 來進行該訊息所要求的處理,且將該處理結 件送回客側物件時, 當從客側物件將訊息送到主側物件時, 來儲存作爲根據主側物件之處理結果之資料 領域以及用來儲存表示主側物件之狀態的狀 的資料領域, 當根據主側物件的處理已經正常結束時 處理結果之資料的結果資料儲存在上述資料 根據主側物件之處理未正常結束時,則會將 之狀態的狀態資料儲存在上述資料領域內, 客側物件,藉著讀取被儲存在上述資料 ,當根據主側物件·的處理正常結束時,會接 V T.· . 料,當根據主側物件的處理未正常結束時, 態資料。 2 .如申請專利範圍第1項之資料處理 件在將訊息送到主側物件後仍會繼續處理, 件的處理結果成爲必要的階段,則讀取被儲 領域內的資料, 當客側物件讀取被儲存在上述資料領域 若上述結果資料以及上述狀態資料任一者均 資料領域內時,客側物件會成爲等待狀態直 根據主側物件 果,從主側物 會確保具有用 的結果資料的· 態資料的領域 ,則會將爲該 領域內,而當 表示主側物件 領域內的資料 受上述結果資 會接受上述狀 方法,客側物 在根據主側物 存在上述資料 內的資料時, 未被儲存在該 到上述結果資 料或上述狀態資料的其中任一者被儲存在該資料領域內爲 請 先 閱 讀 背 面 i 事 項 i 本紙俵尺度逍用十國國家榡準(CNS ) A4規格(210X297公釐) -68-經济部ΐ央標準局負工消費合作社印裝 六、申請專利範国 止。 3 . —種記錄媒體,其主要係一記錄有將送出要求針 對其他物件必須要回答處理結果之處理的訊息的訊息傳送 方法’當作在記述物件時所使用之應用程式介面的操作系 統的記錄媒體,其特徵在於: 上述操作系統,其中與上述訊息傳送方法對應的處理+ 除了進行從客側物件,將訊息送到主側物件的處理外, 也行確保具有用來儲存爲根據主側物件之處理結果的資 料的結果資料的領域的資料領域,以及用來儲存表示主側 物件之狀態的狀態資料的領域的資料領域的處理, 上述操作系統,當根據主側物件的處理已經正常結束 時’則會將作爲該處理結果之資料的結果資料儲存在上述 資料領域內,而當根據主側物件的處理未正常結束時,則 會將表示主側物件之狀態的狀態資料儲存在上述資料領域 -.J· 內。 4 .如申請專利範圍第3項之記錄媒體,上述操作系 統,乃備有用於讀取被儲存在上述資料領域內之資料的資 料讀取方法以作爲在記述物件時所使用的應用程式介面。 5 .如申請專利範圍第4項之記錄媒體,上述操作系 統,上述客側物件,當根據上述資料讀取方法欲讀取被儲 存在上述資料領域內的資料時,若上述結果資料以及上述 狀態資料均未被儲存在該資料領域內時,則將客側物件設 成等待狀態直到上述結果資料或是上述_狀態資料的其中任 一者被儲存在該資料領域內爲止β 本紙張尺度適用中國國家梯準(CNS ) +Α«4規格(2丨0X297公廣)fTT ~- 請先閲讀背面之注意亨項ιο^-r本頁) 裝. 訂· 線 r\八β鳴 AS ^ D8 六、申請專利範圍 6 .—種資料處理裝置,其主要備有一記錄有將送出 要求針對其他物件必須要回答處理結果之處理的訊息的訊 息傳送方法,當作在記述物件時所使用之應用程式介面的 操作系統的記錄媒體,其特徵在於: 上述操作系統,其中與上述訊息傳送方法對應的處理 ,.除了進行從客側物件,將訊息送到主側物件的處理外,' 也進行確保具有用來儲存爲根據主側物件之處理結果的資 料的結果資料的領域,以及用來儲存表示主側物件之狀態 的狀態資料的領域的資料領域的處理, 上述操作系統,當根據主側物件的處理已經正常結束 時,則會將作爲該處理結果之資料的結果資料儲存在上述 資料領域內,而當根據主側物件的處理未正常結束時,則 會將表示主側物件之狀態的狀態資料儲存在上述資料領域 內。 經濟部申央標牟局員工消費合作社印製 7 ·如申請專利範圍第6項之資料處理.裝置,上述操 作系統,乃備有用於讀取被儲存在上述資料領域內之資料 的資料讀取方法以作爲在記述物件時所使用的應用程武介 面。 8 .如申請專利範圍第7項之資料處理裝置,上述操 作系統’上述客側物件’當根據上述資料讀取方法欲讀取 被儲存在上述資料領域內的資料時,若上述結果資料以及 上述狀態資料均未被儲存在該資料領域內時,則將客側物 件設成等待狀態直到上述結果資料或是上述狀態資料的其 中任一考被儲存在該資料領域內爲止。 -70- 本紙张尺度逋用中國國家標率(CNS ) A4規格(210X297公釐)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10052494A JPH11249918A (ja) | 1998-03-04 | 1998-03-04 | データ処理方法、記録媒体及びデータ処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW424194B true TW424194B (en) | 2001-03-01 |
Family
ID=12916279
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW088102768A TW424194B (en) | 1998-03-04 | 1999-02-24 | Data process method, recording medium and data processor |
Country Status (9)
Country | Link |
---|---|
US (1) | US6356904B1 (zh) |
EP (1) | EP0940750B1 (zh) |
JP (1) | JPH11249918A (zh) |
KR (1) | KR19990077559A (zh) |
CN (1) | CN1231440A (zh) |
AU (1) | AU757763B2 (zh) |
ID (1) | ID22790A (zh) |
SG (1) | SG97782A1 (zh) |
TW (1) | TW424194B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003150424A (ja) * | 2001-11-16 | 2003-05-23 | Fujitsu Ltd | ファイルシステム、制御方法及びプログラム |
US7676791B2 (en) * | 2004-07-09 | 2010-03-09 | Microsoft Corporation | Implementation of concurrent programs in object-oriented languages |
US7970740B1 (en) * | 2004-09-23 | 2011-06-28 | Oracle America, Inc. | Automated service configuration snapshots and fallback |
US7549151B2 (en) * | 2005-02-14 | 2009-06-16 | Qnx Software Systems | Fast and memory protected asynchronous message scheme in a multi-process and multi-thread environment |
US7840682B2 (en) | 2005-06-03 | 2010-11-23 | QNX Software Systems, GmbH & Co. KG | Distributed kernel operating system |
US8667184B2 (en) * | 2005-06-03 | 2014-03-04 | Qnx Software Systems Limited | Distributed kernel operating system |
US7680096B2 (en) * | 2005-10-28 | 2010-03-16 | Qnx Software Systems Gmbh & Co. Kg | System for configuring switches in a network |
JP6136980B2 (ja) * | 2014-02-27 | 2017-05-31 | 富士ゼロックス株式会社 | 情報処理システム及びプログラム |
JP6288467B2 (ja) * | 2015-04-17 | 2018-03-07 | 京セラドキュメントソリューションズ株式会社 | 電子機器 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU599856B2 (en) * | 1988-09-08 | 1990-07-26 | Digital Equipment Corporation | Local area system transport |
GB9314460D0 (en) * | 1993-07-13 | 1993-08-25 | Int Computers Ltd | Computer systems integration |
US6253252B1 (en) * | 1996-07-11 | 2001-06-26 | Andrew Schofield | Method and apparatus for asynchronously calling and implementing objects |
US6003136A (en) * | 1997-06-27 | 1999-12-14 | Unisys Corporation | Message control system for managing message response in a kerberos environment |
US6009175A (en) * | 1997-06-27 | 1999-12-28 | Unisys Corporation | Asynchronous message system for menu-assisted resource control program |
US6175920B1 (en) * | 1998-02-20 | 2001-01-16 | Unisys Corporation | Expedited message control for synchronous response in a Kerberos domain |
US6092178A (en) * | 1998-09-03 | 2000-07-18 | Sun Microsystems, Inc. | System for responding to a resource request |
-
1998
- 1998-03-04 JP JP10052494A patent/JPH11249918A/ja not_active Withdrawn
-
1999
- 1999-02-24 TW TW088102768A patent/TW424194B/zh not_active IP Right Cessation
- 1999-02-26 AU AU18452/99A patent/AU757763B2/en not_active Ceased
- 1999-03-01 US US09/259,303 patent/US6356904B1/en not_active Expired - Lifetime
- 1999-03-03 KR KR1019990006980A patent/KR19990077559A/ko not_active Application Discontinuation
- 1999-03-03 ID IDP990177D patent/ID22790A/id unknown
- 1999-03-03 SG SG9901064A patent/SG97782A1/en unknown
- 1999-03-04 CN CN99105750.3A patent/CN1231440A/zh active Pending
- 1999-03-04 EP EP99301646A patent/EP0940750B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
ID22790A (id) | 1999-12-09 |
JPH11249918A (ja) | 1999-09-17 |
AU757763B2 (en) | 2003-03-06 |
EP0940750A2 (en) | 1999-09-08 |
KR19990077559A (ko) | 1999-10-25 |
US6356904B1 (en) | 2002-03-12 |
AU1845299A (en) | 1999-09-16 |
EP0940750A3 (en) | 2003-11-26 |
EP0940750B1 (en) | 2007-08-08 |
SG97782A1 (en) | 2003-08-20 |
CN1231440A (zh) | 1999-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5390316A (en) | Multicomputer complex having a distributed shared memory system for providing a single system view from multiple consoles | |
US7992145B2 (en) | Multilevel ticket-based job management architecture for computing devices | |
CN101253470B (zh) | 辅助显示设备驱动器接口 | |
US6691154B1 (en) | Instantaneous remote control of an unattended server | |
US6405264B1 (en) | Marshaling and unmarshaling framework for supporting filters in a distributed object system | |
US6083277A (en) | Filtering an object interface definition to determine services needed and provided | |
CN101310271B (zh) | 用于生产性套件应用程序和主宿的用户界面的接口 | |
US20040111418A1 (en) | Print management architecture for computing devices | |
TW412698B (en) | A remote controlling method, a network server remote controlled by a termianl, and a memory storage medium for HTML files | |
TW424194B (en) | Data process method, recording medium and data processor | |
TW459200B (en) | Object-oriented method maintenance mechanism that does not require cessation of the computer system or its programs | |
US5953007A (en) | System, method, and program for using animations to show page layout combinations in a user interface for submitting print jobs | |
CN101523358A (zh) | 文件系统目录的快速、可靠同步 | |
US20090083765A1 (en) | Accessing device-hosted services from scripting and other programming environments | |
JP2000155679A (ja) | 共有デ―タ収集において安定反復子を作成する方法及びその装置 | |
BRPI0613048A2 (pt) | estratÉgias para colocaÇço de eventos em fila para subseqÜente processamento | |
US6175839B1 (en) | Filter interface for managing printer system information | |
CN1979548A (zh) | 工作流管理系统、方法和存储介质 | |
van Ommering | Beyond product families: Building a product population? | |
TWI273791B (en) | System having event mechanism for keeping a client notified of changes in the user interface, and method for notifying a client of interesting user interface events | |
TW538346B (en) | Instant selective multiple soft document sharing between multiple heterogeneous computing devices | |
JPH1196008A (ja) | データ構造識別方法および記録媒体 | |
US6757904B1 (en) | Flexible interface for communicating between operating systems | |
US20070177164A1 (en) | Combined interface for specifying separate characteristics for multiple copies of an electronic document | |
JPH11249898A (ja) | データ処理方法、記録媒体及びデータ処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GD4A | Issue of patent certificate for granted invention patent | ||
MM4A | Annulment or lapse of patent due to non-payment of fees |