Restaurant multi-agent simulation based on JADE developed in the Agents and Distributed Artificial Intelligence (AIAD) class.
A restaurant environment portrayed by a multi-agent system based on JADE.
In this system, there are three different types of agents: Kitchen, Waiter and Customer. There is only one Kitchen, but multiple Waiters and Customers.
As a regular restaurant would work, the customers interact with the waiters to get their order done and the waiters interact with the kitchen and with other waiters as a way to get information quickly. The kitchen verifies the orders’ availability and takes care of the order preparation.
All of these interactions are implemented in accordance to either the FIPA-Request or FIPA-Contract-Net protocols.
When a waiter doesn’t have information about a particular dish, it can choose to ask another waiter or the kitchen staff.
The first way is “quicker”, however, the information received might not be entirely accurate (either on purpose or not).
On the other hand, when asking the kitchen staff the information relayed is always up to date but “it takes longer” do this, dropping the customer’s mood.
There are two main strategies waiters can apply regarding information sharing:
You can run a simulation using the command:
java jade.Boot -agents
The waiters take a boolean as argument (true or false), indicating if he is a liar or not.
You can also run simulations based on files with the following structure (one line per agent type):
You can do this with the command:
java app.Restaurant
Developed by: