Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/org-arl/fjage
Framework for Java and Groovy Agents
https://github.com/org-arl/fjage
agent-based-framework agent-based-simulation distributed-systems groovy java middleware python
Last synced: about 2 months ago
JSON representation
Framework for Java and Groovy Agents
- Host: GitHub
- URL: https://github.com/org-arl/fjage
- Owner: org-arl
- License: other
- Created: 2013-03-26T16:21:40.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2024-04-02T09:28:46.000Z (9 months ago)
- Last Synced: 2024-04-15T00:17:28.533Z (8 months ago)
- Topics: agent-based-framework, agent-based-simulation, distributed-systems, groovy, java, middleware, python
- Language: Java
- Homepage: https://fjage.readthedocs.io/en/latest/
- Size: 6.23 MB
- Stars: 23
- Watchers: 13
- Forks: 12
- Open Issues: 53
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
![](https://github.com/org-arl/fjage/workflows/CI/badge.svg)
fjåge
=====
**Framework for Java and Groovy Agents**Introduction
------------fjåge provides a **lightweight** and **easy-to-learn** framework for [agent-oriented software development](http://en.wikipedia.org/wiki/Agent-oriented_programming) 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 applicationsDocumentation
-------------* [Release Notes](ReleaseNotes.md)
* [Getting Started](https://fjage.readthedocs.io/en/latest/quickstart.html)
* [Developer's Guide](https://fjage.readthedocs.io/en/latest/)
* [API documentation](http://org-arl.github.io/fjage/javadoc/)Support
-------* [Project Home](http://github.com/org-arl/fjage)
* [Issue Tracking](http://github.com/org-arl/fjage/issues)Maven Central dependency
------------------------
com.github.org-arl
fjage
1.14.0
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:
* [Commit message style](https://github.com/angular/angular.js/blob/master/DEVELOPERS.md#commits)
Building:
* `gradle` to build the jars including resources (webshell, fjage.js, etc.)
* `gradle lite` to build only the jars
* `gradle test` to run all regression tests (automated through Github actions CI)
* `gradle publish` 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 documentationLicense
-------fjåge is licensed under the Simplified (3-clause) BSD license.
See [LICENSE.txt](http://github.com/org-arl/fjage/blob/master/LICENSE.txt) for more details.