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.
Of course, you can call SARL methods from Java, too, in a completely transparent way. Furthermore, SARL provides a modern Eclipse-based IDE closely integrated with the Eclipse Java Development Tools (JDT), including features like call-hierarchies, rename refactoring, debugging and many more.
Nevertheless, and even if SARL is closely related to Java, the SARL compiler is able to generate code for other target languages, e.g. Python.
For a brief comparison between SARL, Java, Xtend and Scala languages, see the Section "Comparison between SARL, Java and Xtend".
We provide a first set of tools to support the SARL program execution based on the new version 2.0 of the Janus Platform, but it can be linked with other existing agent platforms and frameworks.
Stéphane is Professor in agent-based modeling and simulation at Burgundy Franche-Comté University, France. He is one of the contributors to the ASPECS methodology, CRIO metamodel, and Janus agent platform. He contributes to a wide variety of professional and open source projects, including Xtext, Hazelcast, Checkstyle, CTAN, and Jnario.
Nicolas is Professor in agent-based software engineering and simulation at Burgundy Franche-Comté University. His main research interests deal with the modeling, analysis and simulation of complex systems using Agent-Oriented Software Engineering, Holonic Multiagent Systems and Multiagent-based simulation. He is also involved in various professional projects dealing with the simulation of entities (pedestrian, transportation systems, etc) in virtual environments.
Copyright 2014-2021 the original authors or authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.