Using semantic causality graphs to validate MAS models

Similar documents
INGENIAS Development Kit (IDK) Manual IDK MANUAL

Meta-Modeling Communication and Interaction inside MASs with Ontologies

CAD with use of Designers' Intention. Osaka University. Suita, Osaka , Japan. Abstract

Transparent Access to Legacy Data in Java. Olivier Gruber. IBM Almaden Research Center. San Jose, CA Abstract

Automatic Code Generation for Non-Functional Aspects in the CORBALC Component Model

Towards a Component Agent Service Oriented Model

Mediator Agent. User Agent User Agent User Agent

A Boolean Expression. Reachability Analysis or Bisimulation. Equation Solver. Boolean. equations.

Cognitive Walkthrough. Francesca Rizzo 24 novembre 2004

An Agent Modeling Language Implementing Protocols through Capabilities

2 Data Reduction Techniques The granularity of reducible information is one of the main criteria for classifying the reduction techniques. While the t

Unified management of heterogeneous sensors for complex event processing

The Architecture of a System for the Indexing of Images by. Content

For our sample application we have realized a wrapper WWWSEARCH which is able to retrieve HTML-pages from a web server and extract pieces of informati

A taxonomy of race. D. P. Helmbold, C. E. McDowell. September 28, University of California, Santa Cruz. Santa Cruz, CA

Reuse Contracts As Component Interface. Descriptions. Koen De Hondt, Carine Lucas, and Patrick Steyaert. Programming Technology Lab

Storage System. Distributor. Network. Drive. Drive. Storage System. Controller. Controller. Disk. Disk

Managing ANSA Objects with OSI Network Management Tools. on the joint ISO-ITU `Reference Model for Open Distributed. to OSI managers.

AGORA: a Layered Architecture for Cooperative Work Environments

Towards a Reference Framework. Gianpaolo Cugola and Carlo Ghezzi. [cugola, P.za Leonardo da Vinci 32.

Agent-Oriented Software Engineering

A Framework-Solution for the. based on Graphical Integration-Schema. W. John, D. Portner

Integration Testing in AOSE Methodologies

User Interface Modelling Based on the Graph Transformations of Conceptual Data Model

2CHAPTER 1. FUZZY MODELING IN A MULTI-AGENT FRAMEWORK FOR LEARNING IN AUTONOMOU In this chapter we propose the use of intelligent agents which collabo

Web site Image database. Web site Video database. Web server. Meta-server Meta-search Agent. Meta-DB. Video query. Text query. Web client.

Narrative Editing of Web Contexts on Online Community System with Avatar-like Agents

Inter-Project Dependencies in Java Software Ecosystems

Online Inspector for UniBoard

3. Agent-Oriented Methodologies Part 2: The PROMETHEUS methodology.

INFORMATION AND COMMUNICATION TECHNOLOGIES

(b) extended UML state machine diagram. (a) UML state machine diagram. tr D2 tr D1 D2 D1 D2

Outline. Computer Science 331. Information Hiding. What This Lecture is About. Data Structures, Abstract Data Types, and Their Implementations

security model. The framework allowed for quickly creating applications that examine nancial data stored in a database. The applications that are gene

second_language research_teaching sla vivian_cook language_department idl

Survey of MAS Methods and Platforms focusing on organizational concepts

HyperFrame - A Framework for Hypermedia Authoring

Chapter 2 Overview of the Design Methodology

Performance Measures for Multi-Graded Relevance

Coordination in Situated Systems

Database Systems Concepts *

The notion delegation of tasks in Linked Data through agents

Using the Holey Brick Tree for Spatial Data. in General Purpose DBMSs. Northeastern University

The Agent Modeling Language (AMOLA)

Siegfried Loer and Ahmed Serhrouchni. Abstract. SPIN is a tool to simulate and validate Protocols. PROMELA, its

Algebraic Properties of CSP Model Operators? Y.C. Law and J.H.M. Lee. The Chinese University of Hong Kong.

Mobile NFS. Fixed NFS. MFS Proxy. Client. Client. Standard NFS Server. Fixed NFS MFS: Proxy. Mobile. Client NFS. Wired Network.

TECHNICAL RESEARCH REPORT

has to choose. Important questions are: which relations should be dened intensionally,

A novel approach to automatic model-based test case generation

Technische Universitat Munchen. Institut fur Informatik. D Munchen.

ArchiMate symbols for relating system elements

Reverse Engineering with a CASE Tool. Bret Johnson. Research advisors: Spencer Rugaber and Rich LeBlanc. October 6, Abstract

Implementation Issues on OHS-based Workflow Services

Information mining and information retrieval : methods and applications

Pizza Delivery Helper

Service Oriented Architectures (ENCS 691K Chapter 2)

Implementation choices

MASSiVE, Unità di Torino

A Formal Analysis of Solution Quality in. FA/C Distributed Sensor Interpretation Systems. Computer Science Department Computer Science Department

DSM. Node Manager. Client "Object Creator" Object

A Tool for Managing Evolving Security Requirements

A Dynamic Distributed Fedrated Approach for the Internet of Things

Executing Evaluations over Semantic Technologies using the SEALS Platform

The Zeus Agent Building Toolkit

ANIMATION OF ALGORITHMS ON GRAPHS

Use of Mobile Agents for IPR Management and Negotiation

Construction of Application Generators Using Eli. Uwe Kastens, University of Paderborn, FRG. Abstract

Design Process Ontology Approach Proposal

Server 1 Server 2 CPU. mem I/O. allocate rec n read elem. n*47.0. n*20.0. select. n*1.0. write elem. n*26.5 send. n*

Construction of a Dynamic Document Using Context-Free Pieces Takayama, Ikoma, Nara , Japan

Neural Network Simulator. ATM Simulator DSPM. Management Module. Neural Module. Training Module. TI - Training Interface CI - Control Interface

Routing and Ad-hoc Retrieval with the. Nikolaus Walczuch, Norbert Fuhr, Michael Pollmann, Birgit Sievers. University of Dortmund, Germany.

SCOS-2000 Technical Note

Processing Interaction Protocols in Parallel: a Logic Programming implementation for Robotic Soccer

C. E. McDowell August 25, Baskin Center for. University of California, Santa Cruz. Santa Cruz, CA USA. abstract

SAMOS: an Active Object{Oriented Database System. Stella Gatziu, Klaus R. Dittrich. Database Technology Research Group

informatory frame VRML browser window Java applet

Abstract. Agent technologies are now being applied to the development. of large-scale commercial and industrial software systems.

Opal: A Multi-Level Infrastructure for Agent-Oriented Software Development

Copyright (C) 1997, 1998 by the Association for Computing Machinery, Inc. Permission to make digital or hard copies of part or all of this work for

XETA: extensible metadata System

A Software Engineering Process for BDI Agents

arxiv: v1 [cs.cr] 30 May 2014

As related works, OMG's CORBA (Common Object Request Broker Architecture)[2] has been developed for long years. CORBA was intended to realize interope

Alignment of Business and IT - ArchiMate. Dr. Barbara Re

Ontology Matching with CIDER: Evaluation Report for the OAEI 2008

Tutorial. Title: Implementing Agent Applications in Java: Using Mobile and Intelligent Agents.

The Compositional C++ Language. Denition. Abstract. This document gives a concise denition of the syntax and semantics

Agent Repository. User Agents. Service video-conf- whiteboard. Sensor Agents. Agent

Control of Processes in Operating Systems: The Boss-Slave Relation

Lecture 8: Goals and Scenarios. Pohl K., Requirements Engineering: Fundamentals, Principles, and Techniques, Springer, 2010, 814p.

Enhancing Integrated Layer Processing using Common Case. Anticipation and Data Dependence Analysis. Extended Abstract

Customized Software bus base-bus h/w & s/w system providing interconnection primitives

Software Component Relationships. Stephen H. Edwards. Department of Computer Science. Virginia Polytechnic Institute and State University

Requirements document for an automated teller machine. network

New Orleans, Louisiana, February/March Knowledge Discovery from Telecommunication. Network Alarm Databases. K. Hatonen M. Klemettinen H.

To appear in: IEEE Transactions on Knowledge and Data Engineering. The Starburst Active Database Rule System. Jennifer Widom. Stanford University

Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 8 Slide 1

Multi-Agent Programming

Transcription:

Using semantic causality graphs to validate MAS models Guillermo Vigueras 1, Jorge J. Gómez 2, Juan A. Botía 1 and Juan Pavón 2 1 Facultad de Informática Universidad de Murcia Spain 2 Facultad de Informática Universidad Complutense de Madrid Spain Abstract Multi-agent systems methodologies dene tasks and tools covering all the development cycle. Modelling and implementation activities are well supported and experimented. However, there has been few eort invested in debugging and validation techniques for MAS compared to modelling and implementation stages. This paper addresses the lack of tools to debug and validate a MAS. We propose a visual tool to debug and validate some multi-agent system specication, capturing causality among messages sent by agents and showing semantic information related to interaction protocols used by agents. Keywords: Intelligent agent-based systems, MAS debug, MAS validation. 1 Introduction Modelling multi-agent systems is a delicate task prone to errors. Most of the times, it is a problem of lack of specialised verication and validation tools. One of design parts that developers should specially take care of, is interaction protocols specication. By means of these protocols, agents communicate to achieve their individual or common goals. So analyzing interactions provides valuable information to determine agent behavior. Agents methodologies oer to developers tasks and activities, along MAS development cycle, to model multi-agent systems. However the number of debug and validation tools oered by these methodologies is not comparable as the number of development tools oered. Visual tools that represent an abstract view of the system can help developers to perform debug and validation tasks. In this way causality is and important concept from distributed systems that can be adapted to multi-agent systems. Causality of a concrete event (i.e. a message exchanged, an undesired result of the interaction studied, an unexpected conversation, etc.), in the context of multi-agent interactions, may be loosely dened as the cause which directly or indirectly leaded to generate the event. What we propose in this paper is adding, to causality graphs proposed in [6], semantic information specied inside some interaction protocol. Semantic information denes how received and sent messages aect to agents, i.e. what actions are executed and how agents mental

state are modied by those actions. In order to add semantic information, we propose to use the meta-models dened in INGENIAS methodology [5] and the information provided by those meta-models about the MAS. Using this information, developer will be able to perform a better diagnose and nd the reason of possible error in the agents behavior more quickly. The rest of the paper is organized as follows. Section 2 introduces the notion of causality in the context of a MAS interaction. Section 3 describes INGENIAS methodology. Section 4 describes a MAS example modelled using INGENIAS and how semantic causality graphs can help developer to debug and verify it. Section 5 puts our causality graph in the appropriate context and nally, section 6 enumerates most important conclusions and open issues. 2 Representing causality through MAS interactions In order to integrate debug, validation and verication in the MAS development cycle, it is important to oer tools performing these tasks in an easy way. This kind of tools should oer an abstract view of a MAS where errors can be detected in an easy and fast way. The paper proposes a tool that uses causality to guide the developer towards the root of the problem. To illustrate the role of causality, a brief example follows. There is a MAS in which an agent (denoted by Initiator) wants to search bibliographic references about some subject. To perform this task the Initiator communicate with another agent (denoted by Broker) using the FIPA Brokering interaction protocol, and delegate on the Broker to do the search task. The proxy message sent by Initiator agent, contains the following information: a referential expression denoting the target agents to which the Broker should forward the requested task and the communicative act to forward. After notify to Initiator that the petition is accepted, the broker agent forward again the search request, using the communicative act ( request) and the target agent list, received both from Initiator. The target agent list contains two agents, denoted by Searcher1 and Searcher2, respectively, so Broker communicate with Searcher1 and Searcher2 using FIPA Request interaction protocol. Searcher1, communicate with agents BookSeller1, BookSeller2, and BookSeller3 representing each one some e-library, to perform the search, using the FIPA Request interaction protocol. Searcher2, is not able to understand the request, so it doesn't send some message. After, some interactions, Searcher1 receives only failure messages, which are forwarded to Broker, which forward again the failure to Initiator. The example described above is shown in gure 1. After MAS execution, the developer realizes that Initiator's search returns failure, but the source of the error is not evident. Looking at the graph shown in gure 1, the developer discovers that Initiator's search has failed because Broker returns failure too. Looking at the bottom of the graph, it seems Broker behavior is correct, because all messages received are failures. Tracking back agents interaction, developer realize that all responses received by Searcher1, are failures too, and Searcher2 does not do anything. The MAS programmer, reviews agents code and nds which databases are been accessed by agents.

Once databases are found, the programmer checks whether the bibliographic reference searched by Initiator agent, exits or not in e-libraries that are accessed by BookSeller1, BookSeller2 and BookSeller3. He discovers that the searched reference does not exist and realizes that the problem is in the target agent list elaborated by Initiator. Probably, it was caused by wrong information about the environment, maybe provided or modied by some information source. Related with Searcher2, developer, after reviewing agent's code, realizes that this agent is not able to process a request message, so the other cause error is found too. In this example, causality graph is useful for developer to nd error causes, but he has to inspect agents code, inspection that implies consume more development time. Figure 1. Example in which agents search bibliographic references. The graph shown in gure 1, can help to developer to discover which agent has a wrong behaviour, respect to what is expected. But once the agent is found the developer can't know which is the internal agent state that cause the wrong behavior. We propose in this paper to add semantic information, extracted from agents interaction protocols, to the graph shown in gure 1 to increase MAS execution information and reduce, in this way, debug and validation time. 3 The INGENIAS Methodology INGENIAS denes process, methods and tools for developing MAS, from the more abstract analysis, with use cases and system goals, to implementation of code. In order to cope with the complexity of MAS specication, each MAS is considered from ve complementary viewpoints [5]: Agent viewpoint. This viewpoint is concerned with the functionality of each agent: responsibilities (what goals an agent is compromised to pursue) and

capabilities (what tasks is able to perform). The behaviour of the agent is dened through three components: (1) the mental state (an aggregation of mental entities such as goals, believes, facts, compromises, and others), (2) the mental state manager, which provides for operations to create, destroy and modify mental entities, and (3) the mental state processor (which determines how the mental state evolves and it is described in terms of rules, planning, etc.). Organisation viewpoint. The organisation describes the framework where agents, resources, tasks and goals coexist. This viewpoint is dened by the organisation structure (with group decompositions), social relationships (power relationships mainly), and functionality. The functionality of the organisation is dened by its purpose and tasks. Task/Goal viewpoint. It considers the relationships among goals and tasks or plans, and describes the consequences of performing a task, and why it should be performed (i.e. it justies the execution of tasks as a way to satisfy goals). For each task, it determines which elements are required and what outputs are expected. To identify which goals are inuenced by a task execution, the methodology denes satisfaction and failure relationships. Finally, the tasks/goals model can detail how a solved goal aects other existing goals by using decomposition and dependency relationships. It is useful to know that by solving a sub-goal, a super-goal can be solved too. Interaction viewpoint. The interaction viewpoint addresses the exchange of information between agents, or between agents and human users. The denition of an interaction requires the identication of: actors in the interaction (roles or agents), interaction specication (the protocols, the notation for the protocols, the interleaving of task execution during interaction, the information exchanged during the interaction), context of the interaction (goals pursued, mental state of the participants before, during, and after the interaction), and nature of the interaction (coordination, negotiation, planning, etc.). Environment viewpoint. It denes the entities with which the MAS interacts. These entities are resources (elements required by tasks that do not provide a concrete API, like CPU, le descriptors, or memory), applications (they oer some local or remote API), or other agents (from other organisations). In the diagrams used to dene this particular viewpoint, agents are associated to resources or applications. Also, the perception relationships are established, dening the sensors of the agent, and actuators, by making an agent responsible of a resource or an application. INGENIAS specications are produced with an editor supporting the creation of diagrams for these viewpoints, the INGENIAS Development Kit (IDK). From those diagrams the IDK is able to automatic generate code to execute the modelled MAS. Moreover the IDK oers a framework for the implementation of modules that allow to browse viewpoints described above. Combining both the generation code and viewpoints browser utilities it is suitable to build tools to

debug and validate the MAS specication. An example of those tools is the one explained in the following section. 4 Debugging an Example INGENIAS MAS Model This section shows an example of how semantic causality graphs can aid developer to get more information about a running MAS under development. For this purpose, this section presents an example MAS specication modelled with IN- GENIAS. Later, it is shown how debug and validation tasks are performed using semantic causality graphs. Taking account that the goal is extending causality graphs that appear in gure 1, to show how agents interactions aect to agent internal state, dierent INGENIAS viewpoints has to be browsed. In the next section it is described the MAS specication used and which INGENIAS meta-models are used. 4.1 MAS Example specication description The system intends to provide a ticket selling service where a user representative can contact each cinema and proceed with the transaction. The case study considers a user connecting to the system and instructing a representative (User assistant) to obtain a cinema ticket. The assistant contacts another representative (buyer) so that this representative obtains the ticket. The representative contacts dierent cinemas representatives (seller) until an adequate cinema is located (adequate means there are free seats and the price is good enough). Once obtained, the ticket is delivered, through the dierent representatives, to the user. Taking into account that semantic information associated to agents interactions is the main concern, the INGENIAS Interaction viewpoint and Task/Goal viewpoint is consulted. The rst one gives information about which tasks are executed by one agent when receives a message. Focusing on these tasks is necessary because modications performed by some task when a message is received will inuence the next message. Related to the interaction viewpoint, the Task/Goal viewpoint informs of the modications to perform over an agent mental state, those executed by enacted tasks. In the system described above there are two interactions. The rst one between User assistant agent and Buyer agent, in which User assistant instructs Buyer to get a cinema ticket. The second one between Buyer and Seller agent negotiates the buy of the cinema ticket required. In gure 2, it is shown a diagram from Interaction viewpoint for specifying the interaction protocol used by buyer agent and seller agent, to negotiate cinema ticket required. On the right, it appears a detailed specication of the task Process oer from Task/Goal viewpoint. In the interaction protocol specication, messages sent by agents are represented through Interaction units, each one containing one speech act or performative. When a message is sent by one agent (or role) this is specied by means of relation UIInitiates. When a message is

received, it is represented by means of relation UIColaborates. Semantic information is dened associating one task to a sent or received message event. For each task into Task/Goal viewpoint it is identied entities from agent mental state being consumed/produced, and environment entities being used. Due to space limitations, only one task is shown. As the reader can see, the task dened in gure 2, satises the goal GetTicket (relation Satisfaction) and the role Buyer is responsible of execute the task (relation WFResponsable). In addition, the task will produce the fact Pay the money if the buyer agent is interested in the ticket oered, and will produce the fact Not interested if isn't interested. Taking account this semantic information, in the next section it is shown an example of semantic causality graph. Figure 2. Denition of interaction protocol to buy a cinema ticket, in which interaction semantic information is added. On the right the task Process oer is dened too 4.2 Validating the example using semantic causality graphs There is a system in which there is one user and his user assistant agent, one Buyer, and two sellers (Seller1 and Seller2) representing one cinema each one. Let's suppose that the user instructs the User assistant to obtain a cinema ticket. The User assistant starts an interaction with Buyer agent, to get the cinema ticket. Later on, Buyer agent starts another interaction with Seller1 to buy the required ticket. The ticket oered is refused by Buyer so it starts a new interaction with Seller2 and again the oer is refused. The developer, looking at the resultant execution, begins to think about the reasons for the refused oers. The graph shown in gure 3 allows the developer to know the reasons that lead to Buyer to refuse tickets oered, getting semantic information from the running MAS (shown inside black rectangles in gure 3), and without necessity to inspect

agents code. By means of semantic information, the developer can realize that the tickets are refused due to the oer sent by each seller to Buyer agent (see facts Oer produced by Seller1 and Seller2 in gure 3). In both cases the price of the oer is very high, as is shown in the attribute Price of oers from Seller1 and Seller2. To solve the problem, by means of semantic information added, the developer realizes that the code of the task Determine availability, that is in charge of elaborate the refused oer, should be reviewed. Figure 3. Example in which agents search bibliographic references. 5 Related works There are previous works on using causality and visual debugging for MAS, and specially the later ones. Causality graphs are used extending them to capture causality among dierent MAS events. in [3]. In that work, a developer denes agent concepts and causal relation among those pre-dened concepts is shown (e.g. a believe created as a consequence of a received message). The work [3] is complementary to the one presented, because the causality graph is at intraagent level and not at inter-agent level. An example of visualization tool to assist in testing and debugging MAS is the one described in [2]. Simple communication graphs are used there, i.e. nodes are agents and arcs exits between nodes if they exchanged any message. However, when these communication graphs get so complex to be visualized (i.e.

many agents and many arcs), a simplication process based on clustering is used to group agents. Dierent criteria are used to decide on the grouping. Keeping the attention on visualization tools for MAS, other interesting example is the one presented in [4]. In this case, the developer can use dierent kinds of visual diagrams. For example, Gantt based diagrams show decomposition, dependency and ordering among agents tasks. Using 3D graphical representation, in [1] is proposed a tool to debug some MAS. This example follows a sequence diagram model and allow to lter events occurred in the MAS, by means of special queries, depending on user interests. 6 Conclusions This paper has proposed a visual representation of MAS behavior aimed to aid the developer in MAS debugging, verication and validation tasks. This visual representation allows a deeper and quicker understanding of the system behavior. The deeper understanding is provided by means of causality concept, which allows to know the cause message of a given message, and through semantic information, which shows agents mental state that leads to send a message to each agent. We keep working on a generic algorithm for producing semantic graphs using as input INGENIAS models. Moreover semantic information can lead to program tools to perform automatic reasoning about MAS behaviour.error causes could be automatically extracted as much as some suggestions to solve the problem. In addition we plan to develop dierent methods to simplify the graph, for example to show only both interaction and semantic information about one agent. This can be helpful in complex graphs with a high number of agents. 7 Acknowledgements This work has been supported by the Spanish Council for Science and Education under grant TIN-2005-08501-C03-02 and the project "Methods and tools for multi-agent systems modelling" supported by Spanish Council for Science and Technology with grant TIN-2005-08501-C03-01. References 1. S. Ilarri, J.L. Serrano, E. Mena, and R. Trillo. 3D monitoring of distributed multiagent systems. In International Conference on Web Information Systems and Technologies (WEBIST 07), Barcelona (Spain), pages 439442. INSTICC Press, ISBN 978-972-8865-77-1, March 2007. 2. Juan M. Hernansaez Juan A. Botia and Antonio F. Gomez-Skarmeta. On the application of clustering techniques to support debugging large-scale multi-agent systems. In Programming Multi-Agent Systems Workshop at the AAMAS, Hakodate, Japan, 2006.

3. D. N. Lam and K. S. Barber. Comprehending agent software. In AAMAS '05: Proceedings of the fourth international joint conference on Autonomous agents and multiagent systems, pages 586593, New York, NY, USA, 2005. ACM Press. 4. Divine T. Ndumu, Hyacinth S. Nwana, Lyndon C. Lee, and Jaron C. Collis. Visualising and debugging distributed multi-agent systems. In ACM Press, editor, AGENTS '99: Proceedings of the third annual conference on Autonomous Agents, pages 326333, 1999. 5. J. Pavon, J. J. Gomez-Sanz, and R. Fuentes. Agent-Oriented Methodologies, chapter The INGENIAS Methodology and Tools, pages 236276. Idea Group Publishing, 2005. 6. Guillermo Vigueras and Juan A. Botia. Tracking causality by visualization of multiagent interactions using causality graphs. In Programming Multi-Agent Systems Workshop at the AAMAS (to appear), Honolulu, Hawai, 2007.