362

Click here to load reader

[Lecture Notes in Computer Science] Multi-Agent Systems and Applications V Volume 4696 ||

Embed Size (px)

Citation preview

  • Lecture Notes in Artificial Intelligence 4696Edited by J. G. Carbonell and J. Siekmann

    Subseries of Lecture Notes in Computer Science

  • Hans-Dieter Burkhard Gabriela LindemannRineke Verbrugge Lszl Z. Varga (Eds.)

    Multi-Agent Systemsand Applications V

    5th InternationalCentral and Eastern European Conferenceon Multi-Agent Systems, CEEMAS 2007Leipzig, Germany, September 25-27, 2007Proceedings

    13

  • Series EditorsJaime G. Carbonell, Carnegie Mellon University, Pittsburgh, PA, USAJrg Siekmann, University of Saarland, Saarbrcken, Germany

    Volume EditorsHans-Dieter BurkhardGabriela LindemannHumboldt-Universitt zu BerlinInstitut fr Informatik, LFG Knstliche IntelligenzRudower Chaussee 25, 12489 Berlin, GermanyE-mail: {hdb, lindemann}@informatik.hu-berlin.de

    Rineke VerbruggeUniversity of GroningenInstitute of Articial IntelligenceGrote Kruisstraat 2/1, 9712 TS Groningen, The NetherlandsE-mail: [email protected]

    Lszl Z. VargaComputer and Automation Research InstituteKende u. 13-17, 1111, Budapest, HungaryE-mail: [email protected]

    Library of Congress Control Number: 2007935205

    CR Subject Classication (1998): I.2.11, I.2, C.2.4, D.2, H.5.3

    LNCS Sublibrary: SL 7 Articial Intelligence

    ISSN 0302-9743ISBN-10 3-540-75253-6 Springer Berlin Heidelberg NewYorkISBN-13 978-3-540-75253-0 Springer Berlin Heidelberg NewYork

    This work is subject to copyright. All rights are reserved, whether the whole or part of the material isconcerned, specically the rights of translation, reprinting, re-use of illustrations, recitation, broadcasting,reproduction on microlms or in any other way, and storage in data banks. Duplication of this publicationor parts thereof is permitted only under the provisions of the German Copyright Law of September 9, 1965,in its current version, and permission for use must always be obtained from Springer. Violations are liableto prosecution under the German Copyright Law.Springer is a part of Springer Science+Business Mediaspringer.com

    Springer-Verlag Berlin Heidelberg 2007Printed in Germany

    Typesetting: Camera-ready by author, data conversion by Scientic Publishing Services, Chennai, IndiaPrinted on acid-free paper SPIN: 12165964 06/3180 5 4 3 2 1 0

  • Preface

    The aim of the CEEMAS conference series is to provide a biennial forum forthe presentation of multi-agent research and development results. With its par-ticular geographical orientation towards Central and Eastern Europe, CEEMAShas become an internationally recognized event with participants from all overthe world. After the successful CEEMAS conferences in St. Petersburg (1999),Cracow (2001), Prague (2003) and Budapest (2005), the CEEMAS 2007 con-ference took place in Leipzig. The Program Committee of the conference seriesconsists of established researchers from the region and renowned internationalcolleagues, showing the prominent rank of CEEMAS among the leading eventsin multi-agent systems.

    In the very competitive eld of agent-oriented conferences and workshops,(such as AAMAS, EUMAS, CIA, MATES) CEEMAS is special in trying tobridge the gap between applied research achievements and theoretical researchactivities. The ambition of CEEMAS is to provide a forum for presenting theo-retical research with an evident application potential, implemented applicationprototypes and their properties, as well as industrial case studies of successful(or unsuccessful) agent technology deployments. This is why the CEEMAS pro-ceedings provide a collection of research and application papers. The technicalresearch paper section of the proceedings (see pages 1290) contains pure re-search papers as well as research results in application settings. The goal is todemonstrate the real-life value and commercial reality of multi-agent systems aswell as to foster the communication between academia and industry in this eld.

    CEEMAS is also very special and unique because it is constantly contributingto building an agent research community. The Program Committee has decidedto create a special collection of short papers that provide an opportunity topresent ongoing research work with a potential of mature and higher impactresearch results in the near future. This allows researchers to expose their workfor constructive criticism and discuss their projects with other experts in an earlyphase of their research. On the other hand this provides the audience with fresh,innovative and highly motivating ideas that may deserve further investigation.

    The topics of the CEEMAS proceedings cover a wide range of areas suchas: abstract and specic agent architectures, methods and modeling approachesfor agent-oriented software engineering, agent communication and protocols.CEEMAS also features papers on applications from the eld of healthcare, traf-c management, learning, software development, game, production management,trade and negotiations.

    We received 84 submissions, and each paper was reviewed by at least twoindependent reviewers or the General Co-chairs. Out of the submitted papers,29 were accepted as full research papers and 17 as short poster papers.

  • VI Preface

    Many individuals and institutions supported the organization of this confer-ence and made CEEMAS 2007 a high-quality event. Our special thanks go rstto the authors and invited speakers for their invaluable and strenuous work andcontribution. Also, the work of the Program Committee members who acceptedthe heavy load of the review of a large number of contributions is gratefullyacknowledged. We are especially thankful to the University of Leipzig for theirorganizational activities.

    As a result, the present collection of papers provides a valuable resource forresearchers in the eld of multi-agent systems and open distributed systems ingeneral.

    July 2007 Hans-Dieter BurkhardGabriela Lindemann

    Laszlo Z. VargaRineke Verbrugge

  • Organization

    CEEMAS 2007 was co-located with the Software Agents and Services for Busi-ness, Research, and E-Sciences (SABRE) set of conferences organized by theManagement Information Systems Institute and the Institute for Applied Infor-matics (InfAI) of the University of Leipzig.

    CEEMAS Steering Committee

    Barbara Dunin-Keplicz, PolandVladimir Gorodetski, RussiaMichael Luck, UKVladimr Mark, Czech RepublicJorg Muller, GermanyEdward Nawarecki, PolandMichal Pechoucek, Czech RepublicPaolo Petta, AustriaLaszlo Z. Varga, Hungary

    CEEMAS 2007 General Co-chairs

    Hans-Dieter Burkhard, GermanyGabriela Lindemann, GermanyLaszlo Z. Varga, HungaryRineke Verbrugge, The Netherlands

    CEEMAS 2007 Program Committee

    Roberto A. Flores, CanadaMagnus Boman, SwedenLuis Botelho, PortugalKrzysztof Cetnarowicz, PolandYves Demazeau, FranceFrank Dignum, The NetherlandsGrzegorz Dobrowolski, PolandDanail Dochev, BulgariaEnrico Gerding, UKMarie-Pierre Gleizes, FranceChihab Hanachi, FranceKarin Hummel, AustriaToru Ishida, Japan

    Oleg Karsaev, RussiaFranziska Klugl, GermanyJames Lawton, USAGabriela Lindemann, GermanyMicheal Luck, UKJohn-Jules Meyer, The NetherlandsLaszlo Monostori, HungaryPablo Noriega, SpainAndrea Omicini, ItalyMarek Paralic, SlovakiaAgostino Poggi, ItalyAndrzej Skowron, PolandIngo Timm, Germany

  • VIII Organization

    Robert Tolksdorf, GermanyPaul Valckenaers, BelgiumWiebe van der Hoek, UK

    Jozsef Vancza, HungaryHerbert Wiklicky, UK

    Additional Reviewers

    Ralf BergerXavier ClercLudivine CrepinJoris DeguetPierre Glize

    Daniel GoehringHelmut HlavacsMarc-Philippe HugetMatthias JungelJussi Karlgren

  • Table of Contents

    Full Papers

    A Multi-agent Approach for Range Image Segmentation . . . . . . . . . . . . . . 1Smaine Mazouzi, Zahia Guessoum, Fabien Michel, andMohamed Batouche

    Abstractions of Multi-agent Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11Constantin Enea and Catalin Dima

    Agent-Based Network Protection Against Malicious Code . . . . . . . . . . . . . 22Martin Rehak, Michal Pechoucek, Jan Tozicka, Magda Prokopova,David Medvigy, and Jir Novotny

    Agents Deliberating over Action Proposals Using the ProCLAIMModel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

    Pancho Tolchinsky, Katie Atkinson, Peter McBurney,Sanjay Modgil, and Ulises Cortes

    An Attacker Model for Normative Multi-agent Systems . . . . . . . . . . . . . . . 42Guido Boella and Leendert van der Torre

    An Environment to Support Multi-Party Communications inMulti-Agent Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

    Julien Saunier and Flavien Balbo

    An Interaction Protocol for Agent Communication . . . . . . . . . . . . . . . . . . . 62Gemma Bel-Enguix, M. Adela Grando, andM. Dolores Jimenez-Lopez

    Collaborative Attack Detection in High-Speed Networks . . . . . . . . . . . . . . 73Martin Rehak, Michal Pechoucek, Pavel Celeda, Vojtech Krmcek,Pavel Minark, and David Medvigy

    Commitment Monitoring in a Multiagent System . . . . . . . . . . . . . . . . . . . . 83Paola Spoletini and Mario Verdicchio

    Competencies and Proles Management for Virtual OrganizationsCreation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

    Jir Hodk, Jir Vokrnek, Jir Bba, and Petr Becvar

    Complexity of Verifying Game Equilibria . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103Emmanuel M. Tadjouddine

  • X Table of Contents

    Component-Based Development of Secure Mobile AgentsApplications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

    Alvaro Moratalla and Sergi Robles

    Design Patterns for Self-organising Systems . . . . . . . . . . . . . . . . . . . . . . . . . 123Luca Gardelli, Mirko Viroli, and Andrea Omicini

    Experience with Feedback Control Mechanisms in Self-replicatingMulti-Agent Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

    Sebnem Bora and Oguz Dikenelli

    Exploring Social Networks in Request for Proposal Dynamic CoalitionFormation Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143

    Carlos Merida-Campos and Steven Willmott

    Formalizing Context-Based Behavioural Compatibility andSubstitutability for Role Components in MAS . . . . . . . . . . . . . . . . . . . . . . . 153

    Nabil Hameurlain

    Governing Environments for Agent-Based Trac Simulations . . . . . . . . . . 163Michael Schumacher, Laurent Grangier, and Radu Jurca

    Knowledge Driven Architecture for Home Care . . . . . . . . . . . . . . . . . . . . . . 173Akos Hajnal, David Isern, Antonio Moreno,Gianfranco Pedone, and Laszlo Zsolt Varga

    MASL: A Logic for the Specication of Multiagent Real-TimeSystems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183

    Dmitry Bugaychenko and Igor Soloviev

    Modeling of Agents in Organizational Context . . . . . . . . . . . . . . . . . . . . . . . 193Alexei Sharpanskykh

    Motivations as an Abstraction of Meta-level Reasoning . . . . . . . . . . . . . . . 204Felipe Meneguzzi and Michael Luck

    On Complex Networks in Software: How AgentOrientation EectsSoftware Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215

    Jan Sudeikat and Wolfgang Renz

    Simulating a Human Cooperative Problem Solving . . . . . . . . . . . . . . . . . . . 225Alexandre Pauchet, Amal El Fallah Seghrouchni, andNathalie Chaignaud

    Supporting Agent Organizations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236Estefania Argente, Javier Palanca, Gustavo Aranda, Vicente Julian,Vicente Botti, Ana Garcia-Fornes, and Agustin Espinosa

  • Table of Contents XI

    The Agents Attitudes in Fuzzy Constraint Based Automated PurchaseNegotiations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246

    Miguel A. Lopez-Carmona, Juan R. Velasco, andIvan Marsa-Maestre

    Towards a Model Driven Process for Multi-Agent System . . . . . . . . . . . . . 256Tarek Jarraya and Zahia Guessoum

    Towards an Epistemic Logic for Uncertain Agents . . . . . . . . . . . . . . . . . . . . 266Zining Cao

    Towards Approximate BGI Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277Barbara Dunin-Keplicz and Andrzej Szalas

    Verifying Dominant Strategy Equilibria in Auctions . . . . . . . . . . . . . . . . . . 288Emmanuel M. Tadjouddine and Frank Guerin

    Short Papers

    Agent Environment and Knowledge in Distributed Join Calculus . . . . . . . 298Slawomir P. Maludzinski and Grzegorz Dobrowolski

    Agent-Based Architecture of Intelligent Distance Learning System . . . . . . 301Mikhail Pashkin

    An Architecture and Framework for Agent-Based Web Applications . . . . 304Alexander Pokahr and Lars Braubach

    Closing the Gap Between Organizational Models and Multi-AgentSystem Deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307

    Michael Kohler and Matthias Wester-Ebbinghaus

    Clustering Techniques in Automated Purchase Negotiations . . . . . . . . . . . 310Miguel A. Lopez-Carmona, Juan R. Velasco, andIvan Marsa-Maestre

    Cooperative CBR System for Sharing Student Models in CooperativeIntelligent Tutoring Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313

    Carolina Gonzalez, Juan C. Burguillo, and Martn Llamas

    Decision Making System: Agent Diagnosing Child Care Diseases . . . . . . . 316Vijay Kumar Mago, M. Syamala Devi, and Ravinder Mehta

    FIPA-Based Interoperable Agent Mobility . . . . . . . . . . . . . . . . . . . . . . . . . . . 319Jordi Cucurull, Ramon Mart, Sergi Robles, Joan Borrell, andGuillermo Navarro

    HeCaSe2: A Multi-agent Ontology-Driven Guideline EnactmentEngine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322

    David Isern, David Sanchez, and Antonio Moreno

  • XII Table of Contents

    jTRASTO: A Development Toolkit for Real-Time Multi-AgentSystems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325

    Mart Navarro, Vicente Julian, and Vicente Botti

    Models and Tools for Mulan Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . 328Lawrence Cabac, Till Dorges, Michael Duvigneau,Christine Reese, and Matthias Wester-Ebbinghaus

    Multi-agent Architecture for Intelligent Tutoring SystemsInteroperability in Health Education . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331

    Carolina Gonzalez, Juan C. Burguillo, and Martn Llamas

    Multi-agent Planning in Sokoban . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334Matthew S. Berger and James H. Lawton

    Ontology Matching in Communication and Web Services Compositionfor Agent Community . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337

    Adam Luszpaj, Edward Nawarecki, Anna Zygmunt,Jaroslaw Kozlak, and Grzegorz Dobrowolski

    Plugin-Agents as Conceptual Basis for Flexible Software Structures . . . . 340Lawrence Cabac, Michael Duvigneau, Daniel Moldt, andBenjamin Schleinzer

    Selection of Ecient Production Management Strategies Using theMulti-agent Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343

    Jaroslaw Kozlak, Jan Marszalek, Leszek Siwik, and Maciej Zygmunt

    The Impact of Network Topology on Trade in BarteringNetworks Devising and Assessing Network Information PropagationMechanisms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346

    David Cabanillas and Steven Willmott

    Author Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349

  • A Multi-agent Approach for Range Image

    Segmentation

    Smaine Mazouzi1, Zahia Guessoum2, Fabien Michel1, and Mohamed Batouche3

    1 MODECO-CReSTIC, Universite de Reims, B.P. 1035, 51687, Reims, France{mazouzi,fmichel}@leri.univ-reims.fr

    2 LIP6, Universite de Paris 6, 104, av. du President Kennedy, 75016, Paris, [email protected]

    3 Departement dinformatique, Universite de Constantine, 25000, [email protected]

    Abstract. This paper presents and evaluates a multi-agent approachfor range image segmentation. A set of reactive and autonomous agentsperform a collective segmentation by partitioning a range image in itsdierent planar regions. The agents move over the image and performcooperative and competitive actions on the pixels, allowing a robust re-gion extraction, and an accurate edge detection. An articial potentialeld, created around the pixels of interest, ensures the agent coordina-tion. It allows the agents to concentrate their actions around the edgesand the noise regions. The experimental results show the potential of theproposed approach for scene understanding in range images, regardingboth segmentation eciency, and detection accuracy.

    Keywords: Image segmentation, Multi-agent systems, Range image,Agent coordination, Articial potential eld.

    1 Introduction

    Image segmentation consists in assigning the pixels of an image to homogenousand disjoint subsets, providing a compact and convenient description of the im-age. In range imagery, segmentation algorithms can be divided into two dualcategories: edge-based segmentation algorithms and region-based segmentationalgorithms. In the rst category, pixels that correspond to discontinuities indepth or in surface normals are selected, chained and then used to delimit theregions in the image [6,7]. Region-based methods use geometrical surface de-scriptors to group pixels, with the same proprieties, in disjoint regions [8,10,3,1].In both categories, algorithms must deal with noisy and uncertain data.

    To overcome this diculty, some authors have proposed multi-agent systemsfor 2-D image segmentation. Solutions provided by such systems inherit theadvantages of the agent-oriented approach for collective problem solving. In suchsystems a single agent has a limited perception and limited capabilities, andit is not designed to solve an entire problem. Agents cooperate thus in orderto provide a collective solution. Contrary to conventional systems, solutions inmulti-agent systems emerge from the collective action of interactive agents [9].

    H.-D. Burkhard et al. (Eds.): CEEMAS 2007, LNAI 4696, pp. 110, 2007.c Springer-Verlag Berlin Heidelberg 2007

  • 2 S. Mazouzi et al.

    In this paper, a new multi-agent approach for range image segmentation ispresented and discussed. It consists in the use of reactive agents, which moveover the image, and act on the visited pixels. While moving over the image,an agent adapts to the planar region on which it moves, and memorizes itsproprieties. At the boundaries between regions, the agents will be in competitionto align the pixels of the boundaries to their respective regions. The resultingalternative alignment of the boundary pixels preserves the region boundariesagainst smoothing. Noise regions, which are characterized by small sizes or byaberrant depths (outliers), prevent agents from adapting. So, the pixels on theirborders are continuously aligned to the true regions that surround them. Afterseveral iterations these regions will entirely disappear.

    This work aims to overcome the diculty related to the local perceptionaround the processed pixel. A pixel is therefore processed according to both itsneighborhood, and the agents that visit this pixel. An agent acts on the pixelswith more certainty, acquired from its move on large areas on the image regions.The combination of the global information memorized within the agent, andthe local information of the image, provides more reliable decisions. We show inthis work that despite the simplicity of the model used to represent the imagesurface, the obtained results are better than those provided by conventionalapproaches. We believe that interactions between agents provide an alternativeway for image segmentation to that of approaches based on complicated andcostly models. Extensive experiments have been performed using real imagesfrom the ABW database [5]. The obtained results show the high potential of theproposed approach for an ecient and accurate segmentation of range images.

    The remainder of the paper is organized as follows: In Section 2, we reviewsome agent-based approaches for image segmentation. Section 3 is devoted tothe proposed approach. It describes the behavior of the agents, and shows theunderlying collective mechanism to deal with the edge detection and the noiseremoval. The experimental results are introduced in Section 4, in which we dis-cuss the parameter selection, and we analyze and comment the obtained results.Finally, a conclusion summarizes our contribution.

    2 Related Work

    Several agent-based systems have been proposed to deal with various problemsin image analysis and object recognition. In this review we consider only someworks that have addressed a solution in image segmentation.

    Liu et al. [11] introduce a reactive agent-based system for brain MRI segmen-tation. Four types of agents are used to label the pixels of the image accordingto their membership grade to the various regions. In this system, the agentsneither interact directly between them nor act on the image. Their actions de-pend only on their local perception. Nevertheless, each agent is created so thatit becomes more likely to meet more homogenous pixels. For the same type ofimages, Richard et al. [12] propose a hierarchical architecture of situated and co-operative agents. Several types of agents were used. Interaction between agents

  • A Multi-agent Approach for Range Image Segmentation 3

    in the various hierarchic levels has allowed to deal with the control over thelow-level segmentation tasks. However, the system was specially optimized tobrain MRI segmentation. The two previous systems can provide correct resultsbecause region characteristics are regular in the various brain anatomic parts. Inaddition, most of the edges in such images are jump edges (at discontinuities ofimage data), which are easy to detect, compared to roof or smooth edges (edgesrespectively at normal or curvature discontinuities).

    Based on a cognitive architecture, Bovenkamp et al. [2] have developed amulti-agent system for Intra Vascular Ultra Sound (IVUS) image segmentation.They aim to elaborate a high knowledge-based control over the low-level imageprocessing algorithms. In this system, an agent is assigned to every expected ob-ject in the image. In this work, the problem of the control over the segmentationalgorithms seems to be well resolved. However, no agent or even behavior hasbeen proposed to deal with uncertain and noisy data.

    The proposed agent-based systems for image segmentation are specic to im-age contents. Following a supervised approach, these systems segment imagesin known and previously expected regions. The system proposed in this paperclaims to be general and unsupervised. It aims to segment an image into itsdierent regions by using some invariant surface proprieties. The adaptive andcompetitive behavior of the agents allows overcoming the constraint related tothe restriction of the treatments to the local neighborhood of the pixels.

    3 Multi-agent Range Image Segmentation

    A range image is a discretized two-dimensional array where at each pixel (x, y)is recorded the distance Z(x, y) between the range nder and the correspondingpoint of the scene. A new image Z, called plane image is derived from the rangeimage. Each pixel (x, y) of the new image records the tangent plane to the surfaceat (x, y). The tasks performed by the agents on the plane image are based onthe comparison of planes. So, we consider that two planes ax + by + cz = d andax + by + cz = d are equal if they have, according to given thresholds (Tr,TrD), the same orientation, and the same distance to the coordinate origin. Trand TrD are respectively the angle and the distance thresholds.

    The plane image Z is considered as the environment in which the agentsare initialized at random positions. An agent checks if it is situated on a planarregion, and adapts to this region if it is planar, by memorizing its plane equation.Next, the agent performs actions, which depend on both its state and the stateof the pixel on which it is located. At each time t, an agent is characterized by itsposition (xt, yt) over the image, and by its ability At to act on the encounteredpixels. At the beginning of the process, all the agents are unable to alter any pixelof the image. After having been adapted to a planar region, an agent becomesable to modify the rst encountered pixel that not belongs to the current region(At=true). When an agent alters a pixel, it loses its alteration ability (At=false)and starts again searching for a new planar region. An agent having modied apixel records in an appropriate two-dimensional array I, at (xt, yt) the last state

  • 4 S. Mazouzi et al.

    of the visited pixel: I(xt, yt) {smoothed, aligned, unchanged}. We show next,that this simple behavior of the agents allows both the detection of the imageedges, and the removal of the noise regions.

    3.1 Agent Behavior

    An agent adapts to the region of the image on which it is moving by computingand memorizing the proprieties of this region, and by adopting the suited behav-ior to the local image data. An agent can be in one of the following situations :searching for a planar region, moving on a planar region, aligning images pixels.

    After its creation, an agent randomly moves within the image and searches fora planar region around its current position. The agent uses a region seed formedby the last L visited pixels. L is called the adaptation path-length. It representsthe condence degree that the agent is situated within a planar region. So, theagent considers that it is within a planar region if the pixels of the seed forma planar surface. The agent memorizes the new region and considers it as itscurrent planar region. It becomes then able to alter the rst encountered pixelthat does not belong to its new region (At=true).

    While moving inside a planar region, an agent smoothes the pixel on which itis located, by updating the equations of both the memorized plane and the planeat the position of the pixel. This is done by replacing the two equations by theirweighted average. Let (a, b, c, d) and (a, b, c, d) be the parameters respectivelyof the plane at the current pixel, and the memorized plane. Resulting parametersof the weighted average plane are obtained as follows:

    (a, b, c, d) =1

    1 + l(a + la, b + lb, c + lc, d + ld) (1)

    where l is the length of the path crossed by the agent on the planar region.When an agent meets a pixel of interest (not belonging to its current pla-

    nar region, i.e. noise pixels or edge pixels), the pixel is partially aligned to theplanar region on which the agent moves. The parameters (a, b, c, d) of thenew plane equation at the pixel position are obtained by linear combination ofthe current parameters (a, b, c, d) and the parameters of the memorized planeequation (a, b, c, d):

    (a, b, c, d) =1

    1 + (a + a, b + b, c + c, d + d) (2)

    where is the alteration strength.The agent loses then its alteration ability (At=false) and starts again to search

    for a new planar region. The alteration strength is a critical parameter, whichaects the quality of the results and the time of computation. Indeed, high valuesof lead to a fast region detection. However, the resulting region boundaries aredistorted and badly localized (Fig. 1b). Low values of result in a slow detection,but region boundaries in this case, are well detected and correctly localized(Fig. 1c). In order to speed up the segmentation process, without edge distortion,an agent chooses the alteration strength among min and max according to theinformation recorded by other agents in the array I. So, an agent assumes that

  • A Multi-agent Approach for Range Image Segmentation 5

    (a) (b) (c)

    Fig. 1. The impact of the alteration strength on the segmentation results: (a) Rangeimage (abw.test.8); (b) Segmentation results with min = max = 4 at t=2500; (c) Seg-mentation results with min = 0.3 and max = 5 at t=13000

    the current planar region is adjacent to a noise region, and thus uses max asalteration strength, if the number of unchanged pixels (situated within a noiseregion) around the agent is greater than a given threshold (xed to 3 in ourexperimentations). Indeed, pixels labeled unchanged in the adjacent regionmean that this latter is a noise region for which agents have not adapted andconsequently have not smoothed its pixels. Otherwise, the agent assumes thatthe current planar region is adjacent to another planar one, where other agentshave labeled the pixels as smoothed or aligned. In this case, the agent usesthe alteration strength min.

    3.2 Agent Coordination by Articial Potential Field

    To endow agents with a self-organization mechanism, an articial electrostatic-like potential eld is used. It is created and updated around the aligned pixels.It allows agents to be gathered around pixels of region boundaries, and concen-trate their actions at these pixels. Contrary to other works, where the potentialeld is created at known positions of objects (goals and obstacles) [4,13], thepotential eld in our case results from the interaction of agents with the objectsin the environment (pixels). The intensity (x, y) of the potential eld at po-sition (x, y) created by a set of P pixels beforehand aligned {(xi, yi),i = 1..P I(xi, yi)=aligned} is given by:

    (x, y) =P

    i=1

    k(x xi)2 + (y yi)2

    , k R+ (3)

    where k is the constant of the electrostatic force, set to 1.An agent which is able to alter pixels (At=true) and situated at position

    (xt, yt) undergoes an attractive forceF . This force is expressed by the gradient

    vector of the potential eld:

    F =

    -(xt, yt) if At=true0 otherwise

    (4)

  • 6 S. Mazouzi et al.

    So, the agent movements, which are stochastic in nature, are weighted by theattractive force applied by the potential eld. Agents are inuenced to head forthe pixels of interest, while keeping random moves. The random component ofthe agent moves allows the exploration of all regions of the image.

    A Relaxation mechanism of potential eld is also introduced. It allows theagents gathered around pixels of interest to be released and thus to exploreother regions of the image. Around a given pixel, the eld intensity decreasesafter every alteration of this pixel. The equation of the relaxation dynamic isexpressed as follows:

    t+1(x, y) = t(x, y), < 1 (5)

    0(x, y) corresponds to the created eld after the rst alteration of the pixel.The constant set to 0.9, represents the decrease rate of the eld intensity. Afterseveral alignments of a given pixel, the eld intensity around this pixel decreases,and tends to zero. This situation represents the nal state of the process, afterwhich the system can be stopped.

    3.3 Edge Detection and Noise Removal

    While moving over the image, an agent smoothes the pixels that approximatelybelong to its planar region and considers all other pixels as noise pixels. Amongthese latter, the agent systematically aligns the rst encountered one to its cur-rent region. However, pixels on the boundaries of regions are true-edge pixels,and thus should not be aligned. Nevertheless, the competition between agentspreserves these pixels against an inappropriate smoothing. Indeed, around anedge between two adjacent planar regions, two groups of agents are formed onthe two sides of the edge. Each group is formed of agents passing from one regionto the other. Agents of each group align the pixels of the edge to their respectiveregion. So, the pixels of the edge are continuously swapped between the twoadjacent regions. The resulting alternative alignment of edge pixels allows thesepixels to remain emergent in the image. This pattern of competitive actions be-tween agents allows the emergence of the edges in the image, whose detection isnot coded in any agent, but results from the collective action of all the agents.

    Unlike the true regions of the image, which remain preserved against erasing,the noise regions continuously narrow, and they nally disappear. The borders ofthese regions are continuously aligned to the true planar regions that surroundthem. An agent, having aligned a pixel that belongs to the border of a noiseregion, and having moved inside it, will not be able to adapt. Consequently,the agent cannot align any pixel when leaving the noise region. This occurs intwo distinct situations: 1) when the region is planar but insuciently large toallow agents to cross the minimal path-length L, necessary to be able to adapt;2) when the region is suciently large but not planar, or made up of randomdepths (noise). In both situations, the agent leaves the noise region and willadapt inside the surrounding planar one. As a summary we can say that trueregions have large sizes, sucient to allow agents to adapt and then align theboundary pixels when leaving these regions. However, noise regions, which are

  • A Multi-agent Approach for Range Image Segmentation 7

    non planar or having weak sizes, prevent agents from adapting. Consequently,agents will be unable to align pixels on the boundaries of these regions whenleaving them. As a result, the borders of a noise region are continuously alignedfrom outside by including their pixels in the true surrounding regions. Afterseveral iterations, all the noise regions will be completely erased. At the endof the process, all the regions in the image are well delimited by the detectedboundaries. A simple region growing, steered by the detected boundaries, allowsextracting the regions of the image.

    4 Experimentation and Analysis

    We have used a well known dedicated framework for the evaluation of rangeimage segmentation algorithms [5]. The framework allows to compare a machine-generated segmentation (MS) with a manually-generated segmentation,supposed ideal and representing the ground truth (GT). The most importantperformance evaluation metrics are the numbers of instances respectively of cor-rectly detected regions, over-segmented regions, under-segmented regions, missedregions, and noise regions. Region classication is performed according to a com-pare tool tolerance T ; 50% < T 100%, which reects the strictness of theclassication. In our case, four methods, namely USF, WSU, UB and UE, citedin [5] are involved in the comparison.

    For our method, named 2ARIS, for Agent-based Approach for Range Im-age Segmentation , six parameters should be set: min, max, Tr, TrD, N ,and L. These parameters are divided into two subsets: 1) min, max, Tr, andTrD representing respectively the two alignment strengths, the angle threshold,and the depth threshold. 2) N and L are respectively the number of agents,and the adaptation path-length. For the rst parameter subset, 256 combina-tions namely (min, max, Tr, TrD) {0.5, 0.3, 0.1, 0.05}{1.0, 3.0, 5.0, 7.0}{15, 18, 21, 24} {12, 16, 20, 24} were run on the training images. The perfor-mance criterion for these parameters is the average number of the correctlydetected regions, with the compare tool tolerance T set to 80%. The two alter-ation strengths min and max are set respectively to 0.3 and 5.0. The thresh-olds Tr, TrD were respectively set to 21, and 16. Note that inappropriatevalues of N and L can result in a high rate of segmentation errors. Indeed,an insucient number of agents (N) lead to an under-processing of the im-age. So, resulting regions are deprived of a set of pixels, which should be in-cluded in these regions. A low value of the adaptation path-length L leads totake into account small planar regions, which should be considered as noiseregions. However, higher values of L can lead to consider some true planar re-gions, which are insuciently large, as noise regions (see section 3.3). In orderto set the parameters N and L, 25 combinations of these parameters, namely(N,L) {1500, 2000, 2500, 3000, 3500} {3, 5, 7, 9, 11} were run on the trainingset. In this case, the performance criterion is the average number of noise re-gions, with the compare tool tolerance set to 80%. Obtained optimal values ofN and L are respectively 2500 and 7.

  • 8 S. Mazouzi et al.

    Fig. 2. Segmentation progression. (a) Rendered range image (abw.test.6); (b) att=1000, (c) at t=5000; (d) at t=9000; (e) at t=13000; (f) Extracted regions.

    Table 1. Average results of the dierent involved methods with T=80%

    Method GT Correct Over-seg Under-seg Missed Noise

    USF 15.2 12.7 0.2 0.1 2.1 1.2WSU 15.2 9.7 0.5 0.2 4.5 2.2UB 15.2 12.8 0.5 0.1 1.7 2.1UE 15.2 13.4 0.4 0.2 1.1 0.8

    2ARIS 15.2 13.0 0.5 0.1 1.4 0.9

    Fig. 2 shows an instance of segmentation progression within time. The time trepresents the number of steps performed by each agent since the beginning ofthe process. Displaying a range image by a simple rendering algorithm (Fig. 2a),allows to notice the high level of noise in the used images. Figures 2b, 2c, 2dand 2e show the set of pixels of interest (edge or noise pixels) respectively att=1000, 5000, 9000 and 13000. Regions are progressively smoothed by aligningthe noise pixels to the surrounding planar regions. Edges between adjacent re-gions are also progressively thinned. At the end of the process, region bordersconsist of thin lines of one pixel wide (Fig. 2e). Fig. 2f shows the segmentationresult obtained by displaying the borders of the extracted regions.

    Table 1 contains the average results obtained with all the test images, and forall the performance metrics. The compare tool tolerance was set to the typicalvalue 80%. By considering both the correct detection and the incorrect detectionmetrics, obtained results show the good eciency of our method. For all the in-correct detection metrics (instances of Over-segmentation, Under-segmentation,Missed Region, Noise Region), our method has equivalent scores to those of UE

  • A Multi-agent Approach for Range Image Segmentation 9

    Fig. 3. Average results of correctly detected regions of all methods

    and USF. The two latter scored higher than UB and WSU. Fig. 3 shows theaverage numbers of correctly detected regions for all the test images accordingto the compare tool tolerance T . Results show that the number of the correctlydetected regions by our method is in average better than those of USF, UB andWSU. For instance, our method scored higher than WSU for all the values ofthe compare tool tolerance T . It scored higher than USF for T {80%, 90%,95%}, and better than UB for T {50%, 60%,70%, 80%}.

    5 Conclusion

    In this paper, we have introduced a multi-agent approach for range image seg-mentation. Competitive actions between agents have allowed the emergence ofthe edges in the image. Image edges, for which no explicit detection was codedin any agent, result from the collective action of all the agents. Obtained resultsare better than those provided by the traditional algorithms. Moreover, usedagents are weakly coupled and indirectly communicate via the environment (im-age). This allows parallel or distributed implementations, suited for a high com-putational eciency. The experimental results obtained with real images fromthe ABW database show the potential of the proposed method for an ecientand accurate segmentation of range images. The average run time is 8 sec., on aCompaq PC n8220. The recorded run times were better that those provided byregion based methods, and equivalent to edge-based ones. The proposed methodshould record interesting run times, when implemented on massively parallelarchitectures, such as Transputer-based architectures. The proposed approachcan be extended to deal with more complex surfaces by dening their specicproprieties, and endowing the agents with the appropriate behavior.

  • 10 S. Mazouzi et al.

    References

    1. Bab Hadiashar, A., Gheissari, N.: Range image segmentation using surface selectioncriterion. IEEE Transactions on Image Processing 15(7), 20062018 (2006)

    2. Bovenkamp, E.G.P., Dijkstra, J., Bosch, J.G., Reiber, J.H.C.: Multi-agent segmen-tation of IVUS images. Pattern Recognition 37(4), 647663 (2004)

    3. Ding, Y., Ping, X., Hu, M., Wang, D.: Range image segmentation based on ran-domized hough transform. Pattern Recognition Letters 26(13), 20332041 (2005)

    4. Ferber, J.: Multi-Agent Systems: An Introduction to Distributed Articial Intelli-gence. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA (1999)

    5. Hoover, A., Jean-Baptiste, G., Jiang, X., Flynn, P.J., Bunke, H., Goldgof, D.B.,Bowyer, K.W., Eggert, D.W., Fitzgibbon, A.W., Fisher, R.B.: An experimentalcomparison of range image segmentation algorithms. IEEE Transactions on PatternAnalysis and Machine Intelligence 18(7), 673689 (1996)

    6. Inokuchi, S., Nita, T., Matsuda, F., Sakurai, Y.: A three dimensional edge-regionoperator for range pictures. In: 6th International Conference on Pattern Recogni-tion, Munich, pp. 918920 (1982)

    7. Jiang, X., Bunke, H.: Edge detection in range images based on Scan Line approx-imation. Computer Vision and Image Understanding 73(2), 183199 (1999)

    8. Kang, S.B., Ikeuchi, K.: The complex EGI: A new representation for 3-D pose deter-mination. IEEE Transactions on Pattern Analysis and Machine Intelligence 15(7),707721 (1993)

    9. Krishnamurthy, E.V., Murthy, V.K.: Distributed agent paradigm for soft andhard computation. Journal of Network and Computer Applications 29(2), 124146(2006)

    10. Li, S., Zhao, D.: Gradient-based polyhedral segmentation for range images. PatternRecognition Letters 24(12), 20692077 (2003)

    11. Liu, J., Tang, Y.Y.: Adaptive image segmentation with distributed behavior-basedagents. IEEE Transactions on Pattern Analysis and Machine Intelligence 21(6),544551 (1999)

    12. Richard, N., Dojat, M., Garbay, C.: Automated segmentation of human brain MRimages using a multi-agent approach. Articial Intelligence in Medicine 30(2), 153176 (2004)

    13. Tsuji, T., Tanaka, Y., Morasso, P., Sanguineti, V., Kaneko, M.: Bio-mimetic tra-jectory generation of robots via articial potential eld with time base generator.IEEE Transactions on Systems, Man, and Cybernetics, Part C 32(4), 426439(2002)

  • Abstractions of Multi-agent Systems

    Constantin Enea1,2 and Catalin Dima1

    1 LACL, University Paris 12, 61 av. du General de Gaulle, 94010 Creteil, France2 University Al. I. Cuza, Str. General Berthlot 16, 740083, Iasi, Romania

    Abstract. With the recent development of many model-checkers forthe temporal logic of knowledge, abstraction techniques are necessary toincrease the size of the systems that can be veried. In this paper, weintroduce several abstraction techniques for interpreted systems and weprove several preservation results. These results consider the temporallogic of knowledge under Kleenes 3-valued interpretation along inniteand maximal nite paths.

    1 Introduction

    Abstraction techniques, often based on abstract interpretation [2], provide amethod for symbolically analyzing systems using the abstract instead of theconcrete domain. Familiar data-ow analysis algorithms are examples of abstractinterpretation. In particular, abstract interpretation can be used in order to buildthe abstract state-space of the system.

    With the recent development of many model-checkers for the temporal logicof knowledge [5,8], abstraction techniques are necessary to increase the size ofthe systems that can be veried. To our knowledge, this is the rst attempt toprovide abstraction techniques that are useful to prove properties expressed inthe temporal logic of knowledge. We include in our logic all the future and pastoperators [9], paths quantiers and knowledge operators [4] and we interpret itover innite paths or maximal nite paths. Moreover, we use Kleenes 3-valuedinterpretation, whose third truth value is very useful in modeling incompleteobservations or malfunctions and performing abstractions. We study three formsof property preservation, the rst two being frequently found in the literature[3]: weak-preserving that is preserving the truth value 1, error-preserving that ispreserving the truth value 0 and very-weak preserving that is preserving {, 1}.

    The paper is organized as follows. Section 2 xes the notation and terminol-ogy with respect to the temporal logic of knowledge under Kleenes 3-valuedinterpretation along innite or maximal nite paths, and 3-valued multi-agentKripke structures. Section 3 is dedicated to abstractions of multi-agent Kripkestructures and the next section deals with preservation results. The paper endswith some concluding remarks.

    2 3-Valued KCTLP

    The necessity of using multi-valued logics and multi-valued Kripke structures tomodel and reason about systems with or without knowledge has been pointed

    H.-D. Burkhard et al. (Eds.): CEEMAS 2007, LNAI 4696, pp. 1121, 2007.c Springer-Verlag Berlin Heidelberg 2007

  • 12 C. Enea and C. Dima

    out by many researchers [1,7]. In this paper we use 3-valued multi-agent Kripkestructures and a 3-valued temporal logic of knowledge interpreted on innitepaths or maximal nite paths in order to model and reason about systems.

    Let AP be a set of atomic propositions. The syntax of KCTLP is as follows:

    = | | | | X | X | G | F | U | W | Pr || A | O | S | B | | | Ki | Pi,

    where is a propositional formula over AP and 1 i n (n is the numberof agents in the system). We use future time operators [9]: X and X are thestrong and weak versions of next-time, G is always, F is eventually, Uis until, and W is waiting-for; past time operators [9]: Pr is previous,A is always in the past, O is once, S is since, and B is back to; pathquantiers: and ; and knowledge operators [4]: Ki means agent i knows and Pi means agent i thinks that is possible. We denote by KCTLP thesubset of KCTLP consisting of formulas that do not contain , and Pi, andby KCTLP the subset of formulas that do not contain , , Ki.

    The semantics we choose for KCTLP is based on Kleenes 3-valued interpre-tation [6] and 3-valued multi-agent Kripke structures. Kleenes 3-valued inter-pretation consists of the set of truth values {0, 1,} ordered as 0 < < 1 andthe interpretation of the propositional operators is dened by xy = max{x, y}and x y = min{x, y}, for any truth values x and y.Denition 1. A 3-valued multi-agent Kripke structure over a set of atomicpropositions AP is a tuple M = (Q,R,L, (i| 1 i n)), where Q is the set ofstates, R : QQ {0, 1,} is the transition predicate, L : QAP {0, 1,}is the labeling function which associates to any pair (q, p) the truth value of p instate q, n is the number of agents and i: QQ {0, 1,}, for any 1 i n,is the similarity relation of agent i (it gives the degree of similarity betweentwo states from the point of view of agent i). Every relation i is a 3-valuedequivalence, i.e. it satises reexivity: i (x, x) = 1, for any x Q; symmetry:i (x, y) =i (y, x), for any x, y Q; transitivity: i (x, z) =i (x, y) i(y, z), for any x, y, z Q. values in the denition of a 3-valued multi-agent Kripke structure are usefulfor two main reasons: modeling systems with incomplete observations or mal-functions as mentioned also in [1,7] and performing abstractions. The states ofan abstract system correspond to sets of states of the original system. The tran-sition between two abstract states depends on the sets of states abstracted bythese abstract states. For example, if two disjoint sets of states A and B are ab-stracted by qA and qB, respectively, and for any state in A there exist transitionsto all states in B, then we have a denite transition from qA to qB; otherwise, wemay use a -transition from qA to qB just to specify that it might be possibleto transit from some state in A to some state in B. A similar discussion holdsalso for the labeling function and the similarity relations.

    A path of a 3-valued multi-agent Kripke structure is either an innite sequenceof states = q0q1 . . ., such that R(qi, qi+1) {, 1}, for all i 0, or a maximalnite sequence of states = q0q1 . . . qm, such that R(qi, qi+1) {, 1}, for all

  • Abstractions of Multi-agent Systems 13

    0 i < m, and R(qm, q) = 0, for all q Q. The length of is , in the rstcase, and m + 1, in the second case. || stands for the length of path , the ithelement of path is denoted (i), and i is the sux of starting at qi, for any0 i < ||. We will denote by Paths(M) the set of paths of the Kripke structureM and by Paths(M, q) the set of paths of M starting in state q. Also, we willcall a point any pair (,m), where Paths(M) and m N with 0 m < ||.The set of points of the Kripke structure M will be denoted by Points(M).

    The interpreted system corresponding to a multi-agent Kripke structure M isa triple I = (Paths(M), LI , (Ii | 1 i n)), where

    LI : Points(M)AP {0, 1,} is the interpretation function for the atomicpropositions in M dened by LI((,m), p) = L((m), p), for any Paths(M)and 0 m < || and Ii : Points(M)Points(M) {0, 1,}, for any 1 i n,is the similarity relation dened by Ii ((,m), (,m)) =i ((m), (m)).From now on we will make no distinction between L and its extension to pointsLI . The same holds for the similarity relations.

    We now give the semantics for the formulas in KCTLP, which for the fragmentthat includes only future time is similar to the multi-valued semantics from [7]. If is a formula in KCTLP and I = (Paths(M), L, (i| 1 i n)) an interpretedsystem we dene the truth value of in the point (,m), denoted by []I(,m), in thefollowing way (we give only some of the possible cases, the others being similar):

    []I(,m) = obtained as usual using the interpretation function L;[]I(,m) = []I(,m);[1 2]I(,m) = [1]I(,m) [2]I(,m);[X ]I(,m) = |m| > 1 R((m), (m + 1)) []I(,m+1);[X ]I(,m) = |m| 1 (R((m), (m + 1)) []I(,m+1));[1 U 2]I(,m) = [2]

    I(,m)

    0

  • 14 C. Enea and C. Dima

    local x, y, z: integerx := 1; y := 0; z := 0;

    H ::

    1. while true {2. if z = 0 then3. x : = x + 2;4. if z = 1 then5. x : = x + 1 z : = 0; }

    L ::

    1. while true {2. if z = 0 then3. y : = y + 1 z : = 1; }

    Fig. 1. A system with two processes

    2 but, when it receives a signal from L (L sets z to 1) it increases x only by 1.The agent L also uses y to count the number of signals it sends.

    Suppose that L can not read x. We would be interested in checking whetherthe low-level user L can deduce something about the parity of x.

    We model this system by a multi-agent Kripke structure M = (Q,R,L, (H,L)), whose states are triples (x, y, z), where x, y and z are the variables fromFigure 1. We consider that (x, y, z) H (x, y, z) if x = x and z = z and(x, y, z) L (x, y, z) if y = y and z = z.

    An instance of the question above is the formula

    = PL O((even(y) z = 1) P (even(x) S z = 1)),

    where even is a predicate that it is 1 for even numbers and 0 otherwise. If thisproperty is false then, the fact that y is even implies that x is even in all thestates since the last time z was 1. Consequently, if y is even the low-level userknows the parity of x for some of the past states.

    Such a property is an instance of information ow w.r.t run-based secrecy [10].In fact, the falsity of would prove also that agent H does not maintain run-based secrecy with respect to agent L, i.e. there exists an H-local and satisableformula such that PL O is false.

    3 Abstractions of Multi-agent Kripke Structures

    In this section we will investigate several types of abstractions that can be ap-plied to multi-agent Kripke structures. Let M1 = (Q1, R1, L1, (1i | 1 i n))be a multi-agent Kripke structure over a set AP of atomic propositions. An ab-straction of M1 is based on some equivalence relation on Q1 that it is used tocreate abstract states. Hence, an abstract state is any equivalence class on Q1(we denote [q] the equivalence class of q with respect to ). However, this is notsucient to create an abstract Kripke structure: we still need a denition forthe transition predicate, for the labeling function and for the similarity relations.Let M2 = (Q2, R2, L2, (2i | 1 i n)) be a multi-agent Kripke structure withQ2 = Q1/. Following [11], we say that R2 is dened in a manner from R1 if

    R2([q], [q]) =

    1, if (q1 [q])(q2 [q])(R(q1, q2) = 1)0, if (q1 [q])(q2 [q])(R(q1, q2) = 0), otherwise,

  • Abstractions of Multi-agent Systems 15

    for any q, q Q1. Dening R2 in a or manner from R1 can be donesimilarly by changing the quantiers that specify how elements from equivalenceclasses are chosen. We also consider the three cases for the denition of L2. Forexample, L2 is dened in a manner from L1 if

    L2([q], p) =

    1, if (q1 [q])(L1(q1, p) = 1)0, if (q1 [q])(L1(q1, p) = 0), otherwise,

    for any q Q1 and p AP .Trying to adopt a similar approach for the similarity relations 2i , we have

    to ensure that these relations remain three-valued equivalences. The relationsbetween the dierent possible denitions for 2i and the properties of a three-valued equivalence are enumerated in the next proposition.

    Proposition 1. Let M1 be a multi-agent Kripke structure like above, an equiv-alence relation on Q1 and : Q1/Q1/ {0, 1,} a function. We have that:1. if is dened in a -manner from 1i then it is symmetric and transitive;2. if is dened in a -manner from 1i then it is reexive and symmetric;3. if is dened in a -manner from 1i then it is symmetric;The above proposition mentions all the properties of a 3-valued equivalence thatare always satised by a , or denition of 1i . Consequently, when tryingto redene the similarity relations in the abstract system we have to apply someclosures to obtain three-valued equivalences.

    Denition 2. Let M1, and M2 be as above. M2 is called a (T1, T2, T3)-abstrac-tion of M1 by , for any T1, T2, T3 {, , }, if R2 is dened in a T1 mannerfrom R1, L2 is dened in a T2 manner from L1 and: if T3 = , 2i is the reexive closure of the denition of 1i ; if T3 = , 2i is the transitive closure of the denition of 1i ; if T3 = , 2i is the reexive and transitive closure of the denition of 1i .

    Running Example. We dene on the set of states of M the equivalence relation as follows: (x, y, z) (x, y, z) if even(|x x|) even(|y y|) z = z. The(, , )-abstraction of M by is depicted in Figure 2. We have denoted theabstract states by triples, where the rst two elements specify the parity of xand y, respectively, while the third component gives the value of z.

    Notice that the abstract system has only 4 reachable states and it is very easyto verify it. We will investigate in the next section the cases in which the truthvalue of a property is preserved in the concrete system.

    4 Preservation Results

    This section is dedicated to proving the utility of the types of abstraction pre-sented in the previous section. In general, abstractions are useful when they oer

  • 16 C. Enea and C. Dima

    preservation results with respect to a specic set of properties. We will studythree forms of property preserving, the rst two being frequently found in theliterature [3]:

    weak-preservation with respect to a set of properties P : an abstraction isweakly preserving with respect to P if for any P , is evaluated to 1 inthe abstract system implies that is evaluated to 1 in the concrete system;

    error-preservation with respect to a set of properties P : an abstraction iserror preserving with respect to P if for any P , is evaluated to 0 inthe abstract system implies that is evaluated to 0 in the concrete system;

    very weak-preservation with respect to a set of properties P : an abstractionis very weak-preserving with respect to P if for any P , is evaluated to1 or in the abstract system implies that is evaluated to 1 or in theconcrete system.

    4.1 Weak and Very Weak Preservation Results

    We will study in this subsection the weak and very weak preservation resultsthat hold for the types of abstraction presented in the previous section. We willgive rst two technical lemmas that will identify the basic conditions that mustbe satised by the abstraction in order to be weak or very weak preserving withrespect to KCTLP or KCTLP.

    Let M1 = (Q1, R1, L1, (1i | 1 i n)) and M2 = (Q2, R2, L2, (2i | 1 i n)) be two 3-valued multi-agent Kripke structures over some set AP of atomicpropositions and an equivalence relation on Q1 such that Q2 = Q1/. Wesay that M2 preserves the paths of M1 if for each path 1 in M1 there exists apath 2 in M2 with the same length as 1 such that 2(m) = [1(m)], for any0 m < |2| (we say that 2 corresponds to 1). Also, we say that M1 preservesthe paths of M2 if for each path 2 in M2 there exists a path 1 in M1 with thesame length such that 1(m) 2(m), for any 0 m < |1| (again, we say that1 corresponds to 2). We say that R2 (R1) preserves the set of truth values B ifR2([q], [q]) B (R1(q, q) B) implies R1(q, q) B (R2([q], [q]) B), for anyq, q Q1. In the same way we dene the facts that L2, L1, 2i and 1i preservesome set of truth values.

    Lemma 1. Let M1 and M2 be as above. For any formula in KCTLP:1. if M2 preserves the paths of M1 and L2, 1i preserve {, 1}, then []I2(2,m)

    {, 1} implies []I1(1,m) {, 1}, for any (1,m) Points(M1) (2 is the

    odd,even,0 odd,odd,1

    even,odd,0even,even,1

    Fig. 2. An (,,)-abstraction of M

  • Abstractions of Multi-agent Systems 17

    path in M2 that corresponds to 1 and I1, I2 are the interpreted systemscorresponding to M1, M2).

    2. if M2 preserves the paths of M1, 1i preserves {, 1} and R2, L2, 2i preserve1, then []I2(2,m) = 1 implies []

    M1(1,m)

    = 1, for any (1,m) Points(M1).The same holds even if the requirements that R2 and 2i preserve 1 arereplaced by R1(q, q) {0, 1} and 1i (q, q) {0, 1}, for any q, q Q1.

    Proof. All claims can be proved by structural induction on . We will exhibit onlythe interesting casesof therstproof, theothers being obtained ina similarmanner:

    = p AP . Then, []I2(2,m) = L2(2(m), p) {, 1}. By the denition of 2and the fact that L2 preserves {, 1}, we obtain that L1(1(m), p) {, 1}.Therefore, []I1(1,m) {, 1};

    = X 1. Assume that 1 satises the property. Then, [X 1]I2(2,m) =

    |m2 | 1 ([1]I2(2,m+1) R2(2(m), 2(m + 1))

    ) {, 1}. If |m2 | 1,then |m1 | 1 which leads to [X 1]I1(1,m) = 1. Otherwise, [1]

    I2(2,m+1)

    R2(2(m), 2(m + 1)) {, 1}. By the denition of 2 we obtain |m1 | >1 and R1(1(m), 1(m + 1)) {, 1}, and by the induction hypothesis,[1]I1(1,m+1) {, 1}. Consequently, [X 1]

    I1(1,m)

    {, 1}; = 1. Assume that 1 satises the property. Consequently, [1]I2(2,m) =

    [1..m]=2[1..m][1]I2(,m) {, 1} which implies [1]I2(,m) {, 1}, for all

    paths such that [1..m] = 2[1..m]. Since M2 preserves the paths of M1,for each path of M1 with [1..m] = 1[1..m] there exists a path of M2such that [1..m] = 2[1..m]. Moreover, [1]I2(,m) {, 1}, for each path as above. Applying the induction hypothesis we get [1]I1(,m) {, 1}, foreach path with [1..m] = 1[1..m]. Hence, [1]I1(1,m) {, 1}.

    = Ki1. Assume that 1 satises the property. The hypothesis will implythat

    2i ((2,m),(2 ,m)) =0

    2i ((2,m), (

    2 ,m

    )) []I2(2 ,m) {, 1}, andwe have to prove

    1i ((1,m),(1,m)) =0

    1i ((1,m), (

    1,m

    )) []I1(1,m) {, 1}. Let (1,m) be a point of M1 such that 1i ((1,m), (1,m)) =0. Since M2 preserves the paths of M1, there exists a corresponding pathfor 1, denote it

    2 such that

    2(m

    ) = [1(m)]. Moreover, because 1i

    preserves {, 1} we obtain that 2i ((2,m), (2,m)) {, 1}. From abovewe obtain that [1]I2(2,m) {, 1} which, by the induction hypothesis,implies [1]I1(1,m) {, 1}. unionsq

    The following lemma can be proved in a similar way to Lemma 1.

    Lemma 2. Let M1 and M2 be as above. For any formula in KCTLP:1. if M1 preserves the paths of M2 and L2, 2i preserve {, 1}, then []I2(2,m)

    {, 1} implies []M1(1,m) {, 1}, for any (2,m) Points(M2) (1 is thepath in M1 that corresponds to 2).

  • 18 C. Enea and C. Dima

    2. if M1 preserves the paths of M2 and R2, L2, 2i preserve 1, then []I2(2,m) = 1implies []M1(1,m) = 1, for any (2,m) Points(M2).

    We will enumerate now the weak and very weak preservation results that holdfor all the possible types of abstraction.

    Theorem 1. Let M1 and M2 be as above, where R2 and 2i , for any 1 i n,are dened. Then, for any KCTLP we have the following:1. If L2 is dened, then []I2(2,m) {, 1} implies []

    I1(1,m)

    {, 1}, for any(1,m) Points(M1) (2 is a path in M2 corresponding to 1). Moreover,if R1(q, q) {0, 1} and 1i (q, q) {0, 1}, for all q, q Q1 and 1 i n,then []I2(2,m) = 1 implies []

    I1(1,m)

    = 1, for any (1,m) Points(M1).2. If L2 is dened, R1(q, q) {0, 1} and 1i (q, q) {0, 1}, for all q, q Q1

    and 1 i n, then []I2(2,m) = 1 implies []I1(1,m)

    = 1, for any (1,m) Points(M1).

    Proof. Directly from Lemma 1. unionsqNext, we try to give a weak and a very weak preservation result for abstractionsof type (, T, ), for some T , with respect to KCTLP. By Lemma 2 we needthat 2i preserves {, 1} and since we use the reexive closure of the denitionof 1i , this may not happen. Consequently, the preservation results will hold onlyfor equivalences relations that ensure that the denition of 1i is alreadyreexive. If M1 and M2 are as above, we say that is compatible with 1i ifwhenever q q we have 1i (q, q) = 1. Clearly, this compatibility implies thatthe denition of 1i is reexive.Theorem 2. Let M1 and M2 be as above, where R2 and 2i are dened and is compatible with 1i , for any 1 i n. Then, for any KCTLP wehave the following:

    1. If L2 is or dened, then []I2(2,m) = 1 implies []I1(1,m)

    = 1, for any(2,m) Points(M2) (1 is a path in M1 corresponding to 2).

    2. If L2 is dened, then []I2(2,m) = implies []I1(1,m)

    {, 1}, for any(2,m) Points(M2).

    Proof. Directly from Lemma 2. unionsqTheorem 3. Let M1 and M2 be as above, where R2 and 2i , for any 1 i n,are dened. Then, for any formula in KCTLP we have the following:1. If L2 is dened, then []I2(2,m) = 1 implies []

    I1(1,m)

    = 1, for any (1,m) Points(M1) (2 is a path in M2 corresponding to 1).

    2. If L2 is dened, then []I2(2,m) = 1 implies []I1(1,m)

    = 1, for any (1,m) Points(M1).

    Proof. Directly from Lemma 1. unionsq

  • Abstractions of Multi-agent Systems 19

    4.2 Error Preservation Results

    We will study in this section the error preservation results that hold for thetypes of abstraction we have introduced in Section 3. As before, we rst givetwo technical lemmas that identify basic conditions that must be satised by anabstraction in order to be error-preserving.

    Lemma 3. Let M1 and M2 be as above. If M2 preserves the paths of M1, L2preserves 0 and 1i preserves {, 1}, then []I2(2,m) = 0 implies []

    M1(1,m)

    = 0,for any KCTLP and (1,m) Points(M1) (2 is the path in M2 thatcorresponds to 1).

    Proof. The claim is proved by structural induction on . We will enumerate onlythe interesting cases, the others can be obtained similarly:

    = 1. Assume that 1 satises the property. We obtain that [1]I2(2,m) =[1..m]=2[1..m]

    [1]I2(,m) = 0 implies that [1]I2(,m) = 0, for all paths such

    that [1..m] = 2[1..m]. Since M2 preserves the paths of M1, for each path of M1 with [1..m] = 1[1..m] there exists a path of M2 such that[1..m] = 2[1..m]. Moreover, [1]I2(,m) = 0, for each path

    as above.

    Applying the induction hypothesis we get [1]I1(,m) = 0, for each path

    with [1..m] = 1[1..m]. Hence, [1]I1(1,m) = 0 = Pi1. Assume that 1 satises the property. The hypothesis will imply

    that2i ((2,m),(2 ,m)) =0

    ( 2i ((2,m), (2 ,m)) []I2(2 ,m))

    = 0 and we

    have to prove1i ((1,m),(1,m)) =0

    1i ((1,m), (

    1,m

    )) []I1(1,m) = 0.Let (1,m) be a point of M1 such that 1i ((1,m), (1,m)) = 0. Since M2preserves the paths of M1, there exists a corresponding path for 1, denoteit 2 such that

    2(m

    ) = [1(m)]. By the fact that 1i preserves {, 1}, we

    obtain 2i ((2,m), (2,m)) {, 1}. From above, [1]I2(2,m) = 0 and bythe induction hypothesis we get [1]I1(1,m) = 0. unionsq

    The following lemma can be proved in a similar way to Lemma 3.

    Lemma 4. Let M1 and M2 be as above. If M1 preserves the paths of M2, L2 pre-serves 0 and 2i preserves {, 1}, then []I2(2,m) = 0 implies []

    M1(1,m)

    = 0, for any KCTLP and (2,m) Points(M2) (1 Paths(M1) corresponds to 2).We can now state the error preservation results.

    Theorem 4. Let M1 and M2 be as above, where R2 and 2i are dened.If L2 is or dened, then []I2(2,m) = 0 implies []

    I1(1,m)

    = 0, for any KCTLP and (1,m) Points(M1) (2 Paths(M2) corresponds to 1).Proof. Directly from Lemma 3. unionsqNext, we prove that the (, T, )-abstractions, for some T , are error preservingwith respect to KCTLP. Again, must be compatible with 1i .

  • 20 C. Enea and C. Dima

    Theorem 5. Let M1 and M2 be as above, where R2 and 2i are denedand is compatible with 1i , for any 1 i n. If L2 is or dened,then []I2(2,m) = 0 implies []

    I1(1,m)

    = 0, for any KCTLP and (2,m) Points(M2) (1 is the path in M1 corresponding to 2).

    Proof. Directly from Lemma 4. unionsqTheorem 6. Let M1 and M2 be as above, where R2 and 2i , for any 1 i n,are dened. For any in KCTLP we have that:1. If L2 is dened, then []I2(2,m) = 0 implies []

    I1(1,m)

    = 0, for any (1,m) Points(M1) (2 is a path in M2 that corresponds to 1).

    2. If L2 is dened, then []I2(2,m) = 0 implies []I1(1,m)

    = 0, for any (1,m) Points(M1).

    Proof. Directly from Lemma 3. unionsq

    Running Example. Using the predicate odd(x), which is 1 for odd numbersand 0 otherwise, we transform into an equivalent formula which is in KCTLP.The abstract system from Figure 2 has only 4 reachable states and we caneasily prove that the formula is false. Since KCTLP we apply the errorpreservation result from Theorem 4 and obtain that it is false also in the concretesystem I1.

    5 Conclusions

    We have introduced in this paper abstraction techniques that are useful to proveproperties expressed in the temporal logic of knowledge. We have used a verygeneral logic under Kleenes 3-valued interpretation and we have oered weak,very weak and error preservation results. These techniques can be used to in-crease the size of the systems that can be veried.

    References

    1. Chechik, M., Easterbrook, S.M., Petrovykh, V.: Model-checking over multi-valuedlogics. In: Oliveira, J.N., Zave, P. (eds.) FME 2001. LNCS, vol. 2021, pp. 7298.Springer, Heidelberg (2001)

    2. Cousot, P., Cousot, R.: Abstract interpretation: a unied lattice model for staticanalysis of programs by construction or approximation of xpoints. In: Proceedingsof POPL, pp. 238252 (1977)

    3. Dams, D.: Abstract Interpretation and Partial Renement for Model Checking.PhD thesis, Technische Universitat Eindhoven (1996)

    4. Fagin, R., Halpern, J.Y., Moses, Y., Vardi, M.Y.: Reasoning about Knowledge.MIT Press, Cambridge (1995)

    5. Gammie, P., van der Meyden, R.: MCK: Model checking the logic of knowledge.In: Alur, R., Peled, D.A. (eds.) CAV 2004. LNCS, vol. 3114, pp. 479483. Springer,Heidelberg (2004)

  • Abstractions of Multi-agent Systems 21

    6. Ginsberg, M.: Multivalued logics. A uniform approach to inference in articialintelligence. Computational Intelligence 4, 265316 (1988)

    7. Konikowska, B., Penczek, W.: Model checking for multivalued logic of knowledgeand time. In: Proceedings of AAMAS, pp. 169176 (2006)

    8. Lomuscio, A., Raimondi, F.: MCMAS: A model checker for multi-agent systems. In:Hermanns, H., Palsberg, J. (eds.) TACAS 2006 and ETAPS 2006. LNCS, vol. 3920,pp. 450454. Springer, Heidelberg (2006)

    9. Manna, Z., Pnueli, A.: The Temporal Logic of Reactive and Concurrent Systems.Specication. Springer, Heidelberg (1992)

    10. ONeill, K.R., Halpern, J.Y.: Secrecy in multiagent systems. CoRR, cs.CR/0307057(2003)

    11. Tiplea, F.L., Enea, C.: Abstractions of data types. Acta Informatica 42(8-9), 639671 (2006)

  • Agent-Based Network Protection AgainstMalicious Code

    Martin Rehak1, Michal Pechoucek2, Jan Tozicka2, Magda Prokopova1,David Medvigy2, and Jir Novotny3

    1 Center for Applied Cybernetics, Faculty of Electrical Engineering2 Department of Cybernetics, Faculty of Electrical Engineering,

    Czech Technical University in Prague Technicka 2, 166 27 Prague, Czech Republic{mrehak,pechouc,prokopova,tozicka}@labe.felk.cvut.cz

    3 Institute of Computer Science, Masaryk UniversityBotanicka 68a, 602 00 Brno, Czech Republic

    [email protected]

    Abstract. This paper presents an agent-based approach to Network IntrusionPrevention on corporate networks, emphasizing the protection from fast-spreadingmobile malicious code outbreaks (e.g. worms) and related threats. Agents are notonly used as a system-integration platform, but we use modern agent approachesto trust modeling and distributed task allocation to efficiently detect and alsocounter the attack by automatically created and deployed filters. The ability ofthe system to react autonomously, without direct human supervision, is crucial incountering the fast-spreading worms, that employ efficient scanning strategies toimmediately spread farther once they infect a single host in the network.1

    1 Introduction

    This paper presents an application of classic agent technology techniques: trust mod-eling, meta-agents, computational reflection and distributed task allocation to protecta local or campus network against the spread of malicious code, e.g. worms [1]. Theworms are a specific type of malicious code, that spreads across the computer networks,and uses known vulnerabilities of widely deployed software to infect the hosts, possi-bly perform malicious actions and spread further. The spread of the worm is influencedby its scanning strategy. Scanning strategy uses the current IP address as an input, anddetermines the addresses to propagate to, including the order in which the propagationis attempted. Strategies are typically defined in terms of various types of subnets [2] for example, a Slammer worm uses a random scanning over the whole IPv4 addressspace, while the Code Red II scans local subnet with higher probability.

    1 This material is based upon work supported by the European Research Office of the US Armyunder Contract No. N62558-07-C-0001 and N62558-07-C-0007. Any opinions, findings andconclusions or recommendations expressed in this material are those of the author(s) and donot necessarily reflect the views of the European Research Office of the US Army. Also sup-ported by Czech Ministry of Education grants 1M0567 and 6840770038.

    H.-D. Burkhard et al. (Eds.): CEEMAS 2007, LNAI 4696, pp. 2231, 2007.c Springer-Verlag Berlin Heidelberg 2007

  • Agent-Based Network Protection Against Malicious Code 23

    Historically, there were many attempts to use agents in intrusion detection systems(IDS) [3]. However, these attempts have never matured into widely-deployed commer-cial solutions, and we argue that the computational power and techniques were notadvanced enough to succeed. In our work, we aim to present a system design that ef-ficiently protects the small and medium-sized networks against the worm attacks withminimum administrative overhead. Therefore, the performance and autonomy of thesolution are crucial from the operational point of view.

    Our detection approach, presented in Section 3 exploits the weak spot of worm prop-agation, the randomness of scanning strategy that determines the IP addresses targetedby the worm for future infection attempts. The randomness makes the spread less ef-ficient, due to the exploration of non-existing hosts, and generates significant networktraffic that can be detected and matched with the alarms raised by protected hosts (seeSection 2). The matching is performed by IDS Agents, that use their extended trustmodels [4] to assess the trustfulness/maliciousness of individual network flows. Theconclusions of the models are used by IDS agents to generate filtering policies, and toconvert these policies into the bytecode (JAVA) by means of computational reflection.Filters are then deployed on network devices to limit the future spread of the worm bymeans of collective reflection process, based on established distributed task allocationmethods [5].

    2 System Architecture and Observation

    The system, as presented in Fig 1, is designed to fulfill three principal functionalities:to observe the network traffic and host behavior, to detect malicious traffic and to reactby deploying efficient filters on network devices to prevent the spread of the threat. Thisfunctionality is implemented by following elements:

    Observation is realized by two types of sensors: - Host sensors are deployed onselected protected hosts in the network and raise alarms when an exceptional behaviorsuggests a possibility of attack or intrusion attempt. Network sensors are located onnetwork devices and capture the information about the network flows, together with thetraffic statistics. The aggregated observations are then processed by IDS agents.

    Detection of malicious traffic is the primary responsibility of IDS agents, whoprocess the information from the sensors using their trust model [4] in order to cor-rectly correlate the alarms received from hosts with the current network flows. Their

    Fig. 1. System Components Overview

  • 24 M. Rehak et al.

    role is to correctly identify the malicious traffic and to generate a description of themalicious flow(s) for filter creation in reaction phase. Reaction phase is triggered upon attack detection by IDS agents. The agents generateone or more filters matching the attack and pass these filters to the network devices.These reflective [6] devices are able to autonomously adapt to changing environment.In our case, the adaptation is ensured by insertion of generated filters into their codeand associated delegated operations.

    When deployed, the system components use classic agent methods (e.g. directoriesor matchmakers) to discover each other and to maintain the system operational in thedynamic environment. The essential communication protocol in the observation anddetection phase is SUBSCRIBE 2, which allows efficient information gathering by theIDS Agents.

    The observation of attacks by the Host sensors is based on an assumption of random-ized worm spread. As all currently known worms exploit a vulnerability specific for asingle system type, we base our defence on an assumption that the deployed hosts arecomposed of wide variety of system configurations, and that most of these systems arable to detect an unsuccessful (or even successful) attack, aimed at the vulnerability ofother system. The detection of possible attack triggers an alarm that is sent to the IDSagents. We currently assume only simple, binary alarms without any additional infor-mation regarding the attack description. This maximizes the range of software/devicesable to provide the alarm, and also makes the misuse of the mechanism more difficult,as the potential attacker can not directly specify the suspicious traffic.

    At the same time, network sensors capture the information specified in Table 1 abouteach individual network flow (unidirectional connection component identified by srcIP,dstIP, srcPrt, dstPrt and Protocol) and also provide this information to the same IDSagents that perform the detection process.

    Table 1. Characteristics of the flow: Identity and Context (based on [7])

    Feature Description Feature DescriptionConnection Identity Connection ContextsrcIP Source IP Address. count-src Number of flows from the

    unique sources toward thesame destination.

    destIP Destination IP count-dest Number of flows to uniquedestinations from the samesource.

    srcPort Source Port count-serv-dest Number of flows to thesame destination IP usingthe same source port.

    destPort Destination Port count-serv-src Number of flows from thesame IP to the same port.

    Payload Signa-ture

    First 256 bytes of the flowcontent (application headers)

    2 www.fipa.org

  • Agent-Based Network Protection Against Malicious Code 25

    3 Attack Detection

    IDS agents use an extended trust model [4,8] to correlate the alarm received from thehosts with the observed traffic and to identify the malicious flows. The trust model insideeach IDS agent processes the inputs that are provided by both host and network sen-sors in near-real time: sensors: (i) network flows information that contains the TCP/IPheaders and first 256 bytes of the flow content [9], (ii) statistics of the existing networkflows, listed in the context part of Table 1, and (iii) the alarms raised by Host sensors.

    The trust model correlates the occurrence of alarms received from the hosts with thefeatures of the relevant captured flows and the statistics associated with a particular flow.The features and the statistics form an Identity-Context feature space [4]. As the numberof flows in an average network can be significant, it is important to process, represent,and maintain the data efficiently, and to keep the model synchronized with the mostrecent alerts and traffic. Therefore, instead of associating the information with individ-ual flows in the Identity-Context space, the flows are aggregated into clusters. For eachcluster, the IDS maintain its trustfulness, expressed as a fuzzy number [10]. The learn-ing of trustfulness in our model is iterative, and each iteration consists of two stages. Inthe first stage, IDS agents generate and update the clusters using the Leader-Follower3algorithm [11], while in the second stage IDS agents update the trustworthiness that isassociated with the centroids of the clusters that are adjacent to the observation rep-resentation in the Identity-Context space. For sake of efficiency, our implementationactually performs both stages in the same time, as we can see in Alg. 1.

    Algorithm 1. Processing of the new observation.Input: flow,situat,trustObsclosest nil;mindist ;id identityCx(flow,situat)foreach rc rclist do

    dist distance(rc,id)if dist < mindist then

    closest rcwei = weight(dist)if wei > threshold then

    rc.updateTrust(trustObs,wei)endif mindist > clustsize then

    rclist.append(id)id.updateTrust(trustObs,wei)

    elseclosest.updatePosition(id)

    When IDS agent observes a flow, it extracts the identity features (see Tab. 1), then re-trieves the associated statistics to determine the position of this vector in the

    3 Our current implementation uses LF clustering as it is efficient in terms of computational andmemory cost, and allows on-line processing. Any other clustering algorithm can also be usedinstead, the reference points can even be placed arbitrarily [8].

  • 26 M. Rehak et al.

    Identity-Context space (id in Alg. 1) . Then, it computes the distance of the observedflow vector to each of the existing centroids (rc rclist), and updates the trustfulnessof these centroids with a weight wei that decreases with growing distance. If the clos-est centroid is farther away than a predetermined threshold clustsize, a new cluster isdefined around the new observation. When the model is queried regarding the trustful-ness of a specific flow vector, it aggregates the trustfulness associated with the centroids,with a weight that decreases with the distance from the centroid to the flow represen-tation in the Identity-Context space. Once it has determined the trustfulness, in a formof a quasi-triangular fuzzy number, it calculates inferences with a high trust and lowtrust fuzzy intervals. These intervals represent the knowledge about the normal level oftrustfulness in the environment, and allow the IDS agent to infer whether the flow istrusted or not under current conditions [10].

    The output of the detection phase is a selection of malicious traffic, specified as acluster (or a group of clusters) in the identity-context space. This description, togetherwith the examples of typical cluster members is then used to generate a traffic filter thatonly use the identity part of the features from Table 1, which can be matched with actualflows.

    4 Reaction to Attack

    As the detection uses the actual infections to detect the malicious traffic, we must as-sume that at least some of the vulnerable hosts in the network were already infected bythe detected threat. Therefore, the filter generated by the detection upon attack discov-ery must not only protect the network interfaces (firewalls, VPN access,...), but shall bedeployed at least once on each path between any two hosts on the network. If the filtercan not be deployed in some network parts, these parts shall be considered as a singlehost by the protection mechanism and treated as such.

    As there may be multiple filters deployed on the network in the same time, and a bigpart of network devices may be unable to perform the complete filtering of the pass-ing traffic on their own, we use the distributed task allocation methods to find optimaldelegation of filtering tasks between the network devices.

    The delegation of filtering is based on negotiation among two or more nodes. As aresult of the negotiation one node would be dedicated to provide filtering services to theother nodes. Such extension can increase the number of deployed filters, but increasesalso the communication traffic (as the flows must be tunneled to filtering devices).In case of delegation, outlined in Extended Filter Deployment Algorithm (EFDA, seeAlg. 2), the agent uses Extended Contract Net Protocol (ECNP) [5] to ask trusted agents(determined by policy or a trust model) to perform filtering on its behalf, instead of localfilter deployment.

    One of the main features of Extended Contract Net Protocol compared to simpleContract Net Protocol [12] is that the participants can propose to fulfill only part ofthe task. The initiator agent starts negotiation by sending task specification to all trustedagents and is waiting for proposals with specified costs. In case participant agent decidesto propose for given task it reserves all resources necessary for fulfilling task or part ofit and sends proposal to the initiator. At this point participant agent cant cancel its

  • Agent-Based Network Protection Against Malicious Code 27

    Algorithm 2. EFDA Algorithm

    = all trusted agents. = set of my filters. = .repeat

    Send Call-For-Proposals to all agents .Wait for all proposals .Choose the winner A:

    the agent that proposes minimal average price for deploying filters F . = {A} = \ FSend Temporary Accept to agent A.Send Reject to agents \ {A}.

    until = or = ;Send Accept to all agents .

    offer by itself and is waiting for the initiator answer. After initiator receives proposalscovering parts of the task, the agent with best proposal is given temporary accept. Aftertemporary accept is received, the agent is committed to the task and is waiting for finalaccept to start performing the task. Initiator sends rejects to all agents but the acceptedone and thus they can cancel reservation of their resources.

    New negotiation turn is taken for the remaining part of the task and again all trustedagents receive the task specification. After whole task being distributed among partici-pant agents or getting to the point where no more agents can propose to fulfill any partof the task, the initiator agent accepts a consistent subset of proposals that were previ-ously temporarily accepted. At this point both initiator and participant agents are fullycommitted.

    In our domain the task is represented by all of the filters agent is willing to dele-gate. Participant agents after receiving the task specification are willing to cooperateand create proposal for as many filters as possible. The cost for each filter combinesthe distance of the agents (initiator and participant - this distance corresponds to thegrowth of the traffic in the network) and computational costs/price for deploying thefilter. When task contains filter that has already been deployed on participant node theprice for deploying is zero and thus the proposed filter cost is based only on distance.According to the strategy we want to follow the importance of distance or computa-tional cost in the final price for the task can be changed. The higher the importance ofdistance is the less filters can be accommodated in the network, but on the other handthe growth of additional network traffic is less significant.

    Our task is to deploy as many filters in the network as possible, but at the same timewe are trying to keep the additional network traffic as low as possible. Therefore thedelegation of filters starts at the point when no more filters can be deployed on localnetwork device.

    Using Filter Delegation. Figure 2 shows simple situation of filter delegation. SwitchA didnt have enough free computational capacity to deploy all filters available, sothe EFDA assigned one of additional filters to SwitchB located slightly off the way.Therefore every-time traffic is sent from Host 1 to Host 2 it is forwarded by SwitchA

  • 28 M. Rehak et al.

    Fig. 2. Using filter delegation RC Query is created for traffic from Host 1 to Host 2.RC Query contains original flow, which is either returned if determined as not malicious ordropped in other case.

    to SwitchB that contains remaining filters. Special filter called filter-for deployed onSwitchA encloses the traffic in new flow and marked as RC Query to be easily recog-nizable by switch it is addressed to. After receiving RC Query device performs filteringand in the case that flow is considered to be safe it is sent back enclosed in RC Replyflow otherwise it is dropped. Network devices dont implement cache to store flowcontent while waiting for RC Reply and thus the whole flow needs to be forwardedalthough it means increase in network traffic. Forwarding all the traffic would causeexcessive increase in network traffic and therefore each filter-for contains port numberof traffic it relates to and forwarding is performed only for traffic containing this portnumber.

    5 Experimental Results

    As a testbed for our experiments we used an agent-based network simulation calledAnet (Agent network). Several tests have been performed to evaluate the above-presented strategies and to identify their limitations. Scenario used for our experimentsreported below contains 170 hosts of two different types. This means that each wormcan infect approximately half of the population and the other half rises alarm upon re-ceiving vulnerable flow. The propagation strategy that the worms are using to spreadthrough the network is essential for our method - we have implemented a commonstrategy (similar to the one employed by Code Red II or Blaster worms) where wormis choosing IP address pseudo-randomly. There is 50% chance that the IP address willbe from the same C-subnet as its source address, and a 50% chance it will be from thesame B-subnet. This strategy actually favors propagation on our simulated network, andis therefore a worst-case scenario many worms scan local subnet with higher priorityand than the whole IPv4 space.

    In experimental scenario, we launch a sequence of worms into the system. Eachworm starts spreading as soon as the last one has finished the spread, plus the timeto terminate the reaction of the protective system. We observe the percentage of hostthat gets infected by worm as well as the percentage of malicious worm flows thatare deleted by our filters before reaching their destination. These two parameters arerelated: more flows we filter, less hosts shall get infected, as we can clearly see in

  • Agent-Based Network Protection Against Malicious Code 29

    Table 2. Percentage of infected hosts/filtered flows in experimental runs on identical network.Differences are due to th