论文部分内容阅读
移动Agent模式是一种新型的分布应用程序设计模式。与传统的Client/Server模式相比,在这种模式中,网络上传输的不再是简单的请求/响应消息,而是移动Agent的代码和状态。移动Agent是一种具有独立执行线程的可编程实体,它的执行线程可以在源主机上挂起,并在目的主机上恢复执行。移动Agent的关键特性是移动性和交互性。移动性是本质属性,有效的交互是移动的目的。在多种分布应用中,移动Agent模式更符合人类的思维和行为方式,如电子商务、网络管理、信息检索和工作流等。作为人的代理,能够自由移动的Agent总是比无法移动的Agent更受欢迎。 本文详细阐述了一种基于纯Java语言的移动Agent系统——TechAgent系统的结构设计、对象模型设计、算法设计和原型系统实现。TechAgent系统提供了一种易于接受的移动Agent运行环境,实现了移动Agent系统的基本概念和结构。利用Java 1.1提供的功能,本文提出了一种Agent执行线程的断点重启算法,从功能上完全模拟了Agent执行线程的移动,避免了传统方法需要捕获运行时间堆栈的复杂性和低效性。本文提出的Agent任务规划算法实现了Agent核心代码与任务执行代码的分离,极大提高了Agent核心代码的重用性。利用该算法提供的连接原语和操作原语,可以构造出各种复杂的任务规划,具有很强的通用性。 TechAgent原型系统是一个可用的移动Agent系统,为移动Agent研究提供了一个良好的实验环境。通过不断改善系统结构、扩充系统功能和提高系统效率,TechAgent原型系统可以作为移动Agent系统进一步研究和商品化的出发点。