All Projects → sarl → Sarl

sarl / Sarl

Licence: apache-2.0
SARL Agent-Oriented Programming Language http://www.sarl.io

Programming Languages

java
68154 projects - #9 most used programming language
dsl
153 projects

Projects that are alternatives of or similar to Sarl

Coaty Js
Collaborative IoT framework in JavaScript/TypeScript for Node.js and browsers.
Stars: ✭ 39 (-62.14%)
Mutual labels:  framework, agent
Cellmesh
Game server framework based on cellnet
Stars: ✭ 310 (+200.97%)
Mutual labels:  framework, agent
Material Design For Bootstrap
Important! A new UI Kit version for Bootstrap 5 is available. Access the latest free version via the link below.
Stars: ✭ 9,463 (+9087.38%)
Mutual labels:  framework
Wechat Go
go version wechat web api and message framework for building wechat robot
Stars: ✭ 1,381 (+1240.78%)
Mutual labels:  framework
Leaf
一个开发友好、功能完备的开源微信商城框架
Stars: ✭ 102 (-0.97%)
Mutual labels:  framework
Aesthetic Css
A vaporwave CSS framework
Stars: ✭ 100 (-2.91%)
Mutual labels:  framework
Go Githubapp
A simple Go framework for building GitHub Apps
Stars: ✭ 102 (-0.97%)
Mutual labels:  framework
Milligram
A minimalist CSS framework.
Stars: ✭ 9,568 (+9189.32%)
Mutual labels:  framework
Framy Css
Very simple CSS Framework
Stars: ✭ 103 (+0%)
Mutual labels:  framework
Eve
An extensible event-driven application framework in haskell
Stars: ✭ 101 (-1.94%)
Mutual labels:  framework
Kafka Connect
equivalent to kafka-connect 🔧 for nodejs ✨🐢🚀✨
Stars: ✭ 102 (-0.97%)
Mutual labels:  framework
Wordless
All the power of Pug, Sass, Coffeescript and WebPack in your WordPress theme. Stop writing themes like it's 1998.
Stars: ✭ 1,374 (+1233.98%)
Mutual labels:  framework
Windowsagent
OCS Inventory NG Agent for Windows
Stars: ✭ 100 (-2.91%)
Mutual labels:  agent
Orion
Orion is a small lightweight framework written around grpc/protobuf with the aim to shorten time to build microservices at Carousell.
Stars: ✭ 101 (-1.94%)
Mutual labels:  framework
Superblocks Lab
Superblocks Lab for DApp development
Stars: ✭ 100 (-2.91%)
Mutual labels:  ide
Valval
The fastest web framework in V language (vlang)
Stars: ✭ 103 (+0%)
Mutual labels:  framework
Aspnetboilerplate
ASP.NET Boilerplate - Web Application Framework
Stars: ✭ 10,061 (+9667.96%)
Mutual labels:  framework
Awesome Seed Rs
A curated list of awesome things related to Seed
Stars: ✭ 101 (-1.94%)
Mutual labels:  framework
Fastsitephp
🌟 FastSitePHP 🌟 A Modern Open Source Framework for building High Performance Websites and API’s with PHP
Stars: ✭ 102 (-0.97%)
Mutual labels:  framework
Facil.io
Your high performance web application C framework
Stars: ✭ 1,393 (+1252.43%)
Mutual labels:  framework

= SARL Agent Programming Language :toc: right :toc-placement!: :hide-uri-scheme:

image:http://www.sarl.io/images/SARL-logo.png[width=100]

SARL is a general-purpose agent-oriented language, http://www.sarl.io.

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.

Considering the variety of existing approaches and meta-models in the field of agent-oriented engineering and more generally multi-agent systems, our approach remains as generic as possible and highly extensible to easily integrate new concepts and features. The language is platform- and architecture-independent.

However, we provide a first set of tools to support its execution based on the new version 2.0 of the Janus (see http://www.janusproject.io) platform, but it can be linked with other existing agent platforms and frameworks.

image:http://www.sarl.io/images/compilation-process.png[align="center"]

image:https://img.shields.io/badge/Documentation-API-ff69b4.svg?style=flat-square[link=http://www.sarl.io/docs/api/index.html] image:https://img.shields.io/badge/Documentation-Reference-red.svg?style=flat-square[link=http://www.sarl.io/docs/official/index.html] image:https://badges.gitter.im/sarl/Lobby.svg[link=https://gitter.im/sarl/Lobby]

image:https://img.shields.io/badge/Requires-Java%208-yellowgreen.svg?style=flat-square[link=https://www.java.com] image:https://img.shields.io/badge/Interoperable%20with-Java-yellowgreen.svg?style=flat-square[link=https://www.java.com] image:https://img.shields.io/maven-central/v/io.sarl.maven/io.sarl.maven.sdk.svg?label=Available%20on%20Maven%20Central[link=http://search.maven.org/#search%7Cga%7C1%7Cio.sarl] image:https://img.shields.io/badge/Build%20with-Maven-blue.svg?style=flat-square[link=http://maven.apache.org]

image:https://img.shields.io/badge/Based%20on-Xtext-orange.svg?style=flat-square[link=https://eclipse.org/Xtext]

image:https://img.shields.io/github/license/sarl/sarl.svg?style=flat-square[link=https://opensource.org/licenses/Apache-2.0] image:https://cla-assistant.io/readme/badge/sarl/sarl?style=flat-square[link=https://cla-assistant.io/sarl/sarl]

[align="center",width="40%",frame="topbot",cols="2*^",options="header"] |========================== 2+| Build Status | CIAD CI / Linux footnote:[Linux 4.15.0-102, OpenJDK 1.8, Maven 3.6.2] |image:https://ci-ciad.utbm.fr/teamcity/app/rest/builds/buildType:(id:Sarl_Build)/statusIcon[link=https://ci-ciad.utbm.fr/teamcity/viewType.html?buildTypeId=Sarl_Build] | Travis CI / Linux footnote:[Ubuntu 16.04 LTS 64 bits, OpenJDK 1.8.0_242, Maven 3.6.3] and OSX footnote:[OSX 10.12, Xcode 8.3, OracleJDK 1.8.0_112, Maven 3.6.3] |image:https://travis-ci.org/sarl/sarl.svg?branch=master[link=https://travis-ci.org/sarl/sarl] | AppVeyor CI / Windows footnote:[Visual Studio 2019, OracleJDK 1.8.0_162, Maven 3.6.3] |image:https://ci.appveyor.com/api/projects/status/github/sarl/sarl?branch=master&svg=true[link=https://ci.appveyor.com/project/gallandarakhneorg/sarl] |==========================

toc::[]

== 1. Requirements

  • Java Development Toolkit (JDK) between 1.8 and 11.
  • You may encountering issues if your are using Java 12 or higher with SARL.

== 2. Using SARL

=== 2.1. Recommendations

For making your experience with SARL the best, we recommend you:

  • to enable the assertions at development time (with the -ea command line option).

=== 2.2. Use the stable version with Maven

The lastest stable version of SARL is available on link:http://search.maven.org/[Maven Central]. Consequently, you could directly include the SARL module into the Maven dependencies of your project:

	...
	<dependency>
	  <groupId>io.sarl.maven</groupId>
	  <artifactId>io.sarl.maven.sdk</artifactId>
	  <version>0.11.0</version>
	</dependency>
	...

Please, replace Version 0.11.0 in the previous snipset by the number of the version you want to use.

=== 2.3. Use of the development version with Maven

New features, enhancements and bug fixes are available in the SNAPSHOT (development) version of SARL. For using this version, you must add the Maven Repository Server of SARL in your pom file:

	...
	<dependencies>
	  <dependency>
	    <groupId>io.sarl.maven</groupId>
	    <artifactId>io.sarl.maven.sdk</artifactId>
	    <version>0.12.0-SNAPSHOT</version>
	  </dependency>
	<dependencies>
	...
	<repositories>
	  <repository>
	    <id>io.sarl-maven</id>
	    <name>SARL Snapshots</name>
	    <url>http://maven.sarl.io/</url>
	  </repository>
	</repositories>
	<pluginRepositories>
    	  <pluginRepository>
	    <id>io.sarl-maven</id>
	    <name>SARL Snapshots</name>
	    <url>http://maven.sarl.io/</url>
	    <snapshots>
	      <enabled>true</enabled>
	    </snapshots>
	  </pluginRepository>
	</pluginRepositories>
	...

=== 2.4. Compile SARL code with Maven

For compiling SARL source files with Maven, you should use the provided plugin: sarl-maven-plugin. It invokes the SARL and Java compilers with a simpler interface than the standard Xtext maven plugin. For using the sarl-maven-plugin, you should add in your pom file:

	...
	<build>
	  <plugins>
	    <plugin>
	      <groupId>io.sarl.maven</groupId>
	      <artifactId>sarl-maven-plugin</artifactId>
	      <version>0.11.0</version>
	      <extensions>true</extensions>
	      <configuration>
	        <source>1.8</source>
	        <target>1.8</target>
	        <encoding>UTF-8</encoding>
	      </configuration>
	    </plugin>
	    ...
	  </plugins>
	  ...
	</build>
	...

Please, replace Version 0.11.0 in the previous snipset by the number of the version you want to use.

CAUTION: Do not forget to set the extensions flag to true.

=== 2.5. Syntax highlighting with other tools

Several style specifications are provided for syntax highlighting in third party tools. Style specifications are provided for:

  • link:./formatting-styles/textmate/sarl.tmLanguage[Atom] (TextMate language definition)
  • link:./formatting-styles/source-highlight/sarl.lang[GNU source-highlight]
  • link:./formatting-styles/prettify/lang-sarl.js[Google Prettify]
  • link:./formatting-styles/gtk/sarl.lang[Gtk source view] (including gedit)
  • LaTeX: ** LaTeX listing: link:./formatting-styles/latex/sarl-listing.sty[monochrom], link:./formatting-styles/latex/sarl-colorized-listing.sty[color] ** link:./formatting-styles/latex/sarl-beamer-listing.sty[LaTeX Beamer]
  • link:./formatting-styles/pygments/sarlexer/sarl.py[Pygments]
  • link:./formatting-styles/textmate/sarl.tmLanguage[Sublime Text] (TextMate language definition)
  • link:./formatting-styles/textmate/sarl.tmLanguage[TextMate] (or link:./formatting-styles/textmate/sarl.plist[plist definition])
  • link:./formatting-styles/vim/sarl.vim[Vim]

== 3. P2 Repository

A P2 repository is set up and accesible at the address: http://updates.sarl.io.

== 4. Issues

Issues related to SARL are tracked on link:https://github.com/sarl/sarl/issues[GitHub] You must use this issue tracker to report and follow your issues.

Additionally, you could have a look on the SARL developers' working plan on link:https://huboard.com/sarl/sarl[Huboard].

== 5. Contributions

Any contribution to the SARL is welcome. Please read the link:./CONTRIBUTING.adoc[guidelines for contributors].

== 6. Authors and Contributors

== 7. License of SARL

SARL is distributed under the link:./LICENSE[Apache v2 license], and is copyrigthed to the original authors and the other authors, as expressed in the link:./NOTICE[NOTICE].

== 8. Success Stories

The following projects have sucessfully used SARL:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].