jason
jason copied to clipboard
Jason is a fully-fledged interpreter for an extended version of AgentSpeak, a BDI agent-oriented logic programming language.
= Jason :icons: font
ifdef::env-github[] :tip-caption: :bulb: :note-caption: :information_source: :important-caption: :heavy_exclamation_mark: :caution-caption: :fire: :warning-caption: :warning: endif::[]
ifdef::env-github[:outfilesuffix: .adoc]
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 http://jomi.das.ufsc.br[Jomi F. Hübner] and http://www.inf.pucrs.br/r.bordini[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 http://jason.sourceforge.net/wp/documents/[documents] page).
== Documentation
Most of the Jason documentation is available link:doc/readme{outfilesuffix}[in the doc folder].
== Installation
=== For Jason users
- get a release https://sourceforge.net/projects/jason/files/jason/[here] // - install the eclipse plugin as described http://jacamo.sourceforge.net/eclipseplugin/tutorial[here] or configure your shell command as described http://jacamo.sourceforge.net/tutorial/hello-world/shell-based.html[here]
- follow the link:doc/tutorials/getting-started/readme{outfilesuffix}[getting started tutorial]
- more documentation http://jason.sourceforge.net/wp/documents[here]
NOTE: 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 ./gradlew config // <1> <2>
<1> the config task builds the jason jar, configure jason properties file, and place all jars in build/libs
.
<2> 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:
./gradlew jar // <1> ./gradlew doc // <2> ./gradlew clean // <3> ./gradlew release // <4>
<1> generates a new jason jar.
<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.
An eclipse project to change the Jason implementation can be created form menu "File/Import/Existing Gradle Project".