Janus is an open-source multi-agent platform fully implemented in SARL (implemented with Java for its versions 1 and 2). Janus enables developers to quickly create web, enterprise and desktop multiagent-based applications. It provides a comprehensive set of features to develop, run, display and monitor multiagent-based applications. Janus-based applications can be distributed across a network. Janus could be used as an agent-oriented platform, an organizational platform, and/or an holonic platform. It also natively manages the concept of recursive agents and holons.
Janus platform was initially published during the 2007-2008 period as a pure Java framework. Since 2014, Janus is fully reimplemented to support the SARL Agent-Oriented Programming Language. And since 2020, it is fully re-implemented using the SARL language.
As explained before, Janus was developped in different versions:
Major version | Description | Year for the end of maintenance | Download |
---|---|---|---|
3 | Re-implementation in SARL of the Janus framework; It is still a binary Java library that supports the features of the SARL metamodel and could be used in applications written with SARL or Java | n/c | 3.0.13.0 |
2 | Re-implementation in Java of the Janus framework to accept the code of agents that are written with SARL. Support the major features of the SARL metamodel. It is a binary Java library that could be used in applications written with SARL or Java. Holonic features are supported. Organizational metamodel from the version 1 is not directly implemented, but equivalent concepts are provided, e.g. organizations in V1 could be transformed to space specification in V2, and groups in V1 could be transformed to spaces in V2 | 2020 | 2.0.10.1 |
1 | Original version, fully written in Java (not linked to SARL), that is providing the organizational, holonic and agent features. Many extensions and plugins are also provided | 2014 | 1.1 |
The version number of Janus follows a specific convention for its definition. This convention will permits you to select the appropriate version of the Janus runtime environment for the targeted SARL specification.
The version number is composed of 4 numbers, optionally followed by the -SNASPHOT
flag.
The semantic of these components is:
The -SNAPSHOT
postfix indicates a “under-development” version, i.e. it is not yet released.
The Janus platform may be directly download, even if it is recommend to use it through Maven (see below). For downloading the platform, please go to the download page.
Janus is available as a Maven artifact. The artifact is available on the Maven Central Repository. For using Janus in your Maven project, add the following dependency into your POM dependencies:
<dependency>
<groupId>io.janusproject</groupId>
<artifactId>io.janusproject.kernel</artifactId>
<version>3.0.13.0</version>
</dependency>
You should change the version number 3.0.13.0 according to the version of your choice. All of the available version numbers could be found on the Maven Central Repository.
A command-line tool is provided for running Janus. It could be downloaded on the SARL download page. And, you could read the official documentation of this tool.
The API documentation related to the Janus platform is included into the documentation of SARL.
The frequently asked questions related to the Janus platform are hosted by the SARL programming language website. See the Frequently Asked Questions.