Skip to content

Latest commit

 

History

History
251 lines (153 loc) · 9.55 KB

File metadata and controls

251 lines (153 loc) · 9.55 KB

General FAQ for SARL

[:Outline:]

General Questions about SARL

What is SARL?

SARL is a statically-typed agent-programming language. SARL aims at providing the fundamental abstractions for dealing with concurrency, distribution, interaction, decentralization, reactivity, autonomy and dynamic reconfiguration. These high-level features are now considered as the major requirements for an easy and practical implementation of modern complex software applications. We are convinced that the agent-oriented paradigm holds the keys to effectively meet this challenge.

Syntactically and semantically SARL has its roots in the Java programming language but improves on many aspects:

Unlike other JVM languages, SARL has zero interoperability issues with Java: everything you write interacts with Java exactly as expected. At the same time, SARL is much more concise, readable and expressive.

The language is platform- and architecture-independent.

For a brief comparison between SARL, Java and Xtend languages, see the Section "Comparison between SARL and other languages".

Can I use SARL to make agent-based software?

Yes.

SARL may be used to build agent based applications. Natively, SARL provides features for agent execution and direct communication. The agents may be deployed across multiple networked computers.

Can I use SARL to make agent-based simulation software?

Yes.

SARL may be used for agent based simulations. Natively, SARL provides features for agent execution and direct communication. An extension is provided for supporting the simulated environments (time management, environment model...)

Can I use SARL to make holonic software?

Yes.

Holon is recursively composed of holons. In SARL, agents are holons. SARL provides a complete support for holons.

Can I use SARL to make organizational software?

Yes.

An extension to SARL is available that defines an organizational space based on the CRIO meta-model (Capacity-Role-Interaction-Organization). This meta-model defines a system as a set of organizations in which roles are defined and interact together. Agents play roles in organization instances (or groups) and provides embedded capacity implementations required by the played roles.

Another organizational model may be in another space.

Is SARL an object-oriented programming language?

Yes and No.

While SARL is an agent-oriented programming language, it is possible to use object-oriented concepts when writing the agent code (skills...) A part of the grammar of SARL is inherited from the Xbase partial programming language, provided by the Xtext framework. It provides statements and rules that correspond to object-oriented languages.

Can I use my Java classes in SARL?

Yes.

SARL and Java are 100% interoperable. There are no exceptional cases and you do not have to think in two worlds. You can invoke SARL code from Java and vice versa without any surprises or hassles. [:Fact:]{typeof(Integer)}

Must I use Maven to create a SARL project?

No.

You can create a SARL project with Eclipse without Maven. Indeed, the SARL Eclipse product supports creation of a SARL project.

However, the SARL developers recommend Maven because it simplifies the management of your project's dependencies on the SARL libraries.

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.

What is the difference between SARL and Janus?

SARL is a general-purpose agent-oriented language. Janus is a runtime environment (SRE) for multi-agent applications that fully supports the concepts of SARL.

We can compare the SARL universe with the Java universe:

SARL Universe Java Universe
Language Specification SARL Specification Java Specification
Standard Development Kit SARL SDK J(ava)DK
Runtime environment Janus, TinyMAS... Hotspot, IcedTea, Dalvik...

Where can I find information on the release planning of SARL?

The release planning of SARL is detailed on the milestones page on Github.

Where can I ask my question?

If your question is not addressed in the FAQ, the reference documents, or the existing issues, you may ask the SARL developers on the SARL forum.

Where can I find more information and projects related to SARL?

A community driven list of useful SARL libraries, frameworks and software is maintained on Github. This is not a catalog of all the libraries, just a starting point for your explorations. This list is used by the SARL team to update the official web site of SARL.

Installation and Execution

Is my operating system compatible with SARL?

SARL is based on a part of the Eclipse API. Every operating system which has a compatible Java Virtual Machine with Eclipse may be used to run SARL.

What version of the Java virtual machine is required?

SARL requires the JRE and the JDK [:compiler.level!] or higher to compile and run. Note that if you plan to create Android applications, you should configure your JDK to produce 1.6 class files from [:compiler.level!] Java code. :Fact:

Why does SARL display an error on startup?

Most of the time the problem is due to an incompatibility between the configuration of your operating system or Java virtual machine, and the SARL Eclipse product.

If a problem occured, find the ".log" file in which Eclipse is writting the complete error trace. Usually, it is in your home directory or in the folder of the SARL Eclipse executable file.

Why does SARL Eclipse fail on Windows 10?

This is due to a problem in your configuration. Most of the time the log file (see the previous question) contains the error "Cannot load 64-bit SWT libraries on 32-bit JVM".

It means that you're trying to run the 64-bit version of the SARL Eclipse with a Java virtual machine (JVM) that is 32-bit. You should install a fully 64-bit JVM, or use the 32-bit version of the SARL Eclipse product.

If another error occurs, you should go on the SARL forum and report this problem.

Why does the SARL product launch but not contain any features related to SARL?

This is due to a problem in your configuration. SARL tools need the Eclipse framework to be run with a Java Development Kit [:compiler.level!] or higher. You are currently running the SARL product with a lower version of the JDK.

You must run the SARL product with a valid version of the JDK. Two ways are available for solving this issue:

  1. install the JDK [:compiler.level!], and configuring your operating system to use it by default; or
  2. force the SARL product to use the JDK [:compiler.level!] by editing the eclipse-sarl.ini file. Add the following parameter on a new line: -vm path, where path is the path to the binary file javaw[.exe] or java[.exe] of the JDK [:compiler.level!]. :Fact:

Why does the content assistant not propose any suggestion on MacOS?

By default in the SARL product, the shortcut key for invoking the content assistant is Ctrl+Space or Apple+Space. But, the Spotlight tool on MacOS is also using the same shortcut key.

For enabling the SARL product content assist, we recommend to change its shortcut in the SARL product. Go to:

  • Window > Preferences
  • General > Keys
  • Content Assist
  • Change the shortcut key

Content assist shortcut change

Contribute to SARL

Where are the sources for SARL?

The sources for SARL are available on Github. Details for getting the source code may be found on the download page.

How can I find the current issues?

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

How can I report a problem or a bug in SARL components?

You should submit your issue on this page.

:Include: