odcsim
## Introduction
**odcsim** is a framework for discrete event simulation in Kotlin, used
by the [OpenDC](https://opendc.org) project.
Simulations are defined in terms of a hierarchical grouping of actors
and the interactions between these actors
([Actor model](https://en.wikipedia.org/wiki/Actor_model)), using
an API similar to [Akka](https://doc.akka.io/docs/akka/current/index.html).
## Documentation
Check out the [Getting Started](#getting-started) section for a quick
overview.
The documentation is located in the [docs/](docs/) directory and is divided as follows:
* [Main Concepts](docs/concepts.md)
* [Building a Model](docs/build.md)
* [Running a Model](docs/run.md)
* [API Reference](https://atlarge-research.github.io/opendc-simulator)
* [Contributing Guide](../CONTRIBUTING.md)
## Getting Started
### Installation
Please add the required packages as dependency in your project.
Releases are available in the [Maven Central Repository](https://search.maven.org/).
The package `odcsim-core` is required to construct a simulation model.
A `odcsim-engine-*` package is needed for running the simulation
model.
#### Gradle
Groovy
```groovy
implementation 'com.atlarge.odcsim:odcsim-api:2.0.0'
runtime 'com.atlarge.odcsim:odcsim-engine-omega:2.0.0'
```
Kotlin
```groovy
implementation("com.atlarge.odcsim:odcsim-api:2.0.0")
runtime("com.atlarge.odcsim:odcsim-engine-omega:2.0.0")
```
#### Maven
```xml
com.atlarge.odcsim
odcsim-api
2.0.0
com.atlarge.odcsim
odcsim-engine-omega
2.0.0
```