是否可以从 Magic Draw 中的状态机生成完整的 C/C++/Java 代码?

Is it possible to generate complete C/C++/Java code from a State machine in Magic Draw?

我想在 Magic Draw 中从我的状态机生成代码。 Magic Draw 支持 类 的代码生成,但不包括状态机选项。我尝试使用 SinelaboreRT 软件。但是,它生成的代码有限。我们需要手动添加 'Main' 函数和其他在状态中定义的函数。我想知道是否可以生成可执行文件或 C/C++/Java 代码文件,其中包含状态中提到的所有代码以及 'Main' 函数?

是的,我知道三个主要选项 1) 制作您自己的代码生成器,2) 购买商业代码生成器,例如LieberLieber 提供了一个看起来相当复杂的东西,或者 3) 使用一种开源代码生成器,例如 Papyrus-RT.

第一个选项实际上并不难,具体取决于您的目标语言和框架。对于我在 MITRE 的工作,我编写了一个生成器来采用正确形成的 Magicdraw 模型并创建可部署的 Spring 微服务。我使用 Spring 状态机库来简化 STM 代码生成。