Skip to content
Snippets Groups Projects
README.adoc 2.73 KiB
Newer Older
Gauthier Quesnel's avatar
Gauthier Quesnel committed
= Irritator
Gauthier Quesnel <gauthier.quesnel@inrae.fr>
v0.1.0, 2020-xx-xx
:toc:
:homepage: https://github.com/quesnel/irritator/

[width="15%"]
|============
| https://travis-ci.org/vle-forge/irritator[image:https://travis-ci.org/vle-forge/irritator.png?branch=master[Build Status]] | https://ci.appveyor.com/project/vle-forge/irritator?branch=master[image:https://ci.appveyor.com/api/projects/status/github/vle-forge/irritator?branch=master&svg=true[Build Status]] | https://codecov.io/gh/vle-forge/irritator[image:https://codecov.io/gh/vle-forge/irritator/branch/irritator-0.5/graph/badge.svg[Coverage Status]]
Gauthier Quesnel's avatar
Gauthier Quesnel committed
|============

Copyright © 2020 http://www.inrae.fr/en[INRA]

The software is released under the https://www.boost.org/LICENSE_1_0.txt[Boost
license]. See the LICENSE file.

== Requirements and recommended

* `cmake` (≥ 3.11)
* $$C++$$ compiler with $$C++20$$ support:
** `gcc` ≥ 8 (https://www.gnu.org/software/gcc/projects/cxx-status.html[notes])
Gauthier Quesnel's avatar
Gauthier Quesnel committed
** `clang` ≥ 9 (https://clang.llvm.org/cxx_status.html[notes])
** `visual studio 2019 16.0` (https://docs.microsoft.com/en-us/visualstudio/releasenotes/vs2017-relnotes[notes])

For recent Debian GNU/Linux and Ubuntu derivatives (remove clang to
only use gcc):

[source,bash]
....
apt-get install build-essential cmake clang
....

== First installation

First, we clone Irritator git repository and the submodule:

* from https://github.com/vle-forge/irritator[Github]:

....
git clone https://github.com/vle-forge/irritator.git
cd irritator
git submodule update --init --recursive
....

* from https://forgemia.inra.fr/gauthier.quesnel/baryonyx[ForgeMIA]:
Gauthier Quesnel's avatar
Gauthier Quesnel committed

....
git clone https://forgemia.inra.fr/gauthier.quesnel/baryonyx.git
Gauthier Quesnel's avatar
Gauthier Quesnel committed
cd irritator
git submodule update --init --recursive
....

== File format

Simple file

[source]
''''
Gauthier Quesnel's avatar
Gauthier Quesnel committed
4							 # 4 models will be allocated
0 A generator 2 0.0 100.0 0  # Model 'A' is a generator with one double real message
1 B generator 2 0.0 100.0 0  # Model 'B' is a generator with one double real message
2 Add adder_2 2 1.0 1.0 0    # Model 'Add' is a adder_2 with one double real message
3 C counter 1 0.0 0			 # Model 'C' is a counter with one real message
3							 # 3 internal connections
0 0 2 0                      # Model 'A' output port '0' connected to model 'Add' input port '0'
1 0 2 1                      # Model 'A' output port '0' connected to model 'Add' input port '0'
2 0 3 0                      # Model 'Add' output port '0' connected to model 'C' input port '0'
0							 # 0 input connection
1							 # 1 output connection
C 0	0						 # Model 'C' output port '0' connected to coupled model port '0'
Gauthier Quesnel's avatar
Gauthier Quesnel committed
''''

The `string` for name contains only the following no-utf8 characters from the
POSIX, BSD and C99 norms: `isalnum() || isdigit(c) || _` in the  i.e.
`0-9|a-z|A-Z|_`.