文章 模型库 咨询 方案 工具 课程 资源 规范 会员  
   
订购 | 案例 | 学习资源 | 培训&咨询 | 解决方案 | 模型框架 | 用户组 | 客户专区 | 联系我们
作者:俎涛     
Code Engineer
Communicator
  AUTOSAR Engineer
视频&文章

产品介绍:Code Engineer for C
 
 
作者  俎涛
日期  2022年12月27日
 

目录

用户手册:Code Engineer

1.Code Engineer简介

2.模型生成C代码

3.Go语言代码逆向模型

4.基于模型的代码定位和编辑

5.提供结构模型和行为模型的互相定位能力

6.基于状态图生成可执行代码,并执行测试验证

1、Code Engineer简介
《 Code Engineer for C 》是由火龙果软件开发的 EA 插件,目的是提供模型到 C 代码的正向和逆向工程支持。 C 语言是面向过程的语言,所以大多数 UML 建模工具仅能够有效的进行 C++ 等面向对象语言的模型代码到模型的逆向,而缺乏对 C 代码的完整逆向功能。为此《 Code Engineer for C 》为 EA 提供了模型面向 C 代码的正向和逆向工程支持。具体功能如下:
下面对《 Code Engineer For C 》的功能进行简要介绍,附带提供相关的操作演示视频。
2、模型生成C代码
提供了模型生成 C 代码的正向功能:
•  从类图生成 C 的结构性代码。
•  从活动图生成 C 的处理过程代码。
•  从状态图生成 C 的事件处理代码。
基于类图生成C的结构代码,包括:
• 类的属性生成变量的声明;
• 类的操作生成函数的声明。
基于活动图生成 C 的函数实现代码,包括:
•  赋值语句
•  控制语句
•  函数调用
基于状态图生成C的基于事件处理的行为代码,包括:
• 状态
• 事件
• 操作
3、C语言代码逆向模型
《 Code Engineer for C 》提供了 C 代码到模型的逆向功能:
•  从 C 结构代码逆向程序结构模型。
•  从 C 行为代码逆向函数处理流程图。
•  从行为代码逆向函数调用关系图。

从 C 结构代码逆向程序结构模型,包括:

•  类(属性,操作)

•  类之间的关系

从 C 行为代码逆向函数处理流程图,包括:

•  活动

•  条件判定

•  循环判定

•  选择判定

从行为代码逆向函数调用关系图 , 包括:

•  函数之间的调用

•  函数访问变量

4.基于模型的代码定位和编辑
提供模型和代码的互相定位,以便支持开发人员对代码的快速定位和理解能力:
•  让开发者可以通过模型快速定位代码,进行代码编辑。
•  也可也通过代码快速定位模型,以便通过模型充分的理解代码。
5.提供结构模型和行为模型的互相定位能力
对软件设计进行完整的理解,需要静态视图和动态视图的综合,所以《 Code Engineer for C 》提供了静态模型和动态模型的互相定位能力:
1) 从静态结构模型定位到 动态行为模型,可以快速理解:
•  结构模型中的属性在哪些过程模型被实例化为变量。
•  结构中的操作在哪些过程模型中被实例化为活动。
2) 从动态行为模型定位到静态结构模型,可以快速理解
•  行为处理的变量来自于哪些结构的属性;
•  行为处理中的活动来自于哪些结构的操作;
6. 基于状态图生成可执行代码,并执行测试验证
对于高可靠系统, 状态机是软件行为设计的规范形式,如果能够从状态图生成可执行的 Code ,将明显提高开发的效率和质量,而状态图作为设计的结果,又可以作为测试的依据,基于状态图 验证对应的代码,实现软件闭环设计与验证。 CodeEngineer 支持开发者提供基于行为模型的开发和测试:
1) 在 EA 中建立状态模型 ;
2) 在 Code Engineer 生成可执行代码 ;
3) 编译,生成 《可执行程序》 ;
4) 在目标机器运行《可执行程序》 ;
5) 在 CodeEngineer 使用 state machine 进行测试程序。
如果您希望了解更多信息:
•  欢迎访问建模者频道 http://www.sysml.org.cn/
•  也欢迎直接联系我们 teacher@uml.net.cn , 010-62670969