论文部分内容阅读
程序挖掘是为解决用户按需计算问题而提出的,是一种在网络环境中基于构件和多Agent协作的软件重用方法。通过程序挖掘,可以根据用户的要求,自动从网络构件库中发现需要的标准构件并组装成完成相应计算功能的程序。但实现程序挖掘的前提是要有大量标准的软构件,并且这些构件要能容易被智能代理检索和访问到。目前Internet上出现了很多专门的构件库,各Web站点上也提供了构件的链接,但是不同的构件库有不同的组织和访问方式,从而造成了对各构件库中的构件访问困难,并且Web站点上链接的构件也无法用传统的搜索引擎搜索到,所以本文主要讨论构件的发现问题。 本文首先在深入分析现有构件描述方法的基础上,提出一种基于XML的适于程序挖掘的通用构件描述方法。将各构件库中的构件描述转化为这种通用构件描述,形成构件索引项,存于构件目录库中,从而实现了对各构件库中的构件的管理和控制,解决了对各构件库访问的一致性问题。构件描述信息也便于人和计算机理解构件的作用和功能。 本文在介绍Java Beans构件的发布方式之后,采用有限深度优先的方法,对网页进行访问分析,并利用代理技术,实现了Java Beans构件搜索代理。该代理完成对Web站点链接的Java Beans构件的搜索。 由于搜索到的还只是可能包含构件的JAR文档,并没有构件的描述信息,所以在搜索到JAR文档后,还要对JAR文档进行解析,才能得到各个构件以及构件的描述信息。本文详细介绍了Java Beans构件描述符的提取方法,并给出了实现解析所包含的各个类的主要方法。对JAR文档的解析可以嵌入到构件搜索智能代理中,构件搜索代理直接返回构件和构件的描述信息,从而解决了Web页上链接的Java Beans构件的发现问题。 最后,介绍了分布式构件库原型系统,通过分布式构件库原型系统展示了构件组织和构件发现方式。并对全文进行了总结,对今后的工作进行了展望。