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 ?
- 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.
- 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.
- Using jade's containers was a really nice way to implement the agents !
Conclusion
DAIIA
By hexamome
DAIIA
Presentation of the project daiia
- 763