当前位置:文档之家› 中国人工智能学会

中国人工智能学会

可视化多主体系统开发平台V AStudio设计与实现林芬1,2邱莉榕1,2贾颖杰1,2史忠植11中国科学院计算技术研究所北京1000802中国科学院研究生院北京100039linf@摘要:多主体系统(Multi-Agent System)开发工具是解决面向主体的程序设计的关键技术,目前开发的多种多主体系统开发工具都尚未满足实际要求或存在某些缺陷,本文设计和实现了可视化多主体系统开发平台VAStudio,为用户提供一个功能强大的可视化多主体系统设计和编程环境,根据用户的需求,可视化智能引导生成主体,方便了基于主体的应用系统的开发,很大程度上提高了多主体系统开发的适应性。

本文详细介绍了VAStudio的设计思想包括体系结构和各个功能模块,并以分布式数据挖掘为例验证了该工具的可行性和优越性。

关键词:主体多主体系统设计工具开发工具Design and Implementation of Visual Multi- Agent StudioFen Lin1,2 Lirong Qiu1,2 Yingjie Jia1,2 Zhongzhi Shi11 (Institute of Computing Technology, CAS, Beijing 100080)2 (Graduate School of Chinese Academy of Science, Beijing 100039)linf@Abstract:Multi-Agent Toolkits is an important field in the research domain of agent-oriented software engineering. However there still lies this or that kind of deficits in most traditional multi-agent toolkits. This paper introduces the implementation of Visual Multi-Agent Studio, which provides an integrated design and programming environment to support generating agents automatically. Also the system makes it easy to develop agent-oriented application system and improve its adaptability on a large scale. This paper introduces the design philosophy such as architecture and functional module of V AStudio in detail. Finally it proves the feasibility and superiority of the toolkit by taking Distribute Data Mining for example.Key Words: Agent Multi-Agent System Design Tool Development Tool1.引言主体和多主体系统经过了20多年的研究和发展,已经成为人工智能甚至计算机科学的研究热点之一,并已经广泛应用到很多领域之中。

主体技术被认为是在复杂计算环境下构建可扩展的、健壮的、可重用的、一致的高质量软件系统的最有前途的技术之一。

智能主体和多主体系统为开发分布式、智能化、开放性复杂软件系统提供了一种新的实现范型[1,2]。

虽然主体和多主体系统技术受到了越来越多的重视,目前已出现了各种各样的关于主体基金项目:国家973计划项目(2003CB317004),国家863计划项目(2003AA115220),自然科学基金(60435010),北京科学基金(4052025)作者简介:林芬,硕士生,主要研究方向为智能主体技术、数据挖掘等。

和多主体系统的理论和开发平台,工业界也开始使用主体技术和多主体系统来开发自己的产品。

但是基于主体的系统开发仍然不是一件容易的工作,目前主体开发平台主要提供主体运行环境,缺乏可视化主体设计和开发环境,未能很好的利用面向主体的思想,导致用户理解和应用主体平台开发系统困难度增加,从而使得主体开发平台的适用性大大降低。

针对上述种种问题,本文结合面向主体软件工程的思想,分析了已有的主体设计模型和主体体系结构的缺陷和存在的主要问题,设计和实现了相应的可视化主体设计和开发平台VAStudio,为用户提供一个集成的主体设计和编程环境,并在主体支持环境MAGE的支持下运行。

MAGE是一种成熟的完全与FIPA规范[3]兼容的分布式的主体平台,提供主体运行环境许多必不可少的服务,如白页/黄页服务、生命周期服务、通信服务、主体管理服务等。

MAGE的详细介绍,请参考[4,5,6]。

2. 相关工作比较自从人们开展对分布式人工智能的研究之时起,多主体系统开发工具就一直是研究重点。

本节中主要比较典型多主体系统开发工具,包括采用的优先技术、具有的通用功能以及存在的不足。

University of Parma 开发的JADE[7], 它将多主体系统的实现简单化,提供了一系列的工具来支持开发和调试,虽然提供了一系列底层支持帮助用户构建主体,但是用户只能自己编码实现没有提供相应的可视化工具。

Stanford University 开发的JATLite[8]适合分布式环境里开发主体系统,提供了基本的主体框架,提供了方便的通信接口,然而也没有提供相应的可视化工具。

由British Telecommunications Laboratory开发的著名的多主体系统开发工具Zeus[9],它提供了一个软件构建和工具库能够快速和方便的设计、开发、实现多主体系统。

Zeus包含三个主要功能部件:主体构件库、主体开发工具和可视化工具,然而Zeus的学习和使用对于非专业用户来说比较困难,相应的可视化平台并没有提供主体模型设计工具而且功能十分有限,并没有很大程度上方便用户的开发。

分析以上多主体系统开发工具,我们发现这些工具都没有提供适用的可视化多主体系统设计和编程环境。

因此本文设计和实现了可视化多主体系统开发平台VAStudio,为用户提供一个功能强大的可视化多主体系统设计和编程环境,方便了用户开发基于主体的应用系统,在一定程度上提高了多主体系统开发适应性。

在表1中本文将这些工具作了简单的比较(标*表示不明确)。

从表中可以看出,V AStudio在可视化主体设计、软件复用和学习曲线方面有特殊优势。

3. 多主体系统层次模型理论与VAStudio设计实现3.1 多主体系统层次模型多主体系统是一个开放的复杂系统。

抽象是人们处理复杂系统的一个常用方法。

根据多主体系统蕴涵的本质特征和抽象级别,本文提出一个层次开发模型[10],由抽象级从低到高分别为遗留构件层、行为层、主体层和主体社会层,如图1所示。

组件可以是任何可重用的构件。

行为是主体的一个能力单位[10]。

主体可以看成一个软件实体,即可以看成一个黑箱,通过传感器感知环境,通过效应器作用于环境。

主体的体系结构主要包括三种:慎思结构、反应式结构、混合式结构[11]。

主体社会层包括各种各样的自治主体,以及主体之间的交互,使用的协议等等。

一般来说有两种方式来开发多主体系统,一种是自顶向下,另一种是自底向上。

自顶向下是首先对主体社会建模,然后分析所需的主体,最后分析出主体所需的行为。

而自底向上是在已有行为的基础上来构建我们所需的主体,在已有主体的基础上构建我们所需的主体社会。

在我们的设计中,V AStudio 支持两种方式的使用,首先我们采用自顶向下分析出我们所需的行为,放入行为库,然后采用自底向上根据行为库里的行为构建我们所需的应用。

3.2 V AStudio 的系统设计基于上述思想,本文开发了一个多主体系统工具集V AStudio ,设计目标就是提供一个友好的集成环境来支持主体的设计和编程,不仅是系统编程环境,而且是面向主体的设计与编程环境,根据主体模型支持多种图形界面智能引导生成主体方式。

同时为软件复用提供了一系列基本工具,如构件库管理工具、行为库、主体库、ADL 分析器以及本体编辑器等等。

如图2所示: VAStudio 主要由四大功能块组成:VAStudio 的设计平台,VAStudio的编程平台,VAStudio 的运行平台和VAStudio 的工具箱。

(1)VAStudio 的设计平台是针对行为和主体设计的环境,平台采用可视化图像界面智能引导,一步步帮助用户生成智能主体。

目前平台支持行为和主体生成的五种方式:有限状态自动机方式,流程图方式,模板库方式,行为描述和主体描述方式[11],克隆方式。

其中有限状态自动机方式,流程图方式对用户构建主体非常方便。

● 有限状态自动机生成方式中支持图形方式对行为通过有限状态自动机来进行定制来生成用户所需的主体● 流程图生成方式中,可以通过对行为流程的定制来生成满足用户需要的主体。

● 模板库方式中支持上节层次模型描述的主体多种结构:慎思结构、反应式结构、混合式结构,以及各种功能性主体比如推理主体、移动主体和网格主体。

● 行为描述和主体描述声称方式中,行为又可以分为简单行为和复合行为,它们可由实体构件和连接构件通过有限自动机来进行描述,主体描述除了描述主体所具有的能力之外,还需要描述主体名称、目标和所要求的外部资源等。

● 克隆生成方式中通过对已有的主体克隆生成新的主体。

(2)在VAStudio编程平台支持代码的编辑,编译,调试和测试工具。

(3)最重要的平台就是提供后台主体运行的平台也就是主体支持环境MAGE运行环境,将上述智能主体的体系结构和主体设计应用到多主体支持环境MAGE中。

(4)VAStudio的工具箱为用户使用提供了极大的方便,支持行为库,主体库,使得用户可以复用已有的资源,支持本体,使得主体之间的通信更加方便,在以后的版本中会逐步加入支持Web服务等。

VAStudio作为一个集成的统一的可视化多主体系统设计和编程环境,需要保持各功能模块之间的统一,设计模块需要和编程模块保持动态一致性,图像化智能设计的结果会体现在编程模块的编程环境中,同样编程模块的变化体现在智能化设计界面中。

不论是设计和编码的主体运行时都需要通过运行参数设计和运行平台的控制性打交道,将要运行的主体和参数发送到MAGE主体支持平台运行,在运行过程中可能需要加载行为库,主体库,需要加载用到的外部服务比如Web服务,以及用户或者系统定义的本体等。

相关主题