Skip to content

andreiolaru-ro/FLASH-MAS

Repository files navigation

FLASH-MAS

Java CI with Maven

The Fast Lightweight Agent Shell MAS framework

Easy for beginners, powerful to experts

Intro

FLASH-MAS implements a model based on generic entities, which could be agents, agent groups, nodes, communication infrastructure elements, or agent components.

FLASH-MAS is supposed to become compatible with other models and infrastructures, such as JADE or JaCaMo, and be a valid choice for ABMS simulations, by modularizing infrastructure services so that agents don't need code changes when changing communication or deployment infrastructure.

There are several targets that should make FLASH-MAS a good option for MAS developers, and these are also its main features:

  • system model -- the way the entities in the system are structured and the way in which they interact
  • deployment and configuration -- the way one specifies a deployment; the way in which this deployment is loaded
  • dynamics -- how entities in the system can be reconfigured at runtime, supporting open and heterogeneous systems
  • portability -- the code for most of the core of FLASH-MAS is portable
  • tools -- tools are offered to be able to monitor and control the system

Phases

The current phase of FLASH-MAS (branch master) uses an older type of entities, which interact by means of references and proxies -- call this Nested-entity model

The future phase of FLASH-MAS uses the entity-operation model, in which entities interact only via the framework. See, for instance, branch opmodel.

Importing into your IDE

  • see importing
  • see also chapter Source organization below

Understanding FLASH-MAS

Deploying a FLASH-MAS system means creating a deployment configuration specifying the entities in the system, and booting the system.

Source documentation

Javadoc here

Source organization

  • src contains sources for FLASH-MAS functionality and for the quick package which enables quicker writing of CLI commands (see running).
  • src-examples contain sources for examples of FLASH-MAS deployments.
  • src-tests contains test to check the correct working of the framework.
  • src-testing contains sources for the ongoing work of various developers.
  • src-schema contains the schema for XML deployment files.
  • doc contains documentation markdown pages and javadoc.
  • identity contains visual identity information (e.g. the logo).
  • lib contains necessary libraries, organized in directories depending on what components the libraries are needed for.
  • lib-all contains all the libraries, and is (re-)generated by running script/make-lib-all.sh.
  • script contains scripts useful for maintaining the project.

License

FLASH-MAS is licensed under GPL v3.

A lot of people contributed to FLASH-MAS throughout its life: Contributors

About

The Flexible Lightweight Agent Shell MAS framework. Easy for beginners, powerful to experts.

Resources

License

Stars

Watchers

Forks

Contributors