/jason

Jason is a fully-fledged interpreter for an extended version of AgentSpeak, a BDI agent-oriented logic programming language.

Primary LanguageJavaGNU Lesser General Public License v3.0LGPL-3.0

Jason

Jason is an interpreter for an extended version of AgentSpeak. It implements the operational semantics of that language, and provides a platform for the development of multi-agent systems, with many user-customisable features. Jason is available as Open Source, and is distributed under GNU LGPL.

Jason is developed by Jomi F. Hübner and Rafael H. Bordini, based on previous work done with many colleagues, in particular Michael Fisher, Joyce Martins, Álvaro Moreira, Renata Vieira, Willem Visser, Mike Wooldridge, but also many others, as acknowledged in the manual (see the documents page).

Documentation

Most of the Jason documentation is available in the doc folder.

Installation

For Jason users

ℹ️
In Jason 2.0 the way to run the Jason IDE (based on jEdit) has changed. Rather than running an application (Jason.exe or Jason.app), the IDE is now run by double clicking the jedit/jedit.jar file or using the script files in the scripts folder.

For Jason developers

git clone https://github.com/jason-lang/jason.git
cd jason
gradle config // (1) (2) (3)
  1. gradle is available here.

  2. the config task builds the jason jar, configure jason properties file, and place all jars in build/libs.

  3. this task also prints out the commands to set up the JASON_HOME and PATH variables.

Examples can be run using the jason shell script, for example:

jason examples/gold-miners-II/miners.mas2j

The Jason IDE based on jEdit can be launched by the jason-ide script or java -jar build/jedit/jedit.jar.

Other useful gradle tasks:

gradle jar     // (1)
gradle doc     // (2)
gradle eclipse // (3)
gradle clean   // (4)
gradle release // (5)
  1. generates a new jason jar.

  2. generates the javadoc and transforms asciidoc files into html (asciidoctor should be installed).

  3. generates an eclipse project configuration to develop Jason.

  4. cleans all generated files.

  5. produces a zip file in build/distributions to be distributed to users.