Quartz - A Crystal Modeling & Simulation Framework

CI Status Build Status

Quartz is a Crystal library for defining models and constructing discrete event simulations.

The following features are supported:

Documentation

Installation

Requirements

Setup

Crystal applications and libraries are expected to have a shard.yml file at their root. Create a shard.yml file in your project's folder (or add to it) with the following contents:

dependencies:
  quartz:
    github: RomainFranceschini/quartz

Then, resolve dependencies with shards (Crystal dependency manager) to install Quartz as a dependency of your project:

$ shards install

Usage

See the examples folder.

Underlying theory

Quartz is based on the PDEVS (Parallel Discrete EVent System Specification) formalism and some of its extensions (DTSS, DSDE, multiPDEVS).

This project is developed by a research group at University of Corsica.

Related books/papers

Alternatives

Many other tools allow modeling and simulation based on the DEVS theory. Here is a non-exhaustive list:

Contributors

Contributing

  1. Fork it (https://github.com/RomainFranceschini/quartz/fork)
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new pull request.

License

This software is governed by the CeCILL-C license under French law and abiding by the rules of distribution of free software. You can use, modify and/ or redistribute the software under the terms of the CeCILL-C license as circulated by CEA, CNRS and INRIA at the following URL "http://www.cecill.info".

The fact that you are presently reading this means that you have had knowledge of the CeCILL-C license and that you accept its terms.