According to software engineering requirements we have developed a whole procedure for software developing and system integrating in terms of MAGE, which includes requirement analyzing, system designing, agent generating and system implementing. Fig 1 demonstrates the work flow of software system developed by MAGE.
Fig 2 demonstrates the architecture of MAGE platform, which consists of the following components, each has specific capability set:
Software describes all non-agent, executable collections of instructions accessible through an agent. Non-agent software can be encapsulated with agent.
In addition, two auxiliary modules are provided to support designing agent systems: Agent Library and Function Components. User can compose different agents by using many kinds of function components provided by MAGE. Also user can select suitable agent class from agent library.
Top of the page
4. MAGE agent architecture
An agent in MAGE consists of six components: agent kernel, basic capabilities, sensor, communicator, function modules and knowledge base. Fig 3 demonstrates the detailed agent architecture.

Top of the page
5. Agent life cycle in MAGE
Every agent in MAGE has a basic life cycle which includes six states: Initiated, Active, Waiting, Suspended, Transit and Unknown. And also MAGE support transition between different states, such as Invoke transform an agent from Initiated state to Active state. Refer to Fig 4 for detailed agent life cycle.

Top of the page
6. Features of MAGE
6.1 Distributed computing platform
Distributed computing allows application program elements running on different hardware platform. MAGE is a distributed computing platform, and may be distributed on different host. MAGE is built on JAVA RMI and hides all implementation details from users, thus presents a unified computing environment for users. MAGE can support building distributed application easily.
6.2 Agent-oriented software design with a GUI
In specifying an agent system, we have found that it is highly desirable to adopt an external viewpoint. The description of an agent system from the external viewpoint is captured in two models:
Agent Model describes the hierarchical relationship among different abstract and concrete agent classes and identities the agent instances which may exist within the system their multiplicity and when they come into existence.
Interaction Model describes the responsibilities of an agent class: the services it provides associated interactions and control relationships between agent classes. This includes the syntax and semantics of messages used for inter-agent communication and communication between agents and other system components: such as user interfaces.
According to the two models, MAGE provides a graphic tool for agent-oriented software design: XMIDE, it is shown in Fig 5.

6.3 Open and FIPA compliant
The Foundation for Intelligent Physical Agents (FIPA) is an international organization that is dedicated to promoting the industry of intelligent agents by openly developing specifications supporting interoperability among agents and agent-based applications. MAGE is not isolated, it is open and FIPA compliant, so it can communicate with any agent system complying with FIPA.
Agentcities is a worldwide initiative designed to help realize the commercial and research potential of agent based applications by constructing a worldwide, open network of platforms hosting diverse agent based services. The ultimate aim is to enable the dynamic, intelligent and autonomous composition of services to achieve user and business goals, thereby creating compound services to address changing needs. Up to now (2002-10-9) there are sixty agent platforms connected to agentcities.net. Our MAGE platform connected with agentcities successfully in 2002-4, and is the only agent platform connected with agentcities in China, and also become the second agent platform in Asia that connected with agentcities.
6.4 Multiple schemes of software reuses
Software reuse can speed software development, reduce time to market and save resources, and so MAGE provides three kinds of method to reuse software (agent software or non-agent software coded in any language):