GithubHelp home page GithubHelp logo

jade's Introduction

Programming agents in Jade

(web version) (french version)

Set of source codes for the course/tutorial on multi-agent programming with the JADE platform.

To run these codes, it is necessary to import the library "JadeUPHF.jar". This library is an update, with JAVA 17, of the last official version of [Jade] (https://jade.tilab.com) of Tilab and add functionalities to easier the implementation of agents.

The source of this new version, the library and notes, can be accessed from here : JadeUPHF".

The following codes need, thus, this library and Java >= 17.

NB. if you get this error in your prefered IDE while launching an example :

SEVERE: Communication failure while joining agent platform: No ICP active

The reason is that you have not closed the previous jade instance. Completely stop/close a jade run before launching another one


Basics: Agent, Behavior, and Sending Messages

Agents without behavior or communication

  • To test the installation of Jade, the classic HelloWorld
    • AgentHello : code for a simple agent displaying a message on the console
    • AgentHelloParametre : also code for a simple agent displaying a message on the console, but the message is passed as a parameter

Agents with behaviors

Communicating Agents

  • Classic example of a communication test between 2 agents: ping-pong
    • pingPong: Code that launches two agents that communicate with each other. The ping agent sends a ball to the pong agent which returns it to ping which in turn returns it, ...
    • AgentPingPlouf: code for an agent that sends a random message and waits for a response..! This will come from the white pages agent (AMS) telling him that there is no one at the address indicated...
  • Example with message filtering:
    • ticTac : an agent sends messages tagged with 2 different types; an agent receives them and treats them differently according to their types.

Interactive agents

  • Use of a small graphical interface to facilitate dialogue with the user
    • window : codes for agents linked to windows
    • radio : codes that illustrate broadcast communication. An agent no longer targets recipients, but a channel that other agents are listening to

Service Management

  • helloWorldService : Codes for agents each linked to a window. These agents discover each other by searching for services and send each other simple messages
  • serviceDetection : Some agents register to the yellow pages (DF) for a given service; little by little. Another agent has subscribed to (DF) to be notified when an agent registers or unsubscribes from this service.

Agents with FSM behaviors

  • Agents that have behaviors organized according to a finite state machine (FSM) : fsm. Two examples are given :
    • salutations : sequences of behavior for European greetings within an agent,
    • review : process of submitting and reviewing an article between an author agent, a journal agent and three reviewer agents

Interaction protocols

  • Requests : codes for communication of requests using the AchieveRE protocol.
  • English Auction: codes using the communication protocol ContractNet to simulate a sealed english auction (1 round).
  • Vote Borda : codes illustrating communication between agents by the ContractNet protocol for vote by Borda count.
  • (the following codes will be translated soon)
  • Vote DoubleBorda : codes illustrant la communication entre agents par le protocole ContractNet pour un vote de Borda augmenté pour être effectué en 1 tour.
  • Vote Condorcet : codes illustrant la communication entre agents par le protocole ContractNet pour un vote de Condorcet augmenté pour être effectué en 1 tour.
  • Negociation : codes à compléter pour coder la négociation 1-1.

ISSIA 23 - Scenario

A (very) little scenario based on a true project about circular economy : here

jade's People

Contributors

emmanueladam avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.