MC Node
The Model Control handles model administration.
The MC Node i.e. node controller starts and stops modules. Those actions are controlled from the web user interface or the MC Control tool. The publisher can also control the state of modules by executing scripts defined in the startup bins of projects.
Communication
The communication of the state and the control of that state is done through several collections. There can be multiple MC Node services that register them selves in the MCNodes collection. The setups, name, versions and configuration of the modules that can be started by the specific nodes are in the MCSetups collection. All running instances with there configuration and state are in the MCInstances collection. The instances publish their current state by updating fields on the object linked to their id in the MCInstances collection. The requested state of an instance can be set in the MCInstances collection and the instance of the module it self will react on it by terminating when asked to do so. The services controlling it will also monitor the instance and force it to terminate when not reating to the request.
Auto start
There is a special bin called startup with a collection called mcstartupinstances that contains a set of modules with their startup bin. The node controller makes sure those are started when the system starts. An extra option can, when set, restart the defined modules when they are stopped by hand or internal fault.