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.