Мне интересно встроить MathWorks Simulink как инструмент типа в мое приложение. В этих встроенных инструментальных единицах выражаются в виде блоков с их входными и выходными портами и параметрами для каждого блока, используя файлы определения блока, написанные любым способом, который хочет инструмент. Я хочу, чтобы фреймворк был общим, и откуда-то читал определения блоков, а затем разрешал пользователю составлять поток данных по заданным блокам на основе их определения (желательно для этого нужен графический редактор). Затем я хочу, чтобы инструмент экспортировал пользовательский поток данных блоков, где я мог прагматично читать его на Java (или на других языках) и делать все, что мне нужно, с помощью создания исполняемой версии данного потока данных.
Я знаю на продвинутом уровне, экспортированные композиции блоков могут быть достаточно умными, чтобы быть исполняемыми, но я в порядке с экспортом композиции/топологии блока, а также вход и выход, связанные друг с другом. Другими словами, я НЕ ищу язык программирования потока данных. Я ищу только набор инструментов, который позволяет графически составлять потоки данных, а затем экспортировать композицию как сказать json или что-то, что я мог бы загрузить на языках программирования и делать с ней все.
Вышеупомянутая структура/инструмент - это то, что Simulink делает для блоков, поступающих из разных библиотек, но мне нужно встроить такую вещь в свой собственный инструмент, и мне было интересно, что проект с открытым исходным кодом близок к тому, что я хочу делать. Я предполагаю, что я хочу, это структура состава потока данных. Пожалуйста, исправьте мой взгляд на это.