Marc-Philippe Huget, Research on Multiagent System Design and Development

Introduction | Research challenges | Metamodelling | Domain-Specific Languages | Tools | Metamodel repository
Introduction | Research challenges | State of the art | YOSEMITE
Introduction | Research challenges | State of the art | JMS-based Middleware | P2P-based Middleware
Introduction | Research challenges | Interaction diagram | Agent diagram | Current work
Introduction | Getting started | Some examples | Associated tools
Introduction | Manufacturing | Timetable scheduling | ULSSIS

Software

Current tools

Mercury

Mercury is a new platform for the execution of multiagent systems. It is possible for agents to communicate asynchronously but several features regarding organization, environment and agents are provided. Moreover, the platform can be distributed over a network.

Past tools

MABLE

This tool initiated by Michael Wooldridge was part of my research assistantship during my stay in Liverpool. MABLE covers a BDI agent programming language and a tool that acts as parser and compiler for the PROMELA language hence offering validating BDI agents. That was a tough job since the two languages do not have the same level of abstraction. Maybe one day this tool will revive in a Java version. A long description of the tool and language can be found in "Model-Checking Multiagent Systems: The MABLE Language and Its Applications".

DIP

Designing Interaction Protocols (DIP for short) was a tool designed during my Ph.D. thesis for visual design of interaction protocols expressed as FIPA UAML and our own extension entitled UAMLe. This tool is now retired since most of the work shift to Agent UML. A short description can be found in book chapter entitled "Interaction Protocol Engineering in Multiagent Systems".

TAP

Testing Agents and interaction Protocols (TAP for short) was a tool designed during my Ph.D. thesis for validating interaction protocols and particularly protocols within agents. It is a companion to DIP and can be called from it. The tool is now retired since it was based on our specific notation UAMLe and on the interaction module explained below. A short description can be found in book chapter entitled "Interaction Protocol Engineering in Multiagent Systems".

Interaction module

Even if the interaction module was not the central part in my Ph.D. thesis, this tool was the main one and required most of the engineering work. The idea behind this interaction module is to help software engineers not to have to deal with semantics when considering interaction protocols since semantics is already in the tool. Moreover, the use of the protocol is automatized by the interaction module and does not require any assistance if the following answer is straightforward. This tool represents around 11KLOC and is sadly retired. Some efforts to revive it is necessary but it is too much in this moment for me. The interaction module was successfully applied in the Baghera project as engine for agent communication. A short description can be found in book chapter entitled "Interaction Protocol Engineering in Multiagent Systems".

©2008 Marc-Philippe Huget