前言
Agent和多Agent系统(MAS)现在已成为一种应对各种复杂IT情景的强大技术,如生产过程、Web服务、基于Internet计算的市场和分布式网络管理等。然而,新近出现的理解认为,MAS不仅是一种有效的技术,还代表了一种新型的软件开发通用范型,即基于自主软件实体(Agent)的设计和开发应用。这种实体位于某个环境中,可以通过高层协议和语言的交互来灵活实现其目标。这些特点非常适合于解决现时情景下的复杂软件开发。事实上,① 自治的应用组件,反映了现代分布式系统内在的分散性,并且可视为系统被不同的利益相关者所拥有,在模块化和封装概念上进行了自然延伸;② Agent运行和交互(包括相互之间及Agent与环境之间)所采取的灵活方式,适应于现今软件在动态和不可预知的情况下运行;③ Agent的概念为人工智能的成果提供了一个统一的观点,通过使用Agent和MAS作为存放智能行为的、可靠的和易管理的知识库,从而利用人工智能的成果解决现实世界中的问题。
在过去几年中,基于Agent的计算被日益接受为一种新型的软件工程范型,已经有大量的研究是关于定义合适的模型、工具和技术,以支持开发复杂的MAS软件系统。这些研究,即面向Agent的软件工程(AOSE),不断地提出各种新的建模方法和技巧、新的设计方法和工具,尤其是新型的面向Agent的范型。
关于AOSE的科学论文在文献中出现得越来越多,遍布在不同的会议、期刊和新闻上。因此,无论是新人还是专家,在这个领域中进行研究时,在操作所有这些材料时总会有困难。本书试图将各种研究结果和建议有组织地综合在一起,虽然非常多样化,但都以促进MAS的开发为相同的总体目标。我们的希望就是,这本书能够为研究者和学生了解AOSE的发展现状提供线索,而不用在现有的数字图书馆中搜索数以千计的文件,也不会在无尽的搜索中迷失方向。
当然,我们需要清楚地认识到,AOSE的研究仍处于初级阶段。在AOSE被广泛接受,并且在MAS复杂软件系统研究中成为实际可用的范型之前,就必须面对所出现的挑战。出于这些原因,本书避免支持特定的技术或方法,而只是给读者介绍不同的设计方法和实现技术,给予他们更多的选择余地。本书的内容共分为五个部分:
● 第一部分(基于Agent的软件开发基础知识)是介绍性的,目的在于阐明为什么基于Agent是设计复杂软件系统的合适方法(比现有的传统方法优越),同时从不同层面对AOSE的研究现状进行调查。
● 第二部分(面向Agent的开发方法)阐述了三种经典的方法学(即Gaia、Tropos和MaSE),它们在过去几年中作为通用方法来指导开发复杂的MAS,在研究者群体中具有巨大的影响;三种特殊的方法(即ADELFE,MESSAGE和Prometheus),虽然影响力不大,但自身的有趣的特性使它们非常适合于MAS特殊类(如自适应的MAS和基于Agent的系统)的设计和特殊的应用领域(如电信应用和智能商场)。
● 第三部分(改进面向Agent的软件开发方法)针对目前AO方法所面临的困境,提出了层次开发框架HDA,为将Agent技术变为复杂系统建模的有力工具提供了一种可行的途径。HDA能够基于现有的各种AO(Agent Oriented)元模型定制出符合特定项目需求的方法,并为设计模型的实现提供了一整套的方案,解决了设计模型同软件实现相脱节的问题。
● 第四部分(面向Agent的软件工程工具和基础设施)将焦点从方法学转换到基础设施和工具上。事实上,尽管方法学驱动着构建MAS的过程,但只有提供了适当的工具和软件基础设施,才能最终实现一个良好的工程化软件系统。概念性工具列出了FIPA标准和AUML,软件基础设施则介绍了截至目前可供开发者使用的、最有前途的工具JADE。
● 第五部分(新兴的趋势和前景)更具有应用导向的性质,集中在MAS技术未来的假定应用上,如信息服务和普适计算。在这些新出现的技术背景下,基于Agent的系统有可能得到广泛利用,为了促进开发的可靠性和有效性,对AOSE的技术的需求也可能会更迫切。在此基础上,给出了该领域的AOSE研究路线图。
在国家科技支撑计划重大项目课题“三峡库区枢纽港经济圈物流服务示范工程(2006BAH02A20)”、国家科技支撑计划重点项目课题“生殖健康公共服务架构设计与信息标准研制(2008BAH24B01)”和北京市自然科学基金项目“现代服务理论及其在现代物流服务业中的应用研究(4082017)”和河南理工大学博士基金课题“Agent软件理论与关键技术研究(648227)”的支持下,作者进行了有关Agent建模技术在现代信息服务中的应用研究和开发工作,取得了一些初步的成果,希望通过本书与广大科技人员和读者交流与共享,从而推动Agent技术的研究和实施。
首先我想强调,这本书凝聚了AOSE领域很多研究人员的努力成果,在这里感谢他们为AOSE的发展所作出的显著贡献。没有他们,我们将永远不会形成对该领域研究的宽广视野。另外,这里要特别感谢河南理工大学计算机学院的贾宗璞教授在百忙之中抽出时间审阅了全书,提出了很多有价值的修改意见,对于全书的形成至为重要。
另外,本书的完成还要感谢我的妻子王淑芳,她对本书所参阅的文献资料做了大量的整理工作;感谢河南理工大学计算机学院的研究生朱红磊、李慧琴、张亚婷、潘亚峰、王娟、杨玲、车平、张纯等,他们为本书的插图和校对进行了大量辛苦的工作;感谢河南理工大学智能科学实验室的同事刘小燕、马永强、罗军伟、侯艳芳、王志衡和李会军,他们为本书的写作提出了很多宝贵的建议。感谢山东科技大学的博士生李东民和湖北工业大学的研究生朱传鸿,清华大学CIMS工程中心实验室的朱鹏、王婷、刘志宇和李梦生,他们为本书的完稿提供了很多力所能及的帮助。最后,我真心感谢本书的编辑,是她付出的辛勤劳动,使得这本书能最终面世。
作 者
河南理工大学
2008年10月