TW521210B - Modular computer system and related method - Google Patents
Modular computer system and related method Download PDFInfo
- Publication number
- TW521210B TW521210B TW090114791A TW90114791A TW521210B TW 521210 B TW521210 B TW 521210B TW 090114791 A TW090114791 A TW 090114791A TW 90114791 A TW90114791 A TW 90114791A TW 521210 B TW521210 B TW 521210B
- Authority
- TW
- Taiwan
- Prior art keywords
- component
- components
- function
- patent application
- scope
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/10—Requirements analysis; Specification techniques
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Hardware Redundancy (AREA)
Description
經濟部智慧財產局員工消費合作社印製 521210 A7 B7 五、發嶋明(1) 發明背景 一般言之,本發明與允許使用者與電腦硬體互動的軟 體系統有關。 更明確地說,本發明與軟體系統有關,其所包括的作 5 業系統能提供彈性以及即使現今最強大的作業系統都無法 想像的執行速度等特性。 本發明也與這類系統相關的方法有關。 此外,如以下所見,本發明有助於(非只限於)用來發 展與内建式電腦系統相關的應用軟體。 10 吾人回想,作業系統是任何軟體系統中最必需的單 元,它構成與電腦系統之硬體組成間直接互動的部分。 現為吾人所知的作業系統極多,這些作業系統允許發 展團隊用它來設計應用軟體,並允許終端使用者使用這些 應用軟體。 15 現今的作業系統可概略分成兩大系列。 > 單體結構(Monolithic architecture) 第一系列是由單體結構的作業系統構成。此類系統構 成單一的軟體組,它包括3個主要的層: • 所謂的底層,它對應於系統的核心。可將核心定義成 20 一被動且擁有特權的碼組,它永遠被載入系統的記憶 體,且能被所有的套裝應用軟體使用。它的基本任務 是調節系統之共享資源(如記憶體、處理器、周邊)的 使用。為完成此任務,核心提供某些重要的機能,包 括: 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) (請先閱讀背面之注意事項再填寫本頁) ---------訂---------線· ^^ιζιυ Α7
口匕丨思H 10 依庫用^ (在應用軟體間分配記憶體資源,係 f應用軟體之請料的功能), 耘序的官理(排程、存取處理器的管理 的管理等), 作系 /周邊之驅動器的管理, /檔案管理(名稱、位址等), 使用者管理(存取、側寫等)。 所謂的頂層’為制軟體相,使时可與其互動, 以!將指令輸入系統,以及輸入前往核心的請求, 所明私式庫"的中間㉟’有時將其視為一I,週期性 &生的功能集中在其中’以便能快速地實施這些功 能。 一 本文的附圖1概略地表示此種單體結構,圖中顯示 15 K(核心)、L(&式庫)及八(應用軟體)的中央集權與階層的配 置。 的定義使得作業系統之各單元間的通信能層級 化,最底層被定義成,,特權”層,可被較高階的層呼叫。 因此,層疋軟體單元的分類,在同一層中的軟體單元 20享有同等的特權。此外,特權可被定義成使用電腦系統某 資源(硬體資源或軟體資源)的能力。 如前所述,按照此單體結構所建構的系統組成一單一 的軟體組’它是’’區塊式’’(blockwise)相容。 一般言之,此結構的優點是系統很穩定且快速。 -4- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) (請先閱讀背面之注音?事項再填寫本頁)
經濟部智慧財產局員工消費合作社印製 經濟部智慧財產局員工消費合作社印製 521210 A7 B7 五、發明餐>明(3 ) 不過,此類作業系統在系統的彈性與升級性方面呈現 重大的限制。 事實上,有系統地修改核心涉及完全重新編譯核心。 因此,每次的修改,都需要再次從事系統的總體接受性。 5 因此,缺乏彈性對系統而言是不利的,此致使系統的 升級既麻煩又複雜,且維持費用昂貴。此外,由於連續的’’ 累加’’,可能會使系統變得不穩定。 此外,至於内建的電腦系統(on-board system),意指至 少有部分會與機動式的硬體整合,例如車輛、行動電話等, 10 缺乏彈性更是極度地不利,因為這使得電腦系統的某些特 性需要事先固定(例如執行的速度、記憶體的大小等)。 事實上,程式設計師經常面對内建應用軟體對相關電 腦系統之各植要求間的差異,因此,能自由地定義與升級 系統的主要特性乃極有助益。 15 因此,由於前文暗示的缺點主要是源自於單體結構的 作業系統缺乏彈性,此單體結構基本上意欲用於不需電腦 軟體或硬體做重大升級的應用軟體,因此,它非常不適合 内建的系統。 20 >微核心結構 為鬆綁此限制,為作業系統設計出第二種結構。這些 系統是微核心式的系統,如圖2所示。 該圖顯示微核心系統,它是由同中心的層包圍一中央 核心所構成,多少有些類似單體系統,中央核心構成作業 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) ----------- 裝------丨丨訂---------線· (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 521210 A7 B7 五、發明锐'明(4 ) 系統的”核心”。 核心單元MK在此縮減成”微核心”,它僅能執行系統之 操作所需的基本機能,即: •記憶體管理, 5 •程序管理,至少關於所謂的低階程序一與工作的切 換有關。此指出,某些微核心系統在伺服器的協助 下管理高階的程序,然而,其它的一些則是由微核 心本身管理, •埠(信箱)及訊息之傳送的管理, 10 •在各不同驅動程式間仲裁硬體資源的配置(驅動程 式是一程式,它控制擴充卡或任何周邊的操作)。 傳統上由單體系統之核心執行的其它機能現由伺服器 S完成。這些伺服器構成上層應用軟體A與程式庫之L層間 的中間層,L層直接包圍微核心MK。它們的優先權高於應 15 用軟體A。 此種微核心架構使得升級作業系統不必重新編譯整個 系統;因此,此第二系列的作業系統容允某些單體系統所 沒有的彈性。 不過,此系列的架構仍是圍繞著中央核心構建連續的 20 層,且作業系統中所有内部的通信交換都必須通過微核心。 事實上,要通過系統之連續層的通信數量多於單體系 統的情況,因此,多出許多額外的處理,這使的系統的整 體工作速度下降。 此外,對任何新發展的系統而言,都必然要使這些通 -6- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) (請先閱讀背面之注意事項再填寫本頁) 訂---------線· 521210 A7 B7 五、 10 15 經濟部智慧財產局員工消費合作社印製 20 發明說明(5) 信交換最佳化,因此,程式設計師的工作變得複雜。 因此’很明顯,雖然微核心系統比單體系統具有彈性, 但操作的處理變得冗長,因此,它只是一不完美的解決方 案。 >關於現今架構的其它評論 此外,現今的系統(單體及微核心)都是以核心單元為 中心,連續的層按預先決定的存取特權層層地包圍著核心。 事貝上,在所有這些系統中,每一個程式都是按照系 統本身固有之永久不變的類型有系統地與指定的層相關’,' 因此,特權的等級將有系統地伴隨著此程式,在匕不在程式 設計師的控制之下,因此構成現有系統的第一共同缺點二 因此,程式例如是: • 核心’’或”監督程式,,或"系統"碼(特權碼,它管理盘 硬體的互動), 〃 •被動機能的,,程式庫,•單元(數學的、影像解壓縮等), •套裝軟體碼。 這些不同類型的碼通常對應於不同的樓案格式’且是 由作業系統之不同的單元做不同的管理。 因此’不可能以單一種工具顯示安裝在系統中所有的 程式’同樣地,在系統的操作期間,通常也不可能更換” 核心”部分’它構成—不透明且不可分割的區塊。 …料口 :广:使用不同的工具產生這些不同類型的碼並 除錯,因此,在所有情況下的發展作業都很複雜;這構成 (請先閱讀背面之注咅?事項再填寫本頁) ,--------訂---------線· 本紙張尺度適用中國國家標準(CNS)A4 ^T21〇x 297-— 521210 A7 B7 五、發明%明(6) 現有系統的 第二共同缺點。 此外還須瞭解,現有系統的核心是系統的絕對中心。 由於此核心的特權等級,因此它具有一特殊的狀態。它構 成系統中最難攜行的部分,且無法很容易地修改。 5 此外,現有軟體系統的另一共同特徵是它們被設計成 要執行: •功能分析階段,此階段使用所要完成的功能來描述 系統,藉以構成一非常直覺且可立即理解的描述 層, 10 •接著是寫入及程式的編譯,在此期間,此層的可理 解性與可讀性被不利地轉變,程式按照預先決定的 操作方式構成不透明的程式集。 4這些系統的程式是在,,智慧型自動裝置"(automata)的 月长下操作’核心僅反應應用軟體所陳述的需要而工作。 因此’很明顯,雖然核心可修改資源並能使用最佳化 功能以增進系統的整體操作,但它總是在下游反應應用軟 體陳述的需要而工作。此構成目前之系統的另一基本限制。 另一方面將如所見,在本發明的情況中,系統中所有 組件(comP〇nent)的操作方式是結合成一體,且在功能分析 20 階段期間建立的功能鏈結被保存在系統的架構中。 因此,相較於已知的系統,如以Java語言(已註冊的商 標)為代表,對其的描述見於’’Introduction to programming using Java’’,Version 3.0, summer 2000” by D .J. ECK—Department of Mathematics and computer science, 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) (請先M讀背面之注意事項再填寫本頁) t 訂---------線J- 經濟部智慧財產局員工消費合作社印製 521210 A7 五、發明說明(7 )
Hobart and William Smith College, Geneva, New York, US 24/05/2000,2001年3月7日可在網際網路上取得,網址為 http://math.hws.edu/eck/csl24/downloads/Javanote3.pdf> ,它有利於在建立實體間的關係中提供某種程度的額外彈 5 性。 須瞭解’’’實體’’ 一詞在已知的語言中(例如jaVa語言) 代表物件(object)以及可配置的類別(ciass)。 事實上,在Java語言中,如果某一實體可以實際地呼 叫其操作所需的其它實體,程式設計師必須明確地指定那 10 一個實體應被載入系統的隨機存取記憶體,以允許指定呼 叫的該實體能正確地操作。 〜 因此’很明顯,此類型熟知的語言確實提供了一些與 物件結構相關的彈性,儘管如此,強迫要在設計時選擇特 定的貫體還是大幅限制了系統的彈性。 15 此外’這類已知的系統在載入操作期間不會送回任何 錯誤訊息,因此,有可能將有瑕疵的實體或無能力執行其 角色的實體載入系統。此外,該實體的缺陷也只有在系統 的整體操作期間或在特別安排的測試操作期間才會被注意 經濟部智慧財產局員工消費合作社印製 (請先閱讀背面之注意事項再填寫本頁) 到° 20 >發明的目的 〜曰本發明的主要目的是提出一種作業系統,該作業系統 月匕提供彈性以及即使現今最強大之作業系統都無法想像的 執行速度等特性。 -9 - 本紙張尺度剌中規格⑵0x297公楚) 經濟部智慧財產局員工消費合作社印製 521210 A7 B7 五、發明說明(8) 本發明的另一目的是提出一種軟體系統,該軟體系統 能克服上述及所有現行系統相關的缺點。 本發明的另一目的是提出一種軟體的解決方法,適合 内建系統之設計中固有的限制。 5 為達成這些目的,本發明提出一種發展電腦計劃 (project)的方法,且意欲由一電腦系統實施,該方法包括: 功能分析階段,其目的是將所要提供的功能歸類 (cataloguing),在電腦機構的輔助下產生計劃之組件以便完 成該些功能的階段;在產生階段期間產生組件之同一系統 10 上宣告(declaration)的階段;以及將該些組件載入系統之記 憶體區供系統實施的階段,其特徵為: •在組件產生階段期間,每一項功能完全是由與其相 關的組件完成, •在組件宣告階段期間,所產生的每一個組件宣告給 15 系統以載入組件,以及 •在組件載入階段期間,提供機構結合被載入之組件 所請求的每一項功能以自動搜尋提供該功能的組 件。 按照本發明之方法較佳但非限制的態樣如下: 20 •執行該自動搜尋同時將條件列入考慮, •該條件是以與每一個組件個別相關之屬性 (property)的函式所表示之標準的函式表示, •在組件產生期間,執行以下的步驟: > 產生組件的介面原始檔,其目的是構成組件的” -10- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) (請先閱讀背面之注意事項再填寫本頁) 鬱 訂---------線丨一 經濟部智慧財產局員工消費合作社印製 521210 A7 B7 五、發明說明(9) 介面’’部分, > 產生至少一個可實現組件功能的碼原始檔,其 目的是構成組件的π實施’’部分, •產生每一個碼原始檔的目的是為構成組件的’’實施 5 ”部分,它可以使用任何程式語言有系統地闡述 (formulated), •經由配置軟體及/或硬體機構,每一項組件可以完 成與其相關的功能, •每一項組件的介面檔中包括對該組件所能執行之 10 功能的描述,與該組件完成此功能的方法無關, •介面檔中也包括組件為完成其本身功能需從其它 組件匯入之功能的描述, •每一項組件都能被其它能匯出相同功能的組件動 態地更換, 15 •該更換按照以下的步驟配置: >儲存要被更換之組件的目前狀態, > 載入新組件並初始化, >將要被更換之組件的目前狀態傳送給新組件, > 建立呼叫功能之組件與新組件間的通信通道, 20 > 卸載被更換的組件, •如果新組件的載入或初始化沒有被正確地執行,提 供機構用以返回一錯誤訊息, •在組件的產生期間,也執行以下的步驟: 兴產生製作檔,其中明確說明: -11 - 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) (請先閱讀背面之注意事項再填寫本頁)
521210 A7 五、發明說明(10) 10 15 20 在檔的步驟期間,產生原始檔所 1此碼原始播對應於組件的”實施,,部分, >產生組件的原型, >編輯組件之”介面, , 1刀〜只靶部分間的鏈 、、、°,以便產生可執行的組件原型, > =置製作槽以便個別地編譯組件,並為組件之" 二”部分的介面原始檔以及為組件之”實施" 的每一個碼原始檔構成各自的物件標 (object file), >將前—步驟期間所產生的物件槽包封到單一的 可執行模組中, 在產生組件的原型(pr〇t〇type)期間,所產生的原型 包括. >編譯組件之介面原始槽所產生的物件介面, >關於組件之”實施”部分之每一個碼原始標的原 型物件檔, 在編譯組件的介面原始檔期間,需被執行: >分析及確認介面之原始檔的一致性, >將介面的原始檔轉換成二進位資料, >至少自動產生一個檔,以便呼叫組件所要匯入 的功能, 在編輯組件之"介面,,部分與"實施"部分間之鏈結的 步驟以便產生可執行的組件原型之後,執行完整性 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公餐 (請先閱讀背面之注意事項再填寫本頁) --------------- 12- 521210 A7 五、發明說明(.u) 10 15 經濟部智慧財產局員工消費合作社印製 20 自動測.式步·驟,在此期間 封閉, 一〗疋古則後一致且 •在完整性自動測試期間搜=執行計劃所需之每-項功能的::… •如果確涊有數個組些組:中選擇某特定=:功能,即可在這•:二則Γ顯示出計劃沒有正確地封閉,即發 心",後 以便修改某些組件 及/或增加某些組件, Τ •對t系統的每一個組件而言,對該組件為能執行 其ί身之功能需要從其它組件匯入之功能的描述 永运可被该自動搜尋組件的機構存取,•在將前-步驟期間所產生的物件檔包封到單一的<執行模組期間’確斷狀各不同介面部分所供 應的功能都已在相關的原始檔中被確實完整地描 述且已被編譯, ' •該方法包括將載入系統之組件的映圖(map)儲存到系統的隨機存取記憶體區内, •當發出呼叫的組件呼叫一功能時可查閱該映圖,以 便決定該映圖的組件是否能供應其所呼叫的功能, •該自動搜尋組件的機構可以查閱該映圖, •在系統的操作期間該映圖被即時更新,是被載入系 統之組件的函式, •每一個組件可與一特權等級相關,它是該組件存取 -13 - 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) (請先閱讀背面之注意事項再填寫本頁) 訂---------線 521210 經濟部智慧財產局員工消费合作社印製 A7 B7 五、發明說明() 其它組件之可能性的條件,是該其它組件各別特權 等級的函式, •提供卸載機構,用以自動卸載其所提供之功能不再 為電腦計劃之操作需要的每一個組件, 5 •該機構包括每一個組件的使用計數器, •該計數器計數匯入與計數器相關之組件之功能的 組件數量,且一旦它的使用計數器遞減到零,該組 件即被卸載。 •提供一機構用以自動釋放該被卸載之組件所使用 10 的資源。 >圖式簡單說明 •圖1表習用之作業系統之單體結構概圖, •圖2表習用之作業系統之微核心結構概圖, 15 •圖3a到3c代表按照本發明之作業系統的3個概圖, •圖4代表按照本發明之系統的一個組件的概圖, •圖5代表構成此組件之步驟的概圖, •圖6說明按照本發明產生及配置作業系統之組件的 邏輯圖, 20 •圖7代表按照本發明分配及載入系統之軟體組件的 模式, •圖8說明按照本發明在動態載入及卸載系統之組件 期間減少記憶體的消耗, -14- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 91. 3. 2,000 ---I------— II · 11------ 訂--------I (請先閱讀背面之注意事項再填寫本頁) 521210 Α7 Β7 五、發明說明(13) • =9說明按照本發明動態更換系統中之組件的邏輯 •圖l〇a、l〇b及IGe是載人按照本發明之i统之組件 的3個映圖。圖10a對應最小的結構,其中,按照本 5 發明之系統僅只有用於啟始作業所需的組件被載 入。圖1Gb對應-基本結構,它進_步允許多分緒 (multi-thread)管理。圖i 〇c對應於按照本發明之系統 的增強型。 1〇 >系統概述 前已描述,現今的系統,無論是單體或微核心,是按 照與它們相關的系統層級有系統地區分程式。 按照本發明的系統,不是按此方法區分程式。反之, 至於本务明,作業系統是由完全無層級的組件所構成。因 15此,疋按照原本的特性,按照本發明的系統並不顯現層的 結構。 此外,至於本發明,雖然軟體系統的程式設計師仍要 保留與系統中每一組件相關的特定特權等級以便與其它組 件通L (此特權等級可能對應於習知系統中所習用的—,,核 20心π、”程式庫”套裝應用軟體”,或按請求所產生),但程 式設計師不用為每一個組件產生此種相關,也不用為組件 選擇任何所想要的特權等級。 須指出,”程式設計師”指的是個人或發展團隊。將可 瞭解’按照本發明之系統的主要益處是允許發展團隊以最 -15- 本紙張尺度適用中國國家標準(CNS)A4規格(21〇 χ 297公釐) (請先閱讀背面之注意事項再填寫本頁) >^w_^--------訂 --------線丨 經濟部智慧財產局員工消費合作社印製 經濟部智慧財產局員工消費合作社印製 521210 A7 B7 五、發明說明(14) 有效率的方式工作,每一位發展人員都可經由發展一組件 負起對應用軟體之功能應負的責任。此外,按照本發明, 特權的細部管理是由系統提供,開放極多的可能性,例如: •組件是在”無特權”模式(套裝應用軟體)中產生、發 5 展及完成測試,一旦發展結束且完全確認有效後, 則是在π有特權"的模式(系統)中使用。在’’系統”模 式中,經由設計一應用軟體型式的’’驅動程式”,使 此方法具有與微核心系統相同的微調彈性,以便隨 後在與單體核心同等的性能水準中使用。 10 •在一群類型相同的組件(例如”資料編碼/解碼器’’) 中指派不同特權的可能性:要求速度時,使用系統 組件型式的簡單組件(例如:GIF”資料編碼/解碼器 ’’);不需要快速但要求安全並要提供完整之錯誤容 限時,使用使用者組件型式的複雜組件(例如: 15 HTML”資料編碼/解碼器π或Marcomedia Flash(註冊 商標))。 此選擇是以逐一的方式進行,允許程式設計師完全按 照他的目標建構他的系統。 圖3a到3c以概圖說明按照本發明之系統的結構,它完 20 全是以組件的方式實施,且它不包括”中央’’單元,如核心 或微核心。 如下所見,這些組件每一個都是以其本身存在於系統 中;它們被產生、編譯、載入系統的記憶體中、並分別單 獨地被卸載,藉以能: -16- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) (請先閱讀背面之注意事項再填寫本頁) — — — — — — I— ^*1 —---! 線—一 動怨地更新系統(新版本,修改錯誤等)不需要重新 啟動, 經由提供按終端產品特有的需求改變硬體管理策 略的可能性,以避免設計軟體系統期間發生硬體無 法被軟體系統移動。 、 _ 、、、 I月之糸、、先中的母一個組件只專注一項功能 這與習用作業李έ克中白ί] #心、x n ; 系、、死"勺核〜不冋,如同絕大多數的程式 白用作業系統中的核心要執行多項功能。 此外’為完成與其相關的功能,每—個組件可以請求 或夕個其它組件執行一或多個其它功能。 因此,按照本發明之系統的操作,是將每一個指定的 組件載人系統的記憶體,與能執行指定組件本身操作所需 功能的其它組件通信。 因=、’圖3 a到3 c中的箭頭說明系統在某些組件間所建 立的通信通道’以便允許它們之間相互傳送功能。 這些圖也說明系統之結構的動態特性,如圖3c所示, 它的組件3丨可以由組件32取代錢完成相同功能,且不需 要改變任何其它組件。這些態樣將在下文中詳細說明。 > 組件一一般考慮 一般定義: 須瞭解,按照本發明,組件是系統的基本單元 精確的定義十分重要。 就某種意義來說,組件是孤立、獨立且自主的碼 521210 A7 B7 五、發明說明(ie) 10 15 經濟部智慧財產局員工消費合作社印製 20 細的描述,按照本發明之系統的每-個組件具 •=專注執行一獨有的功能, • ^ 完整地執行此項功能。某項功能在單-個組件内 此使得在執行_應用軟體或任何其它程式時 要改變某功能’所需修改或更換的組件不超 =如物件的哲學’其方式是完成某項功能的組件, 並不知道使用此功能的其它組件, •每—個組件較鮮獨地崎,錢構成獨立的可 執行播’它可鏈結職件莢(稱為組件的”模組")。 在編譯期間不編輯組件間的鏈結。此允許前所未見 的彈性’制是對於執㈣統之基本功能且在傳統 系統中被配置在”核心”中的組件, •每-個組件在介面的協助下與包封在它模組中的 可執行碼相關,同樣地,介面也個別地與組件相 關、。在設計組件顧,程式設計師在以應用軟體特 別為此目的設計的描述語言的協助下,以本文檔描 述組件所供應的功能,本文檔構成組件之介面=原 始型式。此描述是系統所能獲得有關於組件的唯一 資訊。此包封保證不會出現”邊緣效應”,也不會出 現系統之組件間無法控制的相互依存關係。曰 因此,按照本發明’系統的組件是一個有介面協助之 完整包封(在模組中)的軟體物件,與系統中的其餘部分隔 -18 - (請先閱讀背面之注意事項再填寫本頁)
本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 521210
離,它具有以下的性質: •重複使用性及模組化性(一個及相同的組件可以配 置在不同的應用軟體中—或更廣義地說是在各不同 的程式中), 兄的獨立性(每一個組件都是個別地產生,能單 獨地載入系統或從系統中卸載), •動怨鏈結(組件是根據請求插入而非有系統地插入), 經濟部智慧財產局員工消費合作社印製 以及,專門限定於某一指定功能。 組件C由兩個主要部分構成,如圖4所示·· • IMP部分,它用於實現與組件相關的功能,習慣上 此邛分稱為組件的”實施”部分。此部分對應的碼用 以執行以完成組件的功能,及/或在硬體單元上實 施的硬體。須瞭解,,,碼”指的是一或多個程式,就 其本身而論,它可以由任何已知的語言撰寫而成, °亥些私式意欲完成與組件相關的功能,並為此目的 執行一或多項功能, •組件的”介面”部分INT,它是描述部分,允許與系 統中的其它組件交談。 _組件的包封 八母一個組件被包封在”模組”中,一可執行檔鏈結組件 之;I面與碼所對應的物件檔。將如以下所見,此檔是以自 動的方式為每一個組件產生,按照本發明,與構成系統的-19-
本紙張尺度適用中國國家標準(c⑽Μ規格⑵G⑽7公爱)
I I I I ·1111111 ^ ·11111111 (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 521210 A7 B7 五、發明說明(18) 其它組件無關。 為產生組件,需要定義位在組件外的功能,以及在執 行它們期間所需使用的結果;此來自習用的功能分析設計。 另一方面,如所瞭解,按照本發明,系統將保存此功 5 能分析階段所產生的語義資訊,一直保存到組件開始執 行。 此極有利於系統的升級及增加它的可讀取性。 在應用軟體所產生之從屬語言(dependencies language)的協助下,組件外部的功能描述於組件的介面原 10 始檔,在前文中已提及。 更明確地說,與組件C相關的每一個介面原始檔INT可 以完全描述此組件。它描述那一個介面單元必須從其它組 件匯入,以及,那些匯出到其它組件。 此檔將被編譯(在編譯檔MF(也稱為製作檔(makefile) 15 的協助下)並與對應於’’實施n部分IMP(亦即組件之”實施” 部分的每一個原始檔)之碼的物件檔鏈結,以構成組件的模 組Μ,它構成組件的可執行型式,如下文中的圖5所概示。 用來產生介面原始檔的從屬語言將於本文稍後解釋。 接著,將模組Μ載入目標50(目標的定義是供按照本發 20 明之軟體系統操作的電腦硬體),並立即被此目標上的其它 組件識別,如以下的詳細說明。 組件的實施部分 實施部分IMP是組件的操作核心。此部分可以有效地 實現組件的功能。根據碼所配置的功能,實施部分可以各 -20- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) — — — — — — — — — — — · I I I I I — I — — — — — — (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 521210 A7 _ B7 五、發明說明(19) 種方式實現功能。 因此,不同的組件每一個可以實現一種且相同的功 能,不過,同時考慮不同的標準(criteria),該標準可以在 設計包括該組件之應用軟體或程式期間預先決定,或在實 5 際執行應用軟體期間動態地決定。 這些標準是以屬性(property)的型式描述(例如空白 (void)、字元(char)等),這些屬性與組件的介面相關,將在 本文稍後描述。 標準是以這些屬性其中之一的函式來陳述,它是定義 10在匯出功能之組件的介面内,匯入功能之組件的介面將此 屬性與一比較運算子(<、>、=等’如下文中的描述)以及比 較值聯結。 此外,可以按組件(例如是硬體)外部的標準,或按系 統目前的狀態,或在應用軟體執行期間靜態或動態地修改 15 系統或應用軟體。 因此,每一個組件的介面檔供應一組變換資訊 (meta_informati〇n),它允許系統的特定組件(從屬管理員) 以一相關的方法,按照先前提及的標準管理組件間的關 係,其標準與組件的型式、此組件的位置、系統之狀態的 20 資料項等有關。 還有一點須指出,如果每一項功能可由碼唯一地實現 (以’’軟體’’貫施功能),它也可能由至少一個硬體單元完成 (以’’硬體”實施功能)。 -21 - 本紙張尺度適用中國國家標準(CNS)A4 ^ (210 X 297 ) ------------------丨丨訂---------線 (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 521210 A7 B7 五、發明說明(20) 組件的介面部分 介面部分可精確地描述在組件執行期間所能供應的功 能,以及必須供應何種功能給它。 它以應用軟體發展的從屬語言定義要供應給組件做為 5 輸入資料的格式,以及組件輸出資料的格式。此格式只與 所要實現的功能有關,與實施部分實現功能的方法無關。 此介面部分描述組件所能實現的功能,與實施部分實 現此功能的方法無關。事實上,無論碼(或經規劃的硬體單 元)以何種模式配置功能,此功能仍保持相同。它執行相同 10 的處理操作,在輸入請求相同的資訊,並在輸出供應相同 的資料。 因此,介面部分可以使系統充分地升級。因此,由軟 體實施的功能(對應於一組件,它的實施部分是由碼構成) 稍後可由硬體實施實現。 15 在此情況,對應的組件包括一介面檔,但它的實施部 分是由非常簡單的程式構成,描述與硬體單元的鏈結。 反之,硬體實施可被軟體實施的功能取代,不會對其 它組件有任何衝擊。 在組件之模組的描述中,介面是以關鍵字”介面”定義。 20 以下的表描述功能的各種不同屬性;這些屬性與組件 請求的功能相關(方向=匯入)或與組件供應的功能相關(方 向=匯出)。 -22- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) -----------------------------$ (請先閱讀背面之注意事項再填寫本頁) 521210 A7 B7 五、發明說明(21) 屬性 方向 一----- .____描述 唯一(unique) 匯出 f t 统上可夸在此介面 S早气。因此,系統僅載入 歲了個Κ知,且拒絕i續的實 外來(foreign) 匯入 從另一個組件匯入此介面。 載入時間(loadtime) 匯入 Sif與使用它的組件同一時 間被自動地載入。 執行時間(runtime) 匯入 立面卢使用它之組件的請求下 動態;·,理—見有關於從屬 吕埋貝一郎) 需求的(required) 匯入 介面是操作時不可或缺的。 t果與此介面相關的功能未被 貫際地匯入,組件將不會被載 入0 多樣的(multiple) 匯入 匯入所有能匯出此介面所請求 之功能的組件。 在各種不同屬性的協助下’介面可以定義在它的本文 檔内。例如: inprocess supervisor module { 5 interface component { /*Definition of the exported interface*/
} I foreign loadtime required interface codec { /*Definition of the imported interface*/ 10 } }; => 介面的屬性 介面的屬性使其可以定義本文稍早前所提及的標準。 15 它們是以C語言(註冊商標)定類型。下表描述屬性的各種類 型: -23- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) (請先閱讀背面之注意事項再填寫本頁) --------訂---------線· 經濟部智慧財產局員工消費合作社印製 經濟部智慧財產局員工消費合作社印製 521210 A7 B7 五、發明說明(22) 屬性 描述 空白(void) 空白(與類型C相同) 字元(char) 8-位元整數 短(short) 16-位元整數 int,long 32-位元整數 長長(long long) 64-位元整數 浮動(float) 浮動 加倍(double) 加倍(與類型C相同) struct name 結構 union name 結構 字串(string) UTF-8字率,以零結束 布林(Bollean) 布林 memarea 記憶體區 enum name 計數 以下是與這些屬性相關的延伸: 延伸 描述 有符號(signed) 有符號的值(原設值) 無符號(unsigned) 無符號的值 const 常數值 在描述介面檔中的從屬關係期間,運算子使得它可指 5 定介面的屬性。因此,唯有另一介面的屬性值對應一定義 明確的標準,它們才可能認可該另一介面匯入。 以下是與介面之屬性相關的運算子: 運算子 描述 in 此參數是輸入(原設值) out 此參數是輸出,且是由被呼叫的功能提供 -24- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) --------------------^---------^ (請先閱讀背面之注意事項再填寫本頁) 521210 五、發明說明(23) A7 B7
inout < 此參數是輸入/輸出 指派的運算子 同C語言 同C語言 <= 同C語言 > 同C語言 >= 同C語言 != 同C語言 && 布林AND 邏輯AND的結果不為零 !& (&&)的反相 邏輯AND的結果為零 ---------------- 2清先閱讀背面之注意事項再填寫本頁) 關鍵字nimdef"可做為屬性或功能的比較值。在以下的 例中’假ό曼組件需要一名稱為codec的介面,它包含一^名牙L 為mainType之32位元的整數屬性,它的值必須剛好為2。 5介面必須確保功能Func{}取得一字串做為參數,並返回 個32位元有符號的整數。 10 foreign loadtime required interface codec { /* Definition of the imported interface */ int mainType -- 2 \ int Func(string name) ! = undef ; 經濟部智慧財產局員工消費合作社印製 15 因此,功能的供應與請求是經由規劃介面供應或請求 的描述完成。例如組件可以供應”排程員,,(scheduler)規劃介 面(排程員可以產生/消滅/操縱程序及分緒及它們的同 -25 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 521210 A7
10 15 經濟部智慧財產局員工消費合作社印製 20 卜記憶體”介面(管理記憶體)、"計時器"介面 (k理排矛王貝所需的計時哭 庠,廿〜,τ 在指定的時間之後中斷程 序並刖進到下一個程序)等。 這些規劃介面可包含: 屬I·生(型式、§己憶體管理的類型、序列的屬性等); •以及為執行組件所呼叫的方法(函式卜 ▲屬性可用於某介面的供應㈣與請求期間。因此,此 可能表示的事實是’與組件相關之記憶體介面的型式是 1.5.2(在介面的供應期間表示的屬性);否則,事實是記憶 體介面請求的型式至少是丨·㈣,但不是1.G.4,因為它知道 具有無法避免的"錯誤”(在介面請求期間表示的屬性)。 」匕外,介面的内容(屬性與方法)構成一描述,是由程 式設計師在以此為目的之制軟體所產生之語言的協助下 所撰寫。 此語言是由從屬編譯器以二進位的格式編譯,它包括 在由模組所構成的可執行組件中,與組件的碼及相關資料 的能力相同。 此一進位的格式很容易供系統根據所請求的功能執 行’以便交互鏈結組件。 此語言也用來指定組件所包含之碼的類型(,,系統,,、或 是”被動’’(程式庫)或”主動,,(應用軟體)等),以及何種類型的 碼可以存取某指定功能(例如以系統的”危險”功能限制,,系 統”的呼叫者);如此可以選擇最佳的通信方式。 -26- 本紙張尺度中國國家標準(CNS)A4規格(21G X 297公釐) (請先閱讀背面之注意事項再填寫本頁) t ^---------^—#1---------------- 521210 A7 B7 經濟部智慧財產局員工消費合作社印製 五、發明說明(25) >組件一產生及載入系統 現請參閱圖6,以下將描述按照本發明產生系統之組件 的步驟,以及在系統中按照本發明的實施。 圖6是一邏輯圖,其中,行代表按照本發明用來產生及 5 配置系統之組件的各不同單元。從左到右,此表的構成包 括: •兩行’’COMP”對應於組件本身,最左行的"INT"對應 於介面部分,次一行的’’IMP”對應於實施部分, • nMFn行用於製作檔(makefile),它是組件編譯檔, 10 •,’COMPIL DEP”行對應於組件設計單元,它是從屬 編譯器,是應用軟體為編譯組件所特別發展的單 元, • nCOMPIL CODE”行對應於檔案之已知類型的編譯 器,檔案構成組件的碼, 15 · nLINKnR對應於鏈結編輯器, • ’’KBIN"行對應於按照本發明之系統的特定發展工 具,在計劃的設計期間進入(它的概念將在後文中 定義), • nGD’’行專用於按照本發明之系統的特定組件,稱為 20 從屬管理員(或GD),它構成按照本發明之系統的核 心,但與習知技術的核心或微核心完全不同, • nLOADf’行對應於按照本發明之系統的特定組件一 載入器,它可將系統的組件載入目標的隨機存取記 憶體區, -27- (請先閱讀背面之注意事項再填寫本頁) # — — — — — — — — — — — — — — — — — — — — — — — — — — — I· 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 521210 經濟部智慧財產局員工消費合作社印製 A7 五、發明說明(26) •最右行為所描述之各階段的指示。 組件的產生 在此定義’’計劃’’(project)的一般概念,按照本發明,它 5在系統中指定一組具有共同目標的組件。因此,計劃對應 於一應用軟體,但更廣義地說,它對應於可由電腦系統執 行之任何類型但不同於應用軟體的程式(例如周邊管理 員)。 在產生欲在按照本發明之系統中實施的計劃之前,要 10先按習用的方法在601執行功能分析(AF)階段。 在此階段定義所需的各種組件,它們各自的功能,以 及與這些功能每一個相關的需求(必須有其它組件為其產 生的功能)。如以下所見,可以使用已載入系統的組件提供 計劃某些功能。 15、此贱的分析—旦執行,^也瞭解了組件的需求,程 式《又汁師可以為每一個組件繼續執行步驟⑼2到: 在;y ‘ 602,使用應用軟體所發展的從屬.語言產生 、、且件的;I面原始植,其中描述組件的特徵。此語言 的特徵及它的主要的可能性將於錢返回此本文, 2〇 .在步驟6〇3,程式設計師接著產生碼,亦即原始槽, 使組件能以-或多種已知_的語讀供功能。在 此步驟期間’組件所要匯出的函式(functi〇n)僅是以 原型定義,對應的碼尚未撰寫。 特別指出’當啟動程序進行時,要從事與功能對應 (請先閲讀背面之注意事項再填寫本頁)
«ϋ ϋ ϋ ϋ >1^δ,、a I ϋ-· «1 §1 ΛΜΒ ammmm I ϋ n ϋ 1 n n ϋ ϋ ϋ n I ϋ 1- I ί ί ϋ n I ·ϋ I -28 -
五、發明說明(27) 5 ο 1Χ 5 11 A7 B7 經濟部智慧財產局員工消費合作社印製 ο 2 的處理或操作(對功能的描述將以 ^ 對記憶體的管理,以便管 以)’例如 圖形顯干哭笙里匕們對目標之處理器、 式語言的軟體(因V名)。函式是轉換成功能之程 =程:=,所採彳―統 ?士型’它定義參數的輸入與輪出。此原型可以鏈 、,'°到吾人之組件的介面部分(它的角色相同), /碼部分。此部分執行資料處理,因此’它可以決 定供應到輸出的結果。 還須指出,函式的原型定義函式的名稱,它的輸入 茶數(它們的名稱及它們的類型),以及函式所返回 之結果之貢訊的類型。 在步驟604,程式設計師產生—製作播,他在其中 特別指定: /在岫一步驟603期間產生原始檔所使用的語言, 〆與組件之實施部分對應的原始檔, /編譯選擇, 在步驟605,程式設計師使用從屬編譯器以及與組 件之原型所使用之語言相符的編譯器產生: /物件介面,以從屬編譯器編譯在步驟6〇2所產生 之組件的介面原始檔所產生。為編譯此介面,從 屬編譯裔分析介面之原始槽的本文,確認它的一 -29 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) (請先閱讀背面之注意事項再填寫本頁) -
ϋ ϋ ϋ m§§ 1 II ϋ^OJ n n mmMM I I ϋ I I n I Bi ϋ ϋ n ϋ ϋ ϋ ϋ I ϋ βϋ I ϋ ϋ I I ϋ I 經濟部智慧財產局員工消費合作社印製 521210 Α7 Β7 五、發明說明(28) 致性,接著將其轉換成DG所能瞭解的二進位資 料。從屬編譯器自動產生檔案用以呼叫介面中所 列舉之要供應給組件的功能。 這些檔是從屬編譯器所產生之π包括’’(include)類 5 型的檔。’’包括”檔是為每一個碼實施語言所產 生。這些槽的角色是在電腦糸統中定義一個命名 空間(易言之,有一對應的前後文與其相關),它 在組件的外部,且與其不同,命名空間使得它可 以存取組件在它介面中所請求的功能。因此,這 10 些π包括”檔每一個定義的結構都可以被組件的 介面呼叫,按此方式,介面中所做的請求轉變成 可供與”包括π檔相關之實施語言使用的結構與 名稱, /為步驟603所產生的每一個原始檔產生物件檔; 15 在此連接點,每一個物件檔對應一個原型原始 檔,它的功能沒有被撰寫完全, •在步驟606,程式設計師接著編輯物件介面與組件 之實施部分之物件檔間的鏈結,按此方式,產生一 可執行的組件原型。 20 接著,在步驟607,ΚΒΙΝ對為擬想之計劃所發展的所 有原型組件進行完整性測試,確認所產生的計劃是前後一 致且封閉的計劃(易言之,計劃所需要的所有功能都出現在 此計劃中)。 在完整性測試期間,提供表單及對所有組件之介面的 -30- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) --------------------^---------^ (請先閱讀背面之注意事項再填寫本頁) 521210 A7 B7
五、發明說明(29) 10 15 描述給KBIN。因此,KBIN可以在這些組件間搜尋化…、 計劃所需功能的組件。如果有數個組件都能完聲$完成 功能,KBIN提示程式設計師在這些組件間做選擇 求—的 由κ m N自動尋獲或是由程式設計師指定的組件加構 成計劃的組件中。KBIN也要嘗試解決此新組件所需要的其 它功能。因此,KBIN使得可以自動地解決計劃所需要的絕 大部分功能。 A 如果計劃沒有正確地封閉,KBIN發出一錯誤訊息給程 式設計師指出不一致性,後者將重新執行連續的步驟6〇2 到606,以便修改及/或增加應用軟體中的某些組件;如果 計劃前後一致且封閉,經由撰寫組件之實施部分之原始檔 中完整型式的函式,程式設計師在步驟6〇8完成此實施部分 之碼之函式的原型。 在步驟609,程式設計師配置製作檔以各別地編譯每一 個組件,按此方式產生碼以使物件標能執行組件的功能。 在此步驟期間,將製作檔帶入從屬編譯器及用來產生碼之 語言的編譯器。為目前正在發展之計劃中的每一個組件重 複步驟608及609。 (請先閱讀背面之注意事項再填寫本頁) 訂· •線· 經濟部智慧財產局員工消費合作社印製 在步驟610,程式設計師接著配置鏈結編輯器以便為每 20 一個組件產生可執行的模組,該模組與在編譯步驟6〇5及 609期間所產生的物件檔組相關(在步驟6〇5期間所產生的 是物件介面,然而,與碼相關的物件檔則是在步驟6〇9期間 產生)。 在編輯此鏈結的期間,它對應地將組件包封到模組 -31 - 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 521210 A7 五、發明說明(30) 經濟部智慧財產局員工消費合作社印製 内’編輯器確認計劃之各不同介面所供應的所有功 相關的原始播中被確實地完整描述,並已經過編譯。 組件的宣告 旦為㈣的每—個組件產生了可執行的模組,程式 =師_宣告這些組件的存在,以便它們可被系統納入 師將每-個組件宣告給,,載入写,,在間’程式設計 本發明之线特定的料“心們本身是按照 在步驟611期間’被宣告了組件的载人輯組件儲存到 ί入器之個別的表中’載人器將宣告到該處的組件組聚集 在一起。 就整體而言’此步驟611也是與目前所發展之計割在某 種程度上相關的步驟,關於計劃所發展的組件組被宣告給 至少-個載入器―每—個載入器對應一個電腦系統的媒體 ⑽片等與此載入器相關的組件儲存在其上。 將組件載入系統 以下將I田述產生與宣告包括數個組件之,,計劃,,的步 20 一見將在下文中描述這些組件的配置,此部分說明於圖6 的下半部分。 在步驟620組件C1呼叫它所需要的功能F1。 此呼叫將發生兩種可能: •在組件C1的介面中,功能?1的屬性被定義成,,載入 -32- 10 15 (請先閱讀背面之注意事項再填寫本頁) 訂------I!線· 本紙張尺度適用國㊉準(CNS)A4規^^ χ μ )-*-—- 521210
五、發明說明(31) 5 ο 11 5 11 經濟部智慧財產局員工消費合作社印製 ο 2 tfl、(載人時間’這個屬性已在前文中描述)。若為 此清况’在載入組件C1之前,GD將搜尋能完成此 功能F1的組件並將其載入系統。 如果此組件本身冑要,,載入時間”這個功能,在載 ^、、且件C1之削’ Gd還是要先載入能完成此項功 能^的組件。因此,DG將遞歸地載入它所遇 到月匕元成各種不同,,載入時間”功能所需的所有 組件(如何將組件载入系統將在下文中進 釋), 或者’功此F1的屬性被定義成,,執行時間,,(,,.執行時 間”這個屬性已在前文中描述)。接著,組件ci必須 明確地呼叫由GD供應的另一個功能 ’’depmgr’丨以呼 /執行日守間功能F1。為做到此,在ci的介面中, depmgr功能絕對必須隨,,載入時間,,一同宣告,以 便-旦C1被載入及初始化(見前文中,,載入時間"功 月色的處理)即能使用此介面。 接著,c 1在正好要使用它的時刻在步驟62〇呼叫, 以便匯入,,執行時間"功能F1。接著,GD將能完成 =功能F1的組件載人。如絲組件在被載入的時刻 需要一功能(在它的介面中宣告的功能為,,载入時 間)’則完成此’’載入時間”功能的組件也要被載入。 因此,GD將迴心也載入它所遇到能完成各種不同,, 載入時間”功能所需的所有組件(如何將組件載入 系統將在下文中進一步解釋)。因此,唯有將所遇 (請先閱讀背面之注意事項再填寫本頁) iro- i線. -33-
521210 五、發明說明(32) t的所有載人時間”功能都解決之後,€1才能使用 最初在步驟620請求的功能F1。如果C1在載入時請 求的功能有一個沒解決(功能宣告為,,載人時間,,), ^就不會被載人。事實上,C1將無法完成它的功 5 肊任務’因為它無法使用它所需要的另一項功能。 %如果C1所屬且宣告給系統其中一個載入器的計劃中 /又有個組件⑨元成C1m需匯人的功能,系統將在另一個 。十W中識別可以供應C1]{:b項功能的組件。 基於這些目的,㈤(它永遠被載入系統的隨機存取記 10隱體)、、’工由匕的鏈結圖”搜尋鏈結圖中是否有一個組件的 介面物件槽指示此組件能供應以所請求的功能。 ^為做到此,GD解釋”二進位”型式的介面檔,該型式是 儲存在可執行的組件中,並由,,載入器,,組件載入/傳送給執 行中的GD。 15 首先搜尋與所請求(匯入)之名稱相同的介面。當發 現相同者,它接著確認所請求之功能的所有属性是否㈣ 見於’、中,以及疋否滿足任何限制及條件(版本高於0.6 2 等)。 ' GD鍵結圖是被載入系統之組件的目錄,易言之,它不 20僅如丽文在步驟611中所描述的被宣告,且它的物件介面檔 也匯入目標的隨機存取記憶體區中,且它與鏈結圖的其它 組件連接,以交換供應及/或請求功能。 鍵結圖是儲存在目標的隨機存取記憶體區中,因此, 鏈結圖是被載入之組件的即時影像,此鏈結圖可以動態地 -34- (請先閱讀背面之注意事項再填寫本頁) ,裝--------訂---------線. 經濟部智慧財產局員工消費合作社印製 本紙張尺度適用中國mWm (CNS)A4^iT210 x 297 ) 五、發明說明(33) 調整。鏈結圖是唯_ & 的且與GD相關,GD可存取此鏈結 圖的資訊。 ,步驟621期間’㈤決定C1所呼叫的功能是由鍵結圖 士白、/、中個組件供應(將該組件稱為C2”被呼叫組件”,同 、,疋呼Η組件’),它建立此組件C2與組件C1間的通 仏通這,在627將組件C2的特性匯入組件C1。 姓m更月確地况,GE^C1建構一稱為,,視野,,(view)的資料 6提仏關於所要匯入的視野。此”視野”包含屬性的 ^及函式(或使得可間接到達它們的碼,例如系統的呼 分緒的遷移等)匯人的指標器。此”視野τ包括”播中 之從屬編#态所產生的單元直接發出。 如果GD在62Γ決定C1所呼叫的功能不是由鍵結圖中 的任7組件供應,它將逐—地詢問系統之載人器的表,以 心:疋旦〇到這些載入器中的組件中是否有能提供C1所 15釦求的功能。對載入器的詢問以步驟622表示。 經濟部智慧財產局員工消費合作社印製 在此詢問期F曰1 GD使用”載入器”功能,此功能具有列出 組件供每厂個,,載入器,,觀看所需的函式。,,載入器”功能允 =GD比較載入器之組件所匯出的功能與需要匯入的功 能。它也允許GD從與載入器相關的媒體中將各個組件載入 2〇目標的隨機存取記憶體或從其卸載。 要特別指出,按照本發明之系統的每一個載入器與一 特定的媒體相關,使該媒體可以儲存組件;因此,每一個 載入杰可與一記憶體碟片或任何其它可支援記錄的媒體相 關,例如CD-ROM類型的碟片。現將特別參考圖7說明複數 -35- 521210 A7 B7 五、發明說明(34) 10 15 經濟部智慧財產局員工消費合作社印製 20 個載入器。 如果有一個這類組件位在系統其中一個載入器的表中 (步驟623),表中包括此組件的第一載入器在步驟625將被 識別之組件C2的物件介面傳送到從屬管理員,且GD本身 在步驟626將此組件C2的’’視野”傳送給組件cl(步驟627)。 C2的"視野”被(3£)儲存到由動態產生的系統記憶體 區中,組件C2—旦被載入,在此組件被卸載的同時亦被摧 毀。此區域與組件可存取的位址空間相同。 在步驟623期間,如果GD為確認其中一個載入為的表 中有一個組件能供應請求之功能的搜尋結果是否定的,系 統在步驟624結束。 無論如何,將組件01載入系統的隨機存取記憶體將引 起GD自動搜尋能提供組件C1操作所需功能F1的組件C2 , 如前文中的解釋。 此外,如果組件C1所呼叫的不只是一個而是數個功能,GD也同樣為組件執行自動搜尋以提供所請求的這些功 能。 — 須注意,與習知的系統相較,按照本發明的 供額外的彈性。 …凡此徒 /事實上’已知的系統是以實體建構,程式設計師必須 在系統中為每一個呼叫的實體具體指定該呼叫之實體= :需其它實體的表,且必須載入到系統中以使呼;的;體 能正確地操作。 、- 因此,習知系統的情況是,實體的需要無法以功能表 -36- (請先閱讀背面之注意事項再填寫本頁) tr—------線· 本紙張尺度適用中國國家gy^7s〉A4規格⑽χ撕公楚)_ 521210 A7 B7 五、發明說明(35) 10 15 經濟部智慧財產局員工消費合作社印製 20 示,必須以特定的實體表示(例如java語言的情況)。 此外’本發明的情況是,數個不同㈣^供相同功能 的組件每一個都易於與呼叫的組件Ci聯結。 此外,本發明其它的優點來自於與組口件相關的標準, 在㈤自動搜尋能提供第-組件所請求之功能的组 間,這些標準被列入考慮。 / ί實上’在GD搜尋組件的期間,如不僅搜尋能提供 所請求之功能的崎,且能_本文早先提及的標準,更 精確地搜尋能提供該功能且結合有特定條件的組件。 以現有的語言(例如Java語言—註冊商標)為例,事實 上,程式設計師絕對必須在呼叫的實體與被呼叫實體間產 生明確的鏈結。因此,很明顯,這類習知系統所提供=彈 性’無論如何都無法與本發明相比,因此,本發明能給予 其本身更佳的維護與升級(例如,為產生更強的版本),提 供所請求之功能的組件’可以由以不同方法但能完成相同 功能的組件取代,或者,可以增加能完成該功能的新組件, 以便提供GD新的選擇。 因此,本發明可以建構出極具升級能力的系統,其中, 可以隨心所欲地更換一或多個想要更換的組件。 、 每一個用以更換的組件所提供的功能已由被更換的 組件提供。 ' ^ 不過,完成此功能的特定機構,它們是軟體及/或 體,可以任意地適合。 在應用軟體的架構内,諸如安裝在各不同站台之系統 -37- (請先閱讀背面之注意事項再填寫本頁) - — — lull ·11111111 1^ 本紙張尺度適用中國國家標準(CNS)A4 x 297公爱) 521210 A7
10 15 經濟部智慧財產局員工消費合作社印製 20 之網路的維護,或是裝詈夕y· 話或個人筆記薄等),使用:單元的維護(例如可攜式電 升級,這可能是最有利之^希望實際回到中央站台才能 因此,安裝在上述類】 由從中央站台將-或多新^衣置中的應用軟體’可以經 ^ 夕新組件下載到這些裝置中,即可很 谷易地升級,按此方式, Τ 可以散布在任何_。 ㈣貫際地移較置,該裝置 此外’更換這些纟且株, 電腦系統。 、也不系要重新編譯配置它們的 呈有3進it。所晴求之功能的組件C2已被確認(可能 八 p足(1)之介面所請求的條件),且C2的特性 在步驟627被匯人C1,依照組件C2是或不是構成鏈結圖中 的一貝(步驟㈣),從屬管理員的操作將有所不同。 士果C2已在鏈結圖中,㈤直接前進到步驟⑼以產生 C1與C2間的通信通道。為做到此,系統將使用以下所描述 的4種通^模式其中之—,或是使用按照C1及/或C2之介面 中明確指定的特性所特別產生的特定模式通信: 直接呼叫: 此為最快速的方法。所請求的功能或方法被直接呼 叫,且它的結果也是直接返回。其中沒有中間的碼。當兩 個組件都在相同的機器、相同的位址空間及相同的特權等 級時,從屬管理員選擇此機構。 位址空間被定義成邏輯記憶體區域,其中,碼的位址 或資料的位址對所有存取此區域的組件都具有一義意。指 -38 - 本紙張尺度適用肀國國豕標準(CNS)A4規格(210 X 297公釐) I I I --I I I I ^--I------,^^· (請先閱讀背面之注意事項再填寫本頁) 521210 A7 五、發明說明(37) 5 ==料的指標器可以從-組件傳送到另-組件, 不修改匕的值將可叫取彳目_資料。門一羞一,月中位址空間”也暗示共同的特權,位址空 分類在同—特權等級的物件:因此,指 c相同位址空間的物件可被不同的組件以相同的方式存取。 此外,例如也可η $ i , ^ ea ” η 疋義一個特權等級較低的Π使用者,, 空間^及具有較高等級的,,監督程式”空間。 之間使用者Π空間與Π監督程式Π(系統)空間 二 性是依從的(電腦系統的處理器同時存 ^ ^ θ )但使用者,,碼不能參考位於π監督程式”空間 中的貧料。 用以組件間存取的可能性;在原始介面中,可能使 用以下的特權等級: _______________描 吴組疋在與呼叫方相同的位址空間中執行 載入日ί,5 wn,,的組件被 於排程以一門且件專門用 的位址空#。接英由,m气气序以及對應f 1#)作可能除田了組如s t ί)是被且動在ίAVinTif ^ # -39 本紙張尺度適用中國國家'^準(CNS)A4規^21() x 297 ) (請先閱讀背面之注意事項再填寫本頁) 訂- ;線· 521210 A7 五、發明說明(38)
|5$555ZSZlgxff5-^) 10 15 經濟部智慧財產局員工消費合作社印製 20 為指定組件為這些特權等級其中之_ 組件之模組之定義中的對應參 5=計師將 的本文中: β亥疋義包括在類型 inprocess supervisor m〇dule { } . ' Deflnitl〇n 〇f the module*/ 口此,一般言之,每—個組件都 4 的特權等級,該特權等級做為此組件存二^ 性的條件,是該其它組件各別之特權等級的^件之可能 予此==某=相!的特權等級[空白]^ 是盘這此H之"面所提供之功能的可能性, 一。二八匕、、且件貫際相關之特權等級的函式。 :t外,如下文中所見,組件間由與各不同組 σ特料輯建立的此種麵 、、、。 地結合某肢組件加以"短路”。s 了被t子個別 此種呼叫的例子如下: •監督程式組件對監督程式組件, •,用者組件(易言之’從特權等級較低者)對同位址 空間中的使用者組件(此種應用軟體使用組件管理 共旱及被動函式的程式庫)。 此方法只有在記憶體組件沒有提供保護時使用,此可 -40- 297公釐) ------------裝--------訂---------線 f請先閱讀背面之注意事項再填寫本頁} 521210 A7 B7 發明說明(39) 10 15 仏為其產口口建構系統的工程師選擇, ^ 提供極快速的系統。 3在沒有保護之下 當此組件只提供單一,, ffy 乐、、兄頦型的位址空間時記憶-組件不如供”保護。此類型的記 所 它組件的碼«料),^ σ 壞絲改屬於其 單元"(MMU)的某些目標上才有可能。〇。仏體&理 ==>系統呼叫: 請求被轉向系統呼叫。後者將參數從使用者堆疊轉移 到監督程式堆疊,改變㈣堆且轉抄 4士m 〇 „ 專 完成呼叫,返回較低的 特榷4級,且結果是直接返回。 擇此:Γ,者:Γ無特權)呼叫監督程式組件的功能時選t Λ科’此魏授權無_的組件使用它。 κ屬描述語言的層次經由關鍵字”提升 (promote)完成。此外,f庵義士 義兄’以下的關鍵字可與組 件相關(在以制軟體發展之語言的語法巾,_字只是單 純地在屬性或方法前加字首,這些關鍵字改變它們的操作 方式)· 裝i丨丨丨丨丨丨訂------丨·線» (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 20
⑵牛可中说用函%组”叫在,,監督程式 41 - 經濟部智慧財產局員工消費合作社印製 521210 A7 B7 五、發明說明(40) 非同步(async) 立刻傳回給呼叫方,且該功能繼續平行處 理:在此情況,間接呼叫經由”觀看"產生 分緒之GD(其本身呼叫在考慮中的函式) 之結尾處的碼並立刻交出(在產生的分緒 中繼續執行)。 連續的(serial) 與功能同時發生的呼叫被禁止(呼叫的另 一方將被置於保留)。 因此,前文所提及的授權,為個別地授權一個組件存 取另一個具有無法存取之特權等級的組件,經由配置關鍵 字’’提升”,可以”短路’’已建立的特權等級。 5 1分緒(threads)的遷移: 按照本發明的系統,執行分緒的邏輯管理(識別器、優 先權、系統堆疊等)與它的實體管理(處理器的前後關係 (processor context)、使用者堆疊、其中包含分緒的位址空 間等)相互獨立。 10 當一組件呼叫位於另一位址空間中的函式且是同步呼 叫時(呼叫方被凍結等候結果),呼叫方π遷移π到被呼叫方 並執行該處理。 為達此目的,分緒的邏輯部分’’堆疊"在它目前實體部 分的上方,並使其本身連接到在被呼叫方之位址空間中產 15 生的新實體部分。 接著,所要功能的碼在被呼叫方中(易言之,在相同的 位址空間與相同的包含程序)但是在呼叫方的邏輯分緒中 執行。一旦函式結束,該呼叫分緒從它原來的實體部分” 去堆疊11,並再度η遷移π到呼叫方中。 -42- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) — — — — — — — — — — — --------^ --------- (請先閱讀背面之注意事項再填寫本頁) 521210 A7 五、發明說明(41) 分鍺的,’遷移”碼也負責在兩個方向傳送參數, 再映射記憶體區,字串等,當成參數供應。 μ 此機制避免了昂貴許多的傳統方法,傳統方法包括了 訊息、將訊息傳送給被呼叫之組件中的分緒,暫 2分緒、分解被呼叫方中的訊息、執行所要的功能、重组 ”結果有關的訊息、喚醒呼叫方、再度暫停被呼叫方 權反免fr步傳遞訊息相_諸多問題,如優先 柄反轉(在此,被呼叫的功能是以 10 頁 ,算(呼叫方的機器時間被倒數 d_)),以及,被呼叫的組件中需要保 "㈣被呼叫的組件進人睡眠狀 =r:r:f源’接著的是大量的呼叫會使得 15 此方法使得位址空間外部呼叫這種最常見的情況大幅 地隶佳化··在同一機器上同步呼叫。 3訊息的傳遞: 在以微核心為基礎的系統中, 2β •=)步的本地呼叫(呼叫方不停留麵結狀態等待 •遠方呼叫另一機器。 訊息的傳遞在於編碼訊息中所供應的參數,將訊息路 -43« 本紙張尺度適用中國國家標準(CNS)A4規格⑽χ 297公髮- 521210 A7 B7 五、發明說明(42) 10 15 經濟部智慧財產局員工消費合作社印製 20 由到目的組件,解碼訊息,執行函式,儲存訊自、中的結果, 返回呼叫方。前文所述的此方法特料合不同步呼叫(結果 訊息稍後傳送)’以及遠方呼叫1要任何方式的網路封包 結構。 現請回頭參閱圖6的描述,通信通道的產生,與呼叫將 呼叫組件以記錄到被呼叫組件〇:2之實施部分中的函式相 關。 除了組件它們自已特定的功能之外,稱為Register()的 函式是構成"組件"功能的一部分,它是由系統所有組件供 應。ff組件’’功能包括4個函式: •初始化, •去初始化,•記錄, •去記錄。 現在,如果GD在步驟628決定組件C2不是構成鏈結圖 的一部分,它在步驟629呼叫組件C2的載入器,以便將C2 帶入目標的隨機存取記憶體,在步驟63〇呼叫初始化C2的 函式,並在步驟631更新鏈結圖。 因此,圖7說明鏈結圖G,GD可將一組件或一組組件 P2從第一載入器的記憶體位置72匯入其中,以便允許已出 現在鏈結圖中的組件C1(鏈結圖中具有先前從其它載入器 之記憶體區71匯入的組件,這些組件是構成計晝"的一部 分)與被呼叫的組件C2連接,組件(32已在步驟623期間被 GD識別,步驟623是GD在各载入器間搜尋能提供C1所需求 (請先閱讀背面之注意事項再填寫本頁) _裝----- 訂---I--I--線- -44- 521210 A7 ____B7 ______ 五、發明說明(43) 的功能。 吾人回憶,事實上,KBIN在步驟607執行完整性測試 期間(見圖6),KBIM4認組件所呼叫的每一個功能,嚴格 地說,並不是由同一計畫的組件提供,更廣義地說,是由 5 載入軟體系統中的組件提供。 再回到圖6,步驟631領先步驟633已經描述過。 此外,雖然已描述了被組件C1呼叫之組件C2的載入, 但須瞭解,組件C1它本身也是被另一個組件呼叫,當啟動 系統時,需要初始化功能的呼叫。 10 為此目的,當啟動應用軟體時,GD請求”互動 "(interaction)功能,並搜尋能供應此功能的組件。gD也能 匯入請求此功能的組件。在所有情況,”互動”功能將呼叫 另一個組件,它依次呼叫至少一個其它組件。 15 經濟部智慧財產局員工消費合作社印製 20 > 從屬管理員(dependencies manager) 如前所述,按照本發明,從屬管理員是一永久載入系 統的組件。它可以架構出構成應用軟體之各不7同組件 鏈結,這些鏈結是由組件的介面建立。 、 按照本發明的有利態樣,只有對應用軟 作有用的這些組件才會被載入,因此,它处=糸、、先之操 的資源。此最佳化可經由以下其中一種模佳化所需要 在執行期間組件自動載入 ' 當一組件被載入以便執行時,從屬管理。 於組件介面中的從屬,並自動搜尋以解決陳 -45- 本紙張尺度適用中關家標準(CNS)A4規格(210 X 297公楚 ----— — — — — — — --------^ · I I I--I I (請先閱讀背面之注意事項再填寫本頁) 521210 A7 五、發明說明(44) 的從屬’易言之,供應組件所需要的所有功能,並進行相 屬同的的=以供應每一個組件它所需要的功能,以、 閲 時門”二將且件自動載入鏈結圖,解決屬性為"载入 ,θ 、匚入"面,也解決它們的從屬,並在這些不同的組 4間產生通信通道,是它們各自位置的函式。 =可:按照前所定義的任何一種通信模式建立通 =匕古 資料傳送路徑(為每-種通信模式所特 10 15 20 執嶋能所 、l通道旦建立,組件間即可直接相互通信。 組件的動態載入與卸載 當匯入的介面具有,,執行時間”的屬性時,只有當使用 入件需要與介面相關的功能時’此組件才請求載 二:面的組件。因此,此”執行時間 载入時間”的屬性,已在前文中描述。 替代 的屬確地決定必須載入之介面之實施 並不知道屬:㈣數的函式,當載入請求功能的組件時 便對文”(text)組件可以匯入—編石馬解碼器介面以 型的=到的樓案解壓縮,此,,本文”組件可以接收數種類 在接收播案期間,"本文I,組件 的編码解碼器介面,例如是延伸標名的函式=: -46- 521210 A7 經濟部智慧財產局員工消費合作社印製 五、發明說明(45) 它使職屬管理員的Query()功能,將搜尋參數傳遞給它。 接著’它可以在〇pen〇功能的協助下命令從屬管理員 =入、、且件接著,匕使用此組件的編碼解碼器介面將該標 案解壓縮。 當解壓縮結束,”本文,,組件可以請求卸載使用過的編 碼解碼器組件。 因此,它可以動態地載入組件。此可以允許只有在需 ^紐件執行處_再將它㈣人。#它的處理結束時,接 者即被卸載。 祕恥另一例,應用軟體可以在它的載入期間顯示一影 象’接下來就不再處理此格式的影像,或只有在特殊的情 况下才處理。 因此,此應用軟體可以動態地載入用以處理影像格式 的組件,請求它處理標案以便顯示影像,並接著卸載此組 件。只有當在需要時,該組件才被載入記憶體,這使得記 憶體資源可供各不同的組件共享,它是在某—瞬間所要進 行之處理操作的函式。 因此,此方法可以大幅減少所需要的記憶體資源。 從屬管理員也可以自動管理組件的載入與卸載,是它 們的使用統計與記憶體資源的函式。因此,此管理變得對 應用軟體的程式設計師完全透明。 圖8顯示在記憶體資源少的系統上動態管理組件的益 處。在此例中,應用軟體顯示GIF及JPeg兩個影像。每一 個影像是順序地處理,藉以可以動態地載入與卸載組件。-47- 5 10 15 20
X 297公釐) (請先閱讀背面之注意事項再填寫本頁) 訂- -線· 521210 A7 Β7 五、發明說明(46) 在本例中,組件的動態載入與卸載使得所需的最大記 憶體資源可以減少。 σ 此外,在絕大部分的情況中,此載入與卸載不會對性 能有可察覺的影響。 曰 5 事實上,組件之模組的大小已縮小(從大約數百位元組 到數千位元組)。因此,將它們載入記憶體的操作可以非常 快速地執行。此外,絕大多數應用軟體是執行順序處理操 作,且輸入的資訊通常是由使用的人供應,輸出的資訊也 是供應給使用者。 1〇 因此,以人的尺度而言,將不會察覺載入及卸載組件 所需的數微秒;以圖8的說明為例,操作的執行是按以 順序: 15 經濟部智慧財產局員工消費合作社印製 20 •載入影像(載入JPEG碼), •在螢幕上顯示此影像, •使用者, •載入另一影像(卸載jPEG碼及卸載gif碼), •顯示此另一影像。 載入與卸載的時間與其它的處理操作相較微不足道 從屬管理員使資源最佳化 從屬管理員為每-個組件管理使用計數器。此計數 計數組件的匯人物數量1言之,崎從結合有計數器 組件匯人功能。—旦組件的使科數㈣錢 卸載。 1 當組件不再使用’從屬管理員自動地將此組件使用 -48-
本紙張尺度適用中國國家標準(CNS)A4規格(21〇 297公釐)
訂---------線· (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 521210 Α7 Β7 五、發明說明(47) 資源释放。 須注意,因此,本發明能使系統所配置的資源特別有 效地最佳化,不增加系統一般操作方式的負擔。 事實上,習知的系統一般是配置周期性的機構用以確 5 認組件的狀態,該機構是由特定的作業配置,它周期性地” 接管’’以便識別要被卸載的組件。 此種周期性的確認工作並不很適合即時,因為它無法 以良好的反應性修改被追蹤之組件的狀態。 此外,此類型的操作方式由於出現確認的工作,因此 10 要求多工的環境。 此種配置周期性確認的操作方式可見於Java語言,確 認作業配置一 π垃圾收集器π類型的單元。 關於硬體單元所從事之功能的細節 如前所述,組件的實施部分可對應於碼(它包括一或多 15 個程式,以便完成組件的功能),但是,也可以使用包括電 子電路的硬體單元實施。 因此,組件C1所從事的功能可以使用電子電路實施, 例如視訊解壓縮電路。不過,組件C1所從事的此項功能也 可以只在軟體上實施。對一應用軟體而言,如果電子電路 20 的確存在且能正確地操作,系統將使用組件C1。另一方 面,如果電子電路不存在或它無法正確地操作,系統將使 用組件C Γ,使用方式對其它組件透明。在所有情況,都會 從事功能。 同樣地,如果現在是以軟體碼從事功能,也可能稍後 -49- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) (請先閱讀背面之注意事項再填寫本頁) 訂· -線- 521210 A7 B7 五、發明說明(48) 是以使用電子電路的組件實施,其實施方式對其它組件完 全透明。 圖9的圖說明組件C1被另一組件C’l取代,它們匯出的 功能相同。 5 C1目前正在進行的執行如900所示,組件C2具有一與 C1通信的通信通道,因此,將其鏈結到鏈結圖中請求gD 在901以C,1取代C1。
接著,GD請求C1儲存它的目前狀態(步驟902),C1在 903從事此動作。接著,GD載入及初始化C,l(904及905)。 10 如果C’l的載入及初始化執行的不正確(步驟906),GD 返回一錯誤訊息給請求者C2。 如果C’l的載入及初始化發生的正確,GD在908將C1 目前的狀態傳送給Cfl,以使C,1將其本身置於相同的狀態。 基於這些目的,C’l解釋被傳送的目前狀態(909),並 15 接受它或拒絕它(910)。 如果是拒絕,GD卸載C’l(911)並將其去初始化(912)。 接著,GD返回一錯誤訊息給請求者C2(913及914)。 如果現在C’l接受C1的目前狀態,GD更新它的鏈結圖 (916)以C,1取代C1。接著,它為C,1重建通信通道(917);這 20 些通信通道原為C1使用。接著,GD將C1去初始化並卸載 (918及919) 〇 替換已正確地執行,GD將其通知C2(920、921);後者 可以繼續它的處理。 以上所描述的是按照本發明之系統及其應用軟體的原 -50- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) (請先閱讀背面之注意事項再填寫本頁) 訂---------線 經濟部智慧財產局員工消費合作社印製 521210
五、發明說明(49) 理’其它方面參考圖6。 容吾人特別指出,它也能參數化組件C1的介面,因 此,當GD搜尋能匯出C1所要匯入之功能的組件時,它可 在載入系統的一組組件中連續地搜尋,並將鏈結圖中每一 5個能匯出此功能之組件的,,視野π傳送給C1,此步驟與圖6 的步驟627等同。 /、口 按照參數化的選擇標準,C1能在被GD識別的這些組 件間為其選擇適當的組件。 一'' 谷吾人再特別指出,在它目前的型式中,按照本發明 10的系統最少需要4個組件才能操作,如圖10a所示(其中,箭 頭指示組件間的功能傳送—因此,此類型的圖是鏈結圖的 代表)。 這些組件如下: • 互動(interaction),如前所述,需要它啟始系統的 15 操作, • 11穿梭’’(shuttle),它被”互動”呼叫,且它本身呼叫以 下兩個組件: • GD, •最後*nVMM”,即所謂的記憶體組件或記憶體管理 2〇 組件,它也呼叫GD。 圖l〇b同樣顯示一系統的最小組態,其中加入了 3個組 件’’CPU’’、’’TIMER3”以及"SCHED,,,以便允許多分緒管理。 最後,圖10c代表按照本發明之系統的增強型組態,它 構成一小應用軟體。 -51 - 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公楚) (請先閱讀背面之注意事項再填寫本頁) 訂---------$」 經濟部智慧財產局員工消費合作社印製 ' ϋ I n ^ I I I ϋ ϋ I I 1 n I ϋ ϋ ϋ I ϋ I ϋ _ 521210 發明說明(50) 10 、在此圖中,’’互動’’組件使用一 "COM”組件供通信 便透過一網路交換杳粗 所要呈現的圖形+亚使用'種”(圖形介面)組件顯示 士岡、嘉骨鼠'组其可以管理滑鼠周邊。它傳送關於改變 。、之狀恶的貝矾(移動、點選按鈕)。"GUI”組件使用„ 視窗,,及m件執行,,互動”組件所請求的顯示。 視®及按鈕組件使用GIF及JpEG編碼解碼器組件 在它們各自的顯示區域顯示影像。 GUI、COM、視窗、按鈕、gIF及JpEG組件也使用系 統之基本組件的魏。獨,在目lGetii未顯示這些功能 對應的鏈結,以免此圖過於複雜。 各組件疋分類到各域(d〇main)·中,它們的分類並非與 特權等級對應,而是按照使用的類型。以下是各種不同的 域以及與其相關的組件: 15 經濟部智慧財產局員工消費合作社印製 域 描述 SHEDULE 排程員組件 :_ MULTILEVEL GESTOIN MEMOIRE 記憶體管理組件 - VMM . - LMM BUS 匯流排管理組件 - ISA - PCI COMM 通信組件 — - ETHERNET - FTP • IPSTACK 52- • ί 丨丨裝·丨丨丨 I — — —訂- - -- - - --- (請先閱讀背面之注意事項再填寫本頁) 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 521210 A7 B7 五、發明說明(51)
INPUT
GFX
SON IMAGES FILE SYSTEM (FS)
SERIAL 輪入系統管理組件 ELOTOUCH(觸控面板) KEYMAP PCKBD PS2MOUSE(PS2滑鼠) REBOOT(監視程式)
圖形介面管理組件 GFX BUTTON WINDOW SCROLLBAR TEXT IMAGE 理組件 影像及視訊管理組件 - JPEG編碼解碼器 GIF編碼解碼器 PNG編碼解碼器 BMP編碼解碼器 _ MPEG 編 ‘ 磁碟管理組件
FAT HDD CD (請先閲讀背面之注意事項再填寫本頁)
--------訂---------線I 經濟部智慧財產局員工消費合作社印製 須注意’由於按照本發明之系統的所有組 相同㈣式實現’因此’系統是以相同的方法管理== :級^述的優點—體適用於所有組件,無論一 最後,很明顯,按照本發明的系統可以做到: -53- 本紙張尺度適用中國國豕標準(CNS)A4規格(21〇 X 297公髮 521210 經濟部智慧財產局員工消費合作社印製 Α7 Β7 五、發明說明(52) •程式設計師可以總覽作業系統的所有單元,無論它們的 特權專級為何, •使用相同的工具產生這些不同的單元, •各不同部分間可以沒有限制地有效地相互連接。系統的 5 能力不在於它的組件數量,而是在於可能的相互連接, 在傳統的系統中(單體及微核心),各不同部分間的通信 機構叉到限制且固定。它必須有系統地通過無常的瓶頸 U統呼叫的數量受到核心的限制,無論是單體核心或是 微核^專)。從屬的管理及通信機構的動態產生,使得可 10 以克服此限制, •提供所有類型的碼相同的屬性。在本發明的例中,事實 上不再需要設計_系統用以管理核心模組、程式庫或甚 至應用軟體的”即插即用”。所有這些都由組件管理系統 取代, ’ 15 了以產生與未來所需完成之功能相同數量的組件。此允 許按照本發明的系統可以完全地升級。 此外’如前所述,經由在很多情況返回錯誤訊息,本 發明給予發展者極大的可讀取性及反應性。 事具上,在組件的載入期間,自動地為此組件執行一 20 函式(Init)。此函式(init)確認載入之組件操作時所需的組件 組確實已載入系統。如果此項確認不符合要求(至少有一個 請求的功能沒有完成,或是,與能提供所請求之功能之組 件相關的硬體單元有瑕疵等),即返回一錯誤訊息給 方。 ' ^ -54- ^^尺度適用中國國家標準(CNS)A4 g (21〇 χ 297--------- — ---丨丨丨丨丨-丨丨i丨—丨!丨訂---I-- (請先閱讀背面之注意事項再填寫本頁) 521210 A7 _B7_ 五、發明說明(53) 此外,如果被呼叫的組件與一個有瑕疵的單元(硬體及 /或軟體)有關,它自動卸載到系統的隨機存取記憶體中。 此外,從圖9中可看出,當組件被呼叫時,錯誤訊息也 會返回。 5 因此,如果與操作發出呼叫之組件相關的硬體或軟體 單元不存在或有瑕疵,錯誤訊息會保持它的建議,不需要 系統做完整的測試操作。 (請先閱讀背面之注意事項再填寫本頁) -·線· 經濟部智慧財產局員工消費合作社印製 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐)
Claims (1)
- 521210 A8 B8專利申請案第90114791號 :„ ROC Patent Appln. No. 90114791 黎丄修正之申請專利範圍中文本-附件(一) H Amended Claims in Chinese - Fnrl (j) 一一一— … (民國91年l〇月日送呈) (Submitted on October 7^, 2002) ¾委员明示力年 >^日:3搓之 經濟部智慧財產局員工消費合作社印製 1· 一種用以發展意欲由電腦系統實施之電腦計晝(P1,P2) 的方法,其方法包括功能分析階段(6〇1),其目的是將 所要&供的功能歸類,在電腦機構的協助下產生計書 之組件(Cl,C2)以便完成該些功能的階段,在產生階段 期間產生組件的同一系統上宣告的階段,以及,將該 組件載入糸統的s己憶體區供糸統實施它們的載入階段 ,其特徵為: •在組件產生階段期間,每一個功能完全由與其相關 的組件完成, •在組件宣告階段期間,將每一個被產生的組件宫主 給系統以載入組件,以及 •在組件載入階段期間,提供機構(GD)結合被載入之 組件所請求的每一項功能以自動搜尋能提供該功能 的組件。 2·如前述申請專利範圍第1項中的方法,其特徵為,執行 該自動搜尋時將條件列入考慮。 3.如前述申請專利範圍第2項中的方法,其特徵為,节條 件是以與每一個組件個別相關之屬性的函式所表示之 標準的函式表示。 ' 4·如前述申請專利範圍第1至3項中任一項的方法, 90275-CLAIM -56 - 521210 A8 Βδ C8 D8 經濟部智慧財產局員工消費合作社印製 六、申請專箱範爵巧丨W V :: 徵為,在組件的產生期間, •產生_)組件的介面原的步驟Λ 件的”介面"部分(ΙΝΤ);、 ^ 、目的疋為構成 •產生(6 G 3 )至少-個用以實現組件功能的 檔,其目的是為構成組件的"實 ’、、、’、。 5. 如前述_利_4項中的dm t的每一個碼原始權其目的是為構成組㈣ 为丄可以由任何程式語言有系統地陳述。^ 6. 如前述第⑴項申請專利範圍其中任一項的方法,直 特徵為,經由配置軟體及/或硬體機構,每固ς 以完成與其相關的功能。 仟J 7. 如前述第4項申請專利範圍中的方法,其特徵為,—一 個組件的=面檔包括對該组件所要完成之功能的:述 ’與組件完成此功能的方法無關。 8. 如前述中請專利範圍第7項中的方法,其特徵為,介面 檔也包括該組件為完成其本身功能需要從其它組件匯 入之功能的描述。 ' ° 9. 如前述申請專利範圍笫丨至3項中任一項的方法,其特 徵為,每-個組件(C1)可以被另一個能匯出相同功能 的組件(C’l)動態地取代。 10·如前述申請專利範圍第9項中的方法,其特徵為,該取 代的配置按如下的步驟: … • 儲存要被取代之組件的目前狀態, • 載入及初始化新組件, 組 計 線 -57 - 本紙張尺度適用中國國家標準(CNS)A4規格(210x297公爱) 521210 經濟部智慧財產局員工消費合作社印制衣 Α8 Β8 C8 D8 ——^一矣能之組件與新組件間的通信通道, • 卸載被取代的組件。 11. 如前述申請專利範圍第10項中的方法,其特徵為,如 果新組件的載入或初始化沒有正確地執行,提供的機 構將返回一錯誤訊息。 12. 如前述第8項申請專利範圍中的方法,其特徵為,在組 件的產生期間,也要執行以下的步驟: 一 • 產生(604)製作檔,其中明確說明: /在產生碼原始檔的步驟期間用來產生原始檔的語 言, /碼原始檔對應於組件的’’實施π部分 • 產生(605)組件的原型, • 編輯組件之”介面”部分與”實施”部分間的鏈結 (606),以便產生可執行的組件原型, • 配置製作檔(609),以便個別地編譯組件,並為組 件之”介面”部分的介面原始檔以及為組件之”實施” 部分的每一個碼原始檔構成各自的物件檔, • 將前步驟期間所產生的物件檔包封(610)成單一的 可執行模組。 13. 如前述申請專利範圍第12項中的方法,其特徵為,在 產生組件的原型期間,其原型包括產生: • 物件介面,由編譯組件之介面原始檔所產生, • 原型物件檔,與組件之π實施”部分的每一個碼原始 槽有關。 58 - 本紙張尺度適用中國國家標準(CNS)A4規格(210x297公釐) 521210 、申請專利範圍 A8 B8 C8 D8 經濟部智慧財產局員工消費合作社印製 14·如岫述申請專利範圍第13項中的方法,其特徵為,在 編譯組件之介面原始檔期間,要執行·· •分析與確認介面之原始檔的一致性, •將介面的原始檔轉換成二進位資料, 自動產生至少一個槽,以便呼叫要被組件匯入的功 能。 15·如^述申請專利範圍第12項中的方法,其特徵為,在 、為輯組件之”介面"部分與,,實施"部分間的鏈結,以便產 ,可執行的組件原型步驟之後,執行自動的完整性測 減步驟(607),在此期間,確認計晝是否前後一致與封 閉。 如蝻述申請專利範圍第15項中的方法,其特徵為,在 j動的元整性測試期間,在可存取之組件的表中,為 十患中所要求的每一個功能自動搜尋能完成該功能的 組件。 如則述申請專利範圍中第16項的方法,其特徵為,如 果識別出有數個組件能完成所請求的功能,可以在這 些組件間選擇一特定的組件。 18·如月、j述第16項申請專利範圍中的方法,其特徵為,如 f凡法性測试顯示計晝未正確地封閉,發出一錯誤訊 ^用以指示不-致性,以便能修改某些介面及/或增加 某些介面。 19.=別述第8項申請專利範圍中的方法,其特徵為 一個被載入系統的組件而言,對於需要從其它紐件匯 ♦ 計 線 59 - 本紙張尺度賴家標準(CNS)A4規格⑵〇 x297 公釐) 521210 J,、 經濟部智慧財產局員工消費合作社印製 A8 B8 C8 D8 申請專利範爾 、VI (#丨。帅料: 入以便完k其本貪功能却描述,永遠可被自動組件搜 尋的該機構(GD)存取。 20. 如前述第8項申請專利範圍中的方法,其特徵為,在將 前一步驟所產生的物件檔包封(610)到單一個可執行模 組中的期間,要確認計晝之各不同介面部分供應的所 有功能都已在相關的原始檔中確實地被完整地描述且 已編譯。 21. 如前述第8項申請專利範圍中的方法,其特徵為,其方 法包括將儲存在系統之隨機存取記憶體區中之組件的 映圖(G)載入系統。 22. 如前述第21項申請專利範圍中的方法,其特徵為,該 映圖意欲供發出呼叫之組件在呼叫功能時查閱,以便 決定該映圖的組件是否能供應所呼叫的功能。 23. 如前述第22項申請專利範圍中的方法,其特徵為,自 動組件搜尋的該機構(GD)可查閱該映圖。 24. 如前述第21項申請專利範圍中的方法,其特徵為,在 系統操作期間該映圖即時更新,是載入系統之組件的 函式。 25. 如前述申請專利範圍第1至3項中任一項的方法,其特 徵為,每一個組件可與一特權等級相關,為某一組件 存取其它組件之可能性的條件,是該其它組件各自之 特權等級的函式。 26. 如前述申請專利範圍第1至3項中任一項的方法,其特 徵為,提供卸載每一個組件的機構,當電腦計晝的操 -60 - 本紙張尺度適用中國國家標準(CNS)A4規格(210x297公釐) V 521210 A8 B8 C8 D8 六、申請專利範@ 叼辱丨。自a日丨彡 作不再需要其所提供的功能時將其卸載。 27. 如前述第26項申請專利範圍中的方法,其特徵為,該 機構包括每一個組件的使用計數器。 28. 如前述第27項申請專利範圍中的方法,其特徵為,該 計數器計算匯入結合有計數器之組件之功能之組件的 數量,且一旦該組件的使用計數器遞減到零時它即被 卸載。 29. 如前述第28項申請專利範圍中的方法,其特徵為,提 供一機構(GD),用以自動釋放該被卸載之組件使用的 資源。 經濟部智慧財產局員工消費合作社印製 本紙張尺度適用中國國家標準(CNS)A4規格(210x297公釐)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0007754A FR2810423A1 (fr) | 2000-06-16 | 2000-06-16 | Systeme informatique modulaire et procede associe |
Publications (1)
Publication Number | Publication Date |
---|---|
TW521210B true TW521210B (en) | 2003-02-21 |
Family
ID=8851375
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW090114791A TW521210B (en) | 2000-06-16 | 2001-06-15 | Modular computer system and related method |
Country Status (12)
Country | Link |
---|---|
US (1) | US20040031018A1 (zh) |
EP (3) | EP1450253A2 (zh) |
JP (1) | JP2004503866A (zh) |
KR (1) | KR20030044916A (zh) |
CN (3) | CN1936835A (zh) |
AT (1) | ATE263986T1 (zh) |
AU (1) | AU2001267657A1 (zh) |
DE (1) | DE60102694T2 (zh) |
ES (1) | ES2215911T3 (zh) |
FR (1) | FR2810423A1 (zh) |
TW (1) | TW521210B (zh) |
WO (1) | WO2001097026A1 (zh) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7162718B1 (en) * | 2000-12-12 | 2007-01-09 | International Business Machines Corporation | Language extension for light weight threading in a JVM |
US7562209B2 (en) * | 2004-04-07 | 2009-07-14 | Marvell International, Ltd. | Supporting different instruction set architectures during run time |
US20060179430A1 (en) | 2004-11-18 | 2006-08-10 | Besbris David G | Service grouping |
US8132148B2 (en) | 2005-04-29 | 2012-03-06 | Microsoft Corporation | XML application framework |
US7581225B2 (en) * | 2005-04-29 | 2009-08-25 | Microsoft Corporation | Multithreading with concurrency domains |
US7886269B2 (en) * | 2005-04-29 | 2011-02-08 | Microsoft Corporation | XML application framework |
US8418132B2 (en) * | 2005-04-29 | 2013-04-09 | Microsoft Corporation | Application description language |
US20060245096A1 (en) * | 2005-04-29 | 2006-11-02 | Microsoft Corporation | Application framework phasing model |
US8275793B2 (en) * | 2005-04-29 | 2012-09-25 | Microsoft Corporation | Transaction transforms |
WO2006128148A1 (en) * | 2005-05-27 | 2006-11-30 | Delphi Technologies, Inc. | System and method for bypassing execution of an algorithm |
US8250518B2 (en) * | 2006-03-30 | 2012-08-21 | Microsoft Corporation | Per user file associations |
CN101650651B (zh) * | 2009-09-17 | 2012-09-05 | 浙江大学 | 一种源代码级别程序结构的可视化方法 |
KR200458172Y1 (ko) * | 2010-05-17 | 2012-01-25 | 강순택 | 마늘순 절단기 |
CN104423939B (zh) * | 2013-08-27 | 2019-03-15 | 中兴通讯股份有限公司 | 应用程序加载充值功能的方法和装置 |
CN107179971B (zh) * | 2017-05-23 | 2020-07-03 | 上海蔚来汽车有限公司 | 用于can总线故障处理的自动编码方法和系统 |
CN109002279A (zh) * | 2017-06-01 | 2018-12-14 | 如如研创股份有限公司 | 自动化软件的产生系统 |
CN109101225B (zh) * | 2017-06-20 | 2021-08-06 | 腾讯科技(深圳)有限公司 | 组件构造方法及装置、组件库架构及计算机可读存储介质 |
JP6890557B2 (ja) * | 2018-01-17 | 2021-06-18 | 株式会社日立製作所 | 分析モデル作成システム、プログラミング装置および分析モデル作成方法 |
CN108776602B (zh) * | 2018-06-08 | 2021-03-02 | 中国人民解放军国防科技大学 | 基于sca的波形动态切换方法 |
CN110688115A (zh) * | 2019-09-24 | 2020-01-14 | 珠海格力电器股份有限公司 | 生成界面的方法和装置 |
CN117971345B (zh) * | 2024-02-18 | 2024-07-23 | 太极计算机股份有限公司 | 一种声明式组件的加载响应优化方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5790861A (en) * | 1995-07-07 | 1998-08-04 | Sun Microsystems, Inc. | Method and apparatus for generating executable code from object-oriented C++ source code |
TW470915B (en) * | 1996-03-12 | 2002-01-01 | Matsushita Electric Ind Co Ltd | Optimization apparatus which removes transfer instructions by a global analysis of equivalence relations |
CA2175711A1 (en) * | 1996-05-01 | 1997-11-02 | Lee Richard Nackman | Incremental compilation of c++ programs |
DE19617976A1 (de) * | 1996-05-06 | 1997-11-13 | Philips Patentverwaltung | Kommunikationssystem mit Mitteln zum Austausch von Softwareprozessen |
US6493870B1 (en) * | 1998-03-20 | 2002-12-10 | Sun Microsystems, Inc. | Methods and apparatus for packaging a program for remote execution |
US6083276A (en) * | 1998-06-11 | 2000-07-04 | Corel, Inc. | Creating and configuring component-based applications using a text-based descriptive attribute grammar |
US6718533B1 (en) * | 1999-02-26 | 2004-04-06 | Real-Time Innovations, Inc. | Method for building a real-time control system with mode and logical rate |
-
2000
- 2000-06-16 FR FR0007754A patent/FR2810423A1/fr active Pending
-
2001
- 2001-06-14 JP JP2002511086A patent/JP2004503866A/ja active Pending
- 2001-06-14 EP EP04008139A patent/EP1450253A2/fr not_active Withdrawn
- 2001-06-14 DE DE60102694T patent/DE60102694T2/de not_active Expired - Fee Related
- 2001-06-14 ES ES01945434T patent/ES2215911T3/es not_active Expired - Lifetime
- 2001-06-14 CN CNA200610101821XA patent/CN1936835A/zh active Pending
- 2001-06-14 WO PCT/FR2001/001853 patent/WO2001097026A1/fr active IP Right Grant
- 2001-06-14 AT AT01945434T patent/ATE263986T1/de not_active IP Right Cessation
- 2001-06-14 EP EP01945434A patent/EP1290554B1/fr not_active Expired - Lifetime
- 2001-06-14 CN CNB018141129A patent/CN1273893C/zh not_active Expired - Fee Related
- 2001-06-14 EP EP04004016A patent/EP1429245A3/fr not_active Withdrawn
- 2001-06-14 CN CNA2006101018224A patent/CN1936836A/zh active Pending
- 2001-06-14 KR KR1020027017185A patent/KR20030044916A/ko active IP Right Grant
- 2001-06-14 US US10/311,526 patent/US20040031018A1/en not_active Abandoned
- 2001-06-14 AU AU2001267657A patent/AU2001267657A1/en not_active Abandoned
- 2001-06-15 TW TW090114791A patent/TW521210B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
DE60102694T2 (de) | 2005-03-31 |
EP1290554A1 (fr) | 2003-03-12 |
EP1450253A2 (fr) | 2004-08-25 |
KR20030044916A (ko) | 2003-06-09 |
CN1936836A (zh) | 2007-03-28 |
EP1429245A3 (fr) | 2007-06-13 |
ATE263986T1 (de) | 2004-04-15 |
CN1273893C (zh) | 2006-09-06 |
WO2001097026A1 (fr) | 2001-12-20 |
JP2004503866A (ja) | 2004-02-05 |
CN1446336A (zh) | 2003-10-01 |
CN1936835A (zh) | 2007-03-28 |
EP1429245A2 (fr) | 2004-06-16 |
FR2810423A1 (fr) | 2001-12-21 |
ES2215911T3 (es) | 2004-10-16 |
AU2001267657A1 (en) | 2001-12-24 |
DE60102694D1 (de) | 2004-05-13 |
EP1290554B1 (fr) | 2004-04-07 |
US20040031018A1 (en) | 2004-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW521210B (en) | Modular computer system and related method | |
US9588743B2 (en) | Semantic-based, service-oriented system and method of developing, programming and managing software modules and software solutions | |
US7827527B1 (en) | System and method of application development | |
US5907494A (en) | Computer system and method for performing design automation in a distributed computing environment | |
US20060101442A1 (en) | Reusable software components | |
WO2002033545A2 (en) | Pluggable instantiable distributed objects | |
CN101387956A (zh) | 可扩展地实现非功能逻辑的方法和设备及其系统 | |
Conrad et al. | Temporal OCL: Meeting specification demands for business components | |
US9836282B2 (en) | Separation of concerns between information technology services models | |
Andert | Object frameworks in the Taligent OS | |
WO2000054202A2 (en) | Methods and systems for developing applications and for interfacing with users | |
Silaghi et al. | Towards an MDA-oriented UML profile for distribution | |
Sung et al. | A component-based product data management system | |
Bucanek et al. | Learn Objective-C for Java Developers | |
Goudarzi et al. | Object-Oriented ASIP Design and Synthesis. | |
Althammer et al. | Design and Implementation of an MVC-based Architecture for E-commerce Applications | |
US8135943B1 (en) | Method, apparatus, and computer-readable medium for generating a dispatching function | |
Borde et al. | Automatic Synthesis and Adaption of Gray-Box Components for Embedded Systems-Reuse vs. Optimization | |
Braverman | CASTE: A class system for Tcl | |
Andreoli et al. | Resource-based scripting to stitch distributed components | |
Sharov et al. | Cross-platform programs implementation for specialized distributed embedded systems | |
Golomshtok | . NET System Management Services | |
DePetrillo | Think Microsoft. NET | |
Cao | Model driven development and dynamic composition of Web services | |
Jacob | The OMEGA Component Model |
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 |