[发明专利]用于构造基于组件的应用的可执行代码的方法和系统有效
申请号: | 201010179551.0 | 申请日: | 2010-05-17 |
公开(公告)号: | CN101887365A | 公开(公告)日: | 2010-11-17 |
发明(设计)人: | 亨里克·安德雷德;布格拉·格迪克;侯锐;王华勇;吴坤龙 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 北京市柳沈律师事务所 11105 | 代理人: | 周少杰 |
地址: | 美国纽*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 构造 基于 组件 应用 可执行 代码 方法 系统 | ||
1.一种用于为基于组件的应用构造可执行代码的方法,所述方法包括:
通过在计算机系统中执行的编译器接收编译用于基于组件的应用的源代码的请求,其中所述请求识别所述源代码,并且其中所述源代码包括多个源代码组件,所述多个源代码组件的每一个实现所述应用的不同组件;以及
通过所述编译器执行用于多个源代码组件的每个源代码组件的一系列步骤,所述一系列步骤包括:
为所述源代码组件导出导出的签名;
检索对应于用于所述源代码组件的可执行代码的当前可用实例的存储的签名;
比较导出的签名和存储的签名;
响应于导出的签名不匹配存储的签名,将所述源代码组件编译为可执行代码;以及
当导出的签名匹配存储的签名时,从库中获得用于所述源代码组件的可执行代码。
2.如权利要求1所述的方法,其中所述导出的签名从与所述源代码相关联的元数据导出,并且所述存储的签名之前从与源代码的之前版本相关联的元数据导出,从该源代码的之前版本生成用于所述源代码组件的可执行代码的当前可用实例。
3.如权利要求2所述的方法,其中与所述源代码相关联的元数据捕获所述源代码的一个或多个配置参数,并且与源代码的之前版本相关联的元数据捕获用于所述源代码组件的可执行代码的当前可用实例的一个或多个配置参数。
4.如权利要求3所述的方法,其中所述导出的签名是捕获所述源代码的一个或多个配置参数的可扩展标记语言文档,并且所述存储的签名是捕获源代码的之前版本的一个或多个配置参数的可扩展标记语言文档。
5.如权利要求3所述的方法,其中与所述源代码相关联的元数据中的一个或多个编译时间可估计常数表示用在运行时间加载的位置保持器代替。
6.如权利要求1所述的方法,其中所述存储的签名与库中用于所述源代码组件的可执行代码的当前可用实例相关联。
7.如权利要求6所述的方法,其中所述库保持用于所述多个源代码组件中的每个源代码组件的代码和签名。
8.如权利要求1所述的方法,其中所述源代码组件是对输入数据操作的操作器。
9.如权利要求1所述的方法,其中所述源代码组件是容纳对输入数据操作的一个或多个操作器的容器。
10.一种用于为基于组件的应用构造可执行代码的系统,所述系统包括用于实现权利要求1-9的任一的方法的部件。
11.一种用于为基于组件的应用构造可执行代码的编译器,所述编译器包括:
用于接收编译用于基于组件的应用的源代码的请求的输入,其中所述请求识别所述源代码,并且其中所述源代码包括多个源代码组件,所述多个源代码组件的每一个实现所述应用的不同组件;以及
耦合到输入的多个元件,用于执行用于多个源代码组件的每个源代码组件的一系列步骤,所述多个元件包括:
签名比较器,用于为所述源代码组件导出导出的签名;
签名数据库,用于存储对应于用于所述源代码组件的可执行代码的之前生成实例的存储的签名;以及
代码生成器,用于当签名不匹配存储的签名时,将所述源代码组件编译为可执行代码,以及当签名匹配存储的签名时,从库中获得用于所述源代码组件的可执行代码。
12.如权利要求11所述的编译器,其中所述签名比较处理器配置为从所述源代码的一个或多个配置参数导出所述导出的签名。
13.如权利要求11所述的编译器,其中所述代码生成器对应于所述源代码组件的类型。
14.如权利要求11所述的编译器,其中所述导出的签名是捕获所述源代码组件的一个或多个配置参数的可扩展标记语言文档。
15.如权利要求11所述的编译器,其中所述导出的签名是从与所述源代码组件相关联的元数据导出的。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010179551.0/1.html,转载请声明来源钻瓜专利网。