Product Details
IoTiX Interpreter
Created: 2025
Visual Programming, Internet of Things, Mobile Devices, End-User Development, Interpreter
The IoTiX Interpreter is a modular and system-agnostic program execution engine implemented as a Node.js package. Designed to evaluate automation flows created in the IoTiX Editor, it enables seamless integration with diverse digital environments and device ecosystems. The first prototype emerged from a collaboration between BUT FIT and Logimic as part of the project "Services for Water Management and Monitoring Systems in Retention Basins". More information about the interpret and associated projects can be found Pocketix GitHub Organization (https://github.com/pocketix).
The IoTiX Interpreter is built around two core interfaces, IReferenceManager and ICommander, which abstract system-specific details and enable integration with diverse environments, including those with custom digital twins or non-JavaScript runtimes. IReferenceManager manages loading and storing of device parameters, while ICommander handles the dispatching of execution commands. Program execution begins with the creation of a ProgramRunner, which parses the program into an Abstract Syntax Tree (AST) and constructs a dependency table. Each block in the program can be evaluated and visually represented, ensuring alignment between graphical and textual logic. The evaluation process involves retrieving parameters, binding values, traversing the AST, and dispatching the resulting commands through the provided interfaces.
Through this architecture, the IoTiX Interpreter provides a powerful backend for executing IoTiX scripts, enabling consistent and adaptable automation across smart environments. An overview of the interpreter is provided at https://pocketix.github.io/v1/interpreter.