1. General Questions about Janus

1.1. What is the SRE?

SRE stands for "SARL Runtime Environment". The SRE is an implementation of an agent platform, which is able to run a SARL program. The official standard SRE supported by the SARL developers is the Janus platform.

1.2. What is Janus?

Janus is an open-source multi-agent platform fully implemented in Java 1.7. Janus enables developers to quickly create web, enterprise and desktop agent-based applications.

Janus is an agent execution platform not an agent-oriented language.

It provides a comprehensive set of features to develop, run, display and monitor agent-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 a holonic platform. It also natively manages the concept of recursive agents and holons.

Official website: www.janusproject.io

1.3. Where can I ask my question?

If you cannot find an answer to your question in the FAQ, nor the reference documents, nor the existing SARL issues, nor the existing Janus issues, you could ask the SARL developers on this page.

1.4. Where can I found information on the release planning of Janus?

The release planning of Janus is detailed on the milestones' page on the Github web site.

The versions of the latest stable and development releases are displayed on this page.

The release planning of the Janus multi-agent platform is following the planning of SARL.

2. Installation and Execution

2.1. Is my operating system compatible with Janus?

The Janus runtime platform is a Java application. Every operating system which has a Java Virtual Machine with at least with the 1.8 standard may be used to run Janus.

2.2. What is the version of the Java virtual machine to install?

Janus requires the JRE and the JDK 1.8 or higher to run and compile. Note that if you plan to create Android applications, you may configure your JDK to produce 1.6 class files from 1.8 Java code, depending of the current supported standard on Android platforms.

2.3. How to launch an agent in Janus?

Three methods are available for launching one or more agents in the Janus platform:

2.4. Error: "The SRE is not standalone. It does not contain the Java dependencies."

This error occurs when there is no SARL Runtime Environment (SRE) installed on your Eclipse environment, OR when the installed SRE is not compatible with the installed version of the SARL tools, which are embedded in Eclipse.

For solving this problem, you must download the latest Janus platform, and install it in your Eclipse (Menu Window> Preferences> SARL> Installed SREs).

If the latest stable version of Janus is not working, you should download the latest development version.

2.5. Error: "Incompatible SRE with SARL Version must be lower than 0.0.0."

This error occurs when the SARL Runtime Environment (SRE) has a version lower than the version of the SARL tools, which are embedded in the Eclipse IDE. This difference of version may cause problems during the execution of your agents, since the capacities' definitions may not be the same.

For solving this problem, you must download the version of the SARL Runtime Environment (SRE) that is implementing the version of the SARL specification that you're using on Eclipse IDE. For the Janus platform, the versions of the latest stable and development releases are displayed on this page. For determining if the Janus platform implements the correct version of the SARL specification, please read the explanation on how Janus version numbers are built.

2.6. Error: "Agent class not found."

When the Janus platform cannot find the class file for the start-up agent, it displays the error message "Agent class not found".

For resolving this problem, you should check if:

For showing the arguments given to Janus, you could launch Janus with the command line option: --cli. This option stops Janus after displaying the command line arguments (including the --cli option).

2.7. Error: "Invalid byte 2 of 4-byte UTF-8 sequence."

When installing Janus as an SRE in the Eclipse interface, the plugin loads the Jar file of the SRE with the default API. The Jar archiver uses the default file encoding of the operating system. On Linux and MacOS 10, it is almost UTF-8. On Windows, it is Latin1. And on MacOS (before 10), it is Mac-Roman.

Unfortunately, the Janus Jar file is generated on a Linux operating system (UTF-8). When the Java virtual machine tries to uncompress and use the content of the Jar, it complains about an invalid charset format.

For solving this issue, you could launch your Eclipse with the command line option -Dfile.encoding=UTF-8, which is forcing the Eclipse product to consider the file as encoded with the UTF-8 charset.

3. Runtime Behavior of Janus

3.1. Are events received in the same order than when they are sent?

No. There is no warranty on the receiving order of the events. This is a particular implementation choice of the runtime environment. For example, the Janus runtime environment executes the event handlers in parallel. The real order of execution depends on how the Java executor is running the handlers on the threads.

3.2. Must I configure the Janus kernels to be connected to other Janus kernels?

No. Janus was designed to discover other kernels automatically. By default, the different instances of the Janus platform are connected together without any particular configuration. The sole constraint is that the kernels must be on the same local network.

4. Contribute to Janus

4.1. Where are the sources for SARL?

The sources for Janus are available inside the SARL project repository on Github.

4.2. How can I find the current issues?

Janus Developers use Github to manage bug tracking and project workflow. The issues are listed on Github.

4.3. How can I report a problem or a bug in Janus components?

You should submit your issue on this page.

Specification: SARL General-purpose Agent-Oriented Programming Language ("Specification")
Version: 0.5
Status: Stable Release
Release: 2017-03-18

Copyright © 2014-2017 the original authors or authors.

Licensed under the Apache License, Version 2.0; you may not use this file except in compliance with the License. You may obtain a copy of the License.

The SARL Documentation is generated with Jnario