summaryrefslogtreecommitdiff
path: root/simulator/odcsim/README.md
blob: 78cfaa27bc3a2ead6fa7f074e7aad75487af7a41 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<h1 align="center">
  <a href="http://opendc.org/">
    <img src="../misc/artwork/logo.png" width="100" alt="OpenDC">
  </a>
  <br>
  odcsim
</h1>

## Introduction
**odcsim** is a framework for discrete event simulation in Kotlin, used
by the [OpenDC](https://opendc.org) project.
Projects 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)).

## Getting Started

The instructions below are meant for when you would like to use `odcsim` separately from `opendc`. If you simply want to use the simulator, you do not need to follow them, please refer to the [main README](../README.md) for instructions.

### 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
<dependency>
   <groupId>com.atlarge.odcsim</groupId>
   <artifactId>odcsim-api</artifactId>
   <version>2.0.0</version>
</dependency>

<dependency>
   <groupId>com.atlarge.odcsim</groupId>
   <artifactId>odcsim-engine-omega</artifactId>
   <version>2.0.0</version>
</dependency>  
```