Skip to content

The Emulation System

The Emulation System

The Emulation System is a crucial piece of KSDK and allows users to locally run applications. This process allows them to validate and assess the integrity of their applications.
Once an application is built on the user's machine, the user can run it locally before deploying to a real, live Node.

The Emulation System is a complex system comprised of:

  • A dedicated, isolated network where application containers are executed.
  • A dedicated MQTT Broker that allows applications to subscribe and publish data.

Note

The Kelvin MQTT Broker is completely managed by the Emulation System. Whenever an application is started, the broker is assured.

This useful isolation prevents external actors from interfering with the application

The Emulation System

This privileged network grants a dedicated namespace to each container, thus facilitating communication configuration.

Resetting the Emulation System

At any point, the user can reset the Emulation System, stopping all running applications as well as the running MQTT Broker. In addition, the KSDK Network hosting all communication is reset to its initial state. This is particularly useful to prevent state retention between test use cases, thus improving overall experience and quality.

Emulation extract logs:

[kelvin.sdk][2021-07-06 18:25:08][R] Resetting the Emulation System                                                                                                                                                                                       
[kelvin.sdk][2021-07-06 18:25:28][R] Emulation System successfully reset