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.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.2.2-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 74ad3c03cc8e5eb0d2b429208b3ad8c03d6bdcd23b9dc22f40c13c129aeeb420 |
|
MD5 | fcdb9d23f0a4e181924821cc2cf9f299 |
|
BLAKE2b-256 | 29abd543bcc6733eb909836324af13e0a5dfb45daa427433c8fc2444572642e4 |