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

動態(tài)計算機(jī)體系結(jié)構(gòu)的制作方法

文檔序號:6559666閱讀:219來源:國知局
專利名稱:動態(tài)計算機(jī)體系結(jié)構(gòu)的制作方法
技術(shù)領(lǐng)域
各種實施例涉及軟件體系結(jié)構(gòu),并且在一個實施例中,但是不是 通過限制的方式,涉及在運行時被重新設(shè)計和重新構(gòu)造的軟件體系結(jié) 構(gòu)。
背景技術(shù)
利用當(dāng)前的技術(shù),需要非常大量的商業(yè)資源來開發(fā)任何非平凡的 基于計算機(jī)的系統(tǒng)。這樣的努力可包括自由討論、初始設(shè)計、設(shè)計評
審、編碼、測試、beta測試和首次展示。但是,即使系統(tǒng)沒有錯誤和 故障,并且滿足所有的最初系統(tǒng)需求,結(jié)果系統(tǒng)也可能不如初始預(yù)期 的那樣有用。此缺點的一個原因在于,商業(yè)環(huán)境在不斷變化、并且前 幾個月需要的系統(tǒng)可能不是目前所需要的系統(tǒng)。此外,為改變這樣的 系統(tǒng)以滿足當(dāng)前需求將花費大量的工作,并且即使花費了這些工作, 也不能保證修補過的妒平將會滿足當(dāng)前的規(guī)范,或者即使?jié)M足,它有 能夠保持有用的產(chǎn)品多久呢。該領(lǐng)域因此將受益于在不需要目前如此 做所要花費的大量資源的情況下允許輕松重新設(shè)計計算機(jī)系統(tǒng)的技 術(shù)。

發(fā)明內(nèi)容
在一個實施例中,裝配軟件應(yīng)用的過程包括配置處理器來加栽來 自體系結(jié)構(gòu)描述標(biāo)記語言(ADML)文檔的部件。處理器接著被配置為 基于ADML文檔來激活類對象和類型對象。處理器進(jìn)一步被配置為基于 ADML文檔來創(chuàng)建組件和連接符并且串行化所述組件。最后,處理器被 配置為基于ADML文檔中描述的連接來裝配體系結(jié)構(gòu)并且激活A(yù)DML文檔 中指定的主活動組件。


圖1圖示了動態(tài)體系結(jié)構(gòu)的一個示例實施例。
圖2圖示了體系結(jié)構(gòu)描述標(biāo)記語言的結(jié)構(gòu)的一個示例實施例。
圖3圖示了體系結(jié)構(gòu)修改標(biāo)記語言的結(jié)構(gòu)的一個示例實施例。
圖4圖示了構(gòu)建系統(tǒng)體系結(jié)構(gòu)的過程的一個示例實施例。
圖5圖示了修改系統(tǒng)體系結(jié)構(gòu)的過程的一個示例實施例。
圖6圖示了組件開發(fā)者、體系結(jié)構(gòu)設(shè)計者和軟件代理之間關(guān)系的例子。
圖7圖示了所公開的各種實施例在其上操作的體系結(jié)構(gòu)的一個示 例實施例。
具體實施例方式
在下面詳細(xì)的描述中,以圖示的方式對附圖的引用顯示了實施本 發(fā)明的特定實施例。這些實施例被足夠詳細(xì)的描述以便使本領(lǐng)域技術(shù) 人員能夠?qū)嵤┍景l(fā)明。應(yīng)當(dāng)理解,本發(fā)明的各種實施例盡管不同的, 但也不是必是相互排斥的。此外,這里結(jié)合一個實施例所描述的特定 特征、結(jié)構(gòu)或特性在不偏離本發(fā)明的范圍的條件下可在其它實施例中 實現(xiàn)。此外,應(yīng)當(dāng)理解的是,每個所公開的實施例內(nèi)的各個元件的位 置或布置在不偏離本發(fā)明的范圍的條件下可被修改。因此,下面的詳 細(xì)描述不應(yīng)以限制意義而采納,并且本發(fā)明的范圍只由所附權(quán)利要求 以及所授權(quán)的權(quán)利要求全部等效范圍來限定和適當(dāng)解釋。在附圖中, 相同的數(shù)字在幾個視圖中引用相同或類似的功能。
本發(fā)明的實施例包括在由機(jī)器可讀介質(zhì)所提供的機(jī)器可執(zhí)行指令 內(nèi)具體化的特征、方法或過程。機(jī)器可讀介質(zhì)包括以可由機(jī)器(例如 計算機(jī)、網(wǎng)絡(luò)設(shè)備、個人數(shù)字助理、制造工具、任何具有一個或多個 處理器組的設(shè)備)訪問形式提供(存儲和/或傳輸)信息的機(jī)制。在示 例實施例中,計算機(jī)可讀介質(zhì)包括易失性和/或非易失性介質(zhì)(例如, 只讀存儲器(ROM)、隨機(jī)訪問存儲器(RAM)、磁盤存儲介質(zhì)、光存 儲介質(zhì)、閃存設(shè)備等),以及電、光、聲或其它形式的傳播信號(例 如載波信號、紅外信號、數(shù)字信號等)。
這種指令被利用來使通用或?qū)iT的用所述指令編程的處理器來執(zhí) 行本發(fā)明的實施例的方法或過程??商鎿Q地,本發(fā)明的實施例的特征 或操作是由特定硬件組件執(zhí)行的,所述特定硬件組件包含用于執(zhí)行操 作的硬布線邏輯,或者是由編程的數(shù)據(jù)處理組件和特定的硬件組件的 任何組合來執(zhí)行的。本發(fā)明的實施例包括數(shù)字/模擬信號處理系統(tǒng)、軟
件、數(shù)據(jù)處理硬件、實現(xiàn)數(shù)據(jù)處理系統(tǒng)的方法和各種處理操作,這里
將作進(jìn)一步描述。
多個圖示出了本發(fā)明的實施例的系統(tǒng)和設(shè)備的框圖。多個圖示出 了圖示這些實施例的系統(tǒng)和設(shè)備的流程圖。流程圖的操作將參考框圖 中所示的系統(tǒng)/設(shè)備來描述。但是,應(yīng)當(dāng)理解,流程圖的操作可由參考
框圖所討論的系統(tǒng)和設(shè)備之外的其它系統(tǒng)和設(shè)備來執(zhí)行,并且參考所
述系統(tǒng)/設(shè)備所討論的實施例可執(zhí)行與參考流程圖所討論的實施例不 同的操作。
本公開的一個或多個實施例提供了一種動態(tài)系統(tǒng)體系結(jié)構(gòu),其允 許以較小的資源密集性來重新設(shè)計軟件和重新構(gòu)造系統(tǒng)體系結(jié)構(gòu)。因 此,系統(tǒng)可以更容易被更新以滿足任何變更需求。具體地, 一個或多 個實施例提供在運行時開發(fā)軟件的能力,在運行時配置和重新配置系 統(tǒng)的能力,最小化應(yīng)用的配置和重新配置,提供動態(tài)軟件資源管理, 為軟件系統(tǒng)提供在運行時適應(yīng)的能力,最小化軟件維護(hù)工作并提供在 運行時高度的可用性、故障容錯和錯誤恢復(fù)。
本公開的一個或多個實施例通過提供開放并且輕量的動態(tài)體系結(jié) 構(gòu)系統(tǒng)來完成了這些特征。在該情況下,術(shù)語開放是指允許人們擴(kuò)展 該系統(tǒng)。術(shù)語輕量是指該系統(tǒng)使用很少的資源。利用兩個新開發(fā)的基
于XML的語言來實現(xiàn)開放且輕量的體系結(jié)構(gòu)系統(tǒng)。 一個是指體系結(jié)構(gòu)描 述標(biāo)記語言(ADML),并且它用于串行化體系結(jié)構(gòu)描述。另一個新開 發(fā)的語言是指體系結(jié)構(gòu)修改標(biāo)記語言(AMML),兵器它用來串行化體 系結(jié)構(gòu)修改。
該系統(tǒng)的優(yōu)點在于,對這些動態(tài)體系結(jié)構(gòu)應(yīng)用存在非常少的限 制.應(yīng)用開發(fā)者可重新使用許多現(xiàn)成的軟件組件作為系統(tǒng)中的組件, 并且可基于應(yīng)用體系結(jié)構(gòu)來任意定義連接符。此外,對于使用動態(tài)體 系結(jié)構(gòu)系統(tǒng)構(gòu)建的應(yīng)用,在運行時幾乎不需要額外的存儲器。因此, 這些實施例特別適于限制資源的計算機(jī)系統(tǒng),比如像PDA和移動電話的 "嵌入式系統(tǒng)"。這些實施例集中在運行時裝配組件。
一個實施例包括三個主要部分——ADML和AMML、動態(tài)體系結(jié)構(gòu)運 行時(DART)、和接口。 ADML和AMML定義用于串行化體系結(jié)構(gòu)描述和 體系結(jié)構(gòu)修改的文檔格式。DART是能夠基于ADML和AMML文檔在運行時 裝配和/或重新裝配應(yīng)用的軟件組件/代理。DART還能夠提供關(guān)于當(dāng)前
運行的應(yīng)用的ADML文檔。在系統(tǒng)中的三個接口包括ICoimector 、 IAct iveComponent、和IArchi tecture。在一個實施例中,I Connector 由ADML和AMML文件中的連接符實現(xiàn)。當(dāng)MRT裝配對象時,其調(diào)用在指 定連接符上的IConnector接口 (參見圖l;編號140),以便構(gòu)建由ADML 描述的連接。IActiveComponent控制當(dāng)前體系結(jié)構(gòu)中活動對象的執(zhí) 行。例如,在重新裝配應(yīng)用期間,系統(tǒng)應(yīng)當(dāng)暫停,并且在重新裝配之 后,對每個IActiveComponent繼續(xù)執(zhí)行。IArchitecture僅僅是DART 中的另一個接口 (參見圖l;編號150)。在一個實施例中,DART由程 序通過該接口來控制,并且DART構(gòu)建與該接口之上。此外,由于DART 還是另一個組件,因此多個體系結(jié)構(gòu)可裝配在一起。
圖l圖示了動態(tài)體系結(jié)構(gòu)運行時(DART)系統(tǒng)100的一個示例實施 例。在DART系統(tǒng)100中,配置端105與應(yīng)用端110經(jīng)由ADML115和AMML120 通信。應(yīng)用端110包括DART模塊125及其關(guān)聯(lián)的IArchitecture130、 IConnector 14O和IAct iveComponent 15 0。
ADML的一個簡單示例如下
< xml version "1.0">
〈ADMLname- "Demo, <Assemblies>
<Assembly id="ass—0" uri="System.Windows.Fonns" />
<Assembly id="ass—2" uri=Co.DA.dll'V>
<Assembly id="ass—3" uri=Co.DAControlsConnector.dll"/>
< Assembly id="ass—4" uri-Co.DADemo.Pagel .dll"/>
< Assembly id="ass—5" uri=Co.DADemo.Page2.dir,/> </Assemblies>
<Types>
<Type id="TabControl" name-"System.Windows.Forms.TabControl" idrefAssembly="ass=0" />
<Type id="DemoForm" name=,,System.Windows.Forms.Form"
idrefAssembly="ass=0,, /> <Type id="ControlsConnector"name="Co.DA.ControlsConnector"
idrefAssembly=',ass=3', /> <Type id-,Tage 1" name-"Co.DA.Demo.Pagel"
idrefAssembly="ass=4" /> <Type id="Page2" name="Co.DA.Demo.Page2"
idrefAssembly="ass=5" />
</Types>
<Components>
-Component id="mainfonn" idrefType='DemoForm7> <Component id-"tabcontrol" idrefType='TabControl7> <Component id="tabpagel" idrefType="Pagel,7> <Component id="tabpage2" idrefType="Page2'7>
</Components>
<Connectors>
<Connector id="main—connector" idrefType="ControlsConnector"/> 〈Connector id-"tab一connector" idrefType="ControlsConnector"/> </Connectors> <Connections>
<Connection idref="tab_connector"> <endl idref="tabcontrol" /> <end2 idref^"tabpagel、
<Location X="4" Y="4"/> <Size Width="232" Height="246,, /> <Text>Taskl</Text〉 </end2>
<end2 idref="tabpage2">
<Location X="4" Y="47>
<Size Width="232" Height="246" />
<Text>Task2</Text>
</end2> </Connection> </Connections> </ADML>
AMML的一個簡單示例如下
< xml version "1.0"> cAMMLname- "Demo"〉 <Assemblies>
<Assembly id-"咖一O" uri="System.Wmdows.Forms" />
<Assembly id="ass—2" uri=Co.DA.dll"/>
<Assembly id="ass_3" uri=Co.DAControlsConnector.dll"/>
< Assembly id=,,ass_4" uri=Co.DADemo.Pagel.dll"/>
< Assembly id=,,ass_5" uri=Co.DADemo.Page2.dIl,7> </Assemblies>
<Types>
<Type id-"TabControl,, name="System.Windows.Fonns.TabContror
idrefAssembly=,,ass=0" /> <Type id="art" name="Co.DA.ArchitectureRuntime"
idrefAssembly="ass=2" /> <Type id="DemoForm" name="System.Windows.Forms.Form"
idrefAssembly="ass=0" /> <Type id-"ControlsCo加ector"name-"Co.DA.ControlsConnector"
idrefAssembly="ass=3" /> <Type id="Page 1" name-"Co.DA.Demo.Pagel"
idrefAssembly="ass=4" /> <Type id="Page2" narae="Co.DA.Demo.Page2"
idrefAssembly="ass=5" /〉
</Types>
<Components>
<Component id="一DART" idrefType-"art"/> (Component id-"mainform" idrefType="DemoForm'7>
(Component id="tabcontrol" idrefType='TabControl"/〉
<Component id="tabpagel" idrefType-'TagerV>
<Component id="tabpage2" idrefType="Page2'7> </Components> <Connectors>
<Connector id="main—connector" idrefType="ControlsConnector"/> <Connector id="tab—connector" idrefType="ControlsConnector"/> </Connectors〉 <Commands>
<Add idref="tabcontrol"/> <Add idref="tab—connector"/> <Add idref="tabpagel,7> <Add idref="tabpage27> <Connection idref="tab—connector'^ <endl idref="tabcontrol" /> <end2 idref="tabpagel">
<Location X="4" Y="4,7> <Size Width=,,232" Height="246" /> <Text>Taskl</Text> </end2>
<end2 idref="tabpage2">
^Location X="4" Y="4"/> <Size Width="232" Height="246" /> <Text>Task2</Text> </end2> </Connection> </Commands> </AMML>
如以上例子ADML中所示,ADML主要提供關(guān)于組件、連接符和連接 的信息。連接符是實現(xiàn)IConnector接口 (參見圖l;編號140)的組件。 每個包括連接符的組件對應(yīng)于運行時應(yīng)用中的對象。在一個實施例 中,連接符可連接多個組件。在ADML中的連接元素中描述連接信息。 裝配元素和類型元素提供加載和卸載組件(包括描述符)的信息。線 程元素指定應(yīng)用中的活動對象。
一個或多個實施例的開放且輕量的的動態(tài)體系結(jié)構(gòu)系統(tǒng)由若干因 素產(chǎn)生。在至少一個實施例中,人們可通過編寫他們自己的連接符和
活動纟且件來擴(kuò)展系統(tǒng)。這是通過實現(xiàn)接口 IConnector和 IActiveComponent而實現(xiàn)的。然后這在語義上定義了新的連接。在至 少一個其他實施例中,人們可通過敬將XML項添加到ADML/AMML定義中 的開放元素組件、連接符和連接中來擴(kuò)展系統(tǒng)。通過將此與編寫他們 自己的連接符和互動組件相組合,人們可添加特定的連接參數(shù)。
一個或多個實施例的輕量性質(zhì)是指所述實施例使用很少的資源。 很少資源的使用是由于不存在運行時的負(fù)載。具體地,與其它動態(tài)體 系結(jié)構(gòu)系統(tǒng)不同,在所公開系統(tǒng)的 一個或多個實施例中不存在消息服 務(wù)。此外,存在非常少的用于這些實施例的動態(tài)體系結(jié)構(gòu)性能的存儲 器。具體地,在一個實施例中,系統(tǒng)在存儲器中僅保存名稱-組件表; 對當(dāng)前體系結(jié)構(gòu)的描述存儲在外部存儲器中。因此,當(dāng)系統(tǒng)想重新裝 配組件時,體系結(jié)構(gòu)描述將被加載并且名稱-組件表將被用來再次在存 儲器中構(gòu)建體系結(jié)構(gòu)。在完成裝配后,新的體系結(jié)構(gòu)描述被存儲在外 部存儲器,并且銷毀存儲器中的體系結(jié)構(gòu)。
如前面所公開的,ADML被用來串行化體系結(jié)構(gòu)描述,并且A固L被 用來串行化體系結(jié)構(gòu)修改。這些語言對于組件、連接符和連接的串行 化是開放的。串行化是指對象的狀態(tài)可被存儲在外部存儲器。具體地, 組件和連接符的狀態(tài)可被放到對應(yīng)的XML元素中。例如,如果希望裝配 具有初始大小和位置屬性的表格組件,所述屬性可按如下被添加到XML 描述中
<Component id=,mainform, <idrefType=,T>emofonn"/〉
<Size〉300, 20(K/Size>
<PositionX)</Position>
</Compcment>
給主組件。該組件將描述轉(zhuǎn)送到存儲器。
圖2和圖3圖示了以結(jié)構(gòu)格式的ADML和AMML。尤其,在圖2圖示了示 例ADML200及其關(guān)聯(lián)的部件210、類型22t)、組件230、連接符240、連 接250、線程260和屬性270。組件230還包括組件類型232和對象類型
234。相似的,連接符240包括連接符類型242和對象類型244,并且連 接250包括連接類型252和對象類型254。圖3圖示了示例示例AMML300 及其關(guān)聯(lián)的部件310、類型320、組件330、連接符340、和命令350。在 AMML300的一個實施例中,命令包括加上351、移除352、連接353、斷 開354、開始355和停止356。
使用本公開的一個實施例所構(gòu)建的應(yīng)用可包括部件、ADML或AMML 文檔和/或?qū)嵗?、以及DART。部件是包含組件(包括連接符)定義的軟 件模塊。ADML和AMML是指部件和在部件中定義的組件。DART如上所述。
在一個例子中,系統(tǒng)構(gòu)建在能夠動態(tài)加載和卸栽部件的平臺上。 例如,Java和.Net平臺可用來動態(tài)加栽和卸栽這種部件。具體地,在 Java平臺中,可通過創(chuàng)建客戶類加栽器并利用它來加載類來加栽/卸栽 類。比較起來,在.Net平臺中,只能在應(yīng)用域級別執(zhí)行卸載。在COM 平臺中,COM約定(諸如Windows API LoadLibrary、 FreeLibrary、 GetProcAdress和GetClassObject )可被用來動態(tài)加載和卸載COM類。 此外,系統(tǒng)可構(gòu)建在能夠通過字符串動態(tài)激活對象的平臺之上。用Java 和.Net平臺,提供了反射機(jī)制并且其能夠用來根據(jù)運行時的類型名稱 來創(chuàng)建對象。COM平臺還提供對象激活機(jī)制(即COM SCM—服務(wù)控制管 理器),以通過運行時的類名稱或GUID來創(chuàng)建COM對象。
在一個實施例中,系統(tǒng)可構(gòu)建在提供安排對象生存期限(lift-time)的機(jī)制的平臺之上。因為Java和.Net平臺都提供垃圾收集機(jī)制, 因此不存在安排對象來卸栽對應(yīng)類(僅使用垃圾收集機(jī)制)的需要。 對于COM,引用計數(shù)機(jī)制可用來釋放對象。
圖4圖示了構(gòu)建系統(tǒng)體系結(jié)構(gòu)的過程400的一個實施例。在過程400 中,在操作405, DART代理訪問ADML文檔。在操作410, DART代理讀取 ADML文檔,并且加栽在ADML文檔中引用的部件。在操作415, DART代理 基于ADML文檔的內(nèi)容來激活類型對象和/或類對象。在操作420, DART 代理基于ADML文檔來創(chuàng)建部件和連接符。DART代理接著在判斷框425 確定兩個條件。首先,DART確定是否存在在對應(yīng)組件標(biāo)記的標(biāo)記中定 義的擴(kuò)展字符串內(nèi)容。其次,DART確定組件是否還支持通過字符串的 串行化。如果這兩個條件都滿足,那么在操作430使用字符串來串行化 組件。因此,在操作435, DART代理基于ADML文檔中描述的連接來裝配 體系結(jié)構(gòu)。在操作440, DART代理接著將名稱-對^表維護(hù)在存儲器中,
將基于當(dāng)前體系結(jié)構(gòu)生成的ADML文檔存儲在外部存儲器,并且釋放所 有其它額外的資源。最后在操作445, DART代理激活在ADML文檔中指定 的主活動組件。
圖5圖示了修改系統(tǒng)體系結(jié)構(gòu)的過程500的一個實施例。參考圖5, 在操作505, DART代理加載AMML文檔。在加栽AMML文檔之后,在操作 510, DART代理關(guān)閉當(dāng)前體系結(jié)構(gòu)。在關(guān)閉之后,在操作515, DART代 理基于提供的ADML文檔(來自存儲器)來構(gòu)建新的體系結(jié)構(gòu)上下文, 并且在操作520, DART代理基于AMML文檔來修改體系結(jié)構(gòu)。在操作525, DART代理將名稱-對象表維護(hù)在存儲器中,將基于當(dāng)前體系結(jié)構(gòu)生成的 ADML文檔存儲在外部存儲器,并且釋放所有其它額外的資源。最后在 操作530, DART代理激活在文檔中指定的主活動組件。
圖6圖示了組件開發(fā)者605、體系結(jié)構(gòu)設(shè)計者610和DART代理615之 間關(guān)系和功能。在610,組件開發(fā)者開發(fā)軟件組件。在620,組件被上 載到組件庫630中。在640,體系結(jié)構(gòu)設(shè)計者610使用組件庫630為應(yīng)用 來設(shè)計體系結(jié)構(gòu),并且在650,將體系結(jié)構(gòu)提交給ADML600。在670, DART 代理啟動,并且在操作680,偵聽配置端口。在操作690, DART代理接 著使用ADML660和組件庫630來加載ADML660,并且根據(jù)ADML加栽來自 組件庫630的組件并且為每個ADML構(gòu)建體系結(jié)構(gòu)。
圖7是在實施本發(fā)明的實施例中結(jié)合的硬件和操作環(huán)境的概略 圖。圖7的描述是為了提供對實施本發(fā)明中結(jié)合的適當(dāng)計算機(jī)硬件和適 當(dāng)計算環(huán)境的簡潔、 一般的描述。在一些實施例中,在計算機(jī)可執(zhí)行 指令的一般上下文中描述本發(fā)明,計算機(jī)可執(zhí)行指令比如是由諸如個 人計算機(jī)執(zhí)行的程序模塊。 一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)?現(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等。
此外,本領(lǐng)域的技術(shù)人員將理解,本發(fā)明還可利用其它計算機(jī)系 統(tǒng)配置來實現(xiàn),包括手持設(shè)備、多處理器系統(tǒng)、基于微處理器或可編 程的消費電子產(chǎn)品、網(wǎng)路PCS、迷你計算機(jī)、主機(jī)計算機(jī)等。本發(fā)明還 可在分布式計算機(jī)環(huán)境中實施,在分布式計算機(jī)環(huán)境中,任務(wù)由通過 通信網(wǎng)絡(luò)鏈接的I/0遠(yuǎn)程處理設(shè)備來執(zhí)行。在分布式計算環(huán)境中,程序 模塊可位于本地和遠(yuǎn)程儲存器設(shè)備。
在圖7所示的實施例中,提供了可應(yīng)用于其它圖中所示的任何服務(wù) 器和/或遠(yuǎn)程客戶端的硬件和操作環(huán)境。
如圖7所示,硬件和操作環(huán)境的一個實施例包括以計算機(jī)20形式的 通用計算設(shè)備(例如個人計算機(jī)、工作站或服務(wù)器),包括一個或多 個處理單元21、系統(tǒng)存儲器22和系統(tǒng)總線23,系統(tǒng)總線23可操作地將 包括系統(tǒng)存儲器22的各種系統(tǒng)組件耦合到處理器單元21。可能只存在 一個或存在多于一個的處理單元21,使得計算機(jī)20的處理器包括單個 中央處理單元(CPU)或多個處理單元,通常稱為多處理器或并行處理 器環(huán)境。在各種實施例中,計算機(jī)20是傳統(tǒng)計算機(jī)、分布式計算機(jī)或 任何其它類型的計算機(jī)。
系統(tǒng)總線23可是若干總線結(jié)構(gòu)類型中的任意類型,包括存儲器總 線或存儲器控制器、外圍總線和局部總線,它們使用各種總線體系結(jié) 構(gòu)中的任何總線體系結(jié)構(gòu)。系統(tǒng)存儲器還可簡單地被稱為存儲器,并 且在一些實施例中,包括只讀存儲器(ROM) 24和隨機(jī)訪問存儲器(RAM) 25。基本輸入/輸出系統(tǒng)(BIOS)程序26可例如存儲在R0M24中,該程 序包含諸如在啟動期間幫助在計算機(jī)20內(nèi)的元件之間傳送信息的基本 例程。計算機(jī)20還包括用于從硬盤(未示出)讀取和向其寫入的硬盤 驅(qū)動器27、用于從可移除磁盤29讀取或向其寫入的磁盤驅(qū)動器28、和 用于從諸如CD R0M或其它光媒體的可移除光盤31讀取或向其寫入的光 盤驅(qū)動器30。
硬盤驅(qū)動器27、磁盤驅(qū)動器28、和光盤驅(qū)動器30分別與硬盤驅(qū)動 器接口32、磁盤驅(qū)動器接口33、和光盤驅(qū)動器接口34耦合。驅(qū)動器及 其關(guān)聯(lián)的計算機(jī)可讀媒體為計算機(jī)20提供計算機(jī)可讀指令、數(shù)據(jù)結(jié) 構(gòu)、程序模塊和其它數(shù)據(jù)的非易失性存儲器。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理 解,能夠存儲計算機(jī)可訪問數(shù)據(jù)的任何類型的計算機(jī)可讀媒體,比如 磁帶盒、閃存卡、數(shù)字視頻盤、Bernoulli盒式磁盤、隨機(jī)訪問存儲器 (RAM)、只讀存儲器(ROM)、獨立盤的冗余陣列(例如RAID存儲設(shè) 備)等,可在示例操作環(huán)境中使用。
多個程序模塊可存儲在硬盤、磁盤29、光盤31、 R0M24或RAM25上, 包括操作系統(tǒng)35、 一個或多個應(yīng)用程序36、其它程序模塊37和程序數(shù) 據(jù)38。包含用于本發(fā)明的安全傳輸引擎的插件可駐留在這些計算機(jī)可 讀媒體中的任意一個或多個上。
用戶可通過諸如鍵盤4 O和指示設(shè)備42的輸入設(shè)備將命令和信息輸 入到計算機(jī)20。其它輸入設(shè)備(未示出)包括麥克風(fēng)、游戲桿、游戲
手柄、圓盤式衛(wèi)星電視天線、掃描儀等。這些其它的輸入設(shè)備通常通
過與系統(tǒng)總線23耦合的串行端口接口46連接到處理單元21,但是可由 諸如并行端口、游戲端口或通用串行總線(USB)的其它接口來連接。 監(jiān)視器47或其它類型的顯示設(shè)備也可經(jīng)由諸如視頻適配器48的接口而 連接到系統(tǒng)總線23。監(jiān)視器40可為用戶顯示圖形用戶接口。除了監(jiān)視 器40,計算機(jī)通常包括其它外圍輸出設(shè)備(未示出),比如揚聲器和 打印機(jī)。
計算機(jī)20可利用到諸如遠(yuǎn)程計算機(jī)49的一個或多個遠(yuǎn)程計算機(jī)或 服務(wù)器的邏輯連接來在連網(wǎng)環(huán)境中操作。這些邏輯連接可通過耦合到 計算機(jī)20或作為計算機(jī)20的一部分的通信設(shè)備來實現(xiàn);本發(fā)明不限于 特定類型的通信設(shè)備。盡管只說明了存儲器存儲設(shè)備50,但是遠(yuǎn)程計 算機(jī)49可是另一個計算機(jī)、服務(wù)器、路由器、網(wǎng)絡(luò)PC、客戶機(jī)、對等 設(shè)備或其它公共網(wǎng)絡(luò)節(jié)點,并且通常包括許多或所有的上述與計算機(jī) 20有關(guān)的I/0元件。圖7中描繪的邏輯連接包括局域網(wǎng)(LAN)51和/或 廣域網(wǎng)(WAN) 52。該連網(wǎng)環(huán)境在辦公網(wǎng)絡(luò)、企業(yè)范圍的計算機(jī)網(wǎng)絡(luò)、 內(nèi)聯(lián)網(wǎng)和互聯(lián)網(wǎng)中常見的,這些網(wǎng)絡(luò)是所有類型的網(wǎng)絡(luò)。
當(dāng)在LAN連網(wǎng)環(huán)境中使用時,計算機(jī)20通過網(wǎng)路接口或適配器53 連接到LAN51,網(wǎng)路接口或適配器53是一種通信設(shè)備。在一些實施例 中,當(dāng)在WAN連網(wǎng)環(huán)境中使用時,計算機(jī)20通常包括調(diào)制解調(diào)器54 (另 一種通信設(shè)備)或任何其它類型的通信設(shè)備,比如無線收發(fā)機(jī),用于 在諸如互聯(lián)網(wǎng)的廣域網(wǎng)52之上建立通信。調(diào)制解調(diào)器54可以是內(nèi)部或 外部的,并且經(jīng)由串行端口接口46連接到系統(tǒng)總線23。在連網(wǎng)環(huán)境中, 所描述的與計算機(jī)20有關(guān)的程序模塊可被存儲在遠(yuǎn)程計算機(jī)的遠(yuǎn)程存 儲器設(shè)備50或服務(wù)器49中。應(yīng)當(dāng)理解,所示的網(wǎng)絡(luò)連接是示例性的, 并且可使用在計算機(jī)之間通過任何適當(dāng)?shù)慕粨Q機(jī)、路由器、出口和電 源線來建立通信鏈路的其它裝置和通信設(shè)備,包括光纖同軸混合連 接、Tl-T3線路、DSL、 0C-3和/或0C-12, TCP/IP、微波、無線應(yīng)用協(xié) 議、和其它電子媒體,如任何本領(lǐng)域普通技術(shù)人員所知道的那樣。
在本發(fā)明的實施例的前面的詳細(xì)描述中,為了簡化公開,將各種 特征在一個或多個實施例中被分組在一起。公開的方法不能被解釋為 反映本發(fā)明所要求的實施例需要多于在每個權(quán)利要求中明確敘述的特 征更多的特征的意圖。而是,如下面的權(quán)利要求所反映的,創(chuàng)造性的
主題在于比單個公開的實施例的所有特征更少的特征。因此,下面的
權(quán)利要求再次被合并到本發(fā)明的實施例的詳細(xì)描述中,使每個權(quán)利要 求將其自己作為單獨的實施例。應(yīng)當(dāng)理解,上面的描述旨在是說明性
的而不是限制性的。其旨在覆蓋所有如所附權(quán)利要求中限定的本發(fā)明 的范圍內(nèi)所包括的替換、修改和等效物。許多其它實施例對于本領(lǐng)域 技術(shù)人員來說在回顧上述描述時是明顯的。因此,應(yīng)當(dāng)參考所附權(quán)利 要求連同所授權(quán)的權(quán)利要求的全部等效范圍來確定本發(fā)明的范圍。在 所附權(quán)利要求中,術(shù)語"包括"和"其中"分別被用作為相應(yīng)術(shù)語"包 括"和"其中"的通俗英文等效詞。此外,術(shù)語"笫一"、"第二" 和"第三,,等僅僅被用作為標(biāo)簽,而不試圖將數(shù)字要求施加于其對象 上。
提供符合37 C.F.R 1.72(b)的摘要,以允許讀者快速確定技術(shù)公 開的性質(zhì)和要旨。 一起提交的摘要不能理解為其可用來解釋或限制權(quán) 利要求的范圍或意思。
權(quán)利要求
1.一種裝配軟件應(yīng)用的過程,包括將處理器配置為加載來自ADML文檔的部件;將所述處理器配置為基于所述ADML文檔來激活類對象和類型對象;將所述處理器配置為基于所述ADML文檔來創(chuàng)建組件和連接符;將所述處理器配置為串行化所述組件;將所述處理器配置為基于所述ADML文檔中描述的連接來裝配體系結(jié)構(gòu);和將所述處理器配置為激活所述ADML文檔中指定的主活動組件。
2. 權(quán)利要求l的過程,還包括將所述處理器配置為確定在對應(yīng)的組件標(biāo)記中是否定義了擴(kuò)展字 符串內(nèi)容;將所述處理器配置為確定所述對應(yīng)的組件是否支持通過字符串的串行化;和將所述處理器配置為當(dāng)在所述對應(yīng)的組件標(biāo)記中定義了所述字符 串內(nèi)容并且所述對應(yīng)的組件支持通過字符串的串行化時,串行化所述 對應(yīng)的組件。
3. 權(quán)利要求l的過程,還包括將所述處理器配置為將名稱-對象 表維護(hù)在存儲器中。
4. 權(quán)利要求l的過程,還包括將所述處理器配置為存儲所述ADML 文檔和釋放額外的系統(tǒng)資源。
5. 權(quán)利要求4的過程,還包括 將所述處理器配置為將AMML文檔加栽到存儲器中; 將所述處理器配置為關(guān)閉當(dāng)前的系統(tǒng)體系結(jié)構(gòu); 將所述處理器配置為基于所述存儲的ADML文檔來構(gòu)建新的體系結(jié)構(gòu)5 和將所述處理器配置為基于所述AMML文檔來修改所述當(dāng)前體系結(jié)構(gòu)。
6. 權(quán)利要求5的過程,還包括將所述處理器配置為將名稱-對象表維護(hù)在存儲器中; 將所述處理器配置為為所述修改的當(dāng)前系統(tǒng)體系結(jié)構(gòu)存儲所述 ADML文檔j和將所述處理器配置為釋放所有額外系統(tǒng)資源。
7. 權(quán)利要求6的過程,還包括將所述處理器配置為為所述修改 的當(dāng)前系統(tǒng)體系結(jié)構(gòu)激活在所述存儲的ADML文檔中指定的主活動組 件。
8. —種計算機(jī)可讀介質(zhì),包括執(zhí)行以下過程的指令 加栽來自ADML文檔的部件; 基于所述ADML文檔來激活類對象和類型對象; 基于所述ADML文檔來創(chuàng)建組件和連接符; 串行化所述組件;基于所述ADML文檔中描述的連接來裝配體系結(jié)構(gòu);和 激活所述ADML文檔中指定的主活動組件。
9. 權(quán)利要求8的機(jī)器可讀介質(zhì),還包括指令來 確定在對應(yīng)的組件標(biāo)記中是否定義了擴(kuò)展字符串內(nèi)容;確定所述對應(yīng)的組件是否支持通過字符串的串行化;和 當(dāng)在所述對應(yīng)的組件標(biāo)記中定義了所述字符串內(nèi)容并且所述對應(yīng) 的組件支持通過字符串的串行化時,串行化所述對應(yīng)的組件。
10. 權(quán)利要求8的機(jī)器可讀介質(zhì),還包括指令來將名稱-對象表 維護(hù)在存儲器中。
11. 權(quán)利要求8的機(jī)器可讀介質(zhì),還包括指令來存儲所述ADML文 檔和釋放額外的系統(tǒng)資源。
12. 權(quán)利要求ll的機(jī)器可讀介質(zhì),還包括指令來 將AMML文檔加載到存儲器中; 關(guān)閉當(dāng)前的系統(tǒng)體系結(jié)構(gòu);基于所述存儲的ADML文檔來構(gòu)建新的體系結(jié)構(gòu);和 基于所述AMML文檔來修改所述當(dāng)前體系結(jié)構(gòu)。
13. 權(quán)利要求12的機(jī)器可讀介質(zhì),還包括指令來 將名稱-對象表維護(hù)在存儲器中;為所述修改的當(dāng)前系統(tǒng)體系結(jié)構(gòu)存儲所述ADML文檔;和 釋放所有額外系統(tǒng)資源。
14. 權(quán)利要求13的機(jī)器可讀介質(zhì),還包括指令來為所述修改的 當(dāng)前系統(tǒng)體系結(jié)構(gòu)激活在所述存儲的ADML文檔中指定的主活動組件。
15. —種系統(tǒng),包括用于加栽來自ADML文檔的部件的模塊; 用于基于所述ADML文檔來激活類對象和類型對象的模塊; 用于基于所述ADML文檔來創(chuàng)建組件和連接符的模塊; 用于串行化所述組件的模塊;用于基于所述ADML文檔中描述的連接來裝配體系結(jié)構(gòu)的模塊;和 用于激活所述ADML文檔中指定的主活動組件的模塊。
16. 權(quán)利要求15的系統(tǒng),還包括塊; ' 、用于確定所述對應(yīng)的組件是否支持通過字符串的串行化的模塊;和用于當(dāng)在所述對應(yīng)的組件標(biāo)記中定義了所述字符串內(nèi)容并且所述 對應(yīng)的組件支持通過字符串的串行化時,串行化所述對應(yīng)的組件的模 塊。
17. 權(quán)利要求15的系統(tǒng),還包括用于將名稱-對象表維護(hù)在存儲 器中的模塊。
18. 權(quán)利要求15的系統(tǒng),還包括用于存儲所述ADML文檔和釋放額 外的系統(tǒng)資源的模塊。
19. 權(quán)利要求18的系統(tǒng),還包括用于將AMML文檔加栽到存儲器中的模塊; 用于關(guān)閉當(dāng)前的系統(tǒng)體系結(jié)構(gòu)的模塊;用于基于所述存儲的ADML文檔來構(gòu)建新的體系結(jié)構(gòu)的模塊;和 用于基于所述AMML文檔來修改所述當(dāng)前體系結(jié)構(gòu)的模塊。
20. 權(quán)利要求19的系統(tǒng),還包括用于將名稱-對象表維護(hù)在存儲器中的模塊;用于為所述修改的當(dāng)前系統(tǒng)體系結(jié)構(gòu)存儲所述ADML文檔的模塊;用于釋放所有額外系統(tǒng)資源的模塊;和用于為所述修改的當(dāng)前系統(tǒng)體系結(jié)構(gòu)激活在所述存儲的ADML文檔 中指定的主活動組件的模塊。
全文摘要
一個過程裝配和/或重新裝配軟件應(yīng)用。在一個實施例中,從體系結(jié)構(gòu)描述標(biāo)記語言(ADML)文檔加載部件。基于ADML文檔來激活類對象和類型對象。基于ADML文檔來創(chuàng)建組件和連接符。串行化所述組件,并且基于ADML文檔中描述的連接來裝配體系結(jié)構(gòu)。然后激活A(yù)DML文檔中指定的主活動組件。
文檔編號G06F9/44GK101101547SQ200610093429
公開日2008年1月9日 申請日期2006年7月4日 優(yōu)先權(quán)日2006年7月4日
發(fā)明者R·張, Y·張 申請人:霍尼韋爾國際公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1