978-1-4244-1643-1/08/$25.00 ©2008 IEEE
MONITORING MULTI-AGENT SYSTEMS FOR DEADLOCK DETECTION
BASED ON UML MODELS
Nariman Mani, Vahid Garousi, Behrouz H. Far
Department of Electrical and Computer Engineering
Schulich School of Engineering, University of Calgary, Canada
{nmani, vgarousi, far}@ucalgary.ca
ABSTRACT
There is an increasing demand for Multi-Agent Systems (MAS) in
the software industry. In order to bring MAS to the main stream of
commercial software development, the behavior of MAS must be
monitored and verified against the risk of unwanted emergent
behaviors including deadlocks. In this paper, we introduce a
methodology for efficient monitoring of MAS to detect resource
and communication deadlocks. In this methodology, we construct a
behavioral model of a MAS under analysis and use it for deadlock
detection. The behavioral models are in the form of UML 2.0
sequence diagrams which are built from the modeling artifacts of
the Multi-agent Software Engineering (MaSE) methodology. To
detect MAS deadlocks at runtime based on UML sequence
diagrams, we adapt and refine existing resource and
communication deadlock detection techniques to the context of
MAS. A monitoring scenario example of our methodology is
presented.
Index Terms—Monitoring, Multi-agent system, Deadlock
detection, UML.
1. INTRODUCTION
In software industry there is an increasing demand for applications
which can communicate and exchange information to solve
problems collaboratively. This has led to the growth of distributed
software architecture consisting of several interoperable software
systems. One of the main difficulties of interoperable software
systems is heterogeneity. Different programs are written in
different languages and by different programmers and must operate
in dynamic software environment. Agent based software
engineering is one of the approaches devised to handle
collaboration and interoperability. Organizations that have
successfully implemented agent technologies include
DaimlerChrysler, and IBM [1]. A MAS consists of autonomous
software agents that try to achieve their goals by interacting with
each other by means of high level protocols and languages [2] .
However, the agent interaction can potentially lead to runtime
behavioral faults including deadlock.
In order to bring MAS to the main stream of commercial
software the internal behavior of the MAS must be monitored and
verified to eliminate the risk of unwanted emergent behavior.
Monitoring and verification usually consists of checking for
communication faults such as deadlocks, infinite loops, livelocks
and other communication pitfalls. As model-based software
development practices are getting more popularity [3], more and
more MAS are developed using model-based practices such as the
Multi-agent Software Engineering (MaSE)[4]. Thus, model-based
monitoring techniques in the context of MAS can be useful since
they can use the existing models which have been built for analysis
and design of MAS and can help MAS engineers to make sure
deadlocks are detected as soon as they occur at runtime. As
discussed in [5], there are only a few model based techniques to
detect MAS deadlocks at runtime.
In this paper we focus on model based deadlock detection by
checking MAS communication for existence of deadlock. The
artifacts used are the models prepared during the analysis and
design stages of a MAS using the MaSE methodology[4]. Figure 1
illustrates our approach. Using the procedure explained in Section
3, a MAS behavioral model, consists of UML sequence diagrams,
is constructed based on “role sequence diagram” and “agent class
diagram” built during the MaSE analysis and design stages. Two
deadlock detection techniques (see Section 4) are then
instrumented into the MAS source code. The MAS monitoring
module runs the instrumented MAS system and uses MAS
behavioral model at the runtime to detect deadlocks. The reported
deadlock faults based on the runtime system feedbacks are
provided by MAS monitoring module as the result which can be
used for debugging and corrections purposes. The methodology
can be used as a monitoring method for deadlock detection in both
testing phase of MAS development and MAS deployment.
Figure 1- An overview of MAS deadlock monitoring methodology
The remainder of this paper is structured as follows. The
related work and background are described in section 2.
Constructing MAS behavioral model based on the MaSE is
discussed in section 3, deadlock detection techniques in resource
and communication deadlock models are introduced in section 4.
Finally conclusions are given in section 5. An illustrated example
of agent behavioral model in terms of sequence diagrams is
constructed in section 3 and is used to explain the methodology in
the subsequent sections.
001611
Authorized licensed use limited to: Carleton University. Downloaded on December 21, 2009 at 12:28 from IEEE Xplore. Restrictions apply.