Fork me on GitHub

Changes in 0.13.0

Release date: 2023-09-19.

1. Major Changes

Number of major changes: 3

1.1. Transition from Java 8 to Java 17

Since the beginning of its life, SARL supports version 8 of Java. However, Java has considerably evolved during the past decade; And the lastest long-time-support version of Java is 17. New features have been added and enhancements have been made since Java 8. These features and enhancements improve startup, performance, memory usage, and provide better integration with containers. Moreover, the recent tools such as Eclipse and Xtext require to use at least the version 17 of Java to have benefits of the feature enhancements and bug fixes.

Consequently, the SARL development team as decided in 2021 to apply to SARL a transition from Java 8 to Java 17. Moving from Java 8 to Java 17 was a significant amount of work (approximatively 18 months) and will apply major changes in all the SARL projects.

Version 0.13.0 requires Java 17 as a minimum requirement.

Many the modules and artifacts of SARL have change of their names to obtain a unified naming convention that is also compatible with those that must be used for Java modules.

Details: [1, 2, 3, 4, 5, 6, 7, 8, 9].

1.2. Novel SARL Project Structure

Since few years, contributors to SARL notify the high complexity of the SARL project structure. It was almost impossible to compile a sub-project of SARL without downloading and compiling all the sub-projects.

The transition from Java 8 to Java 17 gives us the opportunity to rethink the structure of the SARL project and its sub-projects. There is not any more a single project for all SARL (with its associated root pom file). The SARL project is splitted into different sub-projects that may be compiled independently. Each project is dedicated to a specific set of features and tools. These sub-projects are:

1.3. Integration of a Goal-oriented Behavior in the SARL API

The SARL Standard Development Kit (SDK) includes a novel API dedicated to time-based goal-oriented behaviors. Goal-Oriented Behavior (GOB) is a general term that covers any technique taking into account goals of the agents. GOB is not supported by a single technique. This new feature of the SARL API corresponds to a standard GOB that is used in video game applications. This API equips the agents with an action selection mechanism to select the best action to be realized for archieving one of the agent goals.

Documentation: SARL website

2. Detailed Changes

2.1. SARL Language

2.1.1. SARL Language and Grammar

2.1.2. SARL Validator

2.1.3. Java Model Inferrer

2.1.4. SARL Batch Compiler

2.2. SARL Development Toolkit (SDK)

2.3. SARL User Interface

2.3.1. Eclipse Products

2.3.2. Maven Integration in Eclipse
2.3.3. Launching Configurations
2.3.4. Preferences
2.3.5. Wizards
2.3.6. Other UI Components

2.4. External Contributions to SARL

2.5. Janus Run-time Environment

2.6. Maven Tools

2.7. Command-Line Tools

2.7.1. sarlc

2.7.2. sarldoc

2.7.3. janus

2.8. SARL Documentation

2.8.1. Documentation of the SARL SDK

2.8.2. Documentation of tutorials

2.8.3. FAQ

2.8.4. Documentation Generators

2.9. Tools for SARL Contributors

3. Changes in the Previous Versions