1 Key Laboratory of Intelligent Information Processing, Institute of Computing Technology,
Chinese Academy of Sciences, Beijing 100080, China
2 Graduate School of Chinese Academy of Science, Beijing 100039
Abstract Humanized systems are man-made systems, such as simulation systems or modeling systems, that exhibit behaviors characteristic of natural living system. It complements the traditional biological sciences concerned with the analysis of living organisms by attempting to synthesize life-1ike behaviors within computers and other artificial media, such as sensory, emotion, intelligence, mental development etc. A multi-agent environment for humanized systems, MAGE will be presented in this paper. MAGE consists of three parts: Agent-oriented Unified Model Platform AUMP, development tool VAStudio and deployment environment. Above tools let MAGE support whole development functions for multi-agent system from requirement analysis to system implementation, and help users visually and quickly develop various humanized systems.
Key words: humanized systems，MAGE, VAStudio, multi-agent systems
The growth in networked information resources requires information systems that can be distributed on a network and interoperate with other systems. Such systems cannot be easily realized with traditional software technologies because of the limits of these technologies in coping with distribution and inter-operability. The agent-based technology seems be a promising answer to facilitate the realization of such systems because they were invented to cope with distribution and interoperability.
Recently, natural evolution of agent-based technology has led them to migrate from the research laboratories to the software industry. This migration is good news for the entire agent-based technology community, but it also leads to new expectations and new questions about agent-based technology such as MAS methodologies, tools, platforms, reuse, specification and etc. And MAS gains more and more interest in both the research area and the industry . The best example is the brunch of announcements about new multi-agent platforms, such as OAA, RETSINA and etc.
However, experience suggests that first generation multi-agent systems focus only on some aspects of MAS and AOSE, and thus fall short of providing a rapid proto-typing development environment for the system analyze, design, construction and deployment of agent-oriented applications. Nevertheless, up to date, there have been few serious attempts to construct a complete AOSE supporting environment, from analysis to deployment, for users to quickly build practical killer-applications.
Therefore we argue that there is an urgent need for multi-agent frameworks to cover the entire AOSE process and to provide systemic tools supporting fast development and deployment of agent-based applications. This philosophy leads to the development of MAGE .
The breakdown of the rest of this paper is as follows. Section 2 briefly presents MAGE overview, including AOSE methodology and MAGE framework. Section 3 describes the agent supporting environment of MAGE, including its platform structure and the agent architecture. Section 4 introduces the agent development environment, including AUMP and VAStudio. We elaborate on VAStudio, which is a visual agent-based design and programming platform in which users can automatically generate agents. A short conclusion and comparison between MAGE and some other MAS platforms will be given in Section 5.
2.Overview of MAGE
Multi-Agent Systems are complex software. Building such complex system software requires using adequate engineering methods. Traditionally, software engineering distinguishes three stages of construction: Analysis, Design and Development. But for systems like Multi-Agent Systems this is not sufficient, and describing the entire MAS creation process, from early design to a running application, a fourth stage after the development stage must be distinguished, that is known as deployment .
We propose to use the following definitions for these four stages which are shown in Figure 1:
Figure 1. Work Flow of AOSE - Analysis: the process of developing an under-standing of the system and its structure.
- Design: The aim of agent-based design is to transform the analysis models into a sufficiently low level of abstraction that traditional design techniques (including object-oriented techniques) may be applied in order to implement agents.
- Development: the process of constructing a functional solution to the problem. Practically it consists of coding the solution with a particular programming language. Here we divide development phase into three steps: building behaviours, building agents and building system.
- Deployment: the process of actualizing the solution to the real problem in the given domain and managing the runtime environment.
The two former stages are more involved with methodology and the two latter addresses more technical aspects.
MAGE is a Multi-AGent Environment with a collection of tools supporting the entire process of AOSE. It is designed to facilitate the rapid design and development of new multi-agent applications by abstracting into a toolkit the common principles and components underlying many multi-agent systems. The idea was to create a relatively general purpose and customizable toolkit that could be used by software users with only basic competence in agent technology to analyze, design, implement and deploy multi-agent systems.
Figure 2. MAGE Framework From figure 2, we can see that MAGE platform consists of the following parts, agent supporting environment and agent development environment. Agent development environment consists of Modeling tool AUMP and design and programming tool VAStudio. AUMP is designed for system analysis and design stages.While VAStudio is for system design, development and deployment stages. The work flow of MAGE platform is as the arrow shows. We use AUMP to get the system model and then design and programming it in VAStudio, finally we run the multi-agent system under the MAGE agent supporting environment.
MAGE has been used by a number of companies and institutions. Further details and documentation can be found at http://www.intsci.ac.cn/agent/mage.html.
3.Agent Supporting Environment
MAGE is designed to be compliant with FIPA, and MAGE framework in which MAGE agents exist and operate is comply with FIPA Agent Management Specification. Figure 3 is the architecture of MAGE running environment framework, it is a logical reference model for the creation, registration, location, communication, mig-ration and retirement of agents.
Figure 3. Platform structure From Figure 3 we can see that MAGE agent supporting platform consists of the following components, each representing a capability set.
Agent Management System (AMS) is a mandatory component of MAGE. The AMS exerts supervisory control over access to and use of MAGE platform. The AMS offers white pages services to other agents.
Directory Facilitator (DF) is a mandatory component of MAGE. The DF provides yellow pages services to other agents.
Message Transport Service (MTS) is the default communication method between agents on different agent platforms.
Agent is the fundamental actor in MAGE which combines one or more service capabilities into a unified and integrated execution model that may include access to external software, human users and communications facilities.
Software describes all non-agent, executable collections of instructions accessible through an agent.
Moreover, two auxiliary modules are provided to support designing agent systems: Agent Library and Function Component.
When defining agent architecture, there is a tradeoff between flexibility and capability. Some times, users hope the agent model is powerful enough to handle things such as co-operation, negotiation and mobility; but other times, they may hope to customize agents with their own defined components, such as their own co-operation engine. To solve this problem, we define an extensible agent architecture, with a kernel and some plug-in like components. Figure 4 is the extensible architecture of a generic MAGE agent which shows our philosophy.
Figure 4. Architecture of the generic MAGE agent Agent kernel consists of the following parts. Sensor perceives the outside world. Function Module Interface makes an effect to the outside world. Communicator handles communications between the agent and other agents. Coordinator makes decisions concerning the agent’s goals, and it is also responsible for co-ordinating the agent interactions with other agents using given co-ordination protocols and strategies, e.g. the contract net protocol or different kinds of auction protocol. Scheduler plans the agent’s tasks based on decisions taken by the Co-ordination Engine and the resources and task specifications available to the agent. Resource Database maintains a list of resources that are owned by and available to the agent. Task Database provides logical descriptions of tasks known to the agent. Plug-In Manager manages the components provided by MAGE or by users that can be plugged into agent kernel.
4.Agent Development environment
4.1Modeling tool AUMP
Multi-agent systems are complex software. Building such complex systems software requires using adequate engineering methods. We divide agent-based system modeling into the following four steps:
First step is system function modeling, we use Use Case Model to describe system functions, then map Use Cases to goals which drive agents to implement system function.
Second step is behaviour modeling which is used to resolve how to achieve the Use Cases. There are six types of agent behaviour model: Activity Model, StateChart Model, Interaction Protocol Model, Plan Model, Inference Model and Reactive Rule Model.
Third step is agent modeling which is used to demonstrate the agent system structure. Here we use Agent Class Model to describe internal structure of agent class, use Organization Relationship Model to describe cooperation relationship between agents and use Ontology Model to describe knowledge structure.
Last step is system deployment modeling. We use Deployment model to describe how agents are distributed and how the system runs.
According to this agent-based system modeling method, we build AUMP.
VAStudio is an integrated design and programming environment for developing MAS. MAS is a complex and open system. Based on the idea of software reuse, and we introduce a hierarchical development approach for MAS. The method can combine existing software component resources to implement a multi-agent system rapidly. A multi-agent system can be broken down under four layers: reusable component layer，behaviour layer，agent layer，agent society layer. As shown in Figure 5.
A component can be almost any reusable unit. Behaviour is the capability unit of agent, which is the observable effects of an operation or an event, including its results. Agent can be seen as a software entity, which is capable of action in an environment and communicate directly with other agents typically, whose behaviour tends towards satisfying its objective. An agent society is composed of agents, including the interaction between them, the protocol they use, the ontology they adopt.
Figure 5. MAS hierarchical model Generally there are two ways to develop a multi-agent system. The one is to use a top-down approach, and the other is to use a bottom-up approach. If adopting the first method, the constructing sequence is agent society, agent and behaviour, beginning from the more general framework models to the most specific Behaviours. Otherwise, the sequence is vice versa. Top-down approach requires modeling of multi-agent system first and programming of agents’ capability units (Behaviours) afterwards. Bottom-up approach is vice versa, requiring programming of Behaviours first and comprising them to make up agents afterwards. VAStudio supports either of the two or mixing of them.
4.2.2 VAStudio architecture
Based on the theory we have mentioned above, we have designed and implemented VAStudio, which provides a friendly interface for supporting development of agents. VAStudio provides a suit of reusable component tools, such as component management tool, Finite State Machine (FSM) edit tool, Agent Description Language (ADL) parsing and ontology edit tool, etc. The architecture is shown in Figure 6:
VAStudio mainly contains four functional modules: VAStudio design module, VAStudio programming module, VAStudio runtime platform and VAStudio Toolkits.
(1)VAStudio design module supports behaviour and agent design environment, which provides friendly graphical interface wizards to help users creating agent step by step. This platform supports four approaches to generate behaviour and agent: template library mode, Behaviour Description Language (BDL) and ADL mode, clone mode, FSM mode and Flow Chart mode.
Template library mode supports the following agent structures, which are the deliberative structure, the reactive structure and the procedural reasoning structure. Also the system provides various functional agents , such as the reasoning agent, the mobile agent ,the grid agent and so on.
BDL and ADL mode supports behaviour description language and agent description language.
The clone mode supports reusing agents that have been developed.
In the FSM mode, we have graphical entity to make up FSM, through drag and drop. This is very useful. We can construct our agents easily through drag and drop if we have their states and transition conditions.
In the Flow Chart mode, through drag and drop we tailor the behaviour flow especially for user to generate agents. This is also very useful. Generally we know the flow of agent, so we can get it by customize the behaviour flow.
(2)VAStudio programming module supports code editing, compiling and debugging.
(3)The most important platform is the MAS running environment interface, which supports the important API using in VAStudio by MAGE agent supporting environment as described in Section 3.
Figure 6. VAStudio architecture (4) VAStudio is very convenient with the toolkit, including behaviour editor, protocol editor, ontology editor and strategy editor. behaviour library and agent library makes it possible to reuse resources. The toolkit, supporting the fast deployment of agent-based application, web service will be added in future.
As an integrated visual MAS design and programming environment, each module should be coordinated. Graphical design can effect code generating, and vice versa. After setting up parameters, agents can run on MAGE platform. In running process, it is possible to load behaviour library, agent library and exterior service, like Web Service and ontology defined by users or systems.
4.2.3VAStudio Main Window and Features
The main VAStudio window is shown in Figure 7. VAStudio main window consists of three parts: Agent society tree, workspace and console window. Agent society consists of agent tree and behaviour tree. Workspace consists of design window and programming window. The results output in console window.
Figure 7. VAStudio Main Window VAStudio supports various kinds of ways to generate agents such as from template library, ADL, Clone, FSM and Chart Flow. It provides plenty of behaviour components which can be used to build up agents. It also supports BDL to generate Behaviours. Users can adopt agent templates, such as reactive agent, deliberate agent, grid agent and so on, to develop their own agent with special functions.
4.2.4 Work flow of VAStudio and examples
Generally there are two ways to develop a multi-agent system as described in section 4.2.1. The one is to use a top-down approach, and the other is to use a bottom-up approach. If adopting the first method, the constructing sequence is agent society, agent and behaviour. Otherwise, the sequence is vice versa. Top-down approach requires modeling of agent society first and programming of behaviour afterwards. For examples, how many agents are needed in the agent society, what is the agents’ goal, how do they communicate with each other, and what is their workflow. Bottom-up approach is vice versa, requiring programming of behaviour first and comprising them to make up agents afterwards. For examples, if having the Behaviours in the behaviour library, we can make up our agents of them using FSM mode or Flow Chart mode as described in section 4.2.2. Then an examples of VAStudio application are followed.
Data mining consists of several different phases, including preprocessing, training and evaluation. In each phase many different algorithms are available with different parameters. In our example a kind of classification agent is constructed, responsible to compare the performance of different classification algorithms provided the same training and evaluating dataset. Firstly, a normalization algorithm preprocesses the input data and submits the resultant data to the following parallel behavior. Then an inductive learning algorithm Ripper and SVM is used to create the predicting models and the classification accuracy is the metric to pick up the better model for the input datasets.
Firstly we can use top-down approach to design the flow chart in VAStudio shown as Figure 8. One of the cyan boxes in Figure 8 means a kind of data mining algorithm. Then VAStudio will automatically generate the frameworks of the behaviours i.e. NormalizationBehav, SVMTrainBehav, SVMTestBehav, RipperTrainBehav, RipperTestBehav, and ReportBehav, which have to be coded to provide corresponding function by developers. All the behaviours will be added in VAStudio behaviour library.
Next we can use bottom-up approach to construct various agents, which could contain different classification algorithms with different parameters. As figure 9 shows, the behaviour library is shown by a tree on the left, the right is design panel. One of the cyan boxes (behaviour) in Figure 9 denotes a kind of algorithm with its own parameters. Through drag and drop of the tree node on the left, we can design our flow chart on the right panel. As Figure 9 is shown, the agent has a normalization algorithm, two classification algorithms (SVM and ripper) and a report algorithm. The training and evaluating dataset flow over NormalizationBehav and then enter SVMTrainBehav1, SVMTrainBehav2, RipperTrainBehav1, RipperTrainBehav2. Finally we get four groups of
results, one of which represents the performance of an algorithm with a group of parameters.
Figure 9. VAStudio Flow Chart
In this paper, we present MAGE, a multi-agent environment for humanized systems, with a suit of tools to support agent-oriented requirement analysis, design, development and deployment. This paper also elaborates on VAStudio, which is an integrated design and programming environment for developing MAS in which users can automatically generate agents. Through the aid of MAGE including VAStudio, AUMP and MAGE Runtime Environment, users can visually develop various agent-oriented applications. The system doesn’t need users to have any coding knowledge and makes it easy to develop agent-oriented applications with adaptation on a large scale.
MAGE provides learning behavior library with rich learning algotirhms for autonomous mental development of humanized systems . Future work is going to development of mind agent with emotion and evolution which will improve the performance of humanized systems dramatically.
The research work in this paper is supported by the National Basic Research Priorities Programme (No.2003CB317004), the 863 Project (2003AA115220) and National Natural Science Foundation of China (No. 60435010).
 M.R. Genesereth and S.P. Ketchpel. Software Agents. Comm. of ACM, 37(7):48-53.1994.
 T. J. Norman, N. R. Jennings, P. Faratin, and E. H. Mamdani. Designing and implementing a multi-agent architecture for business process management. In Intelligent Agents III (eds. J. P. Mueller, M. J. Wooldridge and N. R. Jennings) LNAI 1193, Springer Verlag, 261-275, 1997.
 Pierre-Michel Ricordel and Yves Demazeau. From Analysis to Deployment: a Multi-Agent Platform Survey. Proceedings of the First International Workshop on Engineering Societies in the Agents’ World, Berlin, August 2000.
 David Martin, Adam Cheyer and Douglas Moran. The Open Agent Architecture: A Framework for Building Distributed Software Systems. Applied Artificial Intelligence, 13(1-2):92-128, 1999.
 K. Sycara, K. Decker, A. Pannu, M. Williamson and D. Zeng. Distributed intelligent agents. IEEE Expert, 11(6), 1996.
 Steven P. Fonseca, Martin L. Griss and Reed Letsinger: Agent Behaviour architectures a MAS framework comparison. AAMAS 2002: 86-87
 Zhongzhi Shi, Mingkai Dong, Haijun Zhang and Qiujian Sheng. Agent-based Grid Computing. Keynote Speech, International Symposium on Distributed Computing and Applications to Business, Engineering and Science, Wuxi, Dec. 16-20, 2002
 J. Collis, D. Ndumu and S. Thompson. ZEUS Methodology Documentation, Role Modelling Guide, Three case studies, Application Realisation Guide, Runtime Guide. http://www.labs.bt.com/projects/agents/zeus/, August-November 1999.
 M. Wooldridge, N. Jennings, and D. Kinny. The Gaia methodology for agent-oriented analysis and design. Autonomous Agents and Multi-Agent Systems, 3(3), 2000.
 FIPA. FIPA Agent Management Specification. Document number: XC00023H. Foundation for Intelligent Physical Agents - http://www.fipa.org/, Geneva, Switzerland, 2000.
 Zhongzhi Shi, Jun Shi, Jinghua Zheng. Research on Intelligence in Artificial Life. Eds. Tu Xuyan, Yin Yixin, Artificial Life and its Applications. Beijing University of Posts and Telecommunications Press, 27-32, 2004