Без заголовка
Так история разных видов UML и есть ответ на вопрос, почему нет работающих решений, и приходится их создавать самостоятельно.
И начинать здесь надо с развитого language kernel (record type, sum type, function, ...), и это даёт возможность выразить systems engineering library kernel. То есть, потихоньку учим печатать "Hello world", а потом словарям для описания внешнего мира.