Skip to content

jason-lang/jason

Repository files navigation

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 and at the Jason web site.

Installation

For Jason users

Note
In Jason 3.2 no IDE is included in Jason distribution. A command line interpreter is now provided.

For Jason developers

git clone https://github.com/jason-lang/jason.git
cd jason
./gradlew config // (1) (2)
  1. the config task builds the JasonCLI (Jason Command Line Interface).

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

Examples can be run using the jason command, for example:

cd examples/domestic-robot
jason DomesticRobot.mas2j

Other useful gradle tasks:

./gradlew jar     // (1)
./gradlew doc     // (2)
./gradlew clean   // (3)
./gradlew release // (4)
  1. generates a new jar files.

  2. generates the javadoc and transforms asciidoc files into html (Docker must be running for the latter).

  3. cleans all generated files.

  4. produces a zip file in build/distributions to be distributed to users (including the executable of JasonCLI).

You can use your IDE to change the Jason implementation by importing the Gradle project.

Jason as a Library

You can add Jason in your Gradle project with:

dependencies {
    implementation 'io.github.jason-lang:jason-interpreter:3.2.0'
}