Академический Документы
Профессиональный Документы
Культура Документы
www.elsevier.com/locate/eswa
a
Department of Computer Science, Sogang University, Seoul 121-742, South Korea
Department of Decision and Information Sciences, School of Business Administration, Oakland University, Rochester, MI 48309, USA
Abstract
The era of distributed software environments is emerging and research on multi-agent systems (MAS), which tries to solve complex
problems using entities called agents, is on the rise. This paper proposes an architecture-centric method for developing MAS that supports the
important phases of systematic software development. In particular, this approach is geared towards supporting system properties specially
focused on agent coordination and autonomy. A goal-based approach is utilized for the problem domain analysis, and individual agents are
mapped to the systems refined goals. Further, architectural styles and patterns are applied to generate the overall design of MAS. UML
(Unified Modeling Language) and ADL (Architecture Description Language) are used for modeling and formalizing the MAS architecture.
The proposed architecture is applied to ITS (Intelligent Transport Systems) domain and a proof-of-concept prototype has been developed to
demonstrate our approach.
q 2004 Elsevier Ltd. All rights reserved.
Keywords: Intelligent agent; Multi-agent systems; MAS architecture; Unified Modeling Language (UML); Architecture Description Language (ADL);
Agent design
1. Introduction
Most of the complex real world problems are solved
using distributed environments (Gomez-Sanz, Pavon, &
Garijo, 2002; Jennings, 2001). Currently, there is tremendous pressure to design and develop systems in a short
period of time. For example, a growing number of
e-commerce applications are being deployed on a daily
basis and this situation is only going to get worse with the
incredible growth of the Internet and web-based applications. One approach commonly used to accelerate
distributed systems development is to reuse previously
developed components with similar functionalities (Davis,
Luo, & Liu, 2003). A large distributed system could be
developed through identifying reusable software components, customizing them to meet the new requirements
and integrating them with newly developed software
(Maturana et al., 2004). To address the issues of complex
systems development in distributed environments, research
on multi-agent systems (MAS) and their application is on
the rise (Dzeng & Lin, 2004; Lee & Park, 2003; Lee & Tsai,
2003; Pontelli & Son, 2003). A MAS tries to solve complex
problems with entities called agents, using their collaborative and autonomous properties (Liau, 2003). However, the
effort in designing multi-agent systems suffers from lack of
systematic approach that is grounded in software development methodologies.
In order to develop MAS in a systematic way, we need to
analyze the system in terms of its ultimate goals and design
the system both in the abstract as well as concrete by
mapping the goals and the subgoals to software agents
(Park, Kim, & Lee, 2000; Park, Kim, & Park, 2000). The
implementation of a MAS is only as good as its design;
hence, it is critical that correct design decisions are made
(Xu & Shatz, 2003). A well thought out architecture for the
system provides an effective blueprint for the system and
leads to the right implementation with little error. Thus, the
architecture of the system is its backbone and offers
guidelines for its development. Every system has its own
framework and the right establishment of this framework
can lead to the right system, and even right analysis and
design for extending the system in future (Symeonidis,
Kehagias, & Mitkas, 2003). Furthermore, this is an efficient
way to improve the systems reliability and performance
260
2. Related work
A multi-agent system (MAS) is defined as a loosely
coupled network of problem solvers that work together to
solve problems that are beyond the individual capabilities or
knowledge of each problem solver (Durfee & Lesser, 1989).
The increasing interest in MAS research is due to significant
advantages inherent in such systems, including their ability
to solve problems that may be too large for a centralized
single agent, provide enhanced speed and reliability and
tolerate uncertain data and knowledge. Some of the key
research issues related to problem-solving activities of
agents in a MAS are in the areas of coordination, negotiation
and communication (Nwana, 1996). Coordination is the
process by which an agent allocates tasks to other agents and
synthesizes the results from these agents to generate an
overall output. Negotiation is the process by which agents
solve their conflicts and reach a compromise. For coordination and negotiation, they need to communicate with one
another and hence the system should provide a general
communication mechanism.
In order to support MAS requirements such as coordination, negotiation, and communication, several architectures have been reported in the literature. The Gaia
methodology (Wooldridge, Jennings, & Kinny, 2000;
Zambonelli, Jennings, & Woolridge, 2003) supports the
development of agents with formal models of knowledge
261
262
: Mobile agent
Relation
Cooperation (B): shows the
relationships between agents,
meaning that cooperation is
needed among them.
Employ (
): shows the
,
,
263
264
Table 1
Notation of system elements for MAS
Table 2
Architecture description in the view of coordination using Acme
System MASZ{
component AgentZ{
Port AgentComm; };
component CoordinatorZ{
Port CoorComm; };
Connector CommunicationZ{
Roles { contractInitiator;
contractResponder; }; };
Attachments{
Coordinator.CoorComm to
Communication.contractInitiator;
Agent.AgentComm to
Communication.contractResponder;
}; }
265
266
267
Fig. 11. Agent organization architecture for Flight Info Group in UML.
268
4.4. Implementation
This section provides some details of how a MAS
could be implemented using the proposed architecturebased approach. As a proof-of-concept, we have
implemented a prototype called PTIS, in the intelligent
transportation system domain. We employ a simple
scenario of a traveler interacting with the system to
make travel arrangements and on the day of the travel,
receive up-to-date information about weather conditions,
subway and road conditions at the time of arrival at the
destination city. The prototype has been implemented
using JADE (Java Agent DEvelopment Framework) from
CSELT, Turin, Italy. JADE is a middle-ware that could be
used to develop agent-based applications in compliance
with the FIPA specifications for inter-operable intelligent
multi-agent systems (Bellifemine, Poggi, & Rimassa,
1999). JADE is java-based and provides the infrastructure
for agent communication in distributed environments,
based on FIPA standards. Table 3 shows our implementation environments for the prototype.
To implement PTIS prototype, we used or adapted the
APIs of JADE; agents and coordinators were implemented
by extending the ade.coreclasses, and the agents belief
269
Table 3
Implementation environments for the prototype
Implementation environment
DBMS
Operating system
Implementing language
Agent communication language
JADE 2.01
ORACLE 8i
1 Linux, 2 Windows 98 ME,
2 Windows 2000
Java
FIPA ACL Standards
270
Acknowledgement
This research was supported by the MIC (Ministry of
Information and Communication), Korea, under the ITRC
(Information Technology Research Center) support program supervised by the IITA (Institute of Information
Technology Assessment) and Oakland University.
References
Bauer, B., Muller, J. P., & Odell, J. (2001). Agent UML: A formalism for
specifying multiagent software systems. International Journal of
Software Engineering and Knowledge Engineering, 11(3), 207230.
Bellifemine, F., Poggi, A., & Rimassa, G. (1999). JADEA FIPAcompliant agent framework. Proceedings of PAAM99, London, April
1999 , 97108.
Bresciani, P., Perini, A., Giorgini, P., Giunchiglia, F., & Mylopoulos, J.
(2004). Tropos: An agent-oriented software development methodology.
Autonomous Agents and Multi-Agent Systems, 8(3), 203236.
Clements, P. C. (1996). A survey of architecture description languages.
Proceedings of the 8th International Workshop on Software
Specification and Design, March 2223, Schloss Velen, Germany ,
1625.
Cockburn, A. (1997). Structuring use cases with goals: Parts 1 and 2.
Journal of Object Oriented Programming, SeptOct 1997 (pp. 3540)
and NovDec 1997 (pp. 5662).
Dam, K. H., & Winikoff, M. (2003). Comparing agent-oriented
methodologies. 5th International Bi-conference Workshop on AgentOriented Information Systems (AOIS03), July 2003, Melbourne,
Australia , 7994.
Dardenne, A., Lamsweerde, A. V., & Fickas, S. (1993). Goal-directed
requirements acquisition. Science of Computer Programming, 20(1/2),
350.
Davis, D., Luo, Y., & Liu, K. (2003). Combining KADS with ZEUS to
develop a multi-agent e-commerce application. Electronic Commerce
Research, 3(3), 315335.
Davis, R., & Smith, R. G. (1983). Negotiation as a metaphor for distributed
problem solving. Artificial Intelligence, 1983, 63109.
271
Maturana, F. P., Tich, P., Slechta, P., Discenzo, F., Staron, R. J., & Hall, K.
(2004). Distributed multi-agent architecture for automation systems.
Expert Systems with Applications, 26(1), 4956.
Nwana, H. S. (1996). Software agents: An overview. Knowledge
Engineering Review, 11(3), 140.
Odell, J., Van Dyke Parunak, H., & Bauer, B. (2000). Representing agent
interaction protocols in UML. AAAI Agents 2000 .
Padgham, L., & Winikoff, M. (2002). Prometheus: A methodology for
developing intelligent agents. Proceedings of the First International
Joint Conference on Autonomous Agents and Multiagent Systems: Part
1, July 1519, 2002, Bologna, Italy .
Park, S., Kim, J., & Lee, S. (2000). Agent-oriented software modeling with
UML approach. IEICE Transaction on Information and Communication .
Park, K., Kim, J., & Park, S. (2000). Goal-based agent-oriented software
modeling. Proceedings of the 7th Asia-Pacific Software Engineering
Conference (APSEC 2000), Singapore, December 0508 , 320324.
Pontelli, E., & Son, T. C. (2003). Designing intelligent agents to support
universal accessibility of E-commerce services. Electronic Commerce
Research and Applications, 2(2), 147161.
Rolland, C., Souveyet, C., & Ben Achour, C. (1998). Guiding goal
modeling using scenarios. IEEE Transactions on Software Engineering,
24(12).
Schmerl, B., & Garlan, D. (2004). AcmeStudio: Supporting style-centered
architecture development. Proceedings of the 26th International
Conference on Software Engineering, Edinburgh, Scotland, May 23
28, 2004 .
Shehory, O. (1998). Architectural properties of multi-agent systems. CMURI-TR-98-28.
Sycara, K., Decker, K., Pannu, A., Williamson, M., & Zeng, D. (1996).
Distributed intelligent agents. IEEE Expert-Intelligent Systems and
Their Applications, 11(6), 3645.
Sycara, K., Paolucci, M., Van Velsen, M., & Giampapa, J. (2003). The
RETSINA MAS infrastructure. Autonomous Agents and Multi-Agent
Systems, 7(1), 2948.
Symeonidis, A. L., Kehagias, D. D., & Mitkas, P. A. (2003). Intelligent
policy recommendations on enterprise resource planning by the use of
agent technology and data mining techniques. Expert Systems with
Applications, 25(4), 589602.
UMBC (2004). KIF (Knowledge Interchange Format). UMBC Lab for
Advanced Information Technology. http://www.cs.umbc.edu/kse/kif/.
Wooldridge, M. J., Jennings, N. R., & Kinny, D. (2000). The Gaia
methodology for agent-oriented analysis and design. Autonomous
Agents and Multi-Agent Systems, 3(3), 285312.
Xu, H., & Shatz, S. (2003). ADK: An agent development kit based on a
formal design model for multi-agent systems. Automated Software
Engineering, 10(4), 337365.
Yim, H. S., Ahn, H. J., Kim, J. W., & Park, S. J. (2004). Agent-based
adaptive travel planning system in peak seasons. Expert Systems with
Applications, 27(2), 211222.
Zambonelli, F., Jennings, N. R., & Wooldridge, M. (2003).
Developing multiagent systems: The Gaia methodology. ACM
Transactions on Software Engineering and Methodology (TOSEM),
12(3), 317370.