[ecoop-info] Release 0.11 of SARL agent programming language
stephane.galland at utbm.fr
Tue Jun 2 09:54:07 CEST 2020
I'm glade to announce the major release of SARL version 0.11 (
www.sarl.io).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 for multiagent systems.
In addition to the traditional bug fixes, four major changes are
available, and are briefly explained below.
1. Janus version 3Janus is the official SARL run-time environment (aka.
SARL virtual machine). This release of SARL provides a MAJOR NEW
IMPLEMENTATION of Janus with its version 3.
In the past, the change from version 1 to version 2 was due to a total
re-implementation of Janus in order to follow and support the SARL
metamodel. This time, Version 3 of Janus is a total re-implementation
with the SARL language, i.e. we have written the code with SARL not
anymore with Java.
The major benefits of the new implementation with the SARL language
are: * Direct usage of the SARL concepts and statements;
* Ability to generate the same SRE to different target platforms
(Java, Python, etc.);
* Proof-of-concept related to the capabilities of the SARL language to
cover complex application’s implementation.
In addition to the total re-implementation with SARL language, the
software architecture of Janus was re-thinking and optimized in order
to improve the global run-time performances of the SRE, and to be more
modular in order to extend modules of Janus with new third-party
modules (based on Bootique modules).
2. New types of participants in spacesFrom the SARL metamodel, spaces
are entities in which the agents are able to interact or communicate.
The agents that are part of a space are named participants.
>From our experience during the past years, different types of
participants may be involved into a space. First, the agents constitute
the largest part of these participants. Second, external software, such
as an graphical user interface (GUI), may have to listen for events or
emit them into a space in order to setup an interaction with the
Nevertheless, having only a single type of participant defined causes
issues into the SARL run-time environment (SRE) when it is time to
decide if a space should be destroyed or not. Indeed, the SRE is in
charge of destroying the spaces when they are not used anymore (usually
when there is no more agent inside).
A problem occurs when all the agents have leaved the space, and only
GUI remain. In this case, the SRE was not able to detect this case and
to destroy the space. This issue could be seen because the SRE never
stops to run, even when all the agents were killed.
In order to solve this issue, two types of participants are defined:
* Strong Participant: it corresponds to the regular meaning of a
participant (and the default one). When a strong participant is
involved into a space, the SRE cannot destroy the space. Typical strong
participants are the application agents.
* Weak Participant: it is a participant that is considered as optional
by the SRE. In order words, when a space has only weak participants, it
is considered as releasable by the SRE. Typical weak participants are
Whatever the type of participant, they have the same level of abilities
for using the space. For example, in the case of an event space, the
strong and weak participants have all the abilities to emit events, and
3. New agent spawning APIThe spawning functions of the agents have
encountered a big change: they are not replying anymore the unique
identifier of the just spawned agents. Now, the spawning functions
This change was forced by the need to execute in parallel the different
spawning processes when multiple agents are spawned at the same time.
In this case, it is almost impossible to retreive the unique
identifiers of the agents before returning from the spawning function.
4. New tool for SARL contributors: an Eclipse DSL with embedded SARLIn
past, it was not so easy to install and set-up an complete and working
development environment for the SARL contributors. It was due to the
usage of different technologies such as Eclipse DSL, Java, Maven and
In order to have a ready-to-use environment, as much as possible, a
specific Eclipse product is now available into the SARL project: sarl-
dsl. This new product includes: * Regular Eclipse framework for domain
specific language implementation, that includes:
1. Eclipse environment,Java development environment,Maven
integration into Eclipse, andXtext libraries;
* SARL compiler integration into Eclipse;
* Janus run-time environment;
* Eclipse Checkstyle.
Enjoy SARL 0.11!
Laboratoire Connaissance et Intelligence Artificielle Distribuées
CIAD UMR 7533
Prof. Dr. Stéphane GALLAND
Full Professor of Computer Science and Multiagent Systems
Deputy Director of CIAD
French Head of ARFITEC ARF-17-10 "Energy, Transport, Industry, Challenges for tomorrow"
Senior member of the Multiagent Group
Member of AFIA
Université de Technologie de Belfort-Montbéliard - UBFC
13, rue Ernest Thierry-Mieg
90010 Belfort Cedex, FRANCE
CIAD Lab: www.ciad-lab.fr
Phone: +33 384 583 418 (work office)
Mobile: +33 662 274 442 (private)
More information about the ecoop-info