动态计算机体系结构的制作方法

文档序号:6559666阅读:176来源:国知局
专利名称:动态计算机体系结构的制作方法
技术领域
各种实施例涉及软件体系结构,并且在一个实施例中,但是不是 通过限制的方式,涉及在运行时被重新设计和重新构造的软件体系结 构。
背景技术
利用当前的技术,需要非常大量的商业资源来开发任何非平凡的 基于计算机的系统。这样的努力可包括自由讨论、初始设计、设计评
审、编码、测试、beta测试和首次展示。但是,即使系统没有错误和 故障,并且满足所有的最初系统需求,结果系统也可能不如初始预期 的那样有用。此缺点的一个原因在于,商业环境在不断变化、并且前 几个月需要的系统可能不是目前所需要的系统。此外,为改变这样的 系统以满足当前需求将花费大量的工作,并且即使花费了这些工作, 也不能保证修补过的妒平将会满足当前的规范,或者即使满足,它有 能够保持有用的产品多久呢。该领域因此将受益于在不需要目前如此 做所要花费的大量资源的情况下允许轻松重新设计计算机系统的技 术。

发明内容
在一个实施例中,装配软件应用的过程包括配置处理器来加栽来 自体系结构描述标记语言(ADML)文档的部件。处理器接着被配置为 基于ADML文档来激活类对象和类型对象。处理器进一步被配置为基于 ADML文档来创建组件和连接符并且串行化所述组件。最后,处理器被 配置为基于ADML文档中描述的连接来装配体系结构并且激活ADML文档 中指定的主活动组件。


图1图示了动态体系结构的一个示例实施例。
图2图示了体系结构描述标记语言的结构的一个示例实施例。
图3图示了体系结构修改标记语言的结构的一个示例实施例。
图4图示了构建系统体系结构的过程的一个示例实施例。
图5图示了修改系统体系结构的过程的一个示例实施例。
图6图示了组件开发者、体系结构设计者和软件代理之间关系的例子。
图7图示了所公开的各种实施例在其上操作的体系结构的一个示 例实施例。
具体实施例方式
在下面详细的描述中,以图示的方式对附图的引用显示了实施本 发明的特定实施例。这些实施例被足够详细的描述以便使本领域技术 人员能够实施本发明。应当理解,本发明的各种实施例尽管不同的, 但也不是必是相互排斥的。此外,这里结合一个实施例所描述的特定 特征、结构或特性在不偏离本发明的范围的条件下可在其它实施例中 实现。此外,应当理解的是,每个所公开的实施例内的各个元件的位 置或布置在不偏离本发明的范围的条件下可被修改。因此,下面的详 细描述不应以限制意义而采纳,并且本发明的范围只由所附权利要求 以及所授权的权利要求全部等效范围来限定和适当解释。在附图中, 相同的数字在几个视图中引用相同或类似的功能。
本发明的实施例包括在由机器可读介质所提供的机器可执行指令 内具体化的特征、方法或过程。机器可读介质包括以可由机器(例如 计算机、网络设备、个人数字助理、制造工具、任何具有一个或多个 处理器组的设备)访问形式提供(存储和/或传输)信息的机制。在示 例实施例中,计算机可读介质包括易失性和/或非易失性介质(例如, 只读存储器(ROM)、随机访问存储器(RAM)、磁盘存储介质、光存 储介质、闪存设备等),以及电、光、声或其它形式的传播信号(例 如载波信号、红外信号、数字信号等)。
这种指令被利用来使通用或专门的用所述指令编程的处理器来执 行本发明的实施例的方法或过程。可替换地,本发明的实施例的特征 或操作是由特定硬件组件执行的,所述特定硬件组件包含用于执行操 作的硬布线逻辑,或者是由编程的数据处理组件和特定的硬件组件的 任何组合来执行的。本发明的实施例包括数字/模拟信号处理系统、软
件、数据处理硬件、实现数据处理系统的方法和各种处理操作,这里
将作进一步描述。
多个图示出了本发明的实施例的系统和设备的框图。多个图示出 了图示这些实施例的系统和设备的流程图。流程图的操作将参考框图 中所示的系统/设备来描述。但是,应当理解,流程图的操作可由参考
框图所讨论的系统和设备之外的其它系统和设备来执行,并且参考所
述系统/设备所讨论的实施例可执行与参考流程图所讨论的实施例不 同的操作。
本公开的一个或多个实施例提供了一种动态系统体系结构,其允 许以较小的资源密集性来重新设计软件和重新构造系统体系结构。因 此,系统可以更容易被更新以满足任何变更需求。具体地, 一个或多 个实施例提供在运行时开发软件的能力,在运行时配置和重新配置系 统的能力,最小化应用的配置和重新配置,提供动态软件资源管理, 为软件系统提供在运行时适应的能力,最小化软件维护工作并提供在 运行时高度的可用性、故障容错和错误恢复。
本公开的一个或多个实施例通过提供开放并且轻量的动态体系结 构系统来完成了这些特征。在该情况下,术语开放是指允许人们扩展 该系统。术语轻量是指该系统使用很少的资源。利用两个新开发的基
于XML的语言来实现开放且轻量的体系结构系统。 一个是指体系结构描 述标记语言(ADML),并且它用于串行化体系结构描述。另一个新开 发的语言是指体系结构修改标记语言(AMML),兵器它用来串行化体 系结构修改。
该系统的优点在于,对这些动态体系结构应用存在非常少的限 制.应用开发者可重新使用许多现成的软件组件作为系统中的组件, 并且可基于应用体系结构来任意定义连接符。此外,对于使用动态体 系结构系统构建的应用,在运行时几乎不需要额外的存储器。因此, 这些实施例特别适于限制资源的计算机系统,比如像PDA和移动电话的 "嵌入式系统"。这些实施例集中在运行时装配组件。
一个实施例包括三个主要部分——ADML和AMML、动态体系结构运 行时(DART)、和接口。 ADML和AMML定义用于串行化体系结构描述和 体系结构修改的文档格式。DART是能够基于ADML和AMML文档在运行时 装配和/或重新装配应用的软件组件/代理。DART还能够提供关于当前
运行的应用的ADML文档。在系统中的三个接口包括ICoimector 、 IAct iveComponent、和IArchi tecture。在一个实施例中,I Connector 由ADML和AMML文件中的连接符实现。当MRT装配对象时,其调用在指 定连接符上的IConnector接口 (参见图l;编号140),以便构建由ADML 描述的连接。IActiveComponent控制当前体系结构中活动对象的执 行。例如,在重新装配应用期间,系统应当暂停,并且在重新装配之 后,对每个IActiveComponent继续执行。IArchitecture仅仅是DART 中的另一个接口 (参见图l;编号150)。在一个实施例中,DART由程 序通过该接口来控制,并且DART构建与该接口之上。此外,由于DART 还是另一个组件,因此多个体系结构可装配在一起。
图l图示了动态体系结构运行时(DART)系统100的一个示例实施 例。在DART系统100中,配置端105与应用端110经由ADML115和AMML120 通信。应用端110包括DART模块125及其关联的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主要提供关于组件、连接符和连接 的信息。连接符是实现IConnector接口 (参见图l;编号140)的组件。 每个包括连接符的组件对应于运行时应用中的对象。在一个实施例 中,连接符可连接多个组件。在ADML中的连接元素中描述连接信息。 装配元素和类型元素提供加载和卸载组件(包括描述符)的信息。线 程元素指定应用中的活动对象。
一个或多个实施例的开放且轻量的的动态体系结构系统由若干因 素产生。在至少一个实施例中,人们可通过编写他们自己的连接符和
活动纟且件来扩展系统。这是通过实现接口 IConnector和 IActiveComponent而实现的。然后这在语义上定义了新的连接。在至 少一个其他实施例中,人们可通过敬将XML项添加到ADML/AMML定义中 的开放元素组件、连接符和连接中来扩展系统。通过将此与编写他们 自己的连接符和互动组件相组合,人们可添加特定的连接参数。
一个或多个实施例的轻量性质是指所述实施例使用很少的资源。 很少资源的使用是由于不存在运行时的负载。具体地,与其它动态体 系结构系统不同,在所公开系统的 一个或多个实施例中不存在消息服 务。此外,存在非常少的用于这些实施例的动态体系结构性能的存储 器。具体地,在一个实施例中,系统在存储器中仅保存名称-组件表; 对当前体系结构的描述存储在外部存储器中。因此,当系统想重新装 配组件时,体系结构描述将被加载并且名称-组件表将被用来再次在存 储器中构建体系结构。在完成装配后,新的体系结构描述被存储在外 部存储器,并且销毁存储器中的体系结构。
如前面所公开的,ADML被用来串行化体系结构描述,并且A固L被 用来串行化体系结构修改。这些语言对于组件、连接符和连接的串行 化是开放的。串行化是指对象的状态可被存储在外部存储器。具体地, 组件和连接符的状态可被放到对应的XML元素中。例如,如果希望装配 具有初始大小和位置属性的表格组件,所述属性可按如下被添加到XML 描述中
<Component id=,mainform, <idrefType=,T>emofonn"/〉
<Size〉300, 20(K/Size>
<PositionX)</Position>
</Compcment>
给主组件。该组件将描述转送到存储器。
图2和图3图示了以结构格式的ADML和AMML。尤其,在图2图示了示 例ADML200及其关联的部件210、类型22t)、组件230、连接符240、连 接250、线程260和属性270。组件230还包括组件类型232和对象类型
234。相似的,连接符240包括连接符类型242和对象类型244,并且连 接250包括连接类型252和对象类型254。图3图示了示例示例AMML300 及其关联的部件310、类型320、组件330、连接符340、和命令350。在 AMML300的一个实施例中,命令包括加上351、移除352、连接353、断 开354、开始355和停止356。
使用本公开的一个实施例所构建的应用可包括部件、ADML或AMML 文档和/或实例、以及DART。部件是包含组件(包括连接符)定义的软 件模块。ADML和AMML是指部件和在部件中定义的组件。DART如上所述。
在一个例子中,系统构建在能够动态加载和卸栽部件的平台上。 例如,Java和.Net平台可用来动态加栽和卸栽这种部件。具体地,在 Java平台中,可通过创建客户类加栽器并利用它来加载类来加栽/卸栽 类。比较起来,在.Net平台中,只能在应用域级别执行卸载。在COM 平台中,COM约定(诸如Windows API LoadLibrary、 FreeLibrary、 GetProcAdress和GetClassObject )可被用来动态加载和卸载COM类。 此外,系统可构建在能够通过字符串动态激活对象的平台之上。用Java 和.Net平台,提供了反射机制并且其能够用来根据运行时的类型名称 来创建对象。COM平台还提供对象激活机制(即COM SCM—服务控制管 理器),以通过运行时的类名称或GUID来创建COM对象。
在一个实施例中,系统可构建在提供安排对象生存期限(lift-time)的机制的平台之上。因为Java和.Net平台都提供垃圾收集机制, 因此不存在安排对象来卸栽对应类(仅使用垃圾收集机制)的需要。 对于COM,引用计数机制可用来释放对象。
图4图示了构建系统体系结构的过程400的一个实施例。在过程400 中,在操作405, DART代理访问ADML文档。在操作410, DART代理读取 ADML文档,并且加栽在ADML文档中引用的部件。在操作415, DART代理 基于ADML文档的内容来激活类型对象和/或类对象。在操作420, DART 代理基于ADML文档来创建部件和连接符。DART代理接着在判断框425 确定两个条件。首先,DART确定是否存在在对应组件标记的标记中定 义的扩展字符串内容。其次,DART确定组件是否还支持通过字符串的 串行化。如果这两个条件都满足,那么在操作430使用字符串来串行化 组件。因此,在操作435, DART代理基于ADML文档中描述的连接来装配 体系结构。在操作440, DART代理接着将名称-对^表维护在存储器中,
将基于当前体系结构生成的ADML文档存储在外部存储器,并且释放所 有其它额外的资源。最后在操作445, DART代理激活在ADML文档中指定 的主活动组件。
图5图示了修改系统体系结构的过程500的一个实施例。参考图5, 在操作505, DART代理加载AMML文档。在加栽AMML文档之后,在操作 510, DART代理关闭当前体系结构。在关闭之后,在操作515, DART代 理基于提供的ADML文档(来自存储器)来构建新的体系结构上下文, 并且在操作520, DART代理基于AMML文档来修改体系结构。在操作525, DART代理将名称-对象表维护在存储器中,将基于当前体系结构生成的 ADML文档存储在外部存储器,并且释放所有其它额外的资源。最后在 操作530, DART代理激活在文档中指定的主活动组件。
图6图示了组件开发者605、体系结构设计者610和DART代理615之 间关系和功能。在610,组件开发者开发软件组件。在620,组件被上 载到组件库630中。在640,体系结构设计者610使用组件库630为应用 来设计体系结构,并且在650,将体系结构提交给ADML600。在670, DART 代理启动,并且在操作680,侦听配置端口。在操作690, DART代理接 着使用ADML660和组件库630来加载ADML660,并且根据ADML加栽来自 组件库630的组件并且为每个ADML构建体系结构。
图7是在实施本发明的实施例中结合的硬件和操作环境的概略 图。图7的描述是为了提供对实施本发明中结合的适当计算机硬件和适 当计算环境的简洁、 一般的描述。在一些实施例中,在计算机可执行 指令的一般上下文中描述本发明,计算机可执行指令比如是由诸如个 人计算机执行的程序模块。 一般地,程序模块包括执行特定任务或实 现特定抽象数据类型的例程、程序、对象、组件、数据结构等。
此外,本领域的技术人员将理解,本发明还可利用其它计算机系 统配置来实现,包括手持设备、多处理器系统、基于微处理器或可编 程的消费电子产品、网路PCS、迷你计算机、主机计算机等。本发明还 可在分布式计算机环境中实施,在分布式计算机环境中,任务由通过 通信网络链接的I/0远程处理设备来执行。在分布式计算环境中,程序 模块可位于本地和远程储存器设备。
在图7所示的实施例中,提供了可应用于其它图中所示的任何服务 器和/或远程客户端的硬件和操作环境。
如图7所示,硬件和操作环境的一个实施例包括以计算机20形式的 通用计算设备(例如个人计算机、工作站或服务器),包括一个或多 个处理单元21、系统存储器22和系统总线23,系统总线23可操作地将 包括系统存储器22的各种系统组件耦合到处理器单元21。可能只存在 一个或存在多于一个的处理单元21,使得计算机20的处理器包括单个 中央处理单元(CPU)或多个处理单元,通常称为多处理器或并行处理 器环境。在各种实施例中,计算机20是传统计算机、分布式计算机或 任何其它类型的计算机。
系统总线23可是若干总线结构类型中的任意类型,包括存储器总 线或存储器控制器、外围总线和局部总线,它们使用各种总线体系结 构中的任何总线体系结构。系统存储器还可简单地被称为存储器,并 且在一些实施例中,包括只读存储器(ROM) 24和随机访问存储器(RAM) 25。基本输入/输出系统(BIOS)程序26可例如存储在R0M24中,该程 序包含诸如在启动期间帮助在计算机20内的元件之间传送信息的基本 例程。计算机20还包括用于从硬盘(未示出)读取和向其写入的硬盘 驱动器27、用于从可移除磁盘29读取或向其写入的磁盘驱动器28、和 用于从诸如CD R0M或其它光媒体的可移除光盘31读取或向其写入的光 盘驱动器30。
硬盘驱动器27、磁盘驱动器28、和光盘驱动器30分别与硬盘驱动 器接口32、磁盘驱动器接口33、和光盘驱动器接口34耦合。驱动器及 其关联的计算机可读媒体为计算机20提供计算机可读指令、数据结 构、程序模块和其它数据的非易失性存储器。本领域技术人员应当理 解,能够存储计算机可访问数据的任何类型的计算机可读媒体,比如 磁带盒、闪存卡、数字视频盘、Bernoulli盒式磁盘、随机访问存储器 (RAM)、只读存储器(ROM)、独立盘的冗余阵列(例如RAID存储设 备)等,可在示例操作环境中使用。
多个程序模块可存储在硬盘、磁盘29、光盘31、 R0M24或RAM25上, 包括操作系统35、 一个或多个应用程序36、其它程序模块37和程序数 据38。包含用于本发明的安全传输引擎的插件可驻留在这些计算机可 读媒体中的任意一个或多个上。
用户可通过诸如键盘4 O和指示设备42的输入设备将命令和信息输 入到计算机20。其它输入设备(未示出)包括麦克风、游戏杆、游戏
手柄、圓盘式卫星电视天线、扫描仪等。这些其它的输入设备通常通
过与系统总线23耦合的串行端口接口46连接到处理单元21,但是可由 诸如并行端口、游戏端口或通用串行总线(USB)的其它接口来连接。 监视器47或其它类型的显示设备也可经由诸如视频适配器48的接口而 连接到系统总线23。监视器40可为用户显示图形用户接口。除了监视 器40,计算机通常包括其它外围输出设备(未示出),比如扬声器和 打印机。
计算机20可利用到诸如远程计算机49的一个或多个远程计算机或 服务器的逻辑连接来在连网环境中操作。这些逻辑连接可通过耦合到 计算机20或作为计算机20的一部分的通信设备来实现;本发明不限于 特定类型的通信设备。尽管只说明了存储器存储设备50,但是远程计 算机49可是另一个计算机、服务器、路由器、网络PC、客户机、对等 设备或其它公共网络节点,并且通常包括许多或所有的上述与计算机 20有关的I/0元件。图7中描绘的逻辑连接包括局域网(LAN)51和/或 广域网(WAN) 52。该连网环境在办公网络、企业范围的计算机网络、 内联网和互联网中常见的,这些网络是所有类型的网络。
当在LAN连网环境中使用时,计算机20通过网路接口或适配器53 连接到LAN51,网路接口或适配器53是一种通信设备。在一些实施例 中,当在WAN连网环境中使用时,计算机20通常包括调制解调器54 (另 一种通信设备)或任何其它类型的通信设备,比如无线收发机,用于 在诸如互联网的广域网52之上建立通信。调制解调器54可以是内部或 外部的,并且经由串行端口接口46连接到系统总线23。在连网环境中, 所描述的与计算机20有关的程序模块可被存储在远程计算机的远程存 储器设备50或服务器49中。应当理解,所示的网络连接是示例性的, 并且可使用在计算机之间通过任何适当的交换机、路由器、出口和电 源线来建立通信链路的其它装置和通信设备,包括光纤同轴混合连 接、Tl-T3线路、DSL、 0C-3和/或0C-12, TCP/IP、微波、无线应用协 议、和其它电子媒体,如任何本领域普通技术人员所知道的那样。
在本发明的实施例的前面的详细描述中,为了简化公开,将各种 特征在一个或多个实施例中被分组在一起。公开的方法不能被解释为 反映本发明所要求的实施例需要多于在每个权利要求中明确叙述的特 征更多的特征的意图。而是,如下面的权利要求所反映的,创造性的
主题在于比单个公开的实施例的所有特征更少的特征。因此,下面的
权利要求再次被合并到本发明的实施例的详细描述中,使每个权利要 求将其自己作为单独的实施例。应当理解,上面的描述旨在是说明性
的而不是限制性的。其旨在覆盖所有如所附权利要求中限定的本发明 的范围内所包括的替换、修改和等效物。许多其它实施例对于本领域 技术人员来说在回顾上述描述时是明显的。因此,应当参考所附权利 要求连同所授权的权利要求的全部等效范围来确定本发明的范围。在 所附权利要求中,术语"包括"和"其中"分别被用作为相应术语"包 括"和"其中"的通俗英文等效词。此外,术语"笫一"、"第二" 和"第三,,等仅仅被用作为标签,而不试图将数字要求施加于其对象 上。
提供符合37 C.F.R 1.72(b)的摘要,以允许读者快速确定技术公 开的性质和要旨。 一起提交的摘要不能理解为其可用来解释或限制权 利要求的范围或意思。
权利要求
1.一种装配软件应用的过程,包括将处理器配置为加载来自ADML文档的部件;将所述处理器配置为基于所述ADML文档来激活类对象和类型对象;将所述处理器配置为基于所述ADML文档来创建组件和连接符;将所述处理器配置为串行化所述组件;将所述处理器配置为基于所述ADML文档中描述的连接来装配体系结构;和将所述处理器配置为激活所述ADML文档中指定的主活动组件。
2. 权利要求l的过程,还包括将所述处理器配置为确定在对应的组件标记中是否定义了扩展字 符串内容;将所述处理器配置为确定所述对应的组件是否支持通过字符串的串行化;和将所述处理器配置为当在所述对应的组件标记中定义了所述字符 串内容并且所述对应的组件支持通过字符串的串行化时,串行化所述 对应的组件。
3. 权利要求l的过程,还包括将所述处理器配置为将名称-对象 表维护在存储器中。
4. 权利要求l的过程,还包括将所述处理器配置为存储所述ADML 文档和释放额外的系统资源。
5. 权利要求4的过程,还包括 将所述处理器配置为将AMML文档加栽到存储器中; 将所述处理器配置为关闭当前的系统体系结构; 将所述处理器配置为基于所述存储的ADML文档来构建新的体系结构5 和将所述处理器配置为基于所述AMML文档来修改所述当前体系结构。
6. 权利要求5的过程,还包括将所述处理器配置为将名称-对象表维护在存储器中; 将所述处理器配置为为所述修改的当前系统体系结构存储所述 ADML文档j和将所述处理器配置为释放所有额外系统资源。
7. 权利要求6的过程,还包括将所述处理器配置为为所述修改 的当前系统体系结构激活在所述存储的ADML文档中指定的主活动组 件。
8. —种计算机可读介质,包括执行以下过程的指令 加栽来自ADML文档的部件; 基于所述ADML文档来激活类对象和类型对象; 基于所述ADML文档来创建组件和连接符; 串行化所述组件;基于所述ADML文档中描述的连接来装配体系结构;和 激活所述ADML文档中指定的主活动组件。
9. 权利要求8的机器可读介质,还包括指令来 确定在对应的组件标记中是否定义了扩展字符串内容;确定所述对应的组件是否支持通过字符串的串行化;和 当在所述对应的组件标记中定义了所述字符串内容并且所述对应 的组件支持通过字符串的串行化时,串行化所述对应的组件。
10. 权利要求8的机器可读介质,还包括指令来将名称-对象表 维护在存储器中。
11. 权利要求8的机器可读介质,还包括指令来存储所述ADML文 档和释放额外的系统资源。
12. 权利要求ll的机器可读介质,还包括指令来 将AMML文档加载到存储器中; 关闭当前的系统体系结构;基于所述存储的ADML文档来构建新的体系结构;和 基于所述AMML文档来修改所述当前体系结构。
13. 权利要求12的机器可读介质,还包括指令来 将名称-对象表维护在存储器中;为所述修改的当前系统体系结构存储所述ADML文档;和 释放所有额外系统资源。
14. 权利要求13的机器可读介质,还包括指令来为所述修改的 当前系统体系结构激活在所述存储的ADML文档中指定的主活动组件。
15. —种系统,包括用于加栽来自ADML文档的部件的模块; 用于基于所述ADML文档来激活类对象和类型对象的模块; 用于基于所述ADML文档来创建组件和连接符的模块; 用于串行化所述组件的模块;用于基于所述ADML文档中描述的连接来装配体系结构的模块;和 用于激活所述ADML文档中指定的主活动组件的模块。
16. 权利要求15的系统,还包括块; ' 、用于确定所述对应的组件是否支持通过字符串的串行化的模块;和用于当在所述对应的组件标记中定义了所述字符串内容并且所述 对应的组件支持通过字符串的串行化时,串行化所述对应的组件的模 块。
17. 权利要求15的系统,还包括用于将名称-对象表维护在存储 器中的模块。
18. 权利要求15的系统,还包括用于存储所述ADML文档和释放额 外的系统资源的模块。
19. 权利要求18的系统,还包括用于将AMML文档加栽到存储器中的模块; 用于关闭当前的系统体系结构的模块;用于基于所述存储的ADML文档来构建新的体系结构的模块;和 用于基于所述AMML文档来修改所述当前体系结构的模块。
20. 权利要求19的系统,还包括用于将名称-对象表维护在存储器中的模块;用于为所述修改的当前系统体系结构存储所述ADML文档的模块;用于释放所有额外系统资源的模块;和用于为所述修改的当前系统体系结构激活在所述存储的ADML文档 中指定的主活动组件的模块。
全文摘要
一个过程装配和/或重新装配软件应用。在一个实施例中,从体系结构描述标记语言(ADML)文档加载部件。基于ADML文档来激活类对象和类型对象。基于ADML文档来创建组件和连接符。串行化所述组件,并且基于ADML文档中描述的连接来装配体系结构。然后激活ADML文档中指定的主活动组件。
文档编号G06F9/44GK101101547SQ200610093429
公开日2008年1月9日 申请日期2006年7月4日 优先权日2006年7月4日
发明者R·张, Y·张 申请人:霍尼韦尔国际公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1