Кроссплатформенный движок для вычислений и любой управляющей логики.
- схема вычислений задается с помощью блоков и шин данных
- система событий позволяет легко встраивать движок для вычислений в любые приложения
- модуль работы с вводом/выводом позволяет эффективно работать с дескрипторами ОС и кастомными драйверами устройств, учитывая их особенности и ограничения (не реализовано)
- плагинная система позволяет создавать новые типы блоков и гибко управлять логикой вычислений (не реализовано)
Проект организован с использованием принципов чистой архитектуры. Основные сущности проекта описываются в виде модельных классов, используемых в других модулях проекта, будь то графический редактор схем или движок для рассчетов.
Модуль, хранящий модельные классы основных сущностей проекта: схем, блоков, шин. Здесь также содержится описание допустимых входов и выходов для каждого типа блоков, реализованное с помощью декларативного фреймворка, основанного на шаблонах.
Модуль, реализующий движки для расчета схемы. Здесь на основе модельного блока создается логика блока с входами и выходами, соответствующими декларативному описанию блока.
Модуль, реализующий графический редактор схем. Здесь на основе модельного блока создаются графические представления блока с входами и выходами, соответствующими декларативному описанию блока.