Plugin for SPADE 3 MAS platform to implement BDI Agents.
Project description
Spade-BDI
Create hybrid agents with a BDI layer for the SPADE MAS Platform.
Free software: GNU General Public License v3
Documentation: https://spade-bdi.readthedocs.io.
Features
Supports Agentspeak-like BDI behaviours.
Add custom actions and functions.
Send TELL, UNTELL and ACHIEVE KQML performatives.
Create agents that parse and execute an ASL file written in AgentSpeak.
Examples
basic.py:
import argparse from spade_bdi.bdi import BDIAgent parser = argparse.ArgumentParser(description='spade bdi master-server example') parser.add_argument('--server', type=str, default="localhost", help='XMPP server address.') parser.add_argument('--password', type=str, default="bdipassword", help='XMPP password for the agents.') args = parser.parse_args() a = BDIAgent("BasicAgent@" + args.server, args.password, "basic.asl") a.start() a.bdi.set_belief("car", "blue", "big") a.bdi.print_beliefs() print(a.bdi.get_belief("car")) a.bdi.print_beliefs() a.bdi.remove_belief("car", 'blue', "big") a.bdi.print_beliefs() print(a.bdi.get_beliefs()) a.bdi.set_belief("car", 'yellow')
basic.asl:
!start. +!start <- +car(red); .a_function(3,W); .print("w =", W); literal_function(red,Y); .print("Y =", Y); .custom_action(8); +truck(blue). +car(Color) <- .print("The car is ",Color).
Credits
This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.
History
0.2.0 (2020-02-24)
Created add_custom_actions method.
Added example for actions.
Improved documentation.
Added some helpers like pause_bdi, resume_bdi.
Now the asl file in the constructor is mandatory.
0.1.4 (2019-07-10)
Allow to send messages to JIDs stored as beliefs.
0.1.3 (2019-07-08)
Allow .send to a list of receivers.
Allow to receive messages with lists of lists.
Fixed readme.
0.1.1 (2019-06-18)
Moved from pyson to python-agentspeak
Added some helpers like pause_bdi, resume_bdi.
Now the asl file in the constructor is mandatory.
Allow to send tell messages with no args.
Allow sending messages with variables.
Extended the examples.
0.1.0 (2019-03-09)
First release on PyPI.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for spade_bdi-0.2.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 09195f317eeb54fefab05e7eccfb0fa01a9bb51fda46312ac2db957d25b14199 |
|
MD5 | eff8e6a648a6262d45b7943c2498340c |
|
BLAKE2b-256 | 9fa255b1f2a4e442051044875fa7d2765b272b082fe28d45f088df52b156b87c |