Skip to content
/ fjage Public
forked from org-arl/fjage

Framework for Java and Groovy Agents

License

Notifications You must be signed in to change notification settings

AnneThKu/fjage

 
 

Repository files navigation

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.0</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.

About

Framework for Java and Groovy Agents

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 67.1%
  • C 13.0%
  • Groovy 9.3%
  • Python 7.2%
  • HTML 1.3%
  • Makefile 1.0%
  • Other 1.1%