DAIIA 

Agent Oriented Software Engineering

Introduction

Task 1 to 4 : Modelisation

Overview of the agent based tools for modelisation

Task 5 : Platform comparison

Jade, Zeus and FIPA-OS

Scenario

  • Auctions

An art manager wants to sell an artwork to a museum.

The related curator takes part into an auction as a potential buyer. The auction ends when the artwork is sold, or if no compromise is found.

 

  • Visit a museum

A profiler starts a tour in a museum, whenever he watches a new artwork, he request information to the museum's curator. The curator provides these information in real-time to the profiler.

Task 2

Message-UML

Sequence diagram

Collaborative diagram

Activity diagram

StateChart

Task 1

GAIA modeling

In depth role modelisation

+ protocols description

Roles

  • Responsibilities
    • safety properties
    • liveness properties
  • Permissions

Example : Information Provider

Example CurrentArtwork

Task 3

Behaviors modelisation

Communicative Acts

Profiler class diagram

Artist manager-head-atomata

Task 4

Gaia vs RoMAS

RoMAS

  • Use Case
  • Role Organization

Use case : Auctionning

Role Organization

Task 5

Discovering different platforms

JADE review

Jade architecture

Service provided

  • Agent Management Service : "White pages", naming service
  • Directory Facilitator : "Yellow pages", registration, subscription

JADE review

Discovering a new platform:  ZEUS

ZEUS Architecture

  • BDI based approach
  • TCP/IP
  • Graphical environment

ZEUS Agent architecture

Services provided

  • Agent Name Service : "White pages", agent need to register to it and synchronize clock
  • Facilitator : "yellow pages", system of request to the society
  • Agent Visualizer, to debug or show agent society

Discovering a new platform:  ZEUS

Zeus implementation tips

  • Graphical interface
  • No concrete and understandable doc
  • Need to create goals and to schedule them with the Planner component
  • No mobility
  • Not used a lot

Discovering a new platform:  ZEUS

Discovering FIPA-OS

FIPA-OS Architecture

Services provided

  • AMS
  • DF
  • Communication channel

Discovering FIPA-OS

Implementation tips

  • Behaviors vs Tasks : Tasks Manager
  • Messages received by task Manager and forwarded
  • Method startTask() similar to setup(), and done() also found

Discovering FIPA-OS

Implementation tips

  • Special way to handle messages : Conversations/Conversation Manager
  • Based on events : adding a message to a conversation create an event, invoked when the queue is done
  • Service discovery through special task :
  • SearchTask(), invoking SearchDF(), SearchResults( DFAgentDescription[] )

Discovering FIPA-OS

FIPA-OS usability

In 2004, 50 000 dowmloads against 40 000 for Jade

One of the still maintained platform

Projects using FIPA-OS :

  • European projects :  CRUMPET, SHUFFLE, ONTOWeb
  • Universities : UHe, NTU, Czetch Technical University
  • Commercial : MITTRE, Jeffersson lab

JADE, ZEUS, FIPA-OS ?

  1. ZEUS seems to relay on graphical interface to create agents. Not well used, and no recent modifications ( last in 2006). No mobility, that would not have been a good choice. Too hard to find documentation and practical examples, and would not apply to our HW3. BDI approach that was not necessary in our HW.
  2. FIPA-OS provides similar services than JADE, without the containers-system. It is more event based, with tasks replacing behaviors. The structure would have been quite the same.
  3. Using jade's containers was a really nice way to implement the agents !

Conclusion

DAIIA

By hexamome

DAIIA

Presentation of the project daiia

  • 763