Runtimes

A runtime is the gluecode between the operating system and the model. It provides the clock, executes the rasters and connects the model to abmt. The runtime directory is the template for the build directory.

Data flow view

archictecture view
After executing a raster the runtime sends the observed data to abmt via a tcp connection. ABMT listens to localhost only. The port number can be specified via the command line parameter "-mp".

Directory view

build directory view
The runtime directory acts as a template directory for the build directory. That means every file in the runtime directory is copied to the build directory in the first step of building. The model/ and ws/ directory are managed by abmt. Only needed sources are copied. Also object files in these directories are removed when no source file exists for them. The config.json is also created by abmt. It is based on the config_def.json, which is provide by the runtime.

Create your own runtime

Every directory in your workspace, that starts with an "rt_"-prefix, is considered to be a runtime. Every runtime must provide a ./build and a ./start executable. These are most of the times shell or python scripts. The config_def.json is a optional template for the config.json.

Example config_def.json:
[
{"form": "headline", "lbl": "Example config_def"},
{"form": "comment", "lbl": "Text comment"},
{"key": "target", "form": "text", "lbl": "Text input", "default": "default text"},
{"key": "num", "form": "number", "lbl": "Number input", "default": 2},
{"key": "bool", "form": "checkbox", "lbl": "Checkbox", "default": true },
{"key": "arr", "form": "array_text", "lbl": "Multiple_rows", "default": ["default1", "default2"]}
{"key": "select1", "form": "select", "lbl": "Select", "default": "item-1", "options": { "item-1": "Item 1", "item-2": "Item 2", "item-3": "..."} },
{"key": "select2", "form": "select", "lbl": "Select", "default": "i1", "options": [ "i1", "i2", "i3"] },

]


Impressum