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. (to be completed)
Features
Create agents that parse and execute an ASL file written in AgentSpeak.
Supports Agentspeak-like BDI behaviours.
Add custom actions and functions.
Send TELL, UNTELL and ACHIEVE KQML performatives.
Examples
basic.py:
import getpass from spade_bdi.bdi import BDIAgent server = input("Please enter the XMPP server address: ") password = getpass.getpass("Please enter the password: ") a = BDIAgent("BasicAgent@" + server, 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).
Examples
basic.py:
import getpass from spade_bdi.bdi import BDIAgent server = input("Please enter the XMPP server address: ") password = getpass.getpass("Please enter the password: ") a = BDIAgent("BasicAgent@" + server, 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.3.1 (2024-01-06)
Added new examples
Added documentation
Updated to SPADE 3.3.2
0.3.0 (2023-06-13)
Updated to SPADE 3.3.0.
0.2.2 (2022-06-03)
Added exception when belief is not initialized.
Improved examples.
Improved documentation.
0.2.1 (2020-04-13)
Fixed a bug when updating beliefs.
Upgraded spade version to 3.1.4.
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.3.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4fe2dee36d452aa5a763fa5daa8f057a2e0d9ac27c335fb2845b3d0f0082caf4 |
|
MD5 | cc922c6a5b3c760596387be609406bbe |
|
BLAKE2b-256 | 26e0e1dff687af61ece1bfddc700df889ab0f05ddb81aaf343a52ec06c6eea53 |