论文部分内容阅读
随着大型软件的发展和广泛应用,软件重用技术被视为解决软件重复开发,减少软件设计费用,提高软件开发效率的关键技术。构件挖掘技术能为软件重用提供大量封装好的素材。虽然网络上分散着大量的构件,但是目前构件挖掘技术仍然局限在本地数据库或者局域网范围内,而现存的网络搜索引擎基本上还只能获取文本信息,不能有效地进行构件搜索和挖掘,所以本文主要讨论基于网络的构件搜索、构件信息获取问题。本文首先分析了目前构件挖掘技术存在的问题,现有解决方法的局限性,介绍了多Agent系统的特点和标准,并引入了一种多Agent运行平台——JADE,在该平台的基础上进行构件获取系统的开发。然后详细讨论了Java Bean构件在网络上的发布方式,根据其发布特点,给出了Java Bean构件的获取算法,提出了一种两层架构的构件获取技术,设计实现了构件获取系统的框架结构和各主要模块的详细分析类图。此系统是基于JADE运行平台的多Agent系统,在充分研究了Agent开发平台之一——JADE的基础上,利用JADE的特性,架构了该系统框架。该构件获取系统主要由三个Agent模块组成,用户接口Agent、搜索引擎再检索Agent和构件获取Agent。通过这三个Agent的协同合作提供给用户构件详细描述信息。用户接口Agent接收用户搜索关键词,并对该关键词进行URL编码,然后通过JADE平台的DF服务,在JADE平台上进行注册,将消息发送给搜索引擎再检索Agent。同时负责接收构件获取Agent发回的消息,将最终得到的构件信息XML文件显示给用户。两层架构的构件的获取技术是结合了搜索引擎再检索Agent和构件获取Agent进行快速的两层搜索,首先利用搜索引擎遍历整个网络,缩小搜索范围,提高搜索浓度,然后利用专业搜索Spider根据Java Bean构件的发布特点在搜索引擎结果的基础上进行有限范围的精确搜索。基本上涵盖了网络上的所有构件,实现了快速、全面、精确的搜索。根据构件网上信息的特点,利用基于属性的信息抽取方法,提取构件信息。最后对全文进行了总结,分析了系统的不足,并对今后的工作进行了展望。