Skip to content

Interactions-HSG/HypermediaProtocols

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Interaction Protocol and Hypermedia based Multi-Agent Systems

demo.mov

This project presents a novel approach to building fully autonomous multi-agent systems that combine BSPL (Blindingly Simple Protocol Language) interaction protocols with semantic hypermedia-driven discovery and autonomous role reasoning. The system enables agents to autonomously discover their environment, reason about which roles to take, and collaborate through formally specified protocols—all without requiring centralized coordination or hardcoded knowledge.

Getting Started

Prerequisites

  • Python 3.8+
  • Java (for Yggdrasil environment)
  • Gradle (for building Yggdrasil)

Installation

  1. Install base dependencies
pip install -r requirements.txt
  1. Install custom BSPL version with MetaAdapter
cd bspl
pip install -e .

Example Agents

See these complete examples:

  • buyer_agent.py - Fully autonomous buyer
  • bazaar_agent.py - Seller agent for the bazaar workspace (Buy protocol)
  • supermarket_agent.py - Seller agent for the supermarket workspace (BuyTwo protocol)

Two-Workspace Scenario

The demo environment includes two distinct marketplaces:

Bazaar Workspace (ex:Rug artifacts)

  • Simple Buy protocol (2 messages: Pay → Give)
  • Seller agent with Give capability

Supermarket Workspace (ex:Grill artifacts)

  • Extended BuyTwo protocol (4 messages: HandShake → AcceptHandShake → Pay → Give)
  • Seller agent with Give and AcceptHandShake capabilities

The buyer agent must discover which workspace has the desired item and adapt to that workspace's protocol without any code changes.

How to Run the Demo

  1. Start the environment and seller agents:
cd HypermediaInteractionProtocols
./start.sh

This starts:

  • Yggdrasil (hypermedia environment on port 8080)
  • Protocol Server (serves protocol metadata on port 8005)
  • Bazaar Agent (seller for rugs on port 8010)
  • Supermarket Agent (seller for grills on port 8013)
  1. Open a new terminal and start the autonomous buyer agent:
cd HypermediaInteractionProtocols/agents
python buyer_agent.py
  1. When prompted, enter the item you want to buy:
    • Type rug to purchase from the bazaar (uses Buy protocol)
    • Type grill to purchase from the supermarket (uses BuyTwo protocol)
    • Type exit to quit

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published