Можно ли сгенерировать полный код C / C ++ / Java из конечного автомата в Magic Draw? - PullRequest
0 голосов
/ 01 ноября 2018

Я хочу сгенерировать код из своего автомата в Magic Draw. Magic Draw поддерживает генерацию кода для классов, но не включает опцию для конечного автомата. Я пытался использовать программное обеспечение SinelaboreRT . Тем не менее, он генерирует ограниченный код. Нам нужно вручную добавить функцию «Main» и другие функции, определенные внутри состояний. Я хотел знать, возможно ли сгенерировать исполняемый файл или файл кода на C / C ++ / Java со всем кодом, упомянутым внутри состояний, а также с функцией 'Main'?

1 Ответ

0 голосов
/ 05 декабря 2018

Да, есть три основных варианта, которые мне известны: 1) создать свой собственный генератор кода, 2) купить коммерческий генератор кода, например. LieberLieber предоставляет то, что кажется довольно сложным, или 3) использовать один из генераторов открытого исходного кода, например Papyrus-RT.

Первый вариант на самом деле не так уж и сложен в зависимости от вашего целевого языка и структуры. Для своей работы в MITRE я написал генератор, который будет принимать правильно сформированные модели Magicdraw и создавать развертываемые микросервисы Spring. Я использовал библиотеку конечных автоматов Spring для упрощения генерации кода STM.

...