Control
Control interface is used to communicate to external actors and call engine’s functions. They may notify their respective actors of state changes and serve as a general entry point for any external client.
Control configuration is one of the properties in the server configuration.
Similar to backend, control interface works on the principle of dynamic
imports, configuration schema only consisting of a list of objects (multiple
controls may run in parallel) that require a module parameter, which is a
Python module name that contains the concrete control implementation. The exact
configuration schema looks as follows:
---
$schema: 'http://json-schema.org/schema#'
id: 'aimm://server/control/main.yaml#'
type: array
items:
type: object
required:
- module
properties:
module:
type: string
...
All control implementations should implement the following interface: