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.
- Python 3.8+
- Java (for Yggdrasil environment)
- Gradle (for building Yggdrasil)
- Install base dependencies
pip install -r requirements.txt- Install custom BSPL version with MetaAdapter
cd bspl
pip install -e .See these complete examples:
buyer_agent.py- Fully autonomous buyerbazaar_agent.py- Seller agent for the bazaar workspace (Buy protocol)supermarket_agent.py- Seller agent for the supermarket workspace (BuyTwo protocol)
The demo environment includes two distinct marketplaces:
Bazaar Workspace (ex:Rug artifacts)
- Simple Buy protocol (2 messages: Pay → Give)
- Seller agent with
Givecapability
Supermarket Workspace (ex:Grill artifacts)
- Extended BuyTwo protocol (4 messages: HandShake → AcceptHandShake → Pay → Give)
- Seller agent with
GiveandAcceptHandShakecapabilities
The buyer agent must discover which workspace has the desired item and adapt to that workspace's protocol without any code changes.
- Start the environment and seller agents:
cd HypermediaInteractionProtocols
./start.shThis 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)
- Open a new terminal and start the autonomous buyer agent:
cd HypermediaInteractionProtocols/agents
python buyer_agent.py- When prompted, enter the item you want to buy:
- Type
rugto purchase from the bazaar (uses Buy protocol) - Type
grillto purchase from the supermarket (uses BuyTwo protocol) - Type
exitto quit
- Type