开源代码生成项目
UCGN(Unified Codegeneration project)是一个开源代码生成框架,定位于生成适合安全关键应用与认证场景的高质量源代码,正文中提到例如 DO-178B。目前包含 Simulink/Stateflow 前端和 C 语言后端,核心价值是把模型驱动开发流程转化为更清晰、可测试、架构对应性较强的 C 代码。
它强调生成代码的可读性、功能与参数分离、使用编译期静态结构以减少运行期指针结构、模型架构与软件架构直接对应,以及可复用库代码分离。支持离散单速率 Simulink 模型和库,包含 50 多个标准 Simulink 块,并支持周期性、条件驱动的 Stateflow charts,包括 flowgraphs 和 loops。此外,它支持 bus objects 结构化数据类型和 Simulink 原生枚举。
UCGN 的接口是 Semantic Meta-model,使用 XML/XSD 描述抽象的高阶编程语言,并带有面向对象特性。Simulink 侧通过 Matlab m-files 将模型和库导出为领域特定 XML,再由 Java 实现的模型转换层转换为 Semantic Model,最终由框架生成源代码。生态主要围绕 Matlab、Simulink、Stateflow 和 SourceForge,覆盖范围相对专一。
正文未给出商业定价,项目明确为开源,并提供 SourceForge 下载入口。文档方面有 Wiki、模型转换说明、支持块详情和 Hello World 教程,适合入门理解流程。但页面最后修改时间为 2012 年,新闻也停留在 2012 年左右,项目持续维护和支持能力存在明显不确定性。
优点是开源、目标明确、代码生成原则偏工程化,尤其适合研究安全关键代码生成、审查模型到 C 转换链路,或维护基于 Simulink 的旧式模型驱动流程。缺点是仅明确支持 Simulink/Stateflow 到 C,且对模型类型有限制;现代开发者可能会觉得文档、社区、CI、包管理和商业支持不足。它更适合嵌入式控制、安全关键软件、模型驱动开发研究人员,而非追求即插即用 SaaS 开发工具的团队。
正文无法判断该域名或 SourceForge 下载在中国大陆的实际可访问性,因此标记为未知。若下载 SourceForge 资源不稳定,可考虑 MathWorks Simulink Coder/Embedded Coder、TargetLink、SCADE Suite 等替代方案,但商业授权和支付需另行评估。
本测评基于公开资料整理,不构成购买建议,请以 unifiedcodegeneration.net 官网实际信息为准。
老牌开源代码生成资料,可作技术参考。
评分明细(分布与用户短评)接入中。当前展示 TG4G 综合评分,数据源自公开测评与用户反馈。