All Projects → org-arl → fjage

org-arl / fjage

Licence: other
Framework for Java and Groovy Agents

Programming Languages

java
68154 projects - #9 most used programming language
javascript
184084 projects - #8 most used programming language
c
50402 projects - #5 most used programming language
groovy
2714 projects
python
139335 projects - #7 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to fjage

js-simulator
General-purpose discrete-event multiagent simulation library for agent-based modelling and simulation
Stars: ✭ 52 (+173.68%)
Mutual labels:  agent-based-framework, agent-based-simulation
dictator
Dictates what your users see. Plug-based authorization.
Stars: ✭ 77 (+305.26%)
Mutual labels:  middleware
MIT6.824-2017-Chinese
A Chinese version of MIT 6.824 (Distributed System)
Stars: ✭ 67 (+252.63%)
Mutual labels:  distributed-systems
coolbeans
Coolbeans is a distributed work queue that implements the beanstalkd protocol.
Stars: ✭ 56 (+194.74%)
Mutual labels:  distributed-systems
IoTPy
Python for streams
Stars: ✭ 24 (+26.32%)
Mutual labels:  distributed-systems
transit
Massively real-time city transit streaming application
Stars: ✭ 20 (+5.26%)
Mutual labels:  distributed-systems
nkn-shell-daemon
NKN shell daemon
Stars: ✭ 29 (+52.63%)
Mutual labels:  distributed-systems
oak-middleware-jwt
Oak middleware for JWT
Stars: ✭ 24 (+26.32%)
Mutual labels:  middleware
request-context
Simple connect middleware for accessing data in a request context.
Stars: ✭ 55 (+189.47%)
Mutual labels:  middleware
file management sys
file_management_sys 是一个文件共享系统,包括前端文件展示系统和后台管理系统,基于SpringBoot + MyBatis实现。前端文件展示系统包括文件分类和展示界面,文件搜索和文件上传等模块。后台管理系统包含文件管理,权限管理等模块。
Stars: ✭ 60 (+215.79%)
Mutual labels:  distributed-systems
b-rabbit
A thread safe library that aims to provide a simple API for interfacing with RabbitMQ. Built on top of rabbitpy, the library make it very easy to use the RabbitMQ message broker with just few lines of code. It implements all messaging pattern used by message brokers
Stars: ✭ 15 (-21.05%)
Mutual labels:  distributed-systems
research
distributed system;blokchain;filecoin/ipfs,...
Stars: ✭ 39 (+105.26%)
Mutual labels:  distributed-systems
sworm
A user-friendly distributed process registry and process supervisor
Stars: ✭ 20 (+5.26%)
Mutual labels:  distributed-systems
consistent-hashing
an implementation of Consistent Hashing in pure Ruby using an AVL tree
Stars: ✭ 40 (+110.53%)
Mutual labels:  distributed-systems
asparagus
An easy to use task scheduler for distributed systems
Stars: ✭ 14 (-26.32%)
Mutual labels:  distributed-systems
traffic
Massively real-time traffic streaming application
Stars: ✭ 25 (+31.58%)
Mutual labels:  distributed-systems
Systemizer
A system design tool that allows you to simulate data flow of distributed systems.
Stars: ✭ 1,219 (+6315.79%)
Mutual labels:  distributed-systems
pixie
Instant Kubernetes-Native Application Observability
Stars: ✭ 3,238 (+16942.11%)
Mutual labels:  distributed-systems
Gauntlet
🔖 Guides, Articles, Podcasts, Videos and Notes to Build Reliable Large-Scale Distributed Systems.
Stars: ✭ 336 (+1668.42%)
Mutual labels:  distributed-systems
use
Easily add plugin support to your node.js application.
Stars: ✭ 25 (+31.58%)
Mutual labels:  middleware

fjåge

Framework for Java and Groovy Agents

Introduction

fjåge provides a lightweight and easy-to-learn framework for agent-oriented software development in Java and Groovy. Although most of the functionality of the framework can be used in pure-Java projects, the adoption of Groovy in the project simplifies development immensely. Typically, initialization scripts, shell interaction and command scripts are written in Groovy. Agents and support classes may be written in Java or Groovy.

Key Features

  • Lightweight and fast
  • Easy to learn, and rapid agent development cycle
  • Agent development in Java or Groovy
  • Interactive Groovy shell and scripting
  • Easy switching between realtime operation and discrete event simulation
  • APIs for access from Java, Groovy, Python, C, Julia, and Javascript
  • JSON-based protocol to interface with external applications

Documentation

Support

Maven Central dependency

<dependency>
  <groupId>com.github.org-arl</groupId>
  <artifactId>fjage</artifactId>
  <version>1.9.1</version>
</dependency>

Contributing

Contributions are always welcome! Clone, develop and do a pull request!

Try to stick to the coding style already in use in the repository. Additionally, some guidelines:

Building:

  • gradle to build the jars
  • gradle test to run all regression tests (automated through Github actions CI)
  • gradle upload to upload jars to Maven staging (requires credentials)
  • make html to build developer's documentation (automated through ReadTheDocs)
  • gradle javadoc to build the Java API documentation
  • npm run docs to build the Javascript API documentation

License

fjåge is licensed under the Simplified (3-clause) BSD license. See LICENSE.txt for more details.

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].